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

/* 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_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_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_d2sym_loc ;
ats_ptr_type atslab_d2sym_qua ;
ats_ptr_type atslab_d2sym_sym ;
ats_ptr_type atslab_d2sym_pitmlst ;
} anairiats_rec_1 ;

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

typedef
struct {
ats_ptr_type atslab_p2at_loc ;
ats_ptr_type atslab_p2at_svs ;
ats_ptr_type atslab_p2at_dvs ;
ats_ptr_type atslab_p2at_type ;
ats_ptr_type atslab_p2at_node ;
} anairiats_rec_3 ;

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

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

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

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

typedef
struct {
ats_ptr_type atslab_s2qua_svs ;
ats_ptr_type atslab_s2qua_sps ;
} anairiats_rec_8 ;

typedef struct {
anairiats_rec_8 atslab_0 ;
ats_ptr_type atslab_1 ;
} anairiats_sum_9 ;

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

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

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

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

typedef
struct {
ats_ptr_type atslab_d2exp_loc ;
ats_ptr_type atslab_d2exp_node ;
ats_ptr_type atslab_d2exp_type ;
} anairiats_rec_14 ;

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

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_16 ;

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

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

typedef
struct {
ats_ptr_type atslab_i2fcl_loc ;
ats_ptr_type atslab_i2fcl_test ;
ats_ptr_type atslab_i2fcl_body ;
} anairiats_rec_19 ;

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

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

typedef
struct {
ats_ptr_type atslab_d2lab_loc ;
ats_ptr_type atslab_d2lab_node ;
ats_ptr_type atslab_d2lab_overld ;
} anairiats_rec_22 ;

typedef
struct {
ats_ptr_type atslab_i2nvarg_var ;
ats_ptr_type atslab_i2nvarg_type ;
} anairiats_rec_23 ;

typedef struct {
ats_ptr_type atslab_0 ;
} anairiats_sum_24 ;

typedef
struct {
ats_ptr_type atslab_i2nvresstate_svs ;
ats_ptr_type atslab_i2nvresstate_gua ;
ats_ptr_type atslab_i2nvresstate_arg ;
ats_ptr_type atslab_i2nvresstate_met ;
} anairiats_rec_25 ;

typedef
struct {
ats_ptr_type atslab_loopi2nv_loc ;
ats_ptr_type atslab_loopi2nv_svs ;
ats_ptr_type atslab_loopi2nv_gua ;
ats_ptr_type atslab_loopi2nv_arg ;
ats_ptr_type atslab_loopi2nv_met ;
ats_ptr_type atslab_loopi2nv_res ;
} anairiats_rec_26 ;

typedef
struct {
ats_ptr_type atslab_gm2at_loc ;
ats_ptr_type atslab_gm2at_exp ;
ats_ptr_type atslab_gm2at_pat ;
} anairiats_rec_27 ;

typedef
struct {
ats_ptr_type atslab_c2lau_loc ;
ats_ptr_type atslab_c2lau_pat ;
ats_ptr_type atslab_c2lau_gua ;
ats_int_type atslab_c2lau_seq ;
ats_int_type atslab_c2lau_neg ;
ats_ptr_type atslab_c2lau_body ;
} anairiats_rec_28 ;

typedef
struct {
ats_ptr_type atslab_sc2lau_loc ;
ats_ptr_type atslab_sc2lau_pat ;
ats_ptr_type atslab_sc2lau_body ;
} anairiats_rec_29 ;

typedef
struct {
ats_ptr_type atslab_i2mpdec_loc ;
ats_ptr_type atslab_i2mpdec_locid ;
ats_ptr_type atslab_i2mpdec_cst ;
ats_ptr_type atslab_i2mpdec_imparg ;
ats_ptr_type atslab_i2mpdec_tmparg ;
ats_ptr_type atslab_i2mpdec_tmpgua ;
ats_ptr_type atslab_i2mpdec_def ;
} anairiats_rec_30 ;

typedef
struct {
ats_ptr_type atslab_f2undec_loc ;
ats_ptr_type atslab_f2undec_var ;
ats_ptr_type atslab_f2undec_def ;
ats_ptr_type atslab_f2undec_ann ;
} anairiats_rec_31 ;

typedef
struct {
ats_ptr_type atslab_v2aldec_loc ;
ats_ptr_type atslab_v2aldec_pat ;
ats_ptr_type atslab_v2aldec_def ;
ats_ptr_type atslab_v2aldec_ann ;
} anairiats_rec_32 ;

typedef
struct {
ats_ptr_type atslab_v2ardec_loc ;
ats_int_type atslab_v2ardec_knd ;
ats_ptr_type atslab_v2ardec_svar ;
ats_ptr_type atslab_v2ardec_dvar ;
ats_ptr_type atslab_v2ardec_pfat ;
ats_ptr_type atslab_v2ardec_type ;
ats_ptr_type atslab_v2ardec_init ;
ats_ptr_type atslab_v2ardec_dvaropt ;
} anairiats_rec_33 ;

typedef
struct {
ats_ptr_type atslab_prv2ardec_loc ;
ats_ptr_type atslab_prv2ardec_dvar ;
ats_ptr_type atslab_prv2ardec_type ;
ats_ptr_type atslab_prv2ardec_init ;
} anairiats_rec_34 ;

typedef
struct {
ats_ptr_type atslab_d2ecl_loc ;
ats_ptr_type atslab_d2ecl_node ;
} anairiats_rec_35 ;

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

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_37 ;

/* external typedefs */
typedef anairiats_rec_14 *d2exp_t ;
typedef anairiats_rec_3 *p2at_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, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__DL0ABELED_0) ;
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__PCKlincon_1) ;
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_dynexp2_2esats__PCKunfold_3) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__LABP2ATnorm_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__LABP2ATomit_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tany_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tvar_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tcon_2) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tint_3) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tintrep_4) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tbool_5) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tchar_6) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tfloat_7) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tstring_8) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Ti0nt_9) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tf0loat_10) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tempty_11) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tlst_12) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Trec_13) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Trefas_14) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Texist_15) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tvbox_16) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tann_17) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tlist_18) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Terrpat_19) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2LABlab_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2LABind_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2EXPARGsta_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2EXPARGdyn_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Ecst_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Evar_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eint_2) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eintrep_3) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Ebool_4) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Echar_5) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Efloat_6) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Estring_7) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Ei0nt_8) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Ec0har_9) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Ef0loat_10) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Es0tring_11) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Etop_12) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Etop2_13) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eempty_14) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Ecstsp_15) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eliteral_16) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eextval_17) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eextfcall_18) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eextmcall_19) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Econ_20) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Esym_21) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Efoldat_22) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Efreeat_23) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Etmpid_24) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Elet_25) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Ewhere_26) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eapplst_27) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eifhead_28) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Esifhead_29) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eifcasehd_30) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Ecasehead_31) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Escasehead_32) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Esing_33) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Elist_34) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Elst_35) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Etup_36) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Erec_37) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eseq_38) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eselab_39) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eptrof_40) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eviewat_41) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Ederef_42) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eassgn_43) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Exchng_44) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Earrsub_45) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Earrpsz_46) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Earrinit_47) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eraise_48) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eeffmask_49) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eshowtype_50) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Evcopyenv_51) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Etempenver_52) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eexist_53) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Elam_dyn_54) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Elaminit_dyn_55) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Elam_sta_56) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Elam_met_57) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Efix_58) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Edelay_59) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eldelay_60) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Efor_61) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Ewhile_62) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eloopexn_63) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Etrywith_64) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eann_type_65) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eann_seff_66) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eann_funclo_67) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Emac_68) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Emacsyn_69) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Emacfun_70) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Esolassert_71) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Esolverify_72) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eerrexp_73) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cnone_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Clist_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Csymintr_2) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Csymelim_3) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Coverload_4) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cpragma_5) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Ccodegen_6) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cstacsts_7) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cstacons_8) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Csaspdec_9) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cextype_10) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cextvar_11) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cextcode_12) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cdatdecs_13) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cexndecs_14) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cdcstdecs_15) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cimpdec_16) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cfundecs_17) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cvaldecs_18) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cvaldecs_rec_19) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cvardecs_20) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cprvardecs_21) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cinclude_22) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cstaload_23) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cstaloadloc_24) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cdynload_25) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Clocal_26) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cerrdec_27) ;

/* 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_gte_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_utils_2esats__lstord_nil) () ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_utils_2esats__lstord_sing) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_utils_2esats__lstord_insert) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_utils_2esats__lstord_union) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__compare_s2vsym_s2vsym) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_at) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_addr) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_view) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_is_mutabl) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__compare_d2vsym_d2vsym) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_svs_union) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_dvs_union) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_empty) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_app_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_app_dyn) (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_dynexp2_2esats__d2exp_tup) (ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_seq) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_deref) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_selab) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lam_met) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ldelay) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvresstate_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node) (ats_ptr_type, 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 */
ATSglobal(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvresstate_nil) ;

/* internal function declarations */
static
ats_ptr_type p2at_svs_add_svar_1 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_ptr_type list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_ptr_type list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_ptr_type p2at_svs_add_svarlst_2 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type __ats_fun_7 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type __ats_fun_9 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type f_24 (ats_ptr_type arg0, anairiats_rec_8 arg1) ;
static
ats_ptr_type loop_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_ptr_type list_fold_left_funenv_01350_ats_ptr_type_anairiats_rec_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_ptr_type list_fold_left_fun_01351_ats_ptr_type_anairiats_rec_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_ptr_type aux_30 (ats_ptr_type arg0) ;
static
ats_void_type loop_32 (ats_ptr_type arg0) ;
static
ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ;
static
ats_void_type loop_70 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_bool_type i2fcl_is_else_75 (ats_ptr_type arg0) ;
static
ats_bool_type aux_77 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_bool_type i2fclist_is_else_76 (ats_ptr_type arg0) ;
static
ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ;

/* partial value template declarations */
/* static temporary variable declarations */
ATSstatic (ats_ptr_type, statmp1) ;
ATSstatic (ats_ptr_type, statmp2) ;
ATSstatic (ats_ptr_type, statmp325) ;
ATSstatic (ats_ptr_type, statmp326) ;
ATSstatic (ats_ptr_type, statmp327) ;
ATSstatic (ats_ptr_type, statmp328) ;

/* external value variable declarations */

/* function implementations */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 1988(line=74, offs=12) -- 2088(line=80, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2sym_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp0) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2sym_make:
tmp0 = ATS_MALLOC(sizeof(anairiats_rec_1)) ;
ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_d2sym_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_d2sym_qua, arg1) ;
ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_d2sym_sym, arg2) ;
ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_d2sym_pitmlst, arg3) ;

return (tmp0) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2sym_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 2357(line=95, offs=5) -- 2484(line=101, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p2at_svs_add_svar_1 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp3) ;

__ats_lab_p2at_svs_add_svar_1:
tmp3 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_utils_2esats__lstord_insert (arg0, arg1, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__compare_s2vsym_s2vsym) ;
return (tmp3) ;
} /* end of [p2at_svs_add_svar_1] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 25316(line=913, offs=7) -- 25599(line=923, offs=20)
*/
ATSstaticdec()
ats_ptr_type
loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp7) ;
ATSlocal (ats_ptr_type, tmp8) ;
ATSlocal (ats_ptr_type, tmp9) ;
ATSlocal (ats_ptr_type, tmp10) ;

__ats_lab_loop_5:
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
tmp8 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_0) ;
tmp9 = ats_caselptrlab_mac(anairiats_sum_2, arg2, atslab_1) ;
tmp10 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type, ats_ptr_type))arg0) (arg1, tmp8, arg3) ;
arg0 = arg0 ;
arg1 = tmp10 ;
arg2 = tmp9 ;
arg3 = arg3 ;
goto __ats_lab_loop_5 ; // tail call
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
// if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_1_1:
tmp7 = arg1 ;
break ;
} while (0) ;
return (tmp7) ;
} /* end of [loop_5] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 25281(line=912, offs=20) -- 25655(line=927, offs=4)
*/
ATSstaticdec()
ats_ptr_type
list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp6) ;

__ats_lab_list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type:
tmp6 = loop_5 (arg0, arg1, arg2, arg3) ;
return (tmp6) ;
} /* end of [list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 25737(line=930, offs=28) -- 26032(line=939, offs=4)
*/
ATSstaticdec()
ats_ptr_type
list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp5) ;

__ats_lab_list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type:
tmp5 = list_fold_left_funenv_01350_ats_ptr_type_ats_ptr_type (ats_castfn_mac(ats_ptr_type, arg0), arg1, arg2, atspre_null_ptr) ;
return (tmp5) ;
} /* end of [list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 2520(line=103, offs=5) -- 2695(line=110, offs=4)
*/
ATSstaticdec()
ats_ptr_type
p2at_svs_add_svarlst_2 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp4) ;

__ats_lab_p2at_svs_add_svarlst_2:
tmp4 = list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (&p2at_svs_add_svar_1, arg0, arg1) ;
return (tmp4) ;
} /* end of [p2at_svs_add_svarlst_2] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 2877(line=118, offs=5) -- 2938(line=118, offs=66)
*/
ATSstaticdec()
ats_ptr_type
__ats_fun_7 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp12) ;
ATSlocal (ats_ptr_type, tmp13) ;

