/*
**
** The C code is generated by ATS/Anairiats
** The compilation time is: 2016-7-18: 22h:46m
**
*/

/* include some .h files */
#ifndef _ATS_HEADER_NONE
#include "ats_config.h"
#include "ats_basics.h"
#include "ats_types.h"
#include "ats_exception.h"
#include "ats_memory.h"
#endif /* _ATS_HEADER_NONE */

/* include some .cats files */
#ifndef _ATS_PRELUDE_NONE
#include "prelude/CATS/basics.cats"
#include "prelude/CATS/integer.cats"
#include "prelude/CATS/sizetype.cats"
#include "prelude/CATS/integer_ptr.cats"
#include "prelude/CATS/integer_fixed.cats"
#include "prelude/CATS/pointer.cats"
#include "prelude/CATS/bool.cats"
#include "prelude/CATS/char.cats"
#include "prelude/CATS/byte.cats"
#include "prelude/CATS/float.cats"
#include "prelude/CATS/string.cats"
#include "prelude/CATS/reference.cats"
#include "prelude/CATS/lazy.cats"
#include "prelude/CATS/lazy_vt.cats"
#include "prelude/CATS/printf.cats"
#include "prelude/CATS/list.cats"
#include "prelude/CATS/option.cats"
#include "prelude/CATS/array.cats"
#include "prelude/CATS/matrix.cats"
#endif /* _ATS_PRELUDE_NONE */
/* prologues from statically loaded files */

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"
/* external codes at top */
/* type definitions */
typedef
struct {
ats_ptr_type atslab_3 ;
ats_ptr_type atslab_4 ;
} anairiats_rec_0 ;

typedef
struct {
ats_ptr_type atslab_hipat_loc ;
ats_ptr_type atslab_hipat_type ;
ats_ptr_type atslab_hipat_node ;
ats_ptr_type atslab_hipat_asvar ;
} anairiats_rec_1 ;

typedef struct {
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
} anairiats_sum_2 ;

typedef struct {
int tag ;
ats_ptr_type atslab_0 ;
} anairiats_sum_3 ;

typedef struct {
int tag ;
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
ats_ptr_type atslab_2 ;
ats_ptr_type atslab_3 ;
} anairiats_sum_4 ;

typedef struct {
int tag ;
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
} anairiats_sum_5 ;

typedef struct {
int tag ;
ats_int_type atslab_0 ;
} anairiats_sum_6 ;

typedef struct {
int tag ;
ats_bool_type atslab_0 ;
} anairiats_sum_7 ;

typedef struct {
int tag ;
ats_char_type atslab_0 ;
} anairiats_sum_8 ;

typedef
struct {
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
} anairiats_rec_9 ;

typedef struct {
anairiats_rec_9 atslab_0 ;
} anairiats_sum_10 ;

typedef struct {
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
ats_ptr_type atslab_2 ;
} anairiats_sum_11 ;

typedef struct {
int tag ;
ats_int_type atslab_0 ;
ats_ptr_type atslab_1 ;
ats_ptr_type atslab_2 ;
} anairiats_sum_12 ;

typedef
struct {
ats_ptr_type atslab_hidexp_loc ;
ats_ptr_type atslab_hidexp_type ;
ats_ptr_type atslab_hidexp_node ;
} anairiats_rec_13 ;

typedef struct {
int tag ;
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
ats_ptr_type atslab_2 ;
} anairiats_sum_14 ;

typedef struct {
ats_ptr_type atslab_0 ;
} anairiats_sum_15 ;

typedef struct {
int tag ;
ats_int_type atslab_0 ;
ats_int_type atslab_1 ;
ats_ptr_type atslab_2 ;
} anairiats_sum_16 ;

typedef struct {
int tag ;
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
ats_int_type atslab_2 ;
} anairiats_sum_17 ;

typedef struct {
int tag ;
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
ats_ptr_type atslab_2 ;
ats_int_type atslab_3 ;
} anairiats_sum_18 ;

typedef struct {
int tag ;
ats_int_type atslab_0 ;
ats_ptr_type atslab_1 ;
} anairiats_sum_19 ;

typedef
struct {
ats_ptr_type atslab_hilab_loc ;
ats_ptr_type atslab_hilab_node ;
} anairiats_rec_20 ;

typedef
struct {
ats_ptr_type atslab_higmat_loc ;
ats_ptr_type atslab_higmat_exp ;
ats_ptr_type atslab_higmat_pat ;
} anairiats_rec_21 ;

typedef
struct {
ats_ptr_type atslab_hiclau_loc ;
ats_ptr_type atslab_hiclau_pat ;
ats_ptr_type atslab_hiclau_gua ;
ats_int_type atslab_hiclau_seq ;
ats_int_type atslab_hiclau_neg ;
ats_ptr_type atslab_hiclau_body ;
} anairiats_rec_22 ;

typedef
struct {
ats_ptr_type atslab_hifundec_loc ;
ats_ptr_type atslab_hifundec_var ;
ats_ptr_type atslab_hifundec_imparg ;
ats_ptr_type atslab_hifundec_def ;
ats_ptr_type atslab_hifundec_hidecl ;
ats_ptr_type atslab_hifundec_funlab ;
} anairiats_rec_23 ;

typedef
struct {
ats_ptr_type atslab_hivaldec_loc ;
ats_ptr_type atslab_hivaldec_pat ;
ats_ptr_type atslab_hivaldec_def ;
} anairiats_rec_24 ;

typedef
struct {
ats_ptr_type atslab_hivardec_loc ;
ats_int_type atslab_hivardec_knd ;
ats_ptr_type atslab_hivardec_dvar_ptr ;
ats_ptr_type atslab_hivardec_dvar_view ;
ats_ptr_type atslab_hivardec_type ;
ats_ptr_type atslab_hivardec_init ;
} anairiats_rec_25 ;

typedef
struct {
ats_ptr_type atslab_hiimpdec_loc ;
ats_int_type atslab_hiimpdec_knd ;
ats_ptr_type atslab_hiimpdec_cst ;
ats_ptr_type atslab_hiimpdec_imparg ;
ats_ptr_type atslab_hiimpdec_tmparg ;
ats_ptr_type atslab_hiimpdec_def ;
ats_ptr_type atslab_hiimpdec_funlab ;
ats_ptr_type atslab_hiimpdec_instrlst ;
} anairiats_rec_26 ;

typedef
struct {
ats_ptr_type atslab_hidecl_loc ;
ats_ptr_type atslab_hidecl_node ;
} anairiats_rec_27 ;

typedef struct {
int tag ;
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
ats_int_type atslab_2 ;
ats_ptr_type atslab_3 ;
ats_int_type atslab_4 ;
} anairiats_sum_28 ;

/* external typedefs */
typedef anairiats_rec_26 *hiimpdec_t ;
typedef anairiats_rec_23 *hifundec_t ;
typedef anairiats_rec_1 *hipat_t ;

/* external dynamic constructor declarations */
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__PCKcon_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__PCKfree_2) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__HSLABELED_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__LABHIPAT_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPany_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPvar_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPint_2) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPintrep_3) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPbool_4) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPchar_5) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPstring_6) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPfloat_7) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPi0nt_8) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPf0loat_9) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPempty_10) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPcon_11) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPcon_any_12) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPrec_13) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPrefas_14) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPann_15) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HILlab_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HILind_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__LABHIDEXP_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEcst_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEvar_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEint_2) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEintrep_3) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEbool_4) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEchar_5) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEfloat_6) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEstring_7) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEi0nt_8) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEf0loat_9) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEcstsp_10) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEtop_11) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEempty_12) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEignore_13) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEcastfn_14) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEextval_15) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEextfcall_16) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEextmcall_17) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEcon_18) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEtmpcst_19) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEtmpvar_20) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEfoldat_21) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEfreeat_22) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDElet_23) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEapp_24) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEif_25) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEsif_26) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEcase_27) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDElst_28) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDErec_29) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEseq_30) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEselab_31) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEptrofvar_32) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEptrofsel_33) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDErefarg_34) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEselvar_35) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEselptr_36) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEassgn_var_37) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEassgn_ptr_38) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDExchng_var_39) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDExchng_ptr_40) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEarrpsz_41) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEarrinit_42) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEraise_43) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEtempenver_44) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDElam_45) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEfix_46) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEdelay_47) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEldelay_48) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDElazyeval_49) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEloop_50) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEloopexn_51) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEtrywith_52) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEerrexp_53) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDnone_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDlist_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDsaspdec_2) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDextype_3) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDextvar_4) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDextcode_5) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDexndecs_6) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDdatdecs_7) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDdcstdecs_8) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDimpdec_9) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDfundecs_10) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDvaldecs_11) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDvaldecs_rec_12) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDvardecs_13) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDinclude_14) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDstaload_15) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDstaloadloc_16) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDdynload_17) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDlocal_18) ;

/* external dynamic constant declarations */
ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_isucc) (ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_isub) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_idiv) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_igt) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_size1_of_int1) (ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_add_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_sub_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_mul2_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_lt_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_neq_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_ptr_alloc_tsz) (ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_ptr_zero_tsz) (ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_ref_make_elt_tsz) (ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, ListSubscriptException_make) () ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_alloc_tsz) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_free) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_funenv_tsz) (ats_ref_type, ats_size_type, ats_ptr_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_cloenv_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_split_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(anairiats_rec_0, atspre_array_ptr_takeout2_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_foreach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_iforeach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_array2_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atslib_qsort) (ats_ref_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_int) (ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_islst) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2cstref_get_cst) (ats_ptr_type) ;
ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stacst2_2esats__the_list_t0ype_int_type) ;
ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_is_castfn) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cstmap_search) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cstmap_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2varmap_search) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2varmap_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_void_t0ype) () ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_tysum) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con_any) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_rec) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_get_type) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_castfn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, patsopt_hifundec_getref_hideclopt) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_find) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_insert) (ats_ref_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts) (ats_ref_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_env_2esats__filenv_getref_tmpcstimpmap) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_env_2esats__filenv_getref_tmpvardecmap) (ats_ptr_type) ;