__ats_lab___ats_fun_7:
tmp13 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p2at_svs) ;
tmp12 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_utils_2esats__lstord_union (arg0, tmp13, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__compare_s2vsym_s2vsym) ;
return (tmp12) ;
} /* end of [__ats_fun_7] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 2758(line=113, offs=19) -- 2993(line=120, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_svs_union (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp11) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_svs_union:
tmp11 = list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (&__ats_fun_7, statmp1, arg0) ;
return (tmp11) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_svs_union] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 3172(line=128, offs=5) -- 3233(line=128, offs=66)
*/
ATSstaticdec()
ats_ptr_type
__ats_fun_9 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp15) ;
ATSlocal (ats_ptr_type, tmp16) ;

__ats_lab___ats_fun_9:
tmp16 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p2at_dvs) ;
tmp15 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_utils_2esats__lstord_union (arg0, tmp16, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__compare_d2vsym_d2vsym) ;
return (tmp15) ;
} /* end of [__ats_fun_9] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 3053(line=123, offs=19) -- 3288(line=130, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_dvs_union (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp14) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_dvs_union:
tmp14 = list_fold_left_fun_01351_ats_ptr_type_ats_ptr_type (&__ats_fun_9, statmp2, arg0) ;
return (tmp14) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_dvs_union] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 3370(line=136, offs=3) -- 3576(line=142, offs=20)
*/
ATSglobaldec()
ats_bool_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__eq_pckind_pckind (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp17) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__eq_pckind_pckind:
do {
/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_6_1 ; }
__ats_lab_2_2:
tmp17 = ats_true_bool ;
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_4_0 ; }
__ats_lab_3_1:
if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_6_1 ; }
__ats_lab_3_2:
tmp17 = ats_true_bool ;
break ;

/* branch: __ats_lab_4 */
__ats_lab_4_0:
if (((ats_sum_ptr_type)arg0)->tag != 2) { goto __ats_lab_5_0 ; }
__ats_lab_4_1:
if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_6_1 ; }
__ats_lab_4_2:
tmp17 = ats_true_bool ;
break ;

/* branch: __ats_lab_5 */
__ats_lab_5_0:
if (((ats_sum_ptr_type)arg0)->tag != 3) { goto __ats_lab_6_0 ; }
__ats_lab_5_1:
if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_6_1 ; }
__ats_lab_5_2:
tmp17 = ats_true_bool ;
break ;

/* branch: __ats_lab_6 */
__ats_lab_6_0:
__ats_lab_6_1:
__ats_lab_6_2:
tmp17 = ats_false_bool ;
break ;
} while (0) ;
return (tmp17) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__eq_pckind_pckind] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 3655(line=149, offs=1) -- 3785(line=156, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp18) ;
ATSlocal (ats_ptr_type, tmp19) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node:
tmp19 = (ats_sum_ptr_type)0 ;
tmp18 = ATS_MALLOC(sizeof(anairiats_rec_3)) ;
ats_selptrset_mac(anairiats_rec_3, tmp18, atslab_p2at_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_3, tmp18, atslab_p2at_svs, arg1) ;
ats_selptrset_mac(anairiats_rec_3, tmp18, atslab_p2at_dvs, arg2) ;
ats_selptrset_mac(anairiats_rec_3, tmp18, atslab_p2at_type, tmp19) ;
ats_selptrset_mac(anairiats_rec_3, tmp18, atslab_p2at_node, arg3) ;

return (tmp18) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 3833(line=159, offs=10) -- 3902(line=160, offs=62)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_any (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp20) ;
ATSlocal (ats_ptr_type, tmp21) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_any:
tmp21 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tany_0) ;
tmp20 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp21) ;
return (tmp20) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_any] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 3946(line=165, offs=3) -- 4059(line=168, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_var (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp22) ;
ATSlocal (ats_ptr_type, tmp23) ;
ATSlocal (ats_ptr_type, tmp24) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_var:
tmp23 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_utils_2esats__lstord_sing (arg1) ;
tmp24 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp24)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_4, tmp24, atslab_0, arg1) ;
tmp22 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, tmp23, tmp24) ;
return (tmp22) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_var] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 4122(line=173, offs=10) -- 4195(line=174, offs=63)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_int (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp25) ;
ATSlocal (ats_ptr_type, tmp26) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_int:
tmp26 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp26)->tag = 3 ;
ats_selptrset_mac(anairiats_sum_5, tmp26, atslab_0, arg1) ;
tmp25 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp26) ;
return (tmp25) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_int] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 4240(line=178, offs=13) -- 4320(line=179, offs=68)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_intrep (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp27) ;
ATSlocal (ats_ptr_type, tmp28) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_intrep:
tmp28 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp28)->tag = 4 ;
ats_selptrset_mac(anairiats_sum_4, tmp28, atslab_0, arg1) ;
tmp27 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp28) ;
return (tmp27) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_intrep] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 4363(line=183, offs=11) -- 4437(line=184, offs=64)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_bool (ats_ptr_type arg0, ats_bool_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp29) ;
ATSlocal (ats_ptr_type, tmp30) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_bool:
tmp30 = ATS_MALLOC(sizeof(anairiats_sum_6)) ;
((ats_sum_ptr_type)tmp30)->tag = 5 ;
ats_selptrset_mac(anairiats_sum_6, tmp30, atslab_0, arg1) ;
tmp29 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp30) ;
return (tmp29) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_bool] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 4481(line=188, offs=11) -- 4555(line=189, offs=64)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_char (ats_ptr_type arg0, ats_char_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp31) ;
ATSlocal (ats_ptr_type, tmp32) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_char:
tmp32 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp32)->tag = 6 ;
ats_selptrset_mac(anairiats_sum_7, tmp32, atslab_0, arg1) ;
tmp31 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp32) ;
return (tmp31) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_char] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 4600(line=193, offs=12) -- 4679(line=194, offs=67)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_float (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp33) ;
ATSlocal (ats_ptr_type, tmp34) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_float:
tmp34 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp34)->tag = 7 ;
ats_selptrset_mac(anairiats_sum_4, tmp34, atslab_0, arg1) ;
tmp33 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp34) ;
return (tmp33) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_float] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 4726(line=198, offs=13) -- 4806(line=199, offs=68)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_string (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp35) ;
ATSlocal (ats_ptr_type, tmp36) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_string:
tmp36 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp36)->tag = 8 ;
ats_selptrset_mac(anairiats_sum_4, tmp36, atslab_0, arg1) ;
tmp35 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp36) ;
return (tmp35) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_string] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 4873(line=205, offs=11) -- 4947(line=206, offs=64)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_i0nt (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_dynexp2_2esats__p2at_i0nt:
tmp38 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp38)->tag = 9 ;
ats_selptrset_mac(anairiats_sum_4, tmp38, atslab_0, arg1) ;
tmp37 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp38) ;
return (tmp37) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_i0nt] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 4993(line=210, offs=13) -- 5069(line=211, offs=66)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_f0loat (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp39) ;
ATSlocal (ats_ptr_type, tmp40) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_f0loat:
tmp40 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp40)->tag = 10 ;
ats_selptrset_mac(anairiats_sum_4, tmp40, atslab_0, arg1) ;
tmp39 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp40) ;
return (tmp39) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_f0loat] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 5137(line=217, offs=12) -- 5208(line=218, offs=64)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_empty (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp41) ;
ATSlocal (ats_ptr_type, tmp42) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_empty:
tmp42 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Tempty_11) ;
tmp41 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp42) ;
return (tmp41) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_empty] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 5397(line=230, offs=8) -- 5495(line=233, offs=46)
*/
ATSstaticdec()
ats_ptr_type
f_24 (ats_ptr_type arg0, anairiats_rec_8 arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp45) ;
ATSlocal (ats_ptr_type, tmp46) ;

__ats_lab_f_24:
tmp46 = ats_select_mac(arg1, atslab_s2qua_svs) ;
tmp45 = p2at_svs_add_svarlst_2 (arg0, tmp46) ;
return (tmp45) ;
} /* end of [f_24] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 25316(line=913, offs=7) -- 25599(line=923, offs=20)
*/
ATSstaticdec()
ats_ptr_type
loop_27 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp50) ;
ATSlocal (anairiats_rec_8, tmp51) ;
ATSlocal (ats_ptr_type, tmp52) ;
ATSlocal (ats_ptr_type, tmp53) ;

__ats_lab_loop_27:
do {
/* branch: __ats_lab_7 */
__ats_lab_7_0:
if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_8_0 ; }
__ats_lab_7_1:
tmp51 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_0) ;
tmp52 = ats_caselptrlab_mac(anairiats_sum_9, arg2, atslab_1) ;
tmp53 = ((ats_ptr_type(*)(ats_ptr_type, anairiats_rec_8, ats_ptr_type))arg0) (arg1, tmp51, arg3) ;
arg0 = arg0 ;
arg1 = tmp53 ;
arg2 = tmp52 ;
arg3 = arg3 ;
goto __ats_lab_loop_27 ; // tail call
break ;

/* branch: __ats_lab_8 */
__ats_lab_8_0:
// if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_8_1:
tmp50 = arg1 ;
break ;
} while (0) ;
return (tmp50) ;
} /* end of [loop_27] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 25281(line=912, offs=20) -- 25655(line=927, offs=4)
*/
ATSstaticdec()
ats_ptr_type
list_fold_left_funenv_01350_ats_ptr_type_anairiats_rec_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp49) ;

__ats_lab_list_fold_left_funenv_01350_ats_ptr_type_anairiats_rec_8:
tmp49 = loop_27 (arg0, arg1, arg2, arg3) ;
return (tmp49) ;
} /* end of [list_fold_left_funenv_01350_ats_ptr_type_anairiats_rec_8] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 25737(line=930, offs=28) -- 26032(line=939, offs=4)
*/
ATSstaticdec()
ats_ptr_type
list_fold_left_fun_01351_ats_ptr_type_anairiats_rec_8 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp48) ;

__ats_lab_list_fold_left_fun_01351_ats_ptr_type_anairiats_rec_8:
tmp48 = list_fold_left_funenv_01350_ats_ptr_type_anairiats_rec_8 (ats_castfn_mac(ats_ptr_type, arg0), arg1, arg2, atspre_null_ptr) ;
return (tmp48) ;
} /* end of [list_fold_left_fun_01351_ats_ptr_type_anairiats_rec_8] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 5273(line=224, offs=10) -- 5731(line=242, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5, ats_ptr_type arg6) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp43) ;
ATSlocal (ats_ptr_type, tmp44) ;
ATSlocal (ats_ptr_type, tmp47) ;
ATSlocal (ats_ptr_type, tmp54) ;
ATSlocal (ats_ptr_type, tmp55) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_con:
tmp44 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_svs_union (arg6) ;
tmp47 = list_fold_left_fun_01351_ats_ptr_type_anairiats_rec_8 (&f_24, tmp44, arg3) ;
tmp54 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_dvs_union (arg6) ;
tmp55 = ATS_MALLOC(sizeof(anairiats_sum_10)) ;
((ats_sum_ptr_type)tmp55)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_10, tmp55, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_10, tmp55, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_10, tmp55, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_10, tmp55, atslab_3, arg4) ;
ats_selptrset_mac(anairiats_sum_10, tmp55, atslab_4, arg5) ;
ats_selptrset_mac(anairiats_sum_10, tmp55, atslab_5, arg6) ;
tmp43 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, tmp47, tmp54, tmp55) ;
return (tmp43) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_con] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 5797(line=248, offs=3) -- 5954(line=253, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_list (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp56) ;
ATSlocal (ats_ptr_type, tmp57) ;
ATSlocal (ats_ptr_type, tmp58) ;
ATSlocal (ats_ptr_type, tmp59) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_list:
tmp57 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_svs_union (arg2) ;
tmp58 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_dvs_union (arg2) ;
tmp59 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
((ats_sum_ptr_type)tmp59)->tag = 18 ;
ats_selptrset_mac(anairiats_sum_11, tmp59, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_11, tmp59, atslab_1, arg2) ;
tmp56 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, tmp57, tmp58, tmp59) ;
return (tmp56) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_list] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 6090(line=261, offs=9) -- 6367(line=268, offs=38)
*/
ATSstaticdec()
ats_ptr_type
aux_30 (ats_ptr_type arg0) {
/* local vardec */
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) ;

__ats_lab_aux_30:
do {
/* branch: __ats_lab_9 */
__ats_lab_9_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; }
__ats_lab_9_1:
tmp62 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ;
tmp63 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ;
do {
/* branch: __ats_lab_10 */
__ats_lab_10_0:
if (((ats_sum_ptr_type)tmp62)->tag != 0) { goto __ats_lab_11_0 ; }
__ats_lab_10_1:
tmp64 = ats_caselptrlab_mac(anairiats_sum_12, tmp62, atslab_1) ;
tmp65 = aux_30 (tmp63) ;
tmp61 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp61, atslab_0, tmp64) ;
ats_selptrset_mac(anairiats_sum_2, tmp61, atslab_1, tmp65) ;
break ;