/* external dynamic terminating constant declarations */
#ifdef _ATS_PROOFCHECK
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_v_takeout2_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____copy_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____free_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
#endif /* _ATS_PROOFCHECK */

/* assuming abstract types */
/* sum constructor declarations */
/* exn constructor declarations */
/* global dynamic (non-functional) constant declarations */
/* internal function declarations */
static
ats_bool_type f_2 (ats_ptr_type arg0) ;
static
ats_bool_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_bool_type list_forall_funenv_01366_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_bool_type list_forall_fun_01367_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type auxlst_21 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4, ats_ptr_type env5, ats_ptr_type env6, ats_ptr_type env7, ats_ptr_type arg0) ;
static
ats_clo_ptr_type auxlst_21_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4, ats_ptr_type env5, ats_ptr_type env6, ats_ptr_type env7) ;
static
ats_ptr_type auxlst_21_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) ;
static
ats_void_type loop_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ;
static
ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type set_96 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type auxlst_99 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type ptr0_get_01759_ats_ptr_type (ats_ptr_type arg0) ;
static
ats_ptr_type ptrget_01763_ats_ptr_type (ats_ptr_type arg0) ;

/* partial value template declarations */
/* static temporary variable declarations */
/* external value variable declarations */

/* function implementations */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 1894(line=70, offs=16) -- 1916(line=70, offs=38)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_get_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp0) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_get_type:
tmp0 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hipat_type) ;
return (tmp0) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_get_type] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 1994(line=78, offs=5) -- 2123(line=84, offs=4)
*/
ATSstaticdec()
ats_bool_type
f_2 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp2) ;
ATSlocal (ats_ptr_type, tmp3) ;
ATSlocal (ats_ptr_type, tmp4) ;

__ats_lab_f_2:

tmp3 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ;
tmp4 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp3), atslab_hipat_node) ;
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (((ats_sum_ptr_type)tmp4)->tag != 0) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
tmp2 = ats_true_bool ;
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
__ats_lab_1_1:
tmp2 = ats_false_bool ;
break ;
} while (0) ;
return (tmp2) ;
} /* end of [f_2] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 32895(line=1167, offs=7) -- 33167(line=1176, offs=21)
*/
ATSstaticdec()
ats_bool_type
loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_bool_type, tmp7) ;
ATSlocal (ats_ptr_type, tmp8) ;
ATSlocal (ats_ptr_type, tmp9) ;
ATSlocal (ats_bool_type, tmp10) ;

__ats_lab_loop_5:
do {
/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
tmp8 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ;
tmp9 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ;
tmp10 = ((ats_bool_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp8, arg2) ;
if (tmp10) {
arg0 = tmp9 ;
arg1 = arg1 ;
arg2 = arg2 ;
goto __ats_lab_loop_5 ; // tail call
} else {
tmp7 = ats_false_bool ;
} /* end of [if] */
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_3_1:
tmp7 = ats_true_bool ;
break ;
} while (0) ;
return (tmp7) ;
} /* end of [loop_5] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 32865(line=1166, offs=20) -- 33218(line=1180, offs=4)
*/
ATSstaticdec()
ats_bool_type
list_forall_funenv_01366_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_bool_type, tmp6) ;

__ats_lab_list_forall_funenv_01366_ats_ptr_type:
tmp6 = loop_5 (arg0, arg1, arg2) ;
return (tmp6) ;
} /* end of [list_forall_funenv_01366_ats_ptr_type] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 33288(line=1183, offs=25) -- 33550(line=1192, offs=4)
*/
ATSstaticdec()
ats_bool_type
list_forall_fun_01367_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp5) ;

__ats_lab_list_forall_fun_01367_ats_ptr_type:
tmp5 = list_forall_funenv_01366_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ;
return (tmp5) ;
} /* end of [list_forall_fun_01367_ats_ptr_type] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 1973(line=76, offs=3) -- 2176(line=88, offs=4)
*/
ATSglobaldec()
ats_bool_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhipatlst_is_unused (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp1) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhipatlst_is_unused:
tmp1 = list_forall_fun_01367_ats_ptr_type (arg0, &f_2) ;
return (tmp1) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhipatlst_is_unused] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 2259(line=93, offs=17) -- 2365(line=98, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp11) ;
ATSlocal (ats_ptr_type, tmp12) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node:
tmp12 = (ats_sum_ptr_type)0 ;
tmp11 = ATS_MALLOC(sizeof(anairiats_rec_1)) ;
ats_selptrset_mac(anairiats_rec_1, tmp11, atslab_hipat_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_1, tmp11, atslab_hipat_type, arg1) ;
ats_selptrset_mac(anairiats_rec_1, tmp11, atslab_hipat_node, arg2) ;
ats_selptrset_mac(anairiats_rec_1, tmp11, atslab_hipat_asvar, tmp12) ;

return (tmp11) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 2436(line=103, offs=11) -- 2496(line=104, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_any (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp13) ;
ATSlocal (ats_ptr_type, tmp14) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_any:
tmp14 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp14)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_3, tmp14, atslab_0, arg2) ;
tmp13 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp14) ;
return (tmp13) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_any] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 2540(line=108, offs=11) -- 2600(line=109, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp15) ;
ATSlocal (ats_ptr_type, tmp16) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_var:
tmp16 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp16)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_3, tmp16, atslab_0, arg2) ;
tmp15 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp16) ;
return (tmp15) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_var] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 2665(line=115, offs=11) -- 2771(line=118, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp17) ;
ATSlocal (ats_ptr_type, tmp18) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con:
tmp18 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp18)->tag = 11 ;
ats_selptrset_mac(anairiats_sum_4, tmp18, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_4, tmp18, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_4, tmp18, atslab_2, arg4) ;
ats_selptrset_mac(anairiats_sum_4, tmp18, atslab_3, arg5) ;
tmp17 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp18) ;
return (tmp17) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 2821(line=123, offs=3) -- 2895(line=124, offs=52)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con_any (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp19) ;
ATSlocal (ats_ptr_type, tmp20) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con_any:
tmp20 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp20)->tag = 12 ;
ats_selptrset_mac(anairiats_sum_5, tmp20, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp20, atslab_1, arg3) ;
tmp19 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp20) ;
return (tmp19) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con_any] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 2966(line=131, offs=3) -- 3022(line=132, offs=41)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_int (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp21) ;
ATSlocal (ats_ptr_type, tmp22) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_int:
tmp22 = ATS_MALLOC(sizeof(anairiats_sum_6)) ;
((ats_sum_ptr_type)tmp22)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_6, tmp22, atslab_0, arg2) ;
tmp21 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp22) ;
return (tmp21) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_int] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 3070(line=136, offs=3) -- 3133(line=137, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_intrep (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp23) ;
ATSlocal (ats_ptr_type, tmp24) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_intrep:
tmp24 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp24)->tag = 3 ;
ats_selptrset_mac(anairiats_sum_3, tmp24, atslab_0, arg2) ;
tmp23 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp24) ;
return (tmp23) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_intrep] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 3183(line=142, offs=3) -- 3240(line=143, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_bool (ats_ptr_type arg0, ats_ptr_type arg1, ats_bool_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp25) ;
ATSlocal (ats_ptr_type, tmp26) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_bool:
tmp26 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp26)->tag = 4 ;
ats_selptrset_mac(anairiats_sum_7, tmp26, atslab_0, arg2) ;
tmp25 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp26) ;
return (tmp25) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_bool] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 3288(line=148, offs=3) -- 3345(line=149, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_char (ats_ptr_type arg0, ats_ptr_type arg1, ats_char_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp27) ;
ATSlocal (ats_ptr_type, tmp28) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_char:
tmp28 = ATS_MALLOC(sizeof(anairiats_sum_8)) ;
((ats_sum_ptr_type)tmp28)->tag = 5 ;
ats_selptrset_mac(anairiats_sum_8, tmp28, atslab_0, arg2) ;
tmp27 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp28) ;
return (tmp27) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_char] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 3394(line=154, offs=3) -- 3456(line=155, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_float (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp29) ;
ATSlocal (ats_ptr_type, tmp30) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_float:
tmp30 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp30)->tag = 7 ;
ats_selptrset_mac(anairiats_sum_3, tmp30, atslab_0, arg2) ;
tmp29 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp30) ;
return (tmp29) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_float] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 3507(line=160, offs=3) -- 3570(line=161, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_string (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp31) ;
ATSlocal (ats_ptr_type, tmp32) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_string:
tmp32 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp32)->tag = 6 ;
ats_selptrset_mac(anairiats_sum_3, tmp32, atslab_0, arg2) ;
tmp31 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp32) ;
return (tmp31) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_string] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 3641(line=168, offs=3) -- 3702(line=169, offs=44)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_i0nt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp33) ;
ATSlocal (ats_ptr_type, tmp34) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_i0nt:
tmp34 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp34)->tag = 8 ;
ats_selptrset_mac(anairiats_sum_3, tmp34, atslab_0, arg2) ;
tmp33 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp34) ;
return (tmp33) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_i0nt] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 3752(line=174, offs=3) -- 3815(line=175, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_f0loat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp35) ;
ATSlocal (ats_ptr_type, tmp36) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_f0loat:
tmp36 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp36)->tag = 9 ;
ats_selptrset_mac(anairiats_sum_3, tmp36, atslab_0, arg2) ;
tmp35 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp36) ;
return (tmp35) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_f0loat] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 3887(line=182, offs=3) -- 3941(line=183, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_empty (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp37) ;
ATSlocal (ats_ptr_type, tmp38) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_empty:
tmp38 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPempty_10) ;
tmp37 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp38) ;
return (tmp37) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_empty] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 4633(line=220, offs=5) -- 5055(line=240, offs=4)
*/
ATSstaticdec()
ats_ptr_type
auxlst_21 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4, ats_ptr_type env5, ats_ptr_type env6, ats_ptr_type env7, ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp58) ;
ATSlocal (ats_ptr_type, tmp59) ;
ATSlocal (ats_ptr_type, tmp60) ;
ATSlocal (ats_ptr_type, tmp61) ;
ATSlocal (ats_ptr_type, tmp62) ;
ATSlocal (ats_ptr_type, tmp63) ;
ATSlocal (ats_ptr_type, tmp64) ;
ATSlocal (ats_ptr_type, tmp65) ;
ATSlocal (ats_ptr_type, tmp66) ;

__ats_lab_auxlst_21:
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:
tmp59 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ;
tmp60 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ;
tmp61 = auxlst_21 (env0, env1, env2, env3, env4, env5, env6, env7, tmp60) ;
tmp62 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp62, atslab_0, env5) ;
ats_selptrset_mac(anairiats_sum_2, tmp62, atslab_1, tmp59) ;
tmp63 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp63, atslab_0, env6) ;
ats_selptrset_mac(anairiats_sum_2, tmp63, atslab_1, tmp61) ;
tmp66 = (ats_sum_ptr_type)0 ;
tmp65 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp65, atslab_0, tmp63) ;
ats_selptrset_mac(anairiats_sum_2, tmp65, atslab_1, tmp66) ;
tmp64 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp64, atslab_0, tmp62) ;
ats_selptrset_mac(anairiats_sum_2, tmp64, atslab_1, tmp65) ;
tmp58 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con (env0, env1, env4, env3, env7, tmp64) ;
break ;

/* branch: __ats_lab_5 */
__ats_lab_5_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_5_1:
tmp58 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con_any (env0, env1, env4, env2) ;
break ;
} while (0) ;
return (tmp58) ;
} /* end of [auxlst_21] */

typedef struct {
ats_fun_ptr_type closure_fun ;
ats_ptr_type closure_env_0 ;
ats_ptr_type closure_env_1 ;
ats_ptr_type closure_env_2 ;
ats_ptr_type closure_env_3 ;
ats_ptr_type closure_env_4 ;
ats_ptr_type closure_env_5 ;
ats_ptr_type closure_env_6 ;
ats_ptr_type closure_env_7 ;
} auxlst_21_closure_type ;

ats_ptr_type
auxlst_21_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0) {
return auxlst_21 (((auxlst_21_closure_type*)cloptr)->closure_env_0, ((auxlst_21_closure_type*)cloptr)->closure_env_1, ((auxlst_21_closure_type*)cloptr)->closure_env_2, ((auxlst_21_closure_type*)cloptr)->closure_env_3, ((auxlst_21_closure_type*)cloptr)->closure_env_4, ((auxlst_21_closure_type*)cloptr)->closure_env_5, ((auxlst_21_closure_type*)cloptr)->closure_env_6, ((auxlst_21_closure_type*)cloptr)->closure_env_7, arg0) ;
} /* end of function */

ATSinline()
ats_void_type
auxlst_21_closure_init (auxlst_21_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4, ats_ptr_type env5, ats_ptr_type env6, ats_ptr_type env7) {
p_clo->closure_fun = (ats_fun_ptr_type)&auxlst_21_clofun ;
p_clo->closure_env_0 = env0 ;
p_clo->closure_env_1 = env1 ;
p_clo->closure_env_2 = env2 ;
p_clo->closure_env_3 = env3 ;
p_clo->closure_env_4 = env4 ;
p_clo->closure_env_5 = env5 ;
p_clo->closure_env_6 = env6 ;
p_clo->closure_env_7 = env7 ;
return ;
} /* end of function */

ats_clo_ptr_type
auxlst_21_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type env3, ats_ptr_type env4, ats_ptr_type env5, ats_ptr_type env6, ats_ptr_type env7) {
auxlst_21_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_21_closure_type)) ;
auxlst_21_closure_init (p_clo, env0, env1, env2, env3, env4, env5, env6, env7) ;
return (ats_clo_ptr_type)p_clo ;
} /* end of function */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 4008(line=190, offs=1) -- 5100(line=244, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_lst (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp39) ;
ATSlocal (ats_ptr_type, tmp40) ;
ATSlocal (ats_bool_type, tmp41) ;
ATSlocal (ats_ptr_type, tmp42) ;
ATSlocal (anairiats_rec_9, tmp43) ;
ATSlocal (ats_ptr_type, tmp44) ;
ATSlocal (ats_ptr_type, tmp45) ;
ATSlocal (ats_ptr_type, tmp46) ;
ATSlocal (ats_bool_type, tmp47) ;
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) ;
ATSlocal (ats_ptr_type, tmp54) ;
ATSlocal (ats_ptr_type, tmp55) ;
ATSlocal (ats_ptr_type, tmp56) ;
ATSlocal (ats_ptr_type, tmp57) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_lst:
tmp41 = atspre_eq_int_int (arg1, 0) ;
if (tmp41) {
tmp40 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stacst2_2esats__the_list_t0ype_int_type) ;
} else {
tmp40 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype) ;
} /* end of [if] */
tmp42 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_islst (tmp40) ;
if (tmp42 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 4219(line=202, offs=5) -- 4258(line=203, offs=29)") ; }
tmp43 = ats_caselptrlab_mac(anairiats_sum_10, tmp42, atslab_0) ;
tmp44 = ats_select_mac(tmp43, atslab_0) ;
tmp45 = ats_select_mac(tmp43, atslab_1) ;
tmp47 = atspre_eq_int_int (arg1, 0) ;
if (tmp47) {
tmp46 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__PCKcon_0) ;
} else {
tmp46 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__PCKfree_2) ;
} /* end of [if] */
tmp48 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_int (0) ;
tmp49 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_int (1) ;
tmp51 = (ats_sum_ptr_type)0 ;
tmp50 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
ats_selptrset_mac(anairiats_sum_11, tmp50, atslab_0, tmp48) ;
ats_selptrset_mac(anairiats_sum_11, tmp50, atslab_1, tmp51) ;
ats_selptrset_mac(anairiats_sum_11, tmp50, atslab_2, arg3) ;
tmp53 = (ats_sum_ptr_type)0 ;
tmp52 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
ats_selptrset_mac(anairiats_sum_11, tmp52, atslab_0, tmp49) ;
ats_selptrset_mac(anairiats_sum_11, tmp52, atslab_1, tmp53) ;
ats_selptrset_mac(anairiats_sum_11, tmp52, atslab_2, arg2) ;
tmp56 = (ats_sum_ptr_type)0 ;
tmp55 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp55, atslab_0, tmp52) ;
ats_selptrset_mac(anairiats_sum_2, tmp55, atslab_1, tmp56) ;
tmp54 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp54, atslab_0, tmp50) ;
ats_selptrset_mac(anairiats_sum_2, tmp54, atslab_1, tmp55) ;
tmp57 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_tysum (tmp45, tmp54) ;
tmp39 = auxlst_21 (arg0, arg2, tmp44, tmp45, tmp46, tmp48, tmp49, tmp57, arg4) ;
return (tmp39) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_lst] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 5165(line=249, offs=11) -- 5261(line=252, offs=59)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp67) ;
ATSlocal (ats_ptr_type, tmp68) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_rec:
tmp68 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp68)->tag = 13 ;
ats_selptrset_mac(anairiats_sum_12, tmp68, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_12, tmp68, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_12, tmp68, atslab_2, arg4) ;
tmp67 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp68) ;
return (tmp67) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_rec] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 5306(line=257, offs=1) -- 5693(line=279, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_rec2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp69) ;
ATSlocal (ats_bool_type, tmp70) ;
ATSlocal (ats_bool_type, tmp71) ;
ATSlocal (ats_ptr_type, tmp72) ;
ATSlocal (ats_ptr_type, tmp73) ;
ATSlocal (ats_ptr_type, tmp74) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_rec2:
tmp71 = atspre_eq_int_int (arg2, 0) ;
if (tmp71) {
tmp70 = ats_true_bool ;
} else {
tmp70 = ats_false_bool ;
} /* end of [if] */
if (tmp70) {
do {
/* branch: __ats_lab_6 */
__ats_lab_6_0:
if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; }
tmp72 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_1) ;
if (tmp72 != (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; }
__ats_lab_6_1:
tmp73 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_0) ;
// 
tmp74 = ats_caselptrlab_mac(anairiats_sum_2, tmp73, atslab_1) ;
tmp69 = tmp74 ;
break ;

/* branch: __ats_lab_7 */
__ats_lab_7_0:
__ats_lab_7_1:
tmp69 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_rec (arg0, arg1, arg2, arg3, arg4) ;
break ;
} while (0) ;
} else {
tmp69 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_rec (arg0, arg1, arg2, arg3, arg4) ;
} /* end of [if] */
return (tmp69) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_rec2] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 5763(line=285, offs=3) -- 5835(line=286, offs=50)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_refas (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp75) ;
ATSlocal (ats_ptr_type, tmp76) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_refas:
tmp76 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp76)->tag = 14 ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_1, arg3) ;
tmp75 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp76) ;
return (tmp75) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_refas] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 5904(line=293, offs=3) -- 5982(line=294, offs=52)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_ann (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp77) ;
ATSlocal (ats_ptr_type, tmp78) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_ann:
tmp78 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp78)->tag = 15 ;
ats_selptrset_mac(anairiats_sum_5, tmp78, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp78, atslab_1, arg3) ;
tmp77 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp78) ;
return (tmp77) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_ann] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 6053(line=300, offs=17) -- 6076(line=300, offs=40)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_get_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp79) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_get_type:
tmp79 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg0), atslab_hidexp_type) ;
return (tmp79) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_get_type] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp84) ;
ATSlocal (ats_ptr_type, tmp85) ;
ATSlocal (ats_ptr_type, tmp86) ;
ATSlocal (ats_ptr_type, tmp87) ;
ATSlocal (ats_ptr_type, tmp88) ;
ATSlocal (ats_ptr_type, tmp89) ;
ATSlocal (ats_ptr_type, tmp90) ;

__ats_lab_loop_30:
do {
/* branch: __ats_lab_8 */
__ats_lab_8_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; }
__ats_lab_8_1:
tmp85 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ;
tmp86 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ;
tmp87 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp85, arg3) ;
tmp88 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp88, atslab_0, tmp87) ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp88 ;
// if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
tmp89 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ;
arg0 = tmp86 ;
arg1 = arg1 ;
arg2 = tmp89 ;
arg3 = arg3 ;
goto __ats_lab_loop_30 ; // tail call
break ;