/* branch: __ats_lab_11 */
__ats_lab_11_0:
// if (((ats_sum_ptr_type)tmp62)->tag != 1) { ats_deadcode_failure_handle () ; }
__ats_lab_11_1:
arg0 = tmp63 ;
goto __ats_lab_aux_30 ; // tail call
break ;
} while (0) ;
break ;

/* branch: __ats_lab_12 */
__ats_lab_12_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_12_1:
tmp61 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp61) ;
} /* end of [aux_30] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73)
*/
ATSstaticdec()
ats_void_type
loop_32 (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp71) ;
ATSlocal (ats_ptr_type, tmp72) ;

__ats_lab_loop_32:
do {
/* branch: __ats_lab_13 */
__ats_lab_13_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_14_0 ; }
__ats_lab_13_1:
tmp72 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ;
ATS_FREE(arg0) ;
arg0 = tmp72 ;
goto __ats_lab_loop_32 ; // tail call
break ;

/* branch: __ats_lab_14 */
__ats_lab_14_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_14_1:
break ;
} while (0) ;
return /* (tmp71) */ ;
} /* end of [loop_32] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4)
*/
ATSstaticdec()
ats_void_type
list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp70) ;

__ats_lab_list_vt_free_01499_ats_ptr_type:
/* tmp70 = */ loop_32 (arg0) ;
return /* (tmp70) */ ;
} /* end of [list_vt_free_01499_ats_ptr_type] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 6020(line=259, offs=3) -- 6608(line=276, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_rec (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp60) ;
ATSlocal (ats_ptr_type, tmp66) ;
ATSlocal (ats_ptr_type, tmp67) ;
ATSlocal (ats_ptr_type, tmp68) ;
// ATSlocal_void (tmp69) ;
ATSlocal (ats_ptr_type, tmp73) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_rec:
tmp66 = aux_30 (arg3) ;
tmp67 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_svs_union (ats_castfn_mac(ats_ptr_type, tmp66)) ;
tmp68 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_dvs_union (ats_castfn_mac(ats_ptr_type, tmp66)) ;
/* tmp69 = */ list_vt_free_01499_ats_ptr_type (tmp66) ;
tmp73 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp73)->tag = 13 ;
ats_selptrset_mac(anairiats_sum_13, tmp73, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_13, tmp73, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp73, atslab_2, arg3) ;
tmp60 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, tmp67, tmp68, tmp73) ;
return (tmp60) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_rec] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 6673(line=281, offs=10) -- 6829(line=286, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_lst (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp74) ;
ATSlocal (ats_ptr_type, tmp75) ;
ATSlocal (ats_ptr_type, tmp76) ;
ATSlocal (ats_ptr_type, tmp77) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_lst:
tmp75 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_svs_union (arg2) ;
tmp76 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2atlst_dvs_union (arg2) ;
tmp77 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
((ats_sum_ptr_type)tmp77)->tag = 12 ;
ats_selptrset_mac(anairiats_sum_11, tmp77, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_11, tmp77, atslab_1, arg2) ;
tmp74 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, tmp75, tmp76, tmp77) ;
return (tmp74) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_lst] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 6894(line=291, offs=12) -- 7096(line=298, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_refas (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp78) ;
ATSlocal (ats_ptr_type, tmp79) ;
ATSlocal (ats_ptr_type, tmp80) ;
ATSlocal (ats_ptr_type, tmp81) ;
ATSlocal (ats_ptr_type, tmp82) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_refas:
tmp79 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p2at_svs) ;
tmp81 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p2at_dvs) ;
tmp80 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_utils_2esats__lstord_insert (tmp81, arg1, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__compare_d2vsym_d2vsym) ;
tmp82 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp82)->tag = 14 ;
ats_selptrset_mac(anairiats_sum_12, tmp82, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp82, atslab_1, arg2) ;
tmp78 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, tmp79, tmp80, tmp82) ;
return (tmp78) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_refas] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 7165(line=304, offs=3) -- 7350(line=311, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_exist (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp83) ;
ATSlocal (ats_ptr_type, tmp84) ;
ATSlocal (ats_ptr_type, tmp85) ;
ATSlocal (ats_ptr_type, tmp86) ;
ATSlocal (ats_ptr_type, tmp87) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_exist:
tmp85 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p2at_svs) ;
tmp84 = p2at_svs_add_svarlst_2 (tmp85, arg1) ;
tmp86 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg2), atslab_p2at_dvs) ;
tmp87 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp87)->tag = 15 ;
ats_selptrset_mac(anairiats_sum_12, tmp87, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp87, atslab_1, arg2) ;
tmp83 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, tmp84, tmp86, tmp87) ;
return (tmp83) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_exist] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 7415(line=317, offs=1) -- 7508(line=321, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_ann (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp88) ;
ATSlocal (ats_ptr_type, tmp89) ;
ATSlocal (ats_ptr_type, tmp90) ;
ATSlocal (ats_ptr_type, tmp91) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_ann:
tmp89 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p2at_svs) ;
tmp90 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, arg1), atslab_p2at_dvs) ;
tmp91 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp91)->tag = 17 ;
ats_selptrset_mac(anairiats_sum_12, tmp91, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp91, atslab_1, arg2) ;
tmp88 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, tmp89, tmp90, tmp91) ;
return (tmp88) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_ann] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 7572(line=326, offs=11) -- 7686(line=329, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_vbox (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp92) ;
ATSlocal (ats_ptr_type, tmp93) ;
ATSlocal (ats_ptr_type, tmp94) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_vbox:
tmp93 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_utils_2esats__lstord_sing (arg1) ;
tmp94 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp94)->tag = 16 ;
ats_selptrset_mac(anairiats_sum_4, tmp94, atslab_0, arg1) ;
tmp92 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, tmp93, tmp94) ;
return (tmp92) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_vbox] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 7753(line=334, offs=13) -- 7825(line=335, offs=65)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_errpat (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp95) ;
ATSlocal (ats_ptr_type, tmp96) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_errpat:
tmp96 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__P2Terrpat_19) ;
tmp95 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_make_node (arg0, statmp1, statmp2, tmp96) ;
return (tmp95) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__p2at_errpat] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 7951(line=345, offs=17) -- 8024(line=347, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp97) ;
ATSlocal (ats_ptr_type, tmp98) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node:
tmp98 = (ats_sum_ptr_type)0 ;
tmp97 = ATS_MALLOC(sizeof(anairiats_rec_14)) ;
ats_selptrset_mac(anairiats_rec_14, tmp97, atslab_d2exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_14, tmp97, atslab_d2exp_node, arg1) ;
ats_selptrset_mac(anairiats_rec_14, tmp97, atslab_d2exp_type, tmp98) ;

return (tmp97) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 8095(line=352, offs=11) -- 8143(line=352, offs=59)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_cst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp99) ;
ATSlocal (ats_ptr_type, tmp100) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_cst:
tmp100 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp100)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_4, tmp100, atslab_0, arg1) ;
tmp99 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp100) ;
return (tmp99) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_cst] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 8165(line=355, offs=11) -- 8213(line=355, offs=59)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_var (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp101) ;
ATSlocal (ats_ptr_type, tmp102) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_var:
tmp102 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp102)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_4, tmp102, atslab_0, arg1) ;
tmp101 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp102) ;
return (tmp101) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_var] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 8256(line=360, offs=11) -- 8300(line=360, offs=55)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_int (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp103) ;
ATSlocal (ats_ptr_type, tmp104) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_int:
tmp104 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp104)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_5, tmp104, atslab_0, arg1) ;
tmp103 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp104) ;
return (tmp103) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_int] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 8324(line=362, offs=14) -- 8375(line=362, offs=65)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_intrep (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp105) ;
ATSlocal (ats_ptr_type, tmp106) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_intrep:
tmp106 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp106)->tag = 3 ;
ats_selptrset_mac(anairiats_sum_4, tmp106, atslab_0, arg1) ;
tmp105 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp106) ;
return (tmp105) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_intrep] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 8397(line=364, offs=12) -- 8442(line=364, offs=57)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_bool (ats_ptr_type arg0, ats_bool_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp107) ;
ATSlocal (ats_ptr_type, tmp108) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_bool:
tmp108 = ATS_MALLOC(sizeof(anairiats_sum_6)) ;
((ats_sum_ptr_type)tmp108)->tag = 4 ;
ats_selptrset_mac(anairiats_sum_6, tmp108, atslab_0, arg1) ;
tmp107 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp108) ;
return (tmp107) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_bool] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 8464(line=366, offs=12) -- 8509(line=366, offs=57)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_char (ats_ptr_type arg0, ats_char_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp109) ;
ATSlocal (ats_ptr_type, tmp110) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_char:
tmp110 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp110)->tag = 5 ;
ats_selptrset_mac(anairiats_sum_7, tmp110, atslab_0, arg1) ;
tmp109 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp110) ;
return (tmp109) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_char] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 8532(line=368, offs=13) -- 8582(line=368, offs=63)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_float (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp111) ;
ATSlocal (ats_ptr_type, tmp112) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_float:
tmp112 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp112)->tag = 6 ;
ats_selptrset_mac(anairiats_sum_4, tmp112, atslab_0, arg1) ;
tmp111 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp112) ;
return (tmp111) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_float] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 8606(line=370, offs=14) -- 8653(line=370, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_string (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp113) ;
ATSlocal (ats_ptr_type, tmp114) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_string:
tmp114 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp114)->tag = 7 ;
ats_selptrset_mac(anairiats_sum_4, tmp114, atslab_0, arg1) ;
tmp113 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp114) ;
return (tmp113) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_string] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 8676(line=373, offs=12) -- 8721(line=373, offs=57)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_i0nt (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp115) ;
ATSlocal (ats_ptr_type, tmp116) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_i0nt:
tmp116 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp116)->tag = 8 ;
ats_selptrset_mac(anairiats_sum_4, tmp116, atslab_0, arg1) ;
tmp115 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp116) ;
return (tmp115) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_i0nt] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 8744(line=375, offs=13) -- 8790(line=375, offs=59)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_c0har (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp117) ;
ATSlocal (ats_ptr_type, tmp118) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_c0har:
tmp118 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp118)->tag = 9 ;
ats_selptrset_mac(anairiats_sum_4, tmp118, atslab_0, arg1) ;
tmp117 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp118) ;
return (tmp117) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_c0har] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 8814(line=377, offs=14) -- 8861(line=377, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_f0loat (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp119) ;
ATSlocal (ats_ptr_type, tmp120) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_f0loat:
tmp120 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp120)->tag = 10 ;
ats_selptrset_mac(anairiats_sum_4, tmp120, atslab_0, arg1) ;
tmp119 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp120) ;
return (tmp119) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_f0loat] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 8886(line=379, offs=15) -- 8934(line=379, offs=63)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_s0tring (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp121) ;
ATSlocal (ats_ptr_type, tmp122) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_s0tring:
tmp122 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp122)->tag = 11 ;
ats_selptrset_mac(anairiats_sum_4, tmp122, atslab_0, arg1) ;
tmp121 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp122) ;
return (tmp121) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_s0tring] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 8977(line=384, offs=11) -- 9017(line=384, offs=51)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_top (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp123) ;
ATSlocal (ats_ptr_type, tmp124) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_top:
tmp124 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Etop_12) ;
tmp123 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp124) ;
return (tmp123) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_top] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 9039(line=386, offs=12) -- 9088(line=386, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_top2 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp125) ;
ATSlocal (ats_ptr_type, tmp126) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_top2:
tmp126 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp126)->tag = 13 ;
ats_selptrset_mac(anairiats_sum_4, tmp126, atslab_0, arg1) ;
tmp125 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp126) ;
return (tmp125) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_top2] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 9111(line=388, offs=13) -- 9153(line=388, offs=55)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_empty (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp127) ;
ATSlocal (ats_ptr_type, tmp128) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_empty:
tmp128 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eempty_14) ;
tmp127 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp128) ;
return (tmp127) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_empty] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 9200(line=394, offs=3) -- 9250(line=394, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_cstsp (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp129) ;
ATSlocal (ats_ptr_type, tmp130) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_cstsp:
tmp130 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp130)->tag = 15 ;
ats_selptrset_mac(anairiats_sum_4, tmp130, atslab_0, arg1) ;
tmp129 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp130) ;
return (tmp129) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_cstsp] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 9323(line=401, offs=3) -- 9375(line=401, offs=55)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_literal (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp131) ;
ATSlocal (ats_ptr_type, tmp132) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_literal:
tmp132 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp132)->tag = 16 ;
ats_selptrset_mac(anairiats_sum_4, tmp132, atslab_0, arg1) ;
tmp131 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp132) ;
return (tmp131) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_literal] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 9449(line=408, offs=3) -- 9514(line=409, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_extval (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp133) ;
ATSlocal (ats_ptr_type, tmp134) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_extval:
tmp134 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp134)->tag = 17 ;
ats_selptrset_mac(anairiats_sum_12, tmp134, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp134, atslab_1, arg2) ;
tmp133 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp134) ;
return (tmp133) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_extval] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 9568(line=414, offs=3) -- 9647(line=415, offs=55)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_extfcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp135) ;
ATSlocal (ats_ptr_type, tmp136) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_extfcall:
tmp136 = ATS_MALLOC(sizeof(anairiats_sum_15)) ;
((ats_sum_ptr_type)tmp136)->tag = 18 ;
ats_selptrset_mac(anairiats_sum_15, tmp136, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_15, tmp136, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_15, tmp136, atslab_2, arg3) ;
tmp135 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp136) ;
return (tmp135) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_extfcall] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 9703(line=420, offs=3) -- 9794(line=421, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_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, tmp137) ;
ATSlocal (ats_ptr_type, tmp138) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_extmcall:
tmp138 = ATS_MALLOC(sizeof(anairiats_sum_16)) ;
((ats_sum_ptr_type)tmp138)->tag = 19 ;
ats_selptrset_mac(anairiats_sum_16, tmp138, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_16, tmp138, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_16, tmp138, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_16, tmp138, atslab_3, arg4) ;
tmp137 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp138) ;
return (tmp137) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_extmcall] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 9866(line=428, offs=3) -- 9982(line=429, offs=71)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp139) ;
ATSlocal (ats_ptr_type, tmp140) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_con:
tmp140 = ATS_MALLOC(sizeof(anairiats_sum_17)) ;
((ats_sum_ptr_type)tmp140)->tag = 20 ;
ats_selptrset_mac(anairiats_sum_17, tmp140, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_17, tmp140, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_17, tmp140, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_17, tmp140, atslab_3, arg4) ;
ats_selptrset_mac(anairiats_sum_17, tmp140, atslab_4, arg5) ;
ats_selptrset_mac(anairiats_sum_17, tmp140, atslab_5, arg6) ;
tmp139 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp140) ;
return (tmp139) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_con] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 10026(line=433, offs=11) -- 10074(line=433, offs=59)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sym (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp141) ;
ATSlocal (ats_ptr_type, tmp142) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sym:
tmp142 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp142)->tag = 21 ;
ats_selptrset_mac(anairiats_sum_4, tmp142, atslab_0, arg1) ;
tmp141 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp142) ;
return (tmp141) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sym] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 10122(line=439, offs=3) -- 10185(line=439, offs=66)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_foldat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp143) ;
ATSlocal (ats_ptr_type, tmp144) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_foldat:
tmp144 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp144)->tag = 22 ;
ats_selptrset_mac(anairiats_sum_12, tmp144, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp144, atslab_1, arg2) ;
tmp143 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp144) ;
return (tmp143) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_foldat] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 10236(line=443, offs=3) -- 10299(line=443, offs=66)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_freeat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp145) ;
ATSlocal (ats_ptr_type, tmp146) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_freeat:
tmp146 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp146)->tag = 23 ;
ats_selptrset_mac(anairiats_sum_12, tmp146, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp146, atslab_1, arg2) ;
tmp145 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp146) ;
return (tmp145) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_freeat] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 10369(line=449, offs=13) -- 10441(line=450, offs=50)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_tmpid (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp147) ;
ATSlocal (ats_ptr_type, tmp148) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_tmpid:
tmp148 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp148)->tag = 24 ;
ats_selptrset_mac(anairiats_sum_12, tmp148, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp148, atslab_1, arg2) ;
tmp147 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp148) ;
return (tmp147) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_tmpid] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 10508(line=456, offs=11) -- 10572(line=457, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_let (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp149) ;
ATSlocal (ats_ptr_type, tmp150) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_let:
tmp150 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp150)->tag = 25 ;
ats_selptrset_mac(anairiats_sum_12, tmp150, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp150, atslab_1, arg2) ;
tmp149 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp150) ;
return (tmp149) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_let] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 10618(line=461, offs=13) -- 10684(line=462, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_where (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp151) ;
ATSlocal (ats_ptr_type, tmp152) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_where:
tmp152 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp152)->tag = 26 ;
ats_selptrset_mac(anairiats_sum_12, tmp152, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp152, atslab_1, arg2) ;
tmp151 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp152) ;
return (tmp151) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_where] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 10754(line=468, offs=14) -- 10837(line=470, offs=57)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_applst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp153) ;
ATSlocal (ats_ptr_type, tmp154) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_applst:
tmp154 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp154)->tag = 27 ;
ats_selptrset_mac(anairiats_sum_12, tmp154, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp154, atslab_1, arg2) ;
tmp153 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp154) ;
return (tmp153) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_applst] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 19194(line=690, offs=7) -- 19604(line=704, offs=6)
*/
ATSstaticdec()
ats_void_type
loop_70 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) {
/* local vardec */
// ATSlocal_void (tmp164) ;
ATSlocal (ats_ptr_type, tmp165) ;
ATSlocal (ats_ptr_type, tmp166) ;
ATSlocal (ats_ptr_type, tmp167) ;
ATSlocal (ats_ptr_type, tmp168) ;
ATSlocal (ats_ptr_type, tmp169) ;
ATSlocal (ats_ptr_type, tmp170) ;

__ats_lab_loop_70:
do {
/* branch: __ats_lab_17 */
__ats_lab_17_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; }
__ats_lab_17_1:
tmp165 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ;
tmp166 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ;
tmp167 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp167, atslab_0, tmp165) ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp167 ;
if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 19444(line=699, offs=13) -- 19470(line=699, offs=39)") ; }
tmp168 = &ats_caselptrlab_mac(anairiats_sum_2, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ;
arg0 = tmp166 ;
arg1 = arg1 ;
arg2 = tmp168 ;
goto __ats_lab_loop_70 ; // tail call
break ;

/* branch: __ats_lab_18 */
__ats_lab_18_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_18_1:
tmp170 = (ats_sum_ptr_type)0 ;
tmp169 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp169, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_2, tmp169, atslab_1, tmp170) ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp169 ;
break ;
} while (0) ;
return /* (tmp164) */ ;
} /* end of [loop_70] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 19136(line=688, offs=13) -- 19698(line=708, offs=4)
*/
ATSstaticdec()
ats_ptr_type
list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp162) ;
ATSlocal (ats_ptr_type, tmp163) ;
// ATSlocal_void (tmp171) ;

__ats_lab_list_extend_01337_ats_ptr_type:
/* ats_ptr_type tmp163 ; */
/* tmp171 = */ loop_70 (arg0, arg1, (&tmp163)) ;
tmp162 = tmp163 ;
return (tmp162) ;
} /* end of [list_extend_01337_ats_ptr_type] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 10863(line=473, offs=15) -- 11509(line=502, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_app_sta (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp155) ;
ATSlocal (ats_ptr_type, tmp156) ;
ATSlocal (ats_ptr_type, tmp157) ;
ATSlocal (ats_ptr_type, tmp158) ;
ATSlocal (ats_ptr_type, tmp159) ;
ATSlocal (ats_ptr_type, tmp160) ;
ATSlocal (ats_ptr_type, tmp161) ;
ATSlocal (ats_ptr_type, tmp172) ;
ATSlocal (ats_ptr_type, tmp173) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_app_sta:
do {
/* branch: __ats_lab_15 */
__ats_lab_15_0:
if (arg3 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; }
__ats_lab_15_1:
tmp156 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp156)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_12, tmp156, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_12, tmp156, atslab_1, arg3) ;
tmp158 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_d2exp_node) ;
do {
/* branch: __ats_lab_16 */
__ats_lab_16_0:
if (((ats_sum_ptr_type)tmp158)->tag != 27) { goto __ats_lab_19_0 ; }
__ats_lab_16_1:
tmp159 = ats_caselptrlab_mac(anairiats_sum_12, tmp158, atslab_0) ;
tmp160 = ats_caselptrlab_mac(anairiats_sum_12, tmp158, atslab_1) ;
tmp161 = list_extend_01337_ats_ptr_type (tmp160, tmp156) ;
tmp157 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp157)->tag = 27 ;
ats_selptrset_mac(anairiats_sum_12, tmp157, atslab_0, tmp159) ;
ats_selptrset_mac(anairiats_sum_12, tmp157, atslab_1, ats_castfn_mac(ats_ptr_type, tmp161)) ;
break ;

/* branch: __ats_lab_19 */
__ats_lab_19_0:
__ats_lab_19_1:
tmp173 = (ats_sum_ptr_type)0 ;
tmp172 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp172, atslab_0, tmp156) ;
ats_selptrset_mac(anairiats_sum_2, tmp172, atslab_1, tmp173) ;
tmp157 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp157)->tag = 27 ;
ats_selptrset_mac(anairiats_sum_12, tmp157, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp157, atslab_1, tmp172) ;
break ;
} while (0) ;
tmp155 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp157) ;
break ;

/* branch: __ats_lab_20 */
__ats_lab_20_0:
// if (arg3 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_20_1:
tmp155 = arg1 ;
break ;
} while (0) ;
return (tmp155) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_app_sta] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 11564(line=505, offs=15) -- 12098(line=527, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_app_dyn (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, tmp174) ;
ATSlocal (ats_ptr_type, tmp175) ;
ATSlocal (ats_ptr_type, tmp176) ;
ATSlocal (ats_ptr_type, tmp177) ;
ATSlocal (ats_ptr_type, tmp178) ;
ATSlocal (ats_ptr_type, tmp179) ;
ATSlocal (ats_ptr_type, tmp180) ;
ATSlocal (ats_ptr_type, tmp181) ;
ATSlocal (ats_ptr_type, tmp182) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_app_dyn:
tmp175 = ATS_MALLOC(sizeof(anairiats_sum_18)) ;
((ats_sum_ptr_type)tmp175)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_18, tmp175, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_18, tmp175, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_18, tmp175, atslab_2, arg4) ;
tmp177 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_d2exp_node) ;
do {
/* branch: __ats_lab_21 */
__ats_lab_21_0:
if (((ats_sum_ptr_type)tmp177)->tag != 27) { goto __ats_lab_22_0 ; }
__ats_lab_21_1:
tmp178 = ats_caselptrlab_mac(anairiats_sum_12, tmp177, atslab_0) ;
tmp179 = ats_caselptrlab_mac(anairiats_sum_12, tmp177, atslab_1) ;
tmp180 = list_extend_01337_ats_ptr_type (tmp179, tmp175) ;
tmp176 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp176)->tag = 27 ;
ats_selptrset_mac(anairiats_sum_12, tmp176, atslab_0, tmp178) ;
ats_selptrset_mac(anairiats_sum_12, tmp176, atslab_1, ats_castfn_mac(ats_ptr_type, tmp180)) ;
break ;

/* branch: __ats_lab_22 */
__ats_lab_22_0:
__ats_lab_22_1:
tmp182 = (ats_sum_ptr_type)0 ;
tmp181 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp181, atslab_0, tmp175) ;
ats_selptrset_mac(anairiats_sum_2, tmp181, atslab_1, tmp182) ;
tmp176 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp176)->tag = 27 ;
ats_selptrset_mac(anairiats_sum_12, tmp176, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp176, atslab_1, tmp181) ;
break ;
} while (0) ;
tmp174 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp176) ;
return (tmp174) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_app_dyn] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 12154(line=530, offs=19) -- 12450(line=541, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_app_sta_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5, ats_ptr_type arg6) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp183) ;
ATSlocal (ats_ptr_type, tmp184) ;
ATSlocal (ats_bool_type, tmp185) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_app_sta_dyn:
tmp184 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_app_sta (arg1, arg2, arg1, arg3) ;
tmp185 = atspre_gte_int_int (arg5, -1) ;
if (tmp185) {
tmp183 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_app_dyn (arg0, tmp184, arg5, arg4, arg6) ;
} else {
tmp183 = tmp184 ;
} /* end of [if] */
return (tmp183) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_app_sta_dyn] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 12526(line=546, offs=14) -- 12629(line=550, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ifhead (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, tmp186) ;
ATSlocal (ats_ptr_type, tmp187) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ifhead:
tmp187 = ATS_MALLOC(sizeof(anairiats_sum_16)) ;
((ats_sum_ptr_type)tmp187)->tag = 28 ;
ats_selptrset_mac(anairiats_sum_16, tmp187, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_16, tmp187, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_16, tmp187, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_16, tmp187, atslab_3, arg4) ;
tmp186 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp187) ;
return (tmp186) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ifhead] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 12680(line=553, offs=15) -- 12784(line=557, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sifhead (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, tmp188) ;
ATSlocal (ats_ptr_type, tmp189) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sifhead:
tmp189 = ATS_MALLOC(sizeof(anairiats_sum_16)) ;
((ats_sum_ptr_type)tmp189)->tag = 29 ;
ats_selptrset_mac(anairiats_sum_16, tmp189, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_16, tmp189, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_16, tmp189, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_16, tmp189, atslab_3, arg4) ;
tmp188 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp189) ;
return (tmp188) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sifhead] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 12844(line=564, offs=1) -- 12990(line=574, offs=4)
*/
ATSstaticdec()
ats_bool_type
i2fcl_is_else_75 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp190) ;
ATSlocal (ats_ptr_type, tmp191) ;
ATSlocal (ats_ptr_type, tmp192) ;