/* branch: __ats_lab_9 */
__ats_lab_9_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_9_1:
tmp90 = (ats_sum_ptr_type)0 ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp90 ;
break ;
} while (0) ;
return /* (tmp84) */ ;
} /* end of [loop_30] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4)
*/
ATSstaticdec()
ats_ptr_type
list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp83) ;
ATSlocal (ats_ptr_type, tmp91) ;
// ATSlocal_void (tmp92) ;

__ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type:
/* ats_ptr_type tmp91 ; */
/* tmp92 = */ loop_30 (arg0, arg1, (&tmp91), arg2) ;
tmp83 = tmp91 ;
return (tmp83) ;
} /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2)
*/
ATSstaticdec()
ats_ptr_type
list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp82) ;

__ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type:
tmp82 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ;
return (tmp82) ;
} /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 6106(line=302, offs=20) -- 6220(line=306, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexplst_get_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp80) ;
ATSlocal (ats_ptr_type, tmp81) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexplst_get_type:
tmp81 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_get_type) ;
tmp80 = ats_castfn_mac(ats_ptr_type, tmp81) ;
return (tmp80) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexplst_get_type] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 6303(line=312, offs=3) -- 6381(line=314, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp93) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node:
tmp93 = ATS_MALLOC(sizeof(anairiats_rec_13)) ;
ats_selptrset_mac(anairiats_rec_13, tmp93, atslab_hidexp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_13, tmp93, atslab_hidexp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_13, tmp93, atslab_hidexp_node, arg2) ;

return (tmp93) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 6456(line=320, offs=3) -- 6517(line=321, offs=44)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_cst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp94) ;
ATSlocal (ats_ptr_type, tmp95) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_cst:
tmp95 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp95)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_3, tmp95, atslab_0, arg2) ;
tmp94 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp95) ;
return (tmp94) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_cst] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 6565(line=326, offs=3) -- 6626(line=327, offs=44)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp96) ;
ATSlocal (ats_ptr_type, tmp97) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_var:
tmp97 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp97)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_3, tmp97, atslab_0, arg2) ;
tmp96 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp97) ;
return (tmp96) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_var] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 6695(line=334, offs=3) -- 6752(line=335, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_int (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp98) ;
ATSlocal (ats_ptr_type, tmp99) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_int:
tmp99 = ATS_MALLOC(sizeof(anairiats_sum_6)) ;
((ats_sum_ptr_type)tmp99)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_6, tmp99, atslab_0, arg2) ;
tmp98 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp99) ;
return (tmp98) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_int] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 6803(line=340, offs=3) -- 6867(line=341, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_intrep (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp100) ;
ATSlocal (ats_ptr_type, tmp101) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_intrep:
tmp101 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp101)->tag = 3 ;
ats_selptrset_mac(anairiats_sum_3, tmp101, atslab_0, arg2) ;
tmp100 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp101) ;
return (tmp100) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_intrep] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 6919(line=346, offs=3) -- 6977(line=347, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_bool (ats_ptr_type arg0, ats_ptr_type arg1, ats_bool_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp102) ;
ATSlocal (ats_ptr_type, tmp103) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_bool:
tmp103 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp103)->tag = 4 ;
ats_selptrset_mac(anairiats_sum_7, tmp103, atslab_0, arg2) ;
tmp102 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp103) ;
return (tmp102) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_bool] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 7027(line=352, offs=3) -- 7085(line=353, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_char (ats_ptr_type arg0, ats_ptr_type arg1, ats_char_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp104) ;
ATSlocal (ats_ptr_type, tmp105) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_char:
tmp105 = ATS_MALLOC(sizeof(anairiats_sum_8)) ;
((ats_sum_ptr_type)tmp105)->tag = 5 ;
ats_selptrset_mac(anairiats_sum_8, tmp105, atslab_0, arg2) ;
tmp104 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp105) ;
return (tmp104) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_char] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 7136(line=358, offs=3) -- 7199(line=359, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_float (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp106) ;
ATSlocal (ats_ptr_type, tmp107) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_float:
tmp107 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp107)->tag = 6 ;
ats_selptrset_mac(anairiats_sum_3, tmp107, atslab_0, arg2) ;
tmp106 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp107) ;
return (tmp106) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_float] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 7252(line=364, offs=3) -- 7316(line=365, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_string (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp108) ;
ATSlocal (ats_ptr_type, tmp109) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_string:
tmp109 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp109)->tag = 7 ;
ats_selptrset_mac(anairiats_sum_3, tmp109, atslab_0, arg2) ;
tmp108 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp109) ;
return (tmp108) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_string] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 7389(line=372, offs=3) -- 7451(line=373, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_i0nt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp110) ;
ATSlocal (ats_ptr_type, tmp111) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_i0nt:
tmp111 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp111)->tag = 8 ;
ats_selptrset_mac(anairiats_sum_3, tmp111, atslab_0, arg2) ;
tmp110 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp111) ;
return (tmp110) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_i0nt] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 7503(line=378, offs=3) -- 7566(line=379, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_f0loat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp112) ;
ATSlocal (ats_ptr_type, tmp113) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_f0loat:
tmp113 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp113)->tag = 9 ;
ats_selptrset_mac(anairiats_sum_3, tmp113, atslab_0, arg2) ;
tmp112 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp113) ;
return (tmp112) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_f0loat] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 7640(line=386, offs=3) -- 7699(line=387, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_cstsp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp114) ;
ATSlocal (ats_ptr_type, tmp115) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_cstsp:
tmp115 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp115)->tag = 10 ;
ats_selptrset_mac(anairiats_sum_3, tmp115, atslab_0, arg2) ;
tmp114 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp115) ;
return (tmp114) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_cstsp] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 7767(line=393, offs=11) -- 7820(line=394, offs=40)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_top (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp116) ;
ATSlocal (ats_ptr_type, tmp117) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_top:
tmp117 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEtop_11) ;
tmp116 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp117) ;
return (tmp116) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_top] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 7867(line=398, offs=13) -- 7922(line=399, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp118) ;
ATSlocal (ats_ptr_type, tmp119) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty:
tmp119 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEempty_12) ;
tmp118 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp119) ;
return (tmp118) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 7975(line=404, offs=3) -- 8039(line=405, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ignore (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp120) ;
ATSlocal (ats_ptr_type, tmp121) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ignore:
tmp121 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp121)->tag = 13 ;
ats_selptrset_mac(anairiats_sum_3, tmp121, atslab_0, arg2) ;
tmp120 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp121) ;
return (tmp120) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ignore] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 8114(line=412, offs=3) -- 8187(line=413, offs=51)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_castfn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp122) ;
ATSlocal (ats_ptr_type, tmp123) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_castfn:
tmp123 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp123)->tag = 14 ;
ats_selptrset_mac(anairiats_sum_5, tmp123, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp123, atslab_1, arg3) ;
tmp122 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp123) ;
return (tmp122) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_castfn] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 8262(line=420, offs=3) -- 8327(line=421, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extval (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp124) ;
ATSlocal (ats_ptr_type, tmp125) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extval:
tmp125 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp125)->tag = 15 ;
ats_selptrset_mac(anairiats_sum_3, tmp125, atslab_0, arg2) ;
tmp124 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp125) ;
return (tmp124) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extval] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 8383(line=426, offs=3) -- 8462(line=427, offs=55)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extfcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp126) ;
ATSlocal (ats_ptr_type, tmp127) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extfcall:
tmp127 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp127)->tag = 16 ;
ats_selptrset_mac(anairiats_sum_5, tmp127, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp127, atslab_1, arg3) ;
tmp126 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp127) ;
return (tmp126) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extfcall] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 8520(line=432, offs=3) -- 8611(line=433, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extmcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp128) ;
ATSlocal (ats_ptr_type, tmp129) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extmcall:
tmp129 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp129)->tag = 17 ;
ats_selptrset_mac(anairiats_sum_14, tmp129, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp129, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp129, atslab_2, arg4) ;
tmp128 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp129) ;
return (tmp128) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extmcall] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 8685(line=439, offs=12) -- 8779(line=441, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp130) ;
ATSlocal (ats_ptr_type, tmp131) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_con:
tmp131 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp131)->tag = 18 ;
ats_selptrset_mac(anairiats_sum_14, tmp131, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp131, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp131, atslab_2, arg4) ;
tmp130 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp131) ;
return (tmp130) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_con] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 8830(line=447, offs=3) -- 8907(line=448, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tmpcst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp132) ;
ATSlocal (ats_ptr_type, tmp133) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tmpcst:
tmp133 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp133)->tag = 19 ;
ats_selptrset_mac(anairiats_sum_5, tmp133, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp133, atslab_1, arg3) ;
tmp132 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp133) ;
return (tmp132) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tmpcst] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 8961(line=453, offs=3) -- 9038(line=454, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp134) ;
ATSlocal (ats_ptr_type, tmp135) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tmpvar:
tmp135 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp135)->tag = 20 ;
ats_selptrset_mac(anairiats_sum_5, tmp135, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp135, atslab_1, arg3) ;
tmp134 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp135) ;
return (tmp134) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tmpvar] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 9111(line=460, offs=15) -- 9166(line=461, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_foldat (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp136) ;
ATSlocal (ats_ptr_type, tmp137) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_foldat:
tmp137 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEfoldat_21) ;
tmp136 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp137) ;
return (tmp136) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_foldat] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 9192(line=464, offs=15) -- 9255(line=465, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_freeat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp138) ;
ATSlocal (ats_ptr_type, tmp139) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_freeat:
tmp139 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp139)->tag = 22 ;
ats_selptrset_mac(anairiats_sum_3, tmp139, atslab_0, arg2) ;
tmp138 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp139) ;
return (tmp138) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_freeat] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 9325(line=471, offs=12) -- 9397(line=472, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_let (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp140) ;
ATSlocal (ats_ptr_type, tmp141) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_let:
tmp141 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp141)->tag = 23 ;
ats_selptrset_mac(anairiats_sum_5, tmp141, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp141, atslab_1, arg3) ;
tmp140 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp141) ;
return (tmp140) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_let] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 9466(line=479, offs=3) -- 9559(line=480, offs=60)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp142) ;
ATSlocal (ats_ptr_type, tmp143) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app:
tmp143 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp143)->tag = 24 ;
ats_selptrset_mac(anairiats_sum_14, tmp143, atslab_0, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp143, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp143, atslab_2, arg4) ;
tmp142 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp143) ;
return (tmp142) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 9606(line=484, offs=13) -- 10336(line=517, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp144) ;
ATSlocal (ats_ptr_type, tmp145) ;
ATSlocal (ats_ptr_type, tmp146) ;
ATSlocal (ats_ptr_type, tmp147) ;
ATSlocal (ats_bool_type, tmp148) ;
ATSlocal (ats_ptr_type, tmp149) ;
ATSlocal (ats_ptr_type, tmp150) ;
ATSlocal (ats_ptr_type, tmp151) ;
ATSlocal (ats_ptr_type, tmp152) ;
ATSlocal (ats_ptr_type, tmp153) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app2:
tmp146 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg3), atslab_hidexp_node) ;
do {
/* branch: __ats_lab_10 */
__ats_lab_10_0:
if (((ats_sum_ptr_type)tmp146)->tag != 0) { goto __ats_lab_11_0 ; }
__ats_lab_10_1:
tmp147 = ats_caselptrlab_mac(anairiats_sum_3, tmp146, atslab_0) ;
tmp148 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_is_castfn (tmp147) ;
if (tmp148) {
tmp145 = ATS_MALLOC(sizeof(anairiats_sum_15)) ;
ats_selptrset_mac(anairiats_sum_15, tmp145, atslab_0, tmp147) ;
} else {
tmp145 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
break ;

/* branch: __ats_lab_11 */
__ats_lab_11_0:
__ats_lab_11_1:
tmp145 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
do {
/* branch: __ats_lab_12 */
__ats_lab_12_0:
if (tmp145 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; }
__ats_lab_12_1:
tmp149 = ats_caselptrlab_mac(anairiats_sum_15, tmp145, atslab_0) ;
ATS_FREE(tmp145) ;
do {
/* branch: __ats_lab_13 */
__ats_lab_13_0:
if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; }
__ats_lab_13_1:
tmp151 = ats_caselptrlab_mac(anairiats_sum_2, arg4, atslab_0) ;
tmp150 = tmp151 ;
break ;

/* branch: __ats_lab_14 */
__ats_lab_14_0:
// if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_14_1:
tmp152 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg3), atslab_hidexp_loc) ;
tmp153 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_void_t0ype () ;
tmp150 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty (tmp152, tmp153) ;
break ;
} while (0) ;
tmp144 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_castfn (arg0, arg1, tmp149, tmp150) ;
break ;

/* branch: __ats_lab_15 */
__ats_lab_15_0:
// if (tmp145 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_15_1:
tmp144 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app (arg0, arg1, arg2, arg3, arg4) ;
break ;
} while (0) ;
return (tmp144) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app2] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 10405(line=523, offs=3) -- 10497(line=524, offs=59)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_if (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp154) ;
ATSlocal (ats_ptr_type, tmp155) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_if:
tmp155 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp155)->tag = 25 ;
ats_selptrset_mac(anairiats_sum_14, tmp155, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp155, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp155, atslab_2, arg4) ;
tmp154 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp155) ;
return (tmp154) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_if] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 10544(line=529, offs=3) -- 10637(line=530, offs=60)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_sif (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp156) ;
ATSlocal (ats_ptr_type, tmp157) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_sif:
tmp157 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp157)->tag = 26 ;
ats_selptrset_mac(anairiats_sum_14, tmp157, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp157, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp157, atslab_2, arg4) ;
tmp156 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp157) ;
return (tmp156) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_sif] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 10707(line=537, offs=3) -- 10793(line=538, offs=57)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_case (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp158) ;
ATSlocal (ats_ptr_type, tmp159) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_case:
tmp159 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp159)->tag = 27 ;
ats_selptrset_mac(anairiats_sum_14, tmp159, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp159, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp159, atslab_2, arg4) ;
tmp158 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp159) ;
return (tmp158) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_case] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 10863(line=545, offs=3) -- 10954(line=546, offs=59)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lst (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp160) ;
ATSlocal (ats_ptr_type, tmp161) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lst:
tmp161 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp161)->tag = 28 ;
ats_selptrset_mac(anairiats_sum_12, tmp161, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_12, tmp161, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_12, tmp161, atslab_2, arg4) ;
tmp160 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp161) ;
return (tmp160) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lst] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 11023(line=553, offs=3) -- 11116(line=554, offs=60)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp162) ;
ATSlocal (ats_ptr_type, tmp163) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec:
tmp163 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp163)->tag = 29 ;
ats_selptrset_mac(anairiats_sum_12, tmp163, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_12, tmp163, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_12, tmp163, atslab_2, arg4) ;
tmp162 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp163) ;
return (tmp162) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 11163(line=559, offs=1) -- 11591(line=584, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp164) ;
ATSlocal (ats_bool_type, tmp165) ;
ATSlocal (ats_bool_type, tmp166) ;
ATSlocal (ats_ptr_type, tmp167) ;
ATSlocal (ats_ptr_type, tmp168) ;
ATSlocal (ats_ptr_type, tmp169) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec2:
tmp166 = atspre_eq_int_int (arg2, 0) ;
if (tmp166) {
tmp165 = ats_true_bool ;
} else {
tmp165 = ats_false_bool ;
} /* end of [if] */
if (tmp165) {
do {
/* branch: __ats_lab_16 */
__ats_lab_16_0:
if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; }
tmp167 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_1) ;
if (tmp167 != (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; }
__ats_lab_16_1:
tmp168 = ats_caselptrlab_mac(anairiats_sum_2, arg3, atslab_0) ;
// 
tmp169 = ats_caselptrlab_mac(anairiats_sum_2, tmp168, atslab_1) ;
tmp164 = tmp169 ;
break ;

/* branch: __ats_lab_17 */
__ats_lab_17_0:
__ats_lab_17_1:
tmp164 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec (arg0, arg1, arg2, arg3, arg4) ;
break ;
} while (0) ;
} else {
tmp164 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec (arg0, arg1, arg2, arg3, arg4) ;
} /* end of [if] */
return (tmp164) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec2] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 11664(line=590, offs=3) -- 11727(line=591, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_seq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp170) ;
ATSlocal (ats_ptr_type, tmp171) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_seq:
tmp171 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp171)->tag = 30 ;
ats_selptrset_mac(anairiats_sum_3, tmp171, atslab_0, arg2) ;
tmp170 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp171) ;
return (tmp170) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_seq] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 11798(line=598, offs=3) -- 11891(line=599, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp172) ;
ATSlocal (ats_ptr_type, tmp173) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selab:
tmp173 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp173)->tag = 31 ;
ats_selptrset_mac(anairiats_sum_14, tmp173, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp173, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp173, atslab_2, arg4) ;
tmp172 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp173) ;
return (tmp172) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selab] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 11967(line=606, offs=3) -- 12033(line=607, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ptrofvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp174) ;
ATSlocal (ats_ptr_type, tmp175) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ptrofvar:
tmp175 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp175)->tag = 32 ;
ats_selptrset_mac(anairiats_sum_3, tmp175, atslab_0, arg2) ;
tmp174 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp175) ;
return (tmp174) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ptrofvar] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 12091(line=612, offs=3) -- 12181(line=613, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ptrofsel (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp176) ;
ATSlocal (ats_ptr_type, tmp177) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ptrofsel:
tmp177 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp177)->tag = 33 ;
ats_selptrset_mac(anairiats_sum_14, tmp177, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp177, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp177, atslab_2, arg4) ;
tmp176 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp177) ;
return (tmp176) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ptrofsel] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 12258(line=620, offs=3) -- 12356(line=621, offs=64)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_refarg (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp178) ;
ATSlocal (ats_ptr_type, tmp179) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_refarg:
tmp179 = ATS_MALLOC(sizeof(anairiats_sum_16)) ;
((ats_sum_ptr_type)tmp179)->tag = 34 ;
ats_selptrset_mac(anairiats_sum_16, tmp179, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_16, tmp179, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_16, tmp179, atslab_2, arg4) ;
tmp178 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp179) ;
return (tmp178) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_refarg] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 12431(line=628, offs=3) -- 12523(line=629, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp180) ;
ATSlocal (ats_ptr_type, tmp181) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selvar:
tmp181 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp181)->tag = 35 ;
ats_selptrset_mac(anairiats_sum_14, tmp181, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp181, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp181, atslab_2, arg4) ;
tmp180 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp181) ;
return (tmp180) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selvar] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 12577(line=634, offs=3) -- 12669(line=635, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp182) ;
ATSlocal (ats_ptr_type, tmp183) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selptr:
tmp183 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp183)->tag = 36 ;
ats_selptrset_mac(anairiats_sum_14, tmp183, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp183, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp183, atslab_2, arg4) ;
tmp182 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp183) ;
return (tmp182) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selptr] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 12747(line=642, offs=3) -- 12860(line=643, offs=73)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_assgn_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp184) ;
ATSlocal (ats_ptr_type, tmp185) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_assgn_var:
tmp185 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp185)->tag = 37 ;
ats_selptrset_mac(anairiats_sum_4, tmp185, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_4, tmp185, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_4, tmp185, atslab_2, arg4) ;
ats_selptrset_mac(anairiats_sum_4, tmp185, atslab_3, arg5) ;
tmp184 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp185) ;
return (tmp184) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_assgn_var] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 12920(line=648, offs=3) -- 13033(line=649, offs=73)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_assgn_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp186) ;
ATSlocal (ats_ptr_type, tmp187) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_assgn_ptr:
tmp187 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp187)->tag = 38 ;
ats_selptrset_mac(anairiats_sum_4, tmp187, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_4, tmp187, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_4, tmp187, atslab_2, arg4) ;
ats_selptrset_mac(anairiats_sum_4, tmp187, atslab_3, arg5) ;
tmp186 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp187) ;
return (tmp186) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_assgn_ptr] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 13114(line=656, offs=3) -- 13227(line=657, offs=73)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_xchng_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp188) ;
ATSlocal (ats_ptr_type, tmp189) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_xchng_var:
tmp189 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp189)->tag = 39 ;
ats_selptrset_mac(anairiats_sum_4, tmp189, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_4, tmp189, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_4, tmp189, atslab_2, arg4) ;
ats_selptrset_mac(anairiats_sum_4, tmp189, atslab_3, arg5) ;
tmp188 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp189) ;
return (tmp188) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_xchng_var] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 13287(line=662, offs=3) -- 13400(line=663, offs=73)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_xchng_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp190) ;
ATSlocal (ats_ptr_type, tmp191) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_xchng_ptr:
tmp191 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp191)->tag = 40 ;
ats_selptrset_mac(anairiats_sum_4, tmp191, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_4, tmp191, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_4, tmp191, atslab_2, arg4) ;
ats_selptrset_mac(anairiats_sum_4, tmp191, atslab_3, arg5) ;
tmp190 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp191) ;
return (tmp190) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_xchng_ptr] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 13476(line=670, offs=1) -- 13582(line=673, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_arrpsz (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp192) ;
ATSlocal (ats_ptr_type, tmp193) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_arrpsz:
tmp193 = ATS_MALLOC(sizeof(anairiats_sum_17)) ;
((ats_sum_ptr_type)tmp193)->tag = 41 ;
ats_selptrset_mac(anairiats_sum_17, tmp193, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_17, tmp193, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_17, tmp193, atslab_2, arg4) ;
tmp192 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp193) ;
return (tmp192) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_arrpsz] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 13635(line=678, offs=1) -- 13760(line=681, offs=59)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_arrinit (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp194) ;
ATSlocal (ats_ptr_type, tmp195) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_arrinit:
tmp195 = ATS_MALLOC(sizeof(anairiats_sum_18)) ;
((ats_sum_ptr_type)tmp195)->tag = 42 ;
ats_selptrset_mac(anairiats_sum_18, tmp195, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_18, tmp195, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_18, tmp195, atslab_2, arg4) ;
ats_selptrset_mac(anairiats_sum_18, tmp195, atslab_3, arg5) ;
tmp194 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp195) ;
return (tmp194) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_arrinit] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 13835(line=688, offs=3) -- 13906(line=689, offs=50)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_raise (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp196) ;
ATSlocal (ats_ptr_type, tmp197) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_raise:
tmp197 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp197)->tag = 43 ;
ats_selptrset_mac(anairiats_sum_3, tmp197, atslab_0, arg2) ;
tmp196 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp197) ;
return (tmp196) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_raise] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 13984(line=696, offs=3) -- 14045(line=697, offs=44)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_vcopyenv (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp198) ;
ATSlocal (ats_ptr_type, tmp199) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_vcopyenv:
tmp199 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp199)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_3, tmp199, atslab_0, arg2) ;
tmp198 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp199) ;
return (tmp198) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_vcopyenv] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 14101(line=703, offs=3) -- 14170(line=704, offs=51)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tempenver (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp200) ;
ATSlocal (ats_ptr_type, tmp201) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tempenver:
tmp201 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp201)->tag = 44 ;
ats_selptrset_mac(anairiats_sum_3, tmp201, atslab_0, arg2) ;
tmp200 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp201) ;
return (tmp200) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tempenver] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 14216(line=710, offs=1) -- 14322(line=714, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lam (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp202) ;
ATSlocal (ats_ptr_type, tmp203) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lam:
tmp203 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp203)->tag = 45 ;
ats_selptrset_mac(anairiats_sum_12, tmp203, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_12, tmp203, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_12, tmp203, atslab_2, arg4) ;
tmp202 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp203) ;
return (tmp202) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lam] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 14391(line=721, offs=3) -- 14484(line=722, offs=60)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_fix (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp204) ;
ATSlocal (ats_ptr_type, tmp205) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_fix:
tmp205 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp205)->tag = 46 ;
ats_selptrset_mac(anairiats_sum_12, tmp205, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_12, tmp205, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_12, tmp205, atslab_2, arg4) ;
tmp204 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp205) ;
return (tmp204) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_fix] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 14557(line=729, offs=3) -- 14620(line=730, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_delay (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp206) ;
ATSlocal (ats_ptr_type, tmp207) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_delay:
tmp207 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp207)->tag = 47 ;
ats_selptrset_mac(anairiats_sum_3, tmp207, atslab_0, arg2) ;
tmp206 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp207) ;
return (tmp206) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_delay] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 14672(line=734, offs=3) -- 14754(line=735, offs=56)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ldelay (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp208) ;
ATSlocal (ats_ptr_type, tmp209) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ldelay:
tmp209 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp209)->tag = 48 ;
ats_selptrset_mac(anairiats_sum_5, tmp209, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp209, atslab_1, arg3) ;
tmp208 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp209) ;
return (tmp208) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ldelay] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 14812(line=740, offs=3) -- 14888(line=741, offs=54)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lazyeval (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp210) ;
ATSlocal (ats_ptr_type, tmp211) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lazyeval:
tmp211 = ATS_MALLOC(sizeof(anairiats_sum_19)) ;
((ats_sum_ptr_type)tmp211)->tag = 49 ;
ats_selptrset_mac(anairiats_sum_19, tmp211, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_19, tmp211, atslab_1, arg3) ;
tmp210 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp211) ;
return (tmp210) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lazyeval] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 14965(line=748, offs=3) -- 15065(line=749, offs=64)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loop (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp212) ;
ATSlocal (ats_ptr_type, tmp213) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loop:
tmp213 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp213)->tag = 50 ;
ats_selptrset_mac(anairiats_sum_4, tmp213, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_4, tmp213, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_4, tmp213, atslab_2, arg4) ;
ats_selptrset_mac(anairiats_sum_4, tmp213, atslab_3, arg5) ;
tmp212 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp213) ;
return (tmp212) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loop] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 15118(line=754, offs=3) -- 15183(line=755, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loopexn (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp214) ;
ATSlocal (ats_ptr_type, tmp215) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loopexn:
tmp215 = ATS_MALLOC(sizeof(anairiats_sum_6)) ;
((ats_sum_ptr_type)tmp215)->tag = 51 ;
ats_selptrset_mac(anairiats_sum_6, tmp215, atslab_0, arg2) ;
tmp214 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp215) ;
return (tmp214) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loopexn] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 15260(line=762, offs=3) -- 15339(line=763, offs=55)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_trywith (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp216) ;
ATSlocal (ats_ptr_type, tmp217) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_trywith:
tmp217 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp217)->tag = 52 ;
ats_selptrset_mac(anairiats_sum_5, tmp217, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp217, atslab_1, arg3) ;
tmp216 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp217) ;
return (tmp216) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_trywith] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 15415(line=770, offs=3) -- 15469(line=770, offs=57)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_errexp (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp218) ;
ATSlocal (ats_ptr_type, tmp219) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_errexp:
tmp219 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEerrexp_53) ;
tmp218 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp219) ;
return (tmp218) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_errexp] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 15538(line=776, offs=11) -- 15599(line=778, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hilab_lab (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp220) ;
ATSlocal (ats_ptr_type, tmp221) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hilab_lab:
tmp221 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp221)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_3, tmp221, atslab_0, arg1) ;
tmp220 = ATS_MALLOC(sizeof(anairiats_rec_20)) ;
ats_selptrset_mac(anairiats_rec_20, tmp220, atslab_hilab_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_20, tmp220, atslab_hilab_node, tmp221) ;