__ats_lab_i2fcl_is_else_75:
tmp191 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_i2fcl_test) ;
tmp192 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, tmp191), atslab_d2exp_node) ;
do {
/* branch: __ats_lab_23 */
__ats_lab_23_0:
if (((ats_sum_ptr_type)tmp192)->tag != 12) { goto __ats_lab_24_0 ; }
__ats_lab_23_1:
tmp190 = ats_true_bool ;
break ;

/* branch: __ats_lab_24 */
__ats_lab_24_0:
__ats_lab_24_1:
tmp190 = ats_false_bool ;
break ;
} while (0) ;
return (tmp190) ;
} /* end of [i2fcl_is_else_75] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 13078(line=581, offs=1) -- 13203(line=587, offs=35)
*/
ATSstaticdec()
ats_bool_type
aux_77 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp194) ;
ATSlocal (ats_ptr_type, tmp195) ;
ATSlocal (ats_ptr_type, tmp196) ;

__ats_lab_aux_77:
do {
/* branch: __ats_lab_25 */
__ats_lab_25_0:
if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; }
__ats_lab_25_1:
tmp194 = i2fcl_is_else_75 (arg0) ;
break ;

/* branch: __ats_lab_26 */
__ats_lab_26_0:
// if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_26_1:
tmp195 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ;
tmp196 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ;
arg0 = tmp195 ;
arg1 = tmp196 ;
goto __ats_lab_aux_77 ; // tail call
break ;
} while (0) ;
return (tmp194) ;
} /* end of [aux_77] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 13022(line=577, offs=1) -- 13288(line=595, offs=4)
*/
ATSstaticdec()
ats_bool_type
i2fclist_is_else_76 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp193) ;
ATSlocal (ats_ptr_type, tmp197) ;
ATSlocal (ats_ptr_type, tmp198) ;

__ats_lab_i2fclist_is_else_76:
do {
/* branch: __ats_lab_27 */
__ats_lab_27_0:
if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; }
__ats_lab_27_1:
tmp193 = ats_true_bool ;
break ;

/* branch: __ats_lab_28 */
__ats_lab_28_0:
// if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_28_1:
tmp197 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ;
tmp198 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ;
tmp193 = aux_77 (tmp197, tmp198) ;
break ;
} while (0) ;
return (tmp193) ;
} /* end of [i2fclist_is_else_76] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 13366(line=600, offs=16) -- 13606(line=620, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ifcasehd (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp199) ;
ATSlocal (ats_bool_type, tmp200) ;
ATSlocal (ats_int_type, tmp201) ;
ATSlocal (ats_ptr_type, tmp202) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ifcasehd:
tmp200 = i2fclist_is_else_76 (arg2) ;
if (tmp200) {
tmp201 = 1 ;
} else {
tmp201 = 0 ;
} /* end of [if] */
tmp202 = ATS_MALLOC(sizeof(anairiats_sum_18)) ;
((ats_sum_ptr_type)tmp202)->tag = 30 ;
ats_selptrset_mac(anairiats_sum_18, tmp202, atslab_0, tmp201) ;
ats_selptrset_mac(anairiats_sum_18, tmp202, atslab_1, arg1) ;
ats_selptrset_mac(anairiats_sum_18, tmp202, atslab_2, arg2) ;
tmp199 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp202) ;
return (tmp199) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ifcasehd] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 13704(line=627, offs=16) -- 13799(line=631, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_casehead (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, tmp203) ;
ATSlocal (ats_ptr_type, tmp204) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_casehead:
tmp204 = ATS_MALLOC(sizeof(anairiats_sum_16)) ;
((ats_sum_ptr_type)tmp204)->tag = 31 ;
ats_selptrset_mac(anairiats_sum_16, tmp204, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_16, tmp204, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_16, tmp204, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_16, tmp204, atslab_3, arg4) ;
tmp203 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp204) ;
return (tmp203) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_casehead] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 13854(line=634, offs=17) -- 13935(line=636, offs=57)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_scasehead (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp205) ;
ATSlocal (ats_ptr_type, tmp206) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_scasehead:
tmp206 = ATS_MALLOC(sizeof(anairiats_sum_15)) ;
((ats_sum_ptr_type)tmp206)->tag = 32 ;
ats_selptrset_mac(anairiats_sum_15, tmp206, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_15, tmp206, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_15, tmp206, atslab_2, arg3) ;
tmp205 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp206) ;
return (tmp205) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_scasehead] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 13981(line=641, offs=12) -- 14031(line=642, offs=38)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sing (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp207) ;
ATSlocal (ats_ptr_type, tmp208) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sing:
tmp208 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp208)->tag = 33 ;
ats_selptrset_mac(anairiats_sum_4, tmp208, atslab_0, arg1) ;
tmp207 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp208) ;
return (tmp207) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sing] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 14056(line=645, offs=12) -- 14118(line=646, offs=44)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_list (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp209) ;
ATSlocal (ats_ptr_type, tmp210) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_list:
tmp210 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
((ats_sum_ptr_type)tmp210)->tag = 34 ;
ats_selptrset_mac(anairiats_sum_11, tmp210, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_11, tmp210, atslab_1, arg2) ;
tmp209 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp210) ;
return (tmp209) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_list] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 14163(line=651, offs=11) -- 14235(line=652, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lst (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp211) ;
ATSlocal (ats_ptr_type, tmp212) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lst:
tmp212 = ATS_MALLOC(sizeof(anairiats_sum_18)) ;
((ats_sum_ptr_type)tmp212)->tag = 35 ;
ats_selptrset_mac(anairiats_sum_18, tmp212, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_18, tmp212, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_18, tmp212, atslab_2, arg3) ;
tmp211 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp212) ;
return (tmp211) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lst] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 14279(line=656, offs=11) -- 14357(line=659, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_tup (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp213) ;
ATSlocal (ats_ptr_type, tmp214) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_tup:
tmp214 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp214)->tag = 36 ;
ats_selptrset_mac(anairiats_sum_13, tmp214, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_13, tmp214, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp214, atslab_2, arg3) ;
tmp213 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp214) ;
return (tmp213) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_tup] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 14407(line=663, offs=15) -- 14482(line=666, offs=51)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_tup_flt (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp215) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_tup_flt:
tmp215 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_tup (arg0, 0, arg1, arg2) ;
return (tmp215) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_tup_flt] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 14532(line=670, offs=11) -- 14606(line=671, offs=50)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_rec (ats_ptr_type arg0, ats_int_type arg1, ats_int_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_dynexp2_2esats__d2exp_rec:
tmp217 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp217)->tag = 37 ;
ats_selptrset_mac(anairiats_sum_13, tmp217, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_13, tmp217, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp217, atslab_2, arg3) ;
tmp216 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp217) ;
return (tmp216) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_rec] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 14673(line=678, offs=3) -- 14723(line=678, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_seq (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_dynexp2_2esats__d2exp_seq:
tmp219 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp219)->tag = 38 ;
ats_selptrset_mac(anairiats_sum_4, tmp219, atslab_0, arg1) ;
tmp218 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp219) ;
return (tmp218) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_seq] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 14770(line=683, offs=3) -- 15006(line=693, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_seq2 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp220) ;
ATSlocal (ats_ptr_type, tmp221) ;
ATSlocal (ats_ptr_type, tmp222) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_seq2:
do {
/* branch: __ats_lab_29 */
__ats_lab_29_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_32_0 ; }
__ats_lab_29_1:
tmp221 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ;
tmp222 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ;
do {
/* branch: __ats_lab_30 */
__ats_lab_30_0:
if (tmp222 == (ats_sum_ptr_type)0) { goto __ats_lab_31_0 ; }
__ats_lab_30_1:
tmp220 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_seq (arg0, arg1) ;
break ;

/* branch: __ats_lab_31 */
__ats_lab_31_0:
// if (tmp222 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_31_1:
tmp220 = tmp221 ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_32 */
__ats_lab_32_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_32_1:
tmp220 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_empty (arg0) ;
break ;
} while (0) ;
return (tmp220) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_seq2] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 15076(line=699, offs=3) -- 15130(line=699, offs=57)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_deref (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp223) ;
ATSlocal (ats_ptr_type, tmp224) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_deref:
tmp224 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp224)->tag = 42 ;
ats_selptrset_mac(anairiats_sum_4, tmp224, atslab_0, arg1) ;
tmp223 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp224) ;
return (tmp223) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_deref] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 15180(line=703, offs=13) -- 15254(line=705, offs=52)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_assgn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp225) ;
ATSlocal (ats_ptr_type, tmp226) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_assgn:
tmp226 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp226)->tag = 43 ;
ats_selptrset_mac(anairiats_sum_12, tmp226, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp226, atslab_1, arg2) ;
tmp225 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp226) ;
return (tmp225) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_assgn] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 15304(line=709, offs=13) -- 15378(line=711, offs=52)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_xchng (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp227) ;
ATSlocal (ats_ptr_type, tmp228) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_xchng:
tmp228 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp228)->tag = 44 ;
ats_selptrset_mac(anairiats_sum_12, tmp228, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp228, atslab_1, arg2) ;
tmp227 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp228) ;
return (tmp227) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_xchng] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 15450(line=717, offs=14) -- 15541(line=719, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_arrsub (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, tmp229) ;
ATSlocal (ats_ptr_type, tmp230) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_arrsub:
tmp230 = ATS_MALLOC(sizeof(anairiats_sum_16)) ;
((ats_sum_ptr_type)tmp230)->tag = 45 ;
ats_selptrset_mac(anairiats_sum_16, tmp230, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_16, tmp230, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_16, tmp230, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_16, tmp230, atslab_3, arg4) ;
tmp229 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp230) ;
return (tmp229) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_arrsub] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 15566(line=722, offs=14) -- 15655(line=724, offs=60)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_arrpsz (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp231) ;
ATSlocal (ats_ptr_type, tmp232) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_arrpsz:
tmp232 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp232)->tag = 46 ;
ats_selptrset_mac(anairiats_sum_12, tmp232, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp232, atslab_1, arg2) ;
tmp231 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp232) ;
return (tmp231) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_arrpsz] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 15681(line=727, offs=15) -- 15767(line=729, offs=59)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_arrinit (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp233) ;
ATSlocal (ats_ptr_type, tmp234) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_arrinit:
tmp234 = ATS_MALLOC(sizeof(anairiats_sum_15)) ;
((ats_sum_ptr_type)tmp234)->tag = 47 ;
ats_selptrset_mac(anairiats_sum_15, tmp234, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_15, tmp234, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_15, tmp234, atslab_2, arg3) ;
tmp233 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp234) ;
return (tmp233) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_arrinit] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 15812(line=734, offs=13) -- 15862(line=734, offs=63)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ptrof (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp235) ;
ATSlocal (ats_ptr_type, tmp236) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ptrof:
tmp236 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp236)->tag = 40 ;
ats_selptrset_mac(anairiats_sum_4, tmp236, atslab_0, arg1) ;
tmp235 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp236) ;
return (tmp235) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ptrof] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 15887(line=737, offs=14) -- 15938(line=737, offs=65)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_viewat (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp237) ;
ATSlocal (ats_ptr_type, tmp238) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_viewat:
tmp238 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp238)->tag = 41 ;
ats_selptrset_mac(anairiats_sum_4, tmp238, atslab_0, arg1) ;
tmp237 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp238) ;
return (tmp237) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_viewat] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 15985(line=743, offs=3) -- 16049(line=744, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_selab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp239) ;
ATSlocal (ats_ptr_type, tmp240) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_selab:
tmp240 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp240)->tag = 39 ;
ats_selptrset_mac(anairiats_sum_12, tmp240, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp240, atslab_1, arg2) ;
tmp239 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp240) ;
return (tmp239) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_selab] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 16101(line=749, offs=3) -- 16148(line=749, offs=50)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sel_dot (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp241) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sel_dot:
tmp241 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_selab (arg0, arg1, arg2) ;
return (tmp241) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sel_dot] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 16202(line=754, offs=3) -- 16347(line=759, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sel_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp242) ;
ATSlocal (ats_ptr_type, tmp243) ;
ATSlocal (ats_ptr_type, tmp244) ;
ATSlocal (ats_ptr_type, tmp245) ;
ATSlocal (ats_ptr_type, tmp246) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sel_ptr:
tmp243 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_14, arg1), atslab_d2exp_loc) ;
tmp244 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_deref (tmp243, arg1) ;
tmp246 = (ats_sum_ptr_type)0 ;
tmp245 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp245, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_2, tmp245, atslab_1, tmp246) ;
tmp242 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_selab (arg0, tmp244, tmp245) ;
return (tmp242) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_sel_ptr] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 16420(line=765, offs=3) -- 16472(line=766, offs=40)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_raise (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp247) ;
ATSlocal (ats_ptr_type, tmp248) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_raise:
tmp248 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp248)->tag = 48 ;
ats_selptrset_mac(anairiats_sum_4, tmp248, atslab_0, arg1) ;
tmp247 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp248) ;
return (tmp247) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_raise] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 16500(line=770, offs=3) -- 16566(line=771, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_effmask (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp249) ;
ATSlocal (ats_ptr_type, tmp250) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_effmask:
tmp250 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp250)->tag = 49 ;
ats_selptrset_mac(anairiats_sum_12, tmp250, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp250, atslab_1, arg2) ;
tmp249 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp250) ;
return (tmp249) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_effmask] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 16644(line=778, offs=3) -- 16699(line=779, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_showtype (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp251) ;
ATSlocal (ats_ptr_type, tmp252) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_showtype:
tmp252 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp252)->tag = 50 ;
ats_selptrset_mac(anairiats_sum_4, tmp252, atslab_0, arg1) ;
tmp251 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp252) ;
return (tmp251) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_showtype] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 16751(line=785, offs=3) -- 16816(line=786, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_vcopyenv (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp253) ;
ATSlocal (ats_ptr_type, tmp254) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_vcopyenv:
tmp254 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
((ats_sum_ptr_type)tmp254)->tag = 51 ;
ats_selptrset_mac(anairiats_sum_11, tmp254, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_11, tmp254, atslab_1, arg2) ;
tmp253 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp254) ;
return (tmp253) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_vcopyenv] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 16896(line=793, offs=3) -- 16954(line=794, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_tempenver (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp255) ;
ATSlocal (ats_ptr_type, tmp256) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_tempenver:
tmp256 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp256)->tag = 52 ;
ats_selptrset_mac(anairiats_sum_4, tmp256, atslab_0, arg1) ;
tmp255 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp256) ;
return (tmp255) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_tempenver] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 17003(line=800, offs=3) -- 17065(line=801, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_exist (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp257) ;
ATSlocal (ats_ptr_type, tmp258) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_exist:
tmp258 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp258)->tag = 53 ;
ats_selptrset_mac(anairiats_sum_12, tmp258, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp258, atslab_1, arg2) ;
tmp257 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp258) ;
return (tmp257) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_exist] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 17138(line=808, offs=1) -- 17230(line=811, offs=44)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lam_dyn (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp259) ;
ATSlocal (ats_ptr_type, tmp260) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lam_dyn:
tmp260 = ATS_MALLOC(sizeof(anairiats_sum_20)) ;
((ats_sum_ptr_type)tmp260)->tag = 54 ;
ats_selptrset_mac(anairiats_sum_20, tmp260, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_20, tmp260, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_20, tmp260, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_20, tmp260, atslab_3, arg4) ;
tmp259 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp260) ;
return (tmp259) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lam_dyn] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 17262(line=815, offs=1) -- 17358(line=818, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_laminit_dyn (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp261) ;
ATSlocal (ats_ptr_type, tmp262) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_laminit_dyn:
tmp262 = ATS_MALLOC(sizeof(anairiats_sum_20)) ;
((ats_sum_ptr_type)tmp262)->tag = 55 ;
ats_selptrset_mac(anairiats_sum_20, tmp262, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_20, tmp262, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_20, tmp262, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_20, tmp262, atslab_3, arg4) ;
tmp261 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp262) ;
return (tmp261) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_laminit_dyn] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 17388(line=822, offs=3) -- 17468(line=823, offs=55)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lam_sta (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp263) ;
ATSlocal (ats_ptr_type, tmp264) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lam_sta:
tmp264 = ATS_MALLOC(sizeof(anairiats_sum_15)) ;
((ats_sum_ptr_type)tmp264)->tag = 56 ;
ats_selptrset_mac(anairiats_sum_15, tmp264, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_15, tmp264, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_15, tmp264, atslab_2, arg3) ;
tmp263 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp264) ;
return (tmp263) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lam_sta] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 17524(line=828, offs=3) -- 17600(line=829, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lam_met (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp265) ;
ATSlocal (ats_ptr_type, tmp266) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lam_met:
tmp266 = ATS_MALLOC(sizeof(anairiats_sum_15)) ;
((ats_sum_ptr_type)tmp266)->tag = 57 ;
ats_selptrset_mac(anairiats_sum_15, tmp266, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_15, tmp266, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_15, tmp266, atslab_2, arg3) ;
tmp265 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp266) ;
return (tmp265) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lam_met] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4)
*/
ATSstaticdec()
ats_ptr_type
ref_01088_ats_ptr_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp269) ;
ATSlocal (ats_ptr_type, tmp270) ;