return (tmp220) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hilab_lab] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 15620(line=780, offs=11) -- 15681(line=782, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hilab_ind (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp222) ;
ATSlocal (ats_ptr_type, tmp223) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hilab_ind:
tmp223 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp223)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_3, tmp223, atslab_0, arg1) ;
tmp222 = ATS_MALLOC(sizeof(anairiats_rec_20)) ;
ats_selptrset_mac(anairiats_rec_20, tmp222, atslab_hilab_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_20, tmp222, atslab_hilab_node, tmp223) ;

return (tmp222) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hilab_ind] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 15728(line=788, offs=3) -- 15808(line=792, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__higmat_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp224) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__higmat_make:
tmp224 = ATS_MALLOC(sizeof(anairiats_rec_21)) ;
ats_selptrset_mac(anairiats_rec_21, tmp224, atslab_higmat_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_21, tmp224, atslab_higmat_exp, arg1) ;
ats_selptrset_mac(anairiats_rec_21, tmp224, atslab_higmat_pat, arg2) ;

return (tmp224) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__higmat_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 15858(line=796, offs=3) -- 16008(line=803, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hiclau_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_int_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp225) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hiclau_make:
tmp225 = ATS_MALLOC(sizeof(anairiats_rec_22)) ;
ats_selptrset_mac(anairiats_rec_22, tmp225, atslab_hiclau_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_22, tmp225, atslab_hiclau_pat, arg1) ;
ats_selptrset_mac(anairiats_rec_22, tmp225, atslab_hiclau_gua, arg2) ;
ats_selptrset_mac(anairiats_rec_22, tmp225, atslab_hiclau_seq, arg3) ;
ats_selptrset_mac(anairiats_rec_22, tmp225, atslab_hiclau_neg, arg4) ;
ats_selptrset_mac(anairiats_rec_22, tmp225, atslab_hiclau_body, arg5) ;

return (tmp225) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hiclau_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 16079(line=809, offs=1) -- 16249(line=818, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp226) ;
ATSlocal (ats_ptr_type, tmp227) ;
ATSlocal (ats_ptr_type, tmp228) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundec_make:
tmp227 = (ats_sum_ptr_type)0 ;
tmp228 = (ats_sum_ptr_type)0 ;
tmp226 = ATS_MALLOC(sizeof(anairiats_rec_23)) ;
ats_selptrset_mac(anairiats_rec_23, tmp226, atslab_hifundec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_23, tmp226, atslab_hifundec_var, arg1) ;
ats_selptrset_mac(anairiats_rec_23, tmp226, atslab_hifundec_imparg, arg2) ;
ats_selptrset_mac(anairiats_rec_23, tmp226, atslab_hifundec_def, arg3) ;
ats_selptrset_mac(anairiats_rec_23, tmp226, atslab_hifundec_hidecl, tmp227) ;
ats_selptrset_mac(anairiats_rec_23, tmp226, atslab_hifundec_funlab, tmp228) ;