__ats_lab_ref_01088_ats_ptr_type:
/* ats_ptr_type tmp270 ; */
tmp270 = arg0 ;
tmp269 = atspre_ref_make_elt_tsz ((&tmp270), sizeof(ats_ptr_type)) ;
return (tmp269) ;
} /* end of [ref_01088_ats_ptr_type] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 17660(line=834, offs=3) -- 17762(line=836, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lam_met_new (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp267) ;
ATSlocal (ats_ptr_type, tmp268) ;
ATSlocal (ats_ptr_type, tmp271) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lam_met_new:
tmp271 = (ats_sum_ptr_type)0 ;
tmp268 = ref_01088_ats_ptr_type (tmp271) ;
tmp267 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lam_met (arg0, tmp268, arg1, arg2) ;
return (tmp267) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lam_met_new] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 17816(line=839, offs=11) -- 17906(line=841, offs=59)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_fix (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp272) ;
ATSlocal (ats_ptr_type, tmp273) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_fix:
tmp273 = ATS_MALLOC(sizeof(anairiats_sum_18)) ;
((ats_sum_ptr_type)tmp273)->tag = 58 ;
ats_selptrset_mac(anairiats_sum_18, tmp273, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_18, tmp273, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_18, tmp273, atslab_2, arg3) ;
tmp272 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp273) ;
return (tmp272) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_fix] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 17955(line=847, offs=3) -- 18007(line=848, offs=40)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_delay (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp274) ;
ATSlocal (ats_ptr_type, tmp275) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_delay:
tmp275 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp275)->tag = 59 ;
ats_selptrset_mac(anairiats_sum_4, tmp275, atslab_0, arg1) ;
tmp274 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp275) ;
return (tmp274) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_delay] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 18058(line=853, offs=3) -- 18129(line=854, offs=50)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ldelay (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp276) ;
ATSlocal (ats_ptr_type, tmp277) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ldelay:
tmp277 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp277)->tag = 60 ;
ats_selptrset_mac(anairiats_sum_12, tmp277, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp277, atslab_1, arg2) ;
tmp276 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp277) ;
return (tmp276) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ldelay] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 18186(line=859, offs=3) -- 18228(line=859, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ldelay_none (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp278) ;
ATSlocal (ats_ptr_type, tmp279) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ldelay_none:
tmp279 = (ats_sum_ptr_type)0 ;
tmp278 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ldelay (arg0, arg1, tmp279) ;
return (tmp278) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ldelay_none] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 18301(line=866, offs=1) -- 18405(line=869, offs=63)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_for (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, tmp280) ;
ATSlocal (ats_ptr_type, tmp281) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_for:
tmp281 = ATS_MALLOC(sizeof(anairiats_sum_21)) ;
((ats_sum_ptr_type)tmp281)->tag = 61 ;
ats_selptrset_mac(anairiats_sum_21, tmp281, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_21, tmp281, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_21, tmp281, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_21, tmp281, atslab_3, arg4) ;
ats_selptrset_mac(anairiats_sum_21, tmp281, atslab_4, arg5) ;
tmp280 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp281) ;
return (tmp280) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_for] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 18451(line=874, offs=1) -- 18532(line=877, offs=52)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_while (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp282) ;
ATSlocal (ats_ptr_type, tmp283) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_while:
tmp283 = ATS_MALLOC(sizeof(anairiats_sum_15)) ;
((ats_sum_ptr_type)tmp283)->tag = 62 ;
ats_selptrset_mac(anairiats_sum_15, tmp283, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_15, tmp283, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_15, tmp283, atslab_2, arg3) ;
tmp282 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp283) ;
return (tmp282) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_while] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 18584(line=882, offs=3) -- 18634(line=882, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_loopexn (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp284) ;
ATSlocal (ats_ptr_type, tmp285) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_loopexn:
tmp285 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp285)->tag = 63 ;
ats_selptrset_mac(anairiats_sum_5, tmp285, atslab_0, arg1) ;
tmp284 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp285) ;
return (tmp284) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_loopexn] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 18707(line=888, offs=15) -- 18786(line=890, offs=55)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_trywith (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp286) ;
ATSlocal (ats_ptr_type, tmp287) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_trywith:
tmp287 = ATS_MALLOC(sizeof(anairiats_sum_15)) ;
((ats_sum_ptr_type)tmp287)->tag = 64 ;
ats_selptrset_mac(anairiats_sum_15, tmp287, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_15, tmp287, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_15, tmp287, atslab_2, arg3) ;
tmp286 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp287) ;
return (tmp286) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_trywith] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 18836(line=896, offs=3) -- 18900(line=897, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ann_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp288) ;
ATSlocal (ats_ptr_type, tmp289) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ann_type:
tmp289 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp289)->tag = 65 ;
ats_selptrset_mac(anairiats_sum_12, tmp289, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp289, atslab_1, arg2) ;
tmp288 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp289) ;
return (tmp288) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ann_type] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 18956(line=902, offs=3) -- 19022(line=903, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ann_seff (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp290) ;
ATSlocal (ats_ptr_type, tmp291) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ann_seff:
tmp291 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp291)->tag = 66 ;
ats_selptrset_mac(anairiats_sum_12, tmp291, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp291, atslab_1, arg2) ;
tmp290 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp291) ;
return (tmp290) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ann_seff] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 19080(line=908, offs=3) -- 19144(line=909, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ann_funclo (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp292) ;
ATSlocal (ats_ptr_type, tmp293) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ann_funclo:
tmp293 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp293)->tag = 67 ;
ats_selptrset_mac(anairiats_sum_12, tmp293, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp293, atslab_1, arg2) ;
tmp292 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp293) ;
return (tmp292) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_ann_funclo] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 19218(line=916, offs=3) -- 19267(line=917, offs=37)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_mac (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp294) ;
ATSlocal (ats_ptr_type, tmp295) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_mac:
tmp295 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp295)->tag = 68 ;
ats_selptrset_mac(anairiats_sum_4, tmp295, atslab_0, arg1) ;
tmp294 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp295) ;
return (tmp294) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_mac] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 19316(line=922, offs=3) -- 19378(line=923, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_macsyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp296) ;
ATSlocal (ats_ptr_type, tmp297) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_macsyn:
tmp297 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp297)->tag = 69 ;
ats_selptrset_mac(anairiats_sum_12, tmp297, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp297, atslab_1, arg2) ;
tmp296 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp297) ;
return (tmp296) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_macsyn] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 19430(line=928, offs=3) -- 19496(line=929, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_macfun (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp298) ;
ATSlocal (ats_ptr_type, tmp299) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_macfun:
tmp299 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp299)->tag = 70 ;
ats_selptrset_mac(anairiats_sum_12, tmp299, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp299, atslab_1, arg2) ;
tmp298 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp299) ;
return (tmp298) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_macfun] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 19574(line=936, offs=3) -- 19636(line=937, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_solassert (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp300) ;
ATSlocal (ats_ptr_type, tmp301) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_solassert:
tmp301 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp301)->tag = 71 ;
ats_selptrset_mac(anairiats_sum_4, tmp301, atslab_0, arg1) ;
tmp300 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp301) ;
return (tmp300) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_solassert] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 19665(line=940, offs=3) -- 19729(line=941, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_solverify (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp302) ;
ATSlocal (ats_ptr_type, tmp303) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_solverify:
tmp303 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp303)->tag = 72 ;
ats_selptrset_mac(anairiats_sum_4, tmp303, atslab_0, arg1) ;
tmp302 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp303) ;
return (tmp302) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_solverify] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 19778(line=946, offs=13) -- 19830(line=947, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_errexp (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp304) ;
ATSlocal (ats_ptr_type, tmp305) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_errexp:
tmp305 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eerrexp_73) ;
tmp304 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_make_node (arg0, tmp305) ;
return (tmp304) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_errexp] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 19879(line=952, offs=15) -- 19912(line=952, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__labd2exp_make (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp306) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__labd2exp_make:
tmp306 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp306, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_2, tmp306, atslab_1, arg1) ;
return (tmp306) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__labd2exp_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 19955(line=958, offs=1) -- 20047(line=964, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2lab_lab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp307) ;
ATSlocal (ats_ptr_type, tmp308) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2lab_lab:
tmp308 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp308)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_4, tmp308, atslab_0, arg1) ;
tmp307 = ATS_MALLOC(sizeof(anairiats_rec_22)) ;
ats_selptrset_mac(anairiats_rec_22, tmp307, atslab_d2lab_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_22, tmp307, atslab_d2lab_node, tmp308) ;
ats_selptrset_mac(anairiats_rec_22, tmp307, atslab_d2lab_overld, arg2) ;

return (tmp307) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2lab_lab] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 20093(line=968, offs=3) -- 20186(line=972, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2lab_ind (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp309) ;
ATSlocal (ats_ptr_type, tmp310) ;
ATSlocal (ats_ptr_type, tmp311) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2lab_ind:
tmp310 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp310)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_4, tmp310, atslab_0, arg1) ;
tmp311 = (ats_sum_ptr_type)0 ;
tmp309 = ATS_MALLOC(sizeof(anairiats_rec_22)) ;
ats_selptrset_mac(anairiats_rec_22, tmp309, atslab_d2lab_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_22, tmp309, atslab_d2lab_node, tmp310) ;
ats_selptrset_mac(anairiats_rec_22, tmp309, atslab_d2lab_overld, tmp311) ;

return (tmp309) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2lab_ind] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 20256(line=978, offs=3) -- 20311(line=981, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvarg_make (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp312) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvarg_make:
tmp312 = ATS_MALLOC(sizeof(anairiats_rec_23)) ;
ats_selptrset_mac(anairiats_rec_23, tmp312, atslab_i2nvarg_var, arg0) ;
ats_selptrset_mac(anairiats_rec_23, tmp312, atslab_i2nvarg_type, arg1) ;

return (tmp312) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvarg_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 20390(line=987, offs=3) -- 20523(line=993, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvarg_get_var (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp313) ;
ATSlocal (ats_ptr_type, tmp314) ;
ATSlocal (ats_ptr_type, tmp315) ;
ATSlocal (ats_ptr_type, tmp316) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvarg_get_var:
tmp314 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_i2nvarg_var) ;
tmp315 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_view (tmp314) ;
do {
/* branch: __ats_lab_33 */
__ats_lab_33_0:
if (tmp315 == (ats_sum_ptr_type)0) { goto __ats_lab_34_0 ; }
__ats_lab_33_1:
tmp316 = ats_caselptrlab_mac(anairiats_sum_24, tmp315, atslab_0) ;
tmp313 = tmp316 ;
break ;

/* branch: __ats_lab_34 */
__ats_lab_34_0:
// if (tmp315 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_34_1:
tmp313 = tmp314 ;
break ;
} while (0) ;
return (tmp313) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvarg_get_var] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 20582(line=997, offs=3) -- 21022(line=1022, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvarg_get_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp317) ;
ATSlocal (ats_ptr_type, tmp318) ;
ATSlocal (ats_ptr_type, tmp319) ;
ATSlocal (ats_ptr_type, tmp320) ;
ATSlocal (ats_bool_type, tmp321) ;
ATSlocal (ats_ptr_type, tmp322) ;
ATSlocal (ats_ptr_type, tmp323) ;
ATSlocal (ats_ptr_type, tmp324) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvarg_get_type:
tmp318 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_i2nvarg_type) ;
do {
/* branch: __ats_lab_35 */
__ats_lab_35_0:
if (tmp318 != (ats_sum_ptr_type)0) { goto __ats_lab_36_0 ; }
__ats_lab_35_1:
tmp317 = (ats_sum_ptr_type)0 ;
break ;

/* branch: __ats_lab_36 */
__ats_lab_36_0:
// if (tmp318 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_36_1:
tmp319 = ats_caselptrlab_mac(anairiats_sum_24, tmp318, atslab_0) ;
tmp320 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_23, arg0), atslab_i2nvarg_var) ;
tmp321 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_is_mutabl (tmp320) ;
if (tmp321) {
tmp322 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_addr (tmp320) ;
if (tmp322 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 20806(line=1012, offs=9) -- 20847(line=1013, offs=30)") ; }
tmp323 = ats_caselptrlab_mac(anairiats_sum_24, tmp322, atslab_0) ;
tmp324 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_at (tmp319, tmp323) ;
tmp317 = ATS_MALLOC(sizeof(anairiats_sum_24)) ;
ats_selptrset_mac(anairiats_sum_24, tmp317, atslab_0, tmp324) ;
} else {
tmp317 = tmp318 ;
} /* end of [if] */
break ;
} while (0) ;
return (tmp317) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvarg_get_type] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 21239(line=1034, offs=3) -- 21365(line=1040, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvresstate_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp329) ;
ATSlocal (ats_ptr_type, tmp330) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvresstate_make:
tmp330 = (ats_sum_ptr_type)0 ;
tmp329 = ATS_MALLOC(sizeof(anairiats_rec_25)) ;
ats_selptrset_mac(anairiats_rec_25, tmp329, atslab_i2nvresstate_svs, arg0) ;
ats_selptrset_mac(anairiats_rec_25, tmp329, atslab_i2nvresstate_gua, arg1) ;
ats_selptrset_mac(anairiats_rec_25, tmp329, atslab_i2nvresstate_arg, arg2) ;
ats_selptrset_mac(anairiats_rec_25, tmp329, atslab_i2nvresstate_met, tmp330) ;

return (tmp329) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvresstate_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 21430(line=1044, offs=2) -- 21553(line=1050, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvresstate_make_met (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp331) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvresstate_make_met:
tmp331 = ATS_MALLOC(sizeof(anairiats_rec_25)) ;
ats_selptrset_mac(anairiats_rec_25, tmp331, atslab_i2nvresstate_svs, arg0) ;
ats_selptrset_mac(anairiats_rec_25, tmp331, atslab_i2nvresstate_gua, arg1) ;
ats_selptrset_mac(anairiats_rec_25, tmp331, atslab_i2nvresstate_arg, arg2) ;
ats_selptrset_mac(anairiats_rec_25, tmp331, atslab_i2nvresstate_met, arg3) ;

return (tmp331) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvresstate_make_met] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 21630(line=1055, offs=15) -- 21791(line=1064, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__loopi2nv_make (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, tmp332) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__loopi2nv_make:
tmp332 = ATS_MALLOC(sizeof(anairiats_rec_26)) ;
ats_selptrset_mac(anairiats_rec_26, tmp332, atslab_loopi2nv_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_26, tmp332, atslab_loopi2nv_svs, arg1) ;
ats_selptrset_mac(anairiats_rec_26, tmp332, atslab_loopi2nv_gua, arg2) ;
ats_selptrset_mac(anairiats_rec_26, tmp332, atslab_loopi2nv_arg, arg4) ;
ats_selptrset_mac(anairiats_rec_26, tmp332, atslab_loopi2nv_met, arg3) ;
ats_selptrset_mac(anairiats_rec_26, tmp332, atslab_loopi2nv_res, arg5) ;

return (tmp332) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__loopi2nv_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 21863(line=1070, offs=3) -- 21941(line=1073, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2fcl_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp333) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2fcl_make:
tmp333 = ATS_MALLOC(sizeof(anairiats_rec_19)) ;
ats_selptrset_mac(anairiats_rec_19, tmp333, atslab_i2fcl_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_19, tmp333, atslab_i2fcl_test, arg1) ;
ats_selptrset_mac(anairiats_rec_19, tmp333, atslab_i2fcl_body, arg2) ;

return (tmp333) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2fcl_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 22013(line=1079, offs=3) -- 22090(line=1081, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__gm2at_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp334) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__gm2at_make:
tmp334 = ATS_MALLOC(sizeof(anairiats_rec_27)) ;
ats_selptrset_mac(anairiats_rec_27, tmp334, atslab_gm2at_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_27, tmp334, atslab_gm2at_exp, arg1) ;
ats_selptrset_mac(anairiats_rec_27, tmp334, atslab_gm2at_pat, arg2) ;

return (tmp334) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__gm2at_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 22136(line=1084, offs=12) -- 22280(line=1093, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__c2lau_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, tmp335) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__c2lau_make:
tmp335 = ATS_MALLOC(sizeof(anairiats_rec_28)) ;
ats_selptrset_mac(anairiats_rec_28, tmp335, atslab_c2lau_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_28, tmp335, atslab_c2lau_pat, arg1) ;
ats_selptrset_mac(anairiats_rec_28, tmp335, atslab_c2lau_gua, arg2) ;
ats_selptrset_mac(anairiats_rec_28, tmp335, atslab_c2lau_seq, arg3) ;
ats_selptrset_mac(anairiats_rec_28, tmp335, atslab_c2lau_neg, arg4) ;
ats_selptrset_mac(anairiats_rec_28, tmp335, atslab_c2lau_body, arg5) ;

return (tmp335) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__c2lau_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 22327(line=1096, offs=13) -- 22404(line=1098, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__sc2lau_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp336) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__sc2lau_make:
tmp336 = ATS_MALLOC(sizeof(anairiats_rec_29)) ;
ats_selptrset_mac(anairiats_rec_29, tmp336, atslab_sc2lau_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_29, tmp336, atslab_sc2lau_pat, arg1) ;
ats_selptrset_mac(anairiats_rec_29, tmp336, atslab_sc2lau_body, arg2) ;

return (tmp336) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__sc2lau_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 22528(line=1107, offs=14) -- 22732(line=1117, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2mpdec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5, ats_ptr_type arg6) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp337) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2mpdec_make:
tmp337 = ATS_MALLOC(sizeof(anairiats_rec_30)) ;
ats_selptrset_mac(anairiats_rec_30, tmp337, atslab_i2mpdec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_30, tmp337, atslab_i2mpdec_locid, arg1) ;
ats_selptrset_mac(anairiats_rec_30, tmp337, atslab_i2mpdec_cst, arg2) ;
ats_selptrset_mac(anairiats_rec_30, tmp337, atslab_i2mpdec_imparg, arg3) ;
ats_selptrset_mac(anairiats_rec_30, tmp337, atslab_i2mpdec_tmparg, arg4) ;
ats_selptrset_mac(anairiats_rec_30, tmp337, atslab_i2mpdec_tmpgua, arg5) ;
ats_selptrset_mac(anairiats_rec_30, tmp337, atslab_i2mpdec_def, arg6) ;

return (tmp337) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2mpdec_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 22803(line=1122, offs=14) -- 22910(line=1129, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__f2undec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp338) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__f2undec_make:
tmp338 = ATS_MALLOC(sizeof(anairiats_rec_31)) ;
ats_selptrset_mac(anairiats_rec_31, tmp338, atslab_f2undec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_31, tmp338, atslab_f2undec_var, arg1) ;
ats_selptrset_mac(anairiats_rec_31, tmp338, atslab_f2undec_def, arg2) ;
ats_selptrset_mac(anairiats_rec_31, tmp338, atslab_f2undec_ann, arg3) ;

return (tmp338) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__f2undec_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 22981(line=1134, offs=14) -- 23088(line=1141, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__v2aldec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp339) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__v2aldec_make:
tmp339 = ATS_MALLOC(sizeof(anairiats_rec_32)) ;
ats_selptrset_mac(anairiats_rec_32, tmp339, atslab_v2aldec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_32, tmp339, atslab_v2aldec_pat, arg1) ;
ats_selptrset_mac(anairiats_rec_32, tmp339, atslab_v2aldec_def, arg2) ;
ats_selptrset_mac(anairiats_rec_32, tmp339, atslab_v2aldec_ann, arg3) ;

return (tmp339) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__v2aldec_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 23159(line=1147, offs=1) -- 23534(line=1159, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__v2ardec_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, ats_ptr_type arg6, ats_ptr_type arg7) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp340) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__v2ardec_make:
tmp340 = ATS_MALLOC(sizeof(anairiats_rec_33)) ;
ats_selptrset_mac(anairiats_rec_33, tmp340, atslab_v2ardec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_33, tmp340, atslab_v2ardec_knd, arg1) ;
ats_selptrset_mac(anairiats_rec_33, tmp340, atslab_v2ardec_svar, arg2) ;
ats_selptrset_mac(anairiats_rec_33, tmp340, atslab_v2ardec_dvar, arg3) ;
ats_selptrset_mac(anairiats_rec_33, tmp340, atslab_v2ardec_pfat, arg4) ;
ats_selptrset_mac(anairiats_rec_33, tmp340, atslab_v2ardec_type, arg5) ;
ats_selptrset_mac(anairiats_rec_33, tmp340, atslab_v2ardec_init, arg6) ;
ats_selptrset_mac(anairiats_rec_33, tmp340, atslab_v2ardec_dvaropt, arg7) ;

return (tmp340) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__v2ardec_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 23586(line=1162, offs=16) -- 23712(line=1169, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__prv2ardec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp341) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__prv2ardec_make:
tmp341 = ATS_MALLOC(sizeof(anairiats_rec_34)) ;
ats_selptrset_mac(anairiats_rec_34, tmp341, atslab_prv2ardec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_34, tmp341, atslab_prv2ardec_dvar, arg1) ;
ats_selptrset_mac(anairiats_rec_34, tmp341, atslab_prv2ardec_type, arg2) ;
ats_selptrset_mac(anairiats_rec_34, tmp341, atslab_prv2ardec_init, arg3) ;

return (tmp341) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__prv2ardec_make] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 23884(line=1181, offs=3) -- 23937(line=1183, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp342) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node:
tmp342 = ATS_MALLOC(sizeof(anairiats_rec_35)) ;
ats_selptrset_mac(anairiats_rec_35, tmp342, atslab_d2ecl_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_35, tmp342, atslab_d2ecl_node, arg1) ;