return (tmp226) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundec_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 16405(line=830, offs=3) -- 16452(line=830, offs=50)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundec_get_hideclopt (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp229) ;
ATSlocal (ats_ptr_type, tmp230) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundec_get_hideclopt:
tmp230 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_hifundec_hidecl) ;
tmp229 = ats_castfn_mac(ats_ptr_type, tmp230) ;
return (tmp229) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundec_get_hideclopt] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/unsafe.dats: 2024(line=63, offs=10) -- 2250(line=73, offs=2)
*/
ATSstaticdec()
ats_void_type
ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp234) ;

__ats_lab_ptr0_set_01760_ats_ptr_type:
ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) = arg1 ;
return /* (tmp234) */ ;
} /* end of [ptr0_set_01760_ats_ptr_type] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/unsafe.dats: 2472(line=83, offs=21) -- 2499(line=83, offs=48)
*/
ATSstaticdec()
ats_void_type
ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp233) ;

__ats_lab_ptrset_01764_ats_ptr_type:
/* tmp233 = */ ptr0_set_01760_ats_ptr_type (arg0, arg1) ;
return /* (tmp233) */ ;
} /* end of [ptrset_01764_ats_ptr_type] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 16553(line=837, offs=5) -- 16664(line=841, offs=63)
*/
ATSstaticdec()
ats_void_type
set_96 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp232) ;
ATSlocal (ats_ptr_type, tmp235) ;

__ats_lab_set_96:
tmp235 = patsopt_hifundec_getref_hideclopt (arg0) ;
/* tmp232 = */ ptrset_01764_ats_ptr_type (tmp235, arg1) ;
return /* (tmp232) */ ;
} /* end of [set_96] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 16672(line=843, offs=5) -- 16888(line=856, offs=4)
*/
ATSstaticdec()
ats_void_type
auxlst_99 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp236) ;
ATSlocal (ats_ptr_type, tmp237) ;
ATSlocal (ats_ptr_type, tmp238) ;
// ATSlocal_void (tmp239) ;

__ats_lab_auxlst_99:
do {
/* branch: __ats_lab_18 */
__ats_lab_18_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; }
__ats_lab_18_1:
tmp237 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ;
tmp238 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ;
/* tmp239 = */ set_96 (tmp237, arg1) ;
arg0 = tmp238 ;
arg1 = arg1 ;
goto __ats_lab_auxlst_99 ; // tail call
break ;

/* branch: __ats_lab_19 */
__ats_lab_19_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_19_1:
break ;
} while (0) ;
return /* (tmp236) */ ;
} /* end of [auxlst_99] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 16528(line=835, offs=3) -- 16938(line=860, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundeclst_set_hideclopt (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp231) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundeclst_set_hideclopt:
/* tmp231 = */ auxlst_99 (arg0, arg1) ;
return /* (tmp231) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundeclst_set_hideclopt] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 17048(line=868, offs=3) -- 17130(line=872, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hivaldec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp240) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hivaldec_make:
tmp240 = ATS_MALLOC(sizeof(anairiats_rec_24)) ;
ats_selptrset_mac(anairiats_rec_24, tmp240, atslab_hivaldec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_24, tmp240, atslab_hivaldec_pat, arg1) ;
ats_selptrset_mac(anairiats_rec_24, tmp240, atslab_hivaldec_def, arg2) ;

return (tmp240) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hivaldec_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 17182(line=876, offs=1) -- 17363(line=886, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hivardec_make (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp241) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hivardec_make:
tmp241 = ATS_MALLOC(sizeof(anairiats_rec_25)) ;
ats_selptrset_mac(anairiats_rec_25, tmp241, atslab_hivardec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_25, tmp241, atslab_hivardec_knd, arg1) ;
ats_selptrset_mac(anairiats_rec_25, tmp241, atslab_hivardec_dvar_ptr, arg2) ;
ats_selptrset_mac(anairiats_rec_25, tmp241, atslab_hivardec_dvar_view, arg3) ;
ats_selptrset_mac(anairiats_rec_25, tmp241, atslab_hivardec_type, arg4) ;
ats_selptrset_mac(anairiats_rec_25, tmp241, atslab_hivardec_init, arg5) ;

return (tmp241) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hivardec_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 17436(line=892, offs=1) -- 17671(line=903, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hiimpdec_make (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp242) ;
ATSlocal (ats_ptr_type, tmp243) ;
ATSlocal (ats_ptr_type, tmp244) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hiimpdec_make:
tmp243 = (ats_sum_ptr_type)0 ;
tmp244 = (ats_sum_ptr_type)0 ;
tmp242 = ATS_MALLOC(sizeof(anairiats_rec_26)) ;
ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_knd, arg1) ;
ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_cst, arg2) ;
ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_imparg, arg3) ;
ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_tmparg, arg4) ;
ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_def, arg5) ;
ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_funlab, tmp243) ;
ats_selptrset_mac(anairiats_rec_26, tmp242, atslab_hiimpdec_instrlst, tmp244) ;

return (tmp242) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hiimpdec_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 17749(line=909, offs=3) -- 17804(line=911, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp245) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node:
tmp245 = ATS_MALLOC(sizeof(anairiats_rec_27)) ;
ats_selptrset_mac(anairiats_rec_27, tmp245, atslab_hidecl_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_27, tmp245, atslab_hidecl_node, arg1) ;

return (tmp245) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 17857(line=914, offs=13) -- 17901(line=915, offs=37)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_none (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp246) ;
ATSlocal (ats_ptr_type, tmp247) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_none:
tmp247 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDnone_0) ;
tmp246 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp247) ;
return (tmp246) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_none] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 17949(line=919, offs=13) -- 18003(line=920, offs=41)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_list (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp248) ;
ATSlocal (ats_ptr_type, tmp249) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_list:
tmp249 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp249)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_3, tmp249, atslab_0, arg1) ;
tmp248 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp249) ;
return (tmp248) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_list] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 18075(line=926, offs=16) -- 18130(line=927, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_saspdec (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp250) ;
ATSlocal (ats_ptr_type, tmp251) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_saspdec:
tmp251 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp251)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_3, tmp251, atslab_0, arg1) ;
tmp250 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp251) ;
return (tmp250) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_saspdec] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 18206(line=934, offs=3) -- 18280(line=935, offs=52)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extype (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp252) ;
ATSlocal (ats_ptr_type, tmp253) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extype:
tmp253 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp253)->tag = 3 ;
ats_selptrset_mac(anairiats_sum_5, tmp253, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_5, tmp253, atslab_1, arg2) ;
tmp252 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp253) ;
return (tmp252) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extype] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 18334(line=940, offs=3) -- 18408(line=941, offs=52)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp254) ;
ATSlocal (ats_ptr_type, tmp255) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extvar:
tmp255 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp255)->tag = 4 ;
ats_selptrset_mac(anairiats_sum_5, tmp255, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_5, tmp255, atslab_1, arg2) ;
tmp254 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp255) ;
return (tmp254) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extvar] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 18463(line=946, offs=3) -- 18540(line=947, offs=54)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extcode (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp256) ;
ATSlocal (ats_ptr_type, tmp257) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extcode:
tmp257 = ATS_MALLOC(sizeof(anairiats_sum_16)) ;
((ats_sum_ptr_type)tmp257)->tag = 5 ;
ats_selptrset_mac(anairiats_sum_16, tmp257, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_16, tmp257, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_16, tmp257, atslab_2, arg3) ;
tmp256 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp257) ;
return (tmp256) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extcode] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 18617(line=954, offs=3) -- 18684(line=955, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_datdecs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp258) ;
ATSlocal (ats_ptr_type, tmp259) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_datdecs:
tmp259 = ATS_MALLOC(sizeof(anairiats_sum_19)) ;
((ats_sum_ptr_type)tmp259)->tag = 7 ;
ats_selptrset_mac(anairiats_sum_19, tmp259, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_19, tmp259, atslab_1, arg2) ;
tmp258 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp259) ;
return (tmp258) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_datdecs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 18740(line=960, offs=3) -- 18797(line=961, offs=44)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_exndecs (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp260) ;
ATSlocal (ats_ptr_type, tmp261) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_exndecs:
tmp261 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp261)->tag = 6 ;
ats_selptrset_mac(anairiats_sum_3, tmp261, atslab_0, arg1) ;
tmp260 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp261) ;
return (tmp260) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_exndecs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 18875(line=968, offs=3) -- 18943(line=969, offs=50)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_dcstdecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp262) ;
ATSlocal (ats_ptr_type, tmp263) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_dcstdecs:
tmp263 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp263)->tag = 8 ;
ats_selptrset_mac(anairiats_sum_5, tmp263, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_5, tmp263, atslab_1, arg2) ;
tmp262 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp263) ;
return (tmp262) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_dcstdecs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 19020(line=976, offs=3) -- 19086(line=977, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_impdec (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp264) ;
ATSlocal (ats_ptr_type, tmp265) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_impdec:
tmp265 = ATS_MALLOC(sizeof(anairiats_sum_19)) ;
((ats_sum_ptr_type)tmp265)->tag = 9 ;
ats_selptrset_mac(anairiats_sum_19, tmp265, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_19, tmp265, atslab_1, arg2) ;
tmp264 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp265) ;
return (tmp264) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_impdec] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 19162(line=984, offs=3) -- 19245(line=985, offs=57)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_fundecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp266) ;
ATSlocal (ats_ptr_type, tmp267) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_fundecs:
tmp267 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp267)->tag = 10 ;
ats_selptrset_mac(anairiats_sum_14, tmp267, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_14, tmp267, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp267, atslab_2, arg3) ;
tmp266 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp267) ;
return (tmp266) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_fundecs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 19320(line=991, offs=16) -- 19387(line=992, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_valdecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp268) ;
ATSlocal (ats_ptr_type, tmp269) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_valdecs:
tmp269 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp269)->tag = 11 ;
ats_selptrset_mac(anairiats_sum_5, tmp269, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_5, tmp269, atslab_1, arg2) ;
tmp268 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp269) ;
return (tmp268) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_valdecs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 19445(line=996, offs=20) -- 19516(line=997, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_valdecs_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp270) ;
ATSlocal (ats_ptr_type, tmp271) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_valdecs_rec:
tmp271 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp271)->tag = 12 ;
ats_selptrset_mac(anairiats_sum_5, tmp271, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_5, tmp271, atslab_1, arg2) ;
tmp270 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp271) ;
return (tmp270) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_valdecs_rec] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 19595(line=1003, offs=16) -- 19652(line=1004, offs=44)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_vardecs (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp272) ;
ATSlocal (ats_ptr_type, tmp273) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_vardecs:
tmp273 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp273)->tag = 13 ;
ats_selptrset_mac(anairiats_sum_3, tmp273, atslab_0, arg1) ;
tmp272 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp273) ;
return (tmp272) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_vardecs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 19729(line=1011, offs=3) -- 19796(line=1012, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_include (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp274) ;
ATSlocal (ats_ptr_type, tmp275) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_include:
tmp275 = ATS_MALLOC(sizeof(anairiats_sum_19)) ;
((ats_sum_ptr_type)tmp275)->tag = 14 ;
ats_selptrset_mac(anairiats_sum_19, tmp275, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_19, tmp275, atslab_1, arg2) ;
tmp274 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp275) ;
return (tmp274) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_include] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 19871(line=1018, offs=16) -- 19988(line=1021, offs=55)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_staload (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_int_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp276) ;
ATSlocal (ats_ptr_type, tmp277) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_staload:
tmp277 = ATS_MALLOC(sizeof(anairiats_sum_28)) ;
((ats_sum_ptr_type)tmp277)->tag = 15 ;
ats_selptrset_mac(anairiats_sum_28, tmp277, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_28, tmp277, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_28, tmp277, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_28, tmp277, atslab_3, arg4) ;
ats_selptrset_mac(anairiats_sum_28, tmp277, atslab_4, arg5) ;
tmp276 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp277) ;
return (tmp276) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_staload] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 20047(line=1026, offs=3) -- 20135(line=1027, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_staloadloc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp278) ;
ATSlocal (ats_ptr_type, tmp279) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_staloadloc:
tmp279 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp279)->tag = 16 ;
ats_selptrset_mac(anairiats_sum_14, tmp279, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_14, tmp279, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp279, atslab_2, arg3) ;
tmp278 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp279) ;
return (tmp278) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_staloadloc] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 20213(line=1033, offs=16) -- 20268(line=1034, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_dynload (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp280) ;
ATSlocal (ats_ptr_type, tmp281) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_dynload:
tmp281 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp281)->tag = 17 ;
ats_selptrset_mac(anairiats_sum_3, tmp281, atslab_0, arg1) ;
tmp280 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp281) ;
return (tmp280) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_dynload] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 20341(line=1040, offs=14) -- 20408(line=1041, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_local (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp282) ;
ATSlocal (ats_ptr_type, tmp283) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_local:
tmp283 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp283)->tag = 18 ;
ats_selptrset_mac(anairiats_sum_5, tmp283, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_5, tmp283, atslab_1, arg2) ;
tmp282 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp283) ;
return (tmp282) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_local] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2)
*/
ATSstaticdec()
ats_ptr_type
ptr0_get_01759_ats_ptr_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp287) ;