return (tmp342) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 23984(line=1188, offs=11) -- 24026(line=1189, offs=35)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_none (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp343) ;
ATSlocal (ats_ptr_type, tmp344) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_none:
tmp344 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cnone_0) ;
tmp343 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp344) ;
return (tmp343) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_none] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 24050(line=1192, offs=11) -- 24098(line=1193, offs=37)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_list (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp345) ;
ATSlocal (ats_ptr_type, tmp346) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_list:
tmp346 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp346)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_4, tmp346, atslab_0, arg1) ;
tmp345 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp346) ;
return (tmp345) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_list] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 24149(line=1199, offs=3) -- 24203(line=1200, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_symintr (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp347) ;
ATSlocal (ats_ptr_type, tmp348) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_symintr:
tmp348 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp348)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_4, tmp348, atslab_0, arg1) ;
tmp347 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp348) ;
return (tmp347) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_symintr] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 24256(line=1204, offs=3) -- 24310(line=1205, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_symelim (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp349) ;
ATSlocal (ats_ptr_type, tmp350) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_symelim:
tmp350 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp350)->tag = 3 ;
ats_selptrset_mac(anairiats_sum_4, tmp350, atslab_0, arg1) ;
tmp349 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp350) ;
return (tmp349) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_symelim] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 24384(line=1212, offs=1) -- 24459(line=1214, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_overload (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp351) ;
ATSlocal (ats_ptr_type, tmp352) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_overload:
tmp352 = ATS_MALLOC(sizeof(anairiats_sum_36)) ;
((ats_sum_ptr_type)tmp352)->tag = 4 ;
ats_selptrset_mac(anairiats_sum_36, tmp352, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_36, tmp352, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_36, tmp352, atslab_2, arg3) ;
tmp351 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp352) ;
return (tmp351) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_overload] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 24536(line=1221, offs=3) -- 24591(line=1222, offs=41)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_pragma (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp353) ;
ATSlocal (ats_ptr_type, tmp354) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_pragma:
tmp354 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp354)->tag = 5 ;
ats_selptrset_mac(anairiats_sum_4, tmp354, atslab_0, arg1) ;
tmp353 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp354) ;
return (tmp353) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_pragma] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 24621(line=1226, offs=3) -- 24681(line=1227, offs=44)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_codegen (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp355) ;
ATSlocal (ats_ptr_type, tmp356) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_codegen:
tmp356 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
((ats_sum_ptr_type)tmp356)->tag = 6 ;
ats_selptrset_mac(anairiats_sum_11, tmp356, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_11, tmp356, atslab_1, arg2) ;
tmp355 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp356) ;
return (tmp355) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_codegen] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 24734(line=1233, offs=3) -- 24790(line=1234, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_stacsts (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp357) ;
ATSlocal (ats_ptr_type, tmp358) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_stacsts:
tmp358 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp358)->tag = 7 ;
ats_selptrset_mac(anairiats_sum_4, tmp358, atslab_0, arg1) ;
tmp357 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp358) ;
return (tmp357) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_stacsts] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 24817(line=1237, offs=3) -- 24883(line=1238, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_stacons (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp359) ;
ATSlocal (ats_ptr_type, tmp360) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_stacons:
tmp360 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
((ats_sum_ptr_type)tmp360)->tag = 8 ;
ats_selptrset_mac(anairiats_sum_11, tmp360, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_11, tmp360, atslab_1, arg2) ;
tmp359 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp360) ;
return (tmp359) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_stacons] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 25067(line=1253, offs=3) -- 25115(line=1253, offs=51)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_saspdec (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp361) ;
ATSlocal (ats_ptr_type, tmp362) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_saspdec:
tmp362 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp362)->tag = 9 ;
ats_selptrset_mac(anairiats_sum_4, tmp362, atslab_0, arg1) ;
tmp361 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp362) ;
return (tmp361) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_saspdec] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 25165(line=1258, offs=14) -- 25230(line=1259, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_extype (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp363) ;
ATSlocal (ats_ptr_type, tmp364) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_extype:
tmp364 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp364)->tag = 10 ;
ats_selptrset_mac(anairiats_sum_12, tmp364, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp364, atslab_1, arg2) ;
tmp363 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp364) ;
return (tmp363) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_extype] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 25254(line=1261, offs=14) -- 25319(line=1262, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_extvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp365) ;
ATSlocal (ats_ptr_type, tmp366) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_extvar:
tmp366 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp366)->tag = 11 ;
ats_selptrset_mac(anairiats_sum_12, tmp366, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp366, atslab_1, arg2) ;
tmp365 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp366) ;
return (tmp365) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_extvar] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 25344(line=1264, offs=15) -- 25420(line=1265, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_extcode (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp367) ;
ATSlocal (ats_ptr_type, tmp368) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_extcode:
tmp368 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp368)->tag = 12 ;
ats_selptrset_mac(anairiats_sum_13, tmp368, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_13, tmp368, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp368, atslab_2, arg3) ;
tmp367 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp368) ;
return (tmp367) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_extcode] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 25471(line=1270, offs=15) -- 25537(line=1271, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_datdecs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp369) ;
ATSlocal (ats_ptr_type, tmp370) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_datdecs:
tmp370 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
((ats_sum_ptr_type)tmp370)->tag = 13 ;
ats_selptrset_mac(anairiats_sum_11, tmp370, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_11, tmp370, atslab_1, arg2) ;
tmp369 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp370) ;
return (tmp369) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_datdecs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 25565(line=1274, offs=15) -- 25620(line=1275, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_exndecs (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp371) ;
ATSlocal (ats_ptr_type, tmp372) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_exndecs:
tmp372 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp372)->tag = 14 ;
ats_selptrset_mac(anairiats_sum_4, tmp372, atslab_0, arg1) ;
tmp371 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp372) ;
return (tmp371) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_exndecs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 25670(line=1280, offs=16) -- 25747(line=1281, offs=54)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_dcstdecs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp373) ;
ATSlocal (ats_ptr_type, tmp374) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_dcstdecs:
tmp374 = ATS_MALLOC(sizeof(anairiats_sum_18)) ;
((ats_sum_ptr_type)tmp374)->tag = 15 ;
ats_selptrset_mac(anairiats_sum_18, tmp374, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_18, tmp374, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_18, tmp374, atslab_2, arg3) ;
tmp373 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp374) ;
return (tmp373) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_dcstdecs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 25794(line=1286, offs=15) -- 25876(line=1287, offs=56)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_fundecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp375) ;
ATSlocal (ats_ptr_type, tmp376) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_fundecs:
tmp376 = ATS_MALLOC(sizeof(anairiats_sum_15)) ;
((ats_sum_ptr_type)tmp376)->tag = 17 ;
ats_selptrset_mac(anairiats_sum_15, tmp376, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_15, tmp376, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_15, tmp376, atslab_2, arg3) ;
tmp375 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp376) ;
return (tmp375) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_fundecs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 25923(line=1292, offs=15) -- 25989(line=1293, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_valdecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp377) ;
ATSlocal (ats_ptr_type, tmp378) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_valdecs:
tmp378 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp378)->tag = 18 ;
ats_selptrset_mac(anairiats_sum_12, tmp378, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp378, atslab_1, arg2) ;
tmp377 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp378) ;
return (tmp377) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_valdecs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 26019(line=1296, offs=19) -- 26089(line=1297, offs=52)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_valdecs_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp379) ;
ATSlocal (ats_ptr_type, tmp380) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_valdecs_rec:
tmp380 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp380)->tag = 19 ;
ats_selptrset_mac(anairiats_sum_12, tmp380, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp380, atslab_1, arg2) ;
tmp379 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp380) ;
return (tmp379) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_valdecs_rec] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 26136(line=1302, offs=15) -- 26192(line=1303, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_vardecs (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp381) ;
ATSlocal (ats_ptr_type, tmp382) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_vardecs:
tmp382 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp382)->tag = 20 ;
ats_selptrset_mac(anairiats_sum_4, tmp382, atslab_0, arg1) ;
tmp381 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp382) ;
return (tmp381) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_vardecs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 26220(line=1306, offs=17) -- 26278(line=1307, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_prvardecs (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp383) ;
ATSlocal (ats_ptr_type, tmp384) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_prvardecs:
tmp384 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp384)->tag = 21 ;
ats_selptrset_mac(anairiats_sum_4, tmp384, atslab_0, arg1) ;
tmp383 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp384) ;
return (tmp383) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_prvardecs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 26324(line=1312, offs=14) -- 26387(line=1313, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_impdec (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp385) ;
ATSlocal (ats_ptr_type, tmp386) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_impdec:
tmp386 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
((ats_sum_ptr_type)tmp386)->tag = 16 ;
ats_selptrset_mac(anairiats_sum_11, tmp386, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_11, tmp386, atslab_1, arg2) ;
tmp385 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp386) ;
return (tmp385) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_impdec] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 26434(line=1318, offs=15) -- 26500(line=1319, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_include (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp387) ;
ATSlocal (ats_ptr_type, tmp388) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_include:
tmp388 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
((ats_sum_ptr_type)tmp388)->tag = 22 ;
ats_selptrset_mac(anairiats_sum_11, tmp388, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_11, tmp388, atslab_1, arg2) ;
tmp387 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp388) ;
return (tmp387) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_include] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 26547(line=1324, offs=15) -- 26661(line=1327, offs=54)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_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, tmp389) ;
ATSlocal (ats_ptr_type, tmp390) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_staload:
tmp390 = ATS_MALLOC(sizeof(anairiats_sum_37)) ;
((ats_sum_ptr_type)tmp390)->tag = 23 ;
ats_selptrset_mac(anairiats_sum_37, tmp390, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_37, tmp390, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_37, tmp390, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_37, tmp390, atslab_3, arg4) ;
ats_selptrset_mac(anairiats_sum_37, tmp390, atslab_4, arg5) ;
tmp389 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp390) ;
return (tmp389) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_staload] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 26715(line=1331, offs=18) -- 26804(line=1333, offs=62)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_staloadloc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp391) ;
ATSlocal (ats_ptr_type, tmp392) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_staloadloc:
tmp392 = ATS_MALLOC(sizeof(anairiats_sum_15)) ;
((ats_sum_ptr_type)tmp392)->tag = 24 ;
ats_selptrset_mac(anairiats_sum_15, tmp392, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_15, tmp392, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_15, tmp392, atslab_2, arg3) ;
tmp391 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp392) ;
return (tmp391) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_staloadloc] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 26851(line=1338, offs=15) -- 26903(line=1338, offs=67)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_dynload (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp393) ;
ATSlocal (ats_ptr_type, tmp394) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_dynload:
tmp394 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp394)->tag = 25 ;
ats_selptrset_mac(anairiats_sum_4, tmp394, atslab_0, arg1) ;
tmp393 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp394) ;
return (tmp393) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_dynload] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 26950(line=1343, offs=3) -- 27014(line=1343, offs=67)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_local (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp395) ;
ATSlocal (ats_ptr_type, tmp396) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_local:
tmp396 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
((ats_sum_ptr_type)tmp396)->tag = 26 ;
ats_selptrset_mac(anairiats_sum_12, tmp396, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_12, tmp396, atslab_1, arg2) ;
tmp395 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp396) ;
return (tmp395) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_local] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_dynexp2.dats: 27084(line=1348, offs=24) -- 27127(line=1348, offs=67)
*/
ATSglobaldec()
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_errdec (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp397) ;
ATSlocal (ats_ptr_type, tmp398) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_errdec:
tmp398 = (ats_sum_ptr_type)(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Cerrdec_27) ;
tmp397 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__d2ecl_make_node (arg0, tmp398) ;
return (tmp397) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2ecl_errdec] */

/* static load function */

// extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload (void) ;
// extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_utils_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_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_dynexp2_2esats__staload (void) ;

ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__staload () {
static int _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__staload_flag = 0 ;
if (_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__staload_flag) return ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__staload_flag = 1 ;

// _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload () ;
// ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_utils_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_lexing_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload () ;

return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__dynload_flag ;

ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__dynload () {
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2edats__dynload_flag = 1 ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_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 */
ATS_GC_MARKROOT(&statmp1, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp2, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp325, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp326, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp327, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp328, sizeof(ats_ptr_type)) ;

/* marking external values for GC */

/* code for dynamic loading */
statmp1 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_utils_2esats__lstord_nil () ;
statmp2 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_utils_2esats__lstord_nil () ;
statmp326 = (ats_sum_ptr_type)0 ;
statmp327 = (ats_sum_ptr_type)0 ;
statmp328 = (ats_sum_ptr_type)0 ;
statmp325 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvresstate_make (statmp326, statmp327, statmp328) ;
ATS_GC_MARKROOT(&_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvresstate_nil, sizeof(ats_ptr_type)) ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__i2nvresstate_nil = statmp325 ;
return ;
} /* end of [dynload function] */

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


ats_void_type
patsopt_p2at_set_type (
  ats_ptr_type p2t, ats_ptr_type opt
) {
  ((p2at_t)p2t)->atslab_p2at_type = opt ; return ;
} // end of [patsopt_p2at_set_type]

ats_void_type
patsopt_d2exp_set_type (
  ats_ptr_type d2e, ats_ptr_type opt
) {
  ((d2exp_t)d2e)->atslab_d2exp_type = opt ; return ;
} // end of [patsopt_d2exp_set_type]



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

/* end of [pats_dynexp2_dats.c] */