__ats_lab_ptr0_get_01759_ats_ptr_type:
tmp287 = ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) ;
return (tmp287) ;
} /* end of [ptr0_get_01759_ats_ptr_type] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/unsafe.dats: 2430(line=82, offs=21) -- 2450(line=82, offs=41)
*/
ATSstaticdec()
ats_ptr_type
ptrget_01763_ats_ptr_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp286) ;

__ats_lab_ptrget_01763_ats_ptr_type:
tmp286 = ptr0_get_01759_ats_ptr_type (arg0) ;
return (tmp286) ;
} /* end of [ptrget_01763_ats_ptr_type] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 20657(line=1056, offs=28) -- 20760(line=1058, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__filenv_get_tmpcstimpmapopt (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp284) ;
ATSlocal (ats_ptr_type, tmp285) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__filenv_get_tmpcstimpmapopt:
tmp285 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_env_2esats__filenv_getref_tmpcstimpmap (arg0) ;
tmp284 = ptrget_01763_ats_ptr_type (tmp285) ;
return (tmp284) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__filenv_get_tmpcstimpmapopt] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 20838(line=1061, offs=28) -- 20941(line=1063, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__filenv_get_tmpvardecmapopt (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp288) ;
ATSlocal (ats_ptr_type, tmp289) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__filenv_get_tmpvardecmapopt:
tmp289 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_env_2esats__filenv_getref_tmpvardecmap (arg0) ;
tmp288 = ptrget_01763_ats_ptr_type (tmp289) ;
return (tmp288) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__filenv_get_tmpvardecmapopt] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 21056(line=1071, offs=3) -- 21197(line=1078, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_find (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp290) ;
ATSlocal (ats_ptr_type, tmp291) ;
ATSlocal (ats_ptr_type, tmp292) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_find:
tmp291 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cstmap_search (arg0, arg1) ;
do {
/* branch: __ats_lab_20 */
__ats_lab_20_0:
if (tmp291 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; }
__ats_lab_20_1:
tmp292 = ats_caselptrlab_mac(anairiats_sum_15, tmp291, atslab_0) ;
ATS_FREE(tmp291) ;
tmp290 = tmp292 ;
break ;

/* branch: __ats_lab_21 */
__ats_lab_21_0:
// if (tmp291 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_21_1:
tmp290 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp290) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_find] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 21261(line=1082, offs=3) -- 21446(line=1089, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_insert (ats_ref_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp293) ;
ATSlocal (ats_ptr_type, tmp294) ;
ATSlocal (ats_ptr_type, tmp295) ;
ATSlocal (ats_bool_type, tmp296) ;
ATSlocal (ats_ptr_type, tmp297) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_insert:
tmp294 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg1), atslab_hiimpdec_cst) ;
tmp295 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_find (ats_ptrget_mac(ats_ptr_type, arg0), tmp294) ;
tmp297 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp297, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_2, tmp297, atslab_1, tmp295) ;
tmp296 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cstmap_insert (arg0, tmp294, tmp297) ;
return /* (tmp293) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_insert] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 21531(line=1095, offs=3) -- 21575(line=1095, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_find (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp298) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_find:
tmp298 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2varmap_search (arg0, arg1) ;
return (tmp298) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_find] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 21639(line=1100, offs=3) -- 21760(line=1105, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_insert (ats_ref_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp299) ;
ATSlocal (ats_ptr_type, tmp300) ;
ATSlocal (ats_bool_type, tmp301) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_insert:
tmp300 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg1), atslab_hifundec_var) ;
tmp301 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2varmap_insert (arg0, tmp300, arg1) ;
return /* (tmp299) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_insert] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_hidynexp.dats: 21827(line=1109, offs=3) -- 22044(line=1122, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts (ats_ref_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp302) ;
ATSlocal (ats_ptr_type, tmp303) ;
ATSlocal (ats_ptr_type, tmp304) ;
// ATSlocal_void (tmp305) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts:
do {
/* branch: __ats_lab_22 */
__ats_lab_22_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; }
__ats_lab_22_1:
tmp303 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ;
tmp304 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ;
/* tmp305 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_insert (arg0, tmp303) ;
arg0 = arg0 ;
arg1 = tmp304 ;
goto __ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts ; // tail call
break ;

/* branch: __ats_lab_23 */
__ats_lab_23_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_23_1:
break ;
} while (0) ;
return /* (tmp302) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts] */

/* static load function */

// extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stacst2_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__staload (void) ;
// extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ;
// extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ;
extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_env_2esats__staload (void) ;

ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__staload () {
static int _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__staload_flag = 0 ;
if (_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__staload_flag) return ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__staload_flag = 1 ;

// _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stacst2_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__staload () ;
// ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ;
// ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_env_2esats__staload () ;

return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__dynload_flag ;

ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__dynload () {
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__dynload_flag = 1 ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__staload () ;

#ifdef _ATS_PROOFCHECK
ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_v_takeout2_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____copy_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____free_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
#endif /* _ATS_PROOFCHECK */

/* marking static variables for GC */

/* marking external values for GC */

/* code for dynamic loading */
return ;
} /* end of [dynload function] */

/* external codes at mid */
/* external codes at bot */


ats_void_type
patsopt_hipat_set_asvar
(
  ats_ptr_type hip, ats_ptr_type opt
) {
  ((hipat_t)hip)->atslab_hipat_asvar = opt ; return ;
} // end of [patsopt_hipat_set_asvar]

ats_ptr_type
patsopt_hifundec_getref_hideclopt
  (ats_ptr_type fundec)
{
  return &((hifundec_t)fundec)->atslab_hifundec_hidecl ;
} // end of [patsopt_hifundec_getref_hideclopt]

ats_ptr_type
patsopt_hifundec_getref_funlabopt
  (ats_ptr_type fundec)
{
  return &((hifundec_t)fundec)->atslab_hifundec_funlab ;
} // end of [patsopt_hifundec_getref_funlabopt]

ats_ptr_type
patsopt_hiimpdec_getref_funlabopt
  (ats_ptr_type impdec)
{
  return &((hiimpdec_t)impdec)->atslab_hiimpdec_funlab ;
} // end of [patsopt_hiimpdec_getref_funlabopt]

ats_ptr_type
patsopt_hiimpdec_getref_instrlstopt
  (ats_ptr_type impdec)
{
  return &((hiimpdec_t)impdec)->atslab_hiimpdec_instrlst ;
} // end of [patsopt_hiimpdec_getref_instrlstopt]



/* ****** ****** */

/* end of [pats_hidynexp_dats.c] */
