/*
**
** The C code is generated by ATS/Anairiats
** The compilation time is: 2019-12-18:  5h:29m
**
*/

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

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

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_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_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_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_p3at_loc ;
ats_ptr_type atslab_p3at_node ;
ats_ptr_type atslab_p3at_type ;
ats_ptr_type atslab_p3at_dvaropt ;
ats_ptr_type atslab_p3at_type_left ;
} anairiats_rec_1 ;

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

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

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

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

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

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

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

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

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

typedef
struct {
ats_ptr_type atslab_d3exp_loc ;
ats_ptr_type atslab_d3exp_type ;
ats_ptr_type atslab_d3exp_node ;
} anairiats_rec_11 ;

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

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

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

typedef
struct {
ats_ptr_type atslab_s2exp_srt ;
ats_ptr_type atslab_s2exp_node ;
} anairiats_rec_15 ;

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

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

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

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

typedef
struct {
ats_ptr_type atslab_d3lab_loc ;
ats_ptr_type atslab_d3lab_node ;
ats_ptr_type atslab_d3lab_overld ;
ats_ptr_type atslab_d3lab_overld_app ;
} anairiats_rec_20 ;

typedef
struct {
ats_ptr_type atslab_i3fcl_loc ;
ats_ptr_type atslab_i3fcl_test ;
ats_ptr_type atslab_i3fcl_body ;
} anairiats_rec_21 ;

typedef
struct {
ats_ptr_type atslab_gm3at_loc ;
ats_ptr_type atslab_gm3at_exp ;
ats_ptr_type atslab_gm3at_pat ;
} anairiats_rec_22 ;

typedef
struct {
ats_ptr_type atslab_c3lau_loc ;
ats_ptr_type atslab_c3lau_pat ;
ats_ptr_type atslab_c3lau_gua ;
ats_int_type atslab_c3lau_seq ;
ats_int_type atslab_c3lau_neg ;
ats_ptr_type atslab_c3lau_body ;
} anairiats_rec_23 ;

typedef
struct {
ats_ptr_type atslab_sc3lau_loc ;
ats_ptr_type atslab_sc3lau_pat ;
ats_ptr_type atslab_sc3lau_body ;
} anairiats_rec_24 ;

typedef
struct {
ats_ptr_type atslab_i3mpdec_loc ;
ats_ptr_type atslab_i3mpdec_cst ;
ats_ptr_type atslab_i3mpdec_imparg ;
ats_ptr_type atslab_i3mpdec_tmparg ;
ats_ptr_type atslab_i3mpdec_def ;
} anairiats_rec_25 ;

typedef
struct {
ats_ptr_type atslab_f3undec_loc ;
ats_ptr_type atslab_f3undec_var ;
ats_ptr_type atslab_f3undec_def ;
} anairiats_rec_26 ;

typedef
struct {
ats_ptr_type atslab_v3aldec_loc ;
ats_ptr_type atslab_v3aldec_pat ;
ats_ptr_type atslab_v3aldec_def ;
} anairiats_rec_27 ;

typedef
struct {
ats_ptr_type atslab_v3ardec_loc ;
ats_int_type atslab_v3ardec_knd ;
ats_ptr_type atslab_v3ardec_dvar_var ;
ats_ptr_type atslab_v3ardec_dvar_view ;
ats_ptr_type atslab_v3ardec_type ;
ats_ptr_type atslab_v3ardec_init ;
ats_ptr_type atslab_v3ardec_dvaropt ;
} anairiats_rec_28 ;

typedef
struct {
ats_ptr_type atslab_prv3ardec_loc ;
ats_ptr_type atslab_prv3ardec_dvar ;
ats_ptr_type atslab_prv3ardec_type ;
ats_ptr_type atslab_prv3ardec_init ;
} anairiats_rec_29 ;

typedef
struct {
ats_ptr_type atslab_d3ecl_loc ;
ats_ptr_type atslab_d3ecl_node ;
} anairiats_rec_30 ;

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

/* external typedefs */
typedef anairiats_rec_20 *d3lab_t ;
typedef anairiats_rec_11 *d3exp_t ;
typedef anairiats_rec_1 *p3at_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__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, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__SLABELED_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__S2Emetfun_20) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__S2Euni_28) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__PCKlincon_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__PCKunfold_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__LABP3AT_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tany_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tvar_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tcon_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tint_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tintrep_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tbool_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tchar_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tfloat_7) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tstring_8) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Ti0nt_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tf0loat_10) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tempty_11) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Trec_12) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tlst_13) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Trefas_14) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Texist_15) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tvbox_16) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tann_17) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Terrpat_18) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3LABlab_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3LABind_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Ecst_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Evar_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eint_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eintrep_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Ebool_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Echar_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Efloat_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Estring_7) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Ei0nt_8) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Ef0loat_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Ecstsp_10) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etyrep_11) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eliteral_12) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etop_13) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eempty_14) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eextval_15) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eextfcall_16) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eextmcall_17) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Econ_18) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etmpcst_19) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etmpvar_20) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Efoldat_21) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Efreeat_22) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eitem_23) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Elet_24) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eapp_sta_25) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eapp_dyn_26) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eif_27) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Esif_28) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Ecase_29) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Escase_30) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eifcase_31) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Elst_32) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etup_33) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Erec_34) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eseq_35) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eselab_36) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eptrofvar_37) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eptrofsel_38) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eviewat_39) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Erefarg_40) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Esel_var_41) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Esel_ptr_42) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Esel_ref_43) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eassgn_var_44) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eassgn_ptr_45) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eassgn_ref_46) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Exchng_var_47) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Exchng_ptr_48) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Exchng_ref_49) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eviewat_assgn_50) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Earrpsz_51) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Earrinit_52) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eraise_53) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eeffmask_54) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Evararg_55) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Evcopyenv_56) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etempenver_57) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eann_type_58) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Elam_dyn_59) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Elaminit_dyn_60) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Elam_sta_61) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Elam_met_62) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Efix_63) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Edelay_64) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eldelay_65) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Elazyeval_66) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eloop_67) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eloopexn_68) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etrywith_69) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Esolverify_70) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eerrexp_71) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cnone_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Clist_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Csaspdec_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Creassume_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cextype_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cextvar_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cextcode_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cexndecs_7) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cdatdecs_8) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cdcstdecs_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cimpdec_10) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cfundecs_11) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cvaldecs_12) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cvaldecs_rec_13) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cvardecs_14) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cprvardecs_15) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cinclude_16) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cstaload_17) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cstaloadloc_18) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cdynload_19) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Clocal_20) ;

/* external dynamic constant declarations */
ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_lte_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, _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_int) (ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_datcontyp) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_is_prf) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2exp_topize_0) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype) () ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__eq_pckind_pckind) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_get_type) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_full) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_is_prf) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_app_sta) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_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 */
/* internal function declarations */
static
ats_bool_type aux_labp3atlst_26 (ats_ptr_type arg0) ;
static
ats_void_type loop_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ;
static
ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type auxlst_34 (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_bool_type f_56 (ats_ptr_type arg0) ;
static
ats_bool_type loop_59 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_bool_type list_exists_funenv_01325_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_bool_type list_exists_fun_01326_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_bool_type aux1_55 (ats_ptr_type arg0) ;
static
ats_ptr_type aux2_60 (ats_ptr_type arg0) ;

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

/* function implementations */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 1671(line=52, offs=3) -- 1795(line=58, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp0) ;
ATSlocal (ats_ptr_type, tmp1) ;
ATSlocal (ats_ptr_type, tmp2) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node:
tmp1 = (ats_sum_ptr_type)0 ;
tmp2 = (ats_sum_ptr_type)0 ;
tmp0 = ATS_MALLOC(sizeof(anairiats_rec_1)) ;
ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_p3at_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_p3at_node, arg2) ;
ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_p3at_type, arg1) ;
ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_p3at_dvaropt, tmp1) ;
ats_selptrset_mac(anairiats_rec_1, tmp0, atslab_p3at_type_left, tmp2) ;

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

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 1845(line=62, offs=3) -- 1902(line=63, offs=40)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_any (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp3) ;
ATSlocal (ats_ptr_type, tmp4) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_any:
tmp4 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp4)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_2, tmp4, atslab_0, arg2) ;
tmp3 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp4) ;
return (tmp3) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_any] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 1946(line=68, offs=3) -- 2003(line=69, offs=40)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp5) ;
ATSlocal (ats_ptr_type, tmp6) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_var:
tmp6 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp6)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_2, tmp6, atslab_0, arg2) ;
tmp5 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp6) ;
return (tmp5) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_var] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 2047(line=74, offs=3) -- 2139(line=77, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_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) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp7) ;
ATSlocal (ats_ptr_type, tmp8) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_con:
tmp8 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp8)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_3, tmp8, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_3, tmp8, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_3, tmp8, atslab_2, arg4) ;
ats_selptrset_mac(anairiats_sum_3, tmp8, atslab_3, arg5) ;
tmp7 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp8) ;
return (tmp7) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_con] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 2185(line=82, offs=3) -- 2238(line=83, offs=38)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_int (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp9) ;
ATSlocal (ats_ptr_type, tmp10) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_int:
tmp10 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp10)->tag = 3 ;
ats_selptrset_mac(anairiats_sum_4, tmp10, atslab_0, arg2) ;
tmp9 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp10) ;
return (tmp9) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_int] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 2284(line=87, offs=3) -- 2344(line=88, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_intrep (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp11) ;
ATSlocal (ats_ptr_type, tmp12) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_intrep:
tmp12 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp12)->tag = 4 ;
ats_selptrset_mac(anairiats_sum_2, tmp12, atslab_0, arg2) ;
tmp11 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp12) ;
return (tmp11) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_intrep] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 2392(line=93, offs=3) -- 2446(line=94, offs=39)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_bool (ats_ptr_type arg0, ats_ptr_type arg1, ats_bool_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp13) ;
ATSlocal (ats_ptr_type, tmp14) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_bool:
tmp14 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp14)->tag = 5 ;
ats_selptrset_mac(anairiats_sum_5, tmp14, atslab_0, arg2) ;
tmp13 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp14) ;
return (tmp13) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_bool] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 2492(line=99, offs=3) -- 2546(line=100, offs=39)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_char (ats_ptr_type arg0, ats_ptr_type arg1, ats_char_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp15) ;
ATSlocal (ats_ptr_type, tmp16) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_char:
tmp16 = ATS_MALLOC(sizeof(anairiats_sum_6)) ;
((ats_sum_ptr_type)tmp16)->tag = 6 ;
ats_selptrset_mac(anairiats_sum_6, tmp16, atslab_0, arg2) ;
tmp15 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp16) ;
return (tmp15) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_char] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 2593(line=105, offs=3) -- 2653(line=106, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_float (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp17) ;
ATSlocal (ats_ptr_type, tmp18) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_float:
tmp18 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp18)->tag = 7 ;
ats_selptrset_mac(anairiats_sum_2, tmp18, atslab_0, arg2) ;
tmp17 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp18) ;
return (tmp17) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_float] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 2702(line=111, offs=3) -- 2763(line=112, offs=44)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_string (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp19) ;
ATSlocal (ats_ptr_type, tmp20) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_string:
tmp20 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp20)->tag = 8 ;
ats_selptrset_mac(anairiats_sum_2, tmp20, atslab_0, arg2) ;
tmp19 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp20) ;
return (tmp19) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_string] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 2811(line=117, offs=3) -- 2865(line=118, offs=39)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_i0nt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp21) ;
ATSlocal (ats_ptr_type, tmp22) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_i0nt:
tmp22 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp22)->tag = 9 ;
ats_selptrset_mac(anairiats_sum_2, tmp22, atslab_0, arg2) ;
tmp21 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp22) ;
return (tmp21) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_i0nt] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 2913(line=123, offs=3) -- 2969(line=124, offs=41)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_f0loat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp23) ;
ATSlocal (ats_ptr_type, tmp24) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_f0loat:
tmp24 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp24)->tag = 10 ;
ats_selptrset_mac(anairiats_sum_2, tmp24, atslab_0, arg2) ;
tmp23 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp24) ;
return (tmp23) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_f0loat] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 3018(line=129, offs=3) -- 3075(line=130, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_empty (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp25) ;
ATSlocal (ats_ptr_type, tmp26) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_empty:
tmp26 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tempty_11) ;
tmp25 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp26) ;
return (tmp25) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_empty] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 3142(line=136, offs=10) -- 3239(line=140, offs=57)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp27) ;
ATSlocal (ats_ptr_type, tmp28) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_rec:
tmp28 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp28)->tag = 12 ;
ats_selptrset_mac(anairiats_sum_7, tmp28, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_7, tmp28, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_7, tmp28, atslab_2, arg4) ;
ats_selptrset_mac(anairiats_sum_7, tmp28, atslab_3, arg5) ;
tmp27 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp28) ;
return (tmp27) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_rec] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 3264(line=144, offs=10) -- 3353(line=146, offs=57)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_lst (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp29) ;
ATSlocal (ats_ptr_type, tmp30) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_lst:
tmp30 = ATS_MALLOC(sizeof(anairiats_sum_8)) ;
((ats_sum_ptr_type)tmp30)->tag = 13 ;
ats_selptrset_mac(anairiats_sum_8, tmp30, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_8, tmp30, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_8, tmp30, atslab_2, arg4) ;
tmp29 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp30) ;
return (tmp29) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_lst] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 3399(line=151, offs=12) -- 3472(line=153, offs=51)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_refas (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp31) ;
ATSlocal (ats_ptr_type, tmp32) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_refas:
tmp32 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp32)->tag = 14 ;
ats_selptrset_mac(anairiats_sum_9, tmp32, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_9, tmp32, atslab_1, arg3) ;
tmp31 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp32) ;
return (tmp31) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_refas] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 3495(line=156, offs=12) -- 3570(line=158, offs=52)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_exist (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp33) ;
ATSlocal (ats_ptr_type, tmp34) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_exist:
tmp34 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp34)->tag = 15 ;
ats_selptrset_mac(anairiats_sum_9, tmp34, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_9, tmp34, atslab_1, arg3) ;
tmp33 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp34) ;
return (tmp33) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_exist] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 3592(line=161, offs=11) -- 3654(line=163, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_vbox (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp35) ;
ATSlocal (ats_ptr_type, tmp36) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_vbox:
tmp36 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp36)->tag = 16 ;
ats_selptrset_mac(anairiats_sum_2, tmp36, atslab_0, arg2) ;
tmp35 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp36) ;
return (tmp35) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_vbox] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 3675(line=166, offs=10) -- 3746(line=168, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_ann (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp37) ;
ATSlocal (ats_ptr_type, tmp38) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_ann:
tmp38 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp38)->tag = 17 ;
ats_selptrset_mac(anairiats_sum_9, tmp38, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_9, tmp38, atslab_1, arg3) ;
tmp37 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp38) ;
return (tmp37) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_ann] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 3772(line=172, offs=3) -- 3824(line=172, offs=55)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_errpat (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp39) ;
ATSlocal (ats_ptr_type, tmp40) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_errpat:
tmp40 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Terrpat_18) ;
tmp39 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_make_node (arg0, arg1, tmp40) ;
return (tmp39) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_errpat] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 3895(line=178, offs=15) -- 3916(line=178, offs=36)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_get_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp41) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_get_type:
tmp41 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p3at_type) ;
return (tmp41) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_get_type] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 3944(line=180, offs=18) -- 3968(line=180, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_get_dvaropt (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp42) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_get_dvaropt:
tmp42 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p3at_dvaropt) ;
return (tmp42) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_get_dvaropt] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 3998(line=182, offs=20) -- 4024(line=182, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_get_type_left (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp43) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_get_type_left:
tmp43 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p3at_type_left) ;
return (tmp43) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_get_type_left] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 4069(line=187, offs=13) -- 4136(line=189, offs=4)
*/
ATSglobaldec()
ats_bool_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_prf (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp44) ;
ATSlocal (ats_ptr_type, tmp45) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_prf:
tmp45 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_get_type (arg0) ;
tmp44 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_is_prf (tmp45) ;
return (tmp44) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_prf] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 4208(line=194, offs=16) -- 4300(line=197, offs=58)
*/
ATSglobaldec()
ats_bool_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_lincon (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp46) ;
ATSlocal (ats_ptr_type, tmp47) ;
ATSlocal (ats_ptr_type, tmp48) ;
ATSlocal (ats_ptr_type, tmp49) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_lincon:
tmp47 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p3at_node) ;
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (((ats_sum_ptr_type)tmp47)->tag != 2) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
tmp48 = ats_caselptrlab_mac(anairiats_sum_3, tmp47, atslab_0) ;
tmp49 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__PCKlincon_1) ;
tmp46 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__eq_pckind_pckind (tmp48, tmp49) ;
break ;

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

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 4359(line=201, offs=16) -- 4451(line=204, offs=58)
*/
ATSglobaldec()
ats_bool_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_unfold (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp50) ;
ATSlocal (ats_ptr_type, tmp51) ;
ATSlocal (ats_ptr_type, tmp52) ;
ATSlocal (ats_ptr_type, tmp53) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_unfold:
tmp51 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p3at_node) ;
do {
/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (((ats_sum_ptr_type)tmp51)->tag != 2) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
tmp52 = ats_caselptrlab_mac(anairiats_sum_3, tmp51, atslab_0) ;
tmp53 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__PCKunfold_3) ;
tmp50 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__eq_pckind_pckind (tmp52, tmp53) ;
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
__ats_lab_3_1:
tmp50 = ats_false_bool ;
break ;
} while (0) ;
return (tmp50) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_unfold] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 4517(line=212, offs=1) -- 4789(line=228, offs=2)
*/
ATSstaticdec()
ats_bool_type
aux_labp3atlst_26 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp54) ;
ATSlocal (ats_ptr_type, tmp55) ;
ATSlocal (ats_ptr_type, tmp56) ;
ATSlocal (ats_ptr_type, tmp57) ;
ATSlocal (ats_bool_type, tmp58) ;

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

/* branch: __ats_lab_5 */
__ats_lab_5_0:
// if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_5_1:
tmp55 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ;
tmp56 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ;
// 
tmp57 = ats_caselptrlab_mac(anairiats_sum_10, tmp55, atslab_1) ;
tmp58 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_full (tmp57) ;
if (tmp58) {
arg0 = tmp56 ;
goto __ats_lab_aux_labp3atlst_26 ; // tail call
} else {
tmp54 = ats_false_bool ;
} /* end of [if] */
break ;
} while (0) ;
return (tmp54) ;
} /* end of [aux_labp3atlst_26] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 4838(line=234, offs=3) -- 5222(line=259, offs=29)
*/
ATSglobaldec()
ats_bool_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_full (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp59) ;
ATSlocal (ats_ptr_type, tmp60) ;
ATSlocal (ats_ptr_type, tmp61) ;
ATSlocal (ats_ptr_type, tmp62) ;
ATSlocal (ats_ptr_type, tmp63) ;
ATSlocal (ats_ptr_type, tmp64) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_full:
tmp60 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_p3at_node) ;
do {
/* branch: __ats_lab_6 */
__ats_lab_6_0:
if (((ats_sum_ptr_type)tmp60)->tag != 0) { goto __ats_lab_7_0 ; }
__ats_lab_6_1:
tmp59 = ats_true_bool ;
break ;

/* branch: __ats_lab_7 */
__ats_lab_7_0:
if (((ats_sum_ptr_type)tmp60)->tag != 1) { goto __ats_lab_8_0 ; }
__ats_lab_7_1:
tmp59 = ats_true_bool ;
break ;

/* branch: __ats_lab_8 */
__ats_lab_8_0:
if (((ats_sum_ptr_type)tmp60)->tag != 11) { goto __ats_lab_9_0 ; }
__ats_lab_8_1:
tmp59 = ats_true_bool ;
break ;

/* branch: __ats_lab_9 */
__ats_lab_9_0:
if (((ats_sum_ptr_type)tmp60)->tag != 12) { goto __ats_lab_10_0 ; }
__ats_lab_9_1:
tmp61 = ats_caselptrlab_mac(anairiats_sum_7, tmp60, atslab_3) ;
tmp59 = aux_labp3atlst_26 (tmp61) ;
break ;

/* branch: __ats_lab_10 */
__ats_lab_10_0:
if (((ats_sum_ptr_type)tmp60)->tag != 14) { goto __ats_lab_11_0 ; }
__ats_lab_10_1:
tmp62 = ats_caselptrlab_mac(anairiats_sum_9, tmp60, atslab_1) ;
arg0 = tmp62 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_full ; // tail call
break ;

/* branch: __ats_lab_11 */
__ats_lab_11_0:
if (((ats_sum_ptr_type)tmp60)->tag != 15) { goto __ats_lab_12_0 ; }
__ats_lab_11_1:
tmp63 = ats_caselptrlab_mac(anairiats_sum_9, tmp60, atslab_1) ;
arg0 = tmp63 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_full ; // tail call
break ;

/* branch: __ats_lab_12 */
__ats_lab_12_0:
if (((ats_sum_ptr_type)tmp60)->tag != 17) { goto __ats_lab_13_0 ; }
__ats_lab_12_1:
tmp64 = ats_caselptrlab_mac(anairiats_sum_9, tmp60, atslab_0) ;
arg0 = tmp64 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_full ; // tail call
break ;

/* branch: __ats_lab_13 */
__ats_lab_13_0:
__ats_lab_13_1:
tmp59 = ats_false_bool ;
break ;
} while (0) ;
return (tmp59) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_full] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 5327(line=268, offs=15) -- 5349(line=268, offs=37)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp65) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type:
tmp65 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_d3exp_type) ;
return (tmp65) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_32 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp70) ;
ATSlocal (ats_ptr_type, tmp71) ;
ATSlocal (ats_ptr_type, tmp72) ;
ATSlocal (ats_ptr_type, tmp73) ;
ATSlocal (ats_ptr_type, tmp74) ;
ATSlocal (ats_ptr_type, tmp75) ;
ATSlocal (ats_ptr_type, tmp76) ;

__ats_lab_loop_32:
do {
/* branch: __ats_lab_14 */
__ats_lab_14_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; }
__ats_lab_14_1:
tmp71 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ;
tmp72 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ;
tmp73 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp71, arg3) ;
tmp74 = ATS_MALLOC(sizeof(anairiats_sum_10)) ;
ats_selptrset_mac(anairiats_sum_10, tmp74, atslab_0, tmp73) ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp74 ;
// if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
tmp75 = &ats_caselptrlab_mac(anairiats_sum_10, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ;
arg0 = tmp72 ;
arg1 = arg1 ;
arg2 = tmp75 ;
arg3 = arg3 ;
goto __ats_lab_loop_32 ; // tail call
break ;

/* branch: __ats_lab_15 */
__ats_lab_15_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_15_1:
tmp76 = (ats_sum_ptr_type)0 ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp76 ;
break ;
} while (0) ;
return /* (tmp70) */ ;
} /* end of [loop_32] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4)
*/
ATSstaticdec()
ats_ptr_type
list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp69) ;
ATSlocal (ats_ptr_type, tmp77) ;
// ATSlocal_void (tmp78) ;

__ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type:
/* ats_ptr_type tmp77 ; */
/* tmp78 = */ loop_32 (arg0, arg1, (&tmp77), arg2) ;
tmp69 = tmp77 ;
return (tmp69) ;
} /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2)
*/
ATSstaticdec()
ats_ptr_type
list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp68) ;

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

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 5406(line=274, offs=3) -- 5501(line=281, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3explst_get_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp66) ;
ATSlocal (ats_ptr_type, tmp67) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3explst_get_type:
tmp67 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type) ;
tmp66 = ats_castfn_mac(ats_ptr_type, tmp67) ;
return (tmp66) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3explst_get_type] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 5633(line=292, offs=5) -- 5972(line=309, offs=2)
*/
ATSstaticdec()
ats_ptr_type
auxlst_34 (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp80) ;
ATSlocal (ats_ptr_type, tmp81) ;
ATSlocal (ats_ptr_type, tmp82) ;
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) ;
ATSlocal (ats_int_type, tmp88) ;

__ats_lab_auxlst_34:
do {
/* branch: __ats_lab_16 */
__ats_lab_16_0:
if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_17_0 ; }
__ats_lab_16_1:
tmp80 = (ats_sum_ptr_type)0 ;
break ;

/* branch: __ats_lab_17 */
__ats_lab_17_0:
// if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_17_1:
tmp81 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ;
tmp82 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ;
tmp83 = _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_int (arg1) ;
tmp84 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp81), atslab_d3exp_type) ;
tmp86 = (ats_sum_ptr_type)0 ;
tmp85 = ATS_MALLOC(sizeof(anairiats_sum_12)) ;
ats_selptrset_mac(anairiats_sum_12, tmp85, atslab_0, tmp83) ;
ats_selptrset_mac(anairiats_sum_12, tmp85, atslab_1, tmp86) ;
ats_selptrset_mac(anairiats_sum_12, tmp85, atslab_2, tmp84) ;
tmp88 = atspre_add_int_int (arg1, 1) ;
tmp87 = auxlst_34 (tmp82, tmp88) ;
tmp80 = ATS_MALLOC(sizeof(anairiats_sum_10)) ;
ats_selptrset_mac(anairiats_sum_10, tmp80, atslab_0, tmp85) ;
ats_selptrset_mac(anairiats_sum_10, tmp80, atslab_1, tmp87) ;
break ;
} while (0) ;
return (tmp80) ;
} /* end of [auxlst_34] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 5589(line=287, offs=1) -- 5996(line=311, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3explst_get_labtype (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp79) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3explst_get_labtype:
tmp79 = auxlst_34 (arg0, 0) ;
return (tmp79) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3explst_get_labtype] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 6082(line=316, offs=14) -- 6170(line=320, offs=4)
*/
ATSglobaldec()
ats_bool_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_is_prf (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp89) ;
ATSlocal (ats_ptr_type, tmp90) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_is_prf:
tmp90 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type (arg0) ;
tmp89 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_is_prf (tmp90) ;
return (tmp89) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_is_prf] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 6225(line=323, offs=17) -- 6277(line=324, offs=45)
*/
ATSglobaldec()
ats_bool_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_isnot_prf (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp91) ;
ATSlocal (ats_bool_type, tmp92) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_isnot_prf:
tmp92 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_is_prf (arg0) ;
if (tmp92) {
tmp91 = ats_false_bool ;
} else {
tmp91 = ats_true_bool ;
} /* end of [if] */
return (tmp91) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_isnot_prf] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 6323(line=330, offs=1) -- 6411(line=336, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_cst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp93) ;
ATSlocal (ats_ptr_type, tmp94) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_cst:
tmp94 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp94)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_2, tmp94, atslab_0, arg2) ;
tmp93 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp93, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp93, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp93, atslab_d3exp_node, tmp94) ;

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

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 6476(line=342, offs=1) -- 6564(line=348, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp95) ;
ATSlocal (ats_ptr_type, tmp96) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_var:
tmp96 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp96)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_2, tmp96, atslab_0, arg2) ;
tmp95 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp95, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp95, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp95, atslab_d3exp_node, tmp96) ;

return (tmp95) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_var] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 6631(line=354, offs=3) -- 6711(line=358, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_int (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp97) ;
ATSlocal (ats_ptr_type, tmp98) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_int:
tmp98 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp98)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_4, tmp98, atslab_0, arg2) ;
tmp97 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp97, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp97, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp97, atslab_d3exp_node, tmp98) ;

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

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 6759(line=361, offs=3) -- 6846(line=365, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_intrep (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp99) ;
ATSlocal (ats_ptr_type, tmp100) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_intrep:
tmp100 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp100)->tag = 3 ;
ats_selptrset_mac(anairiats_sum_2, tmp100, atslab_0, arg2) ;
tmp99 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp99, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp99, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp99, atslab_d3exp_node, tmp100) ;

return (tmp99) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_intrep] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 6917(line=371, offs=3) -- 6998(line=375, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_bool (ats_ptr_type arg0, ats_ptr_type arg1, ats_bool_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp101) ;
ATSlocal (ats_ptr_type, tmp102) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_bool:
tmp102 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp102)->tag = 4 ;
ats_selptrset_mac(anairiats_sum_5, tmp102, atslab_0, arg2) ;
tmp101 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp101, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp101, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp101, atslab_d3exp_node, tmp102) ;

return (tmp101) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_bool] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 7046(line=379, offs=3) -- 7127(line=383, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_char (ats_ptr_type arg0, ats_ptr_type arg1, ats_char_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp103) ;
ATSlocal (ats_ptr_type, tmp104) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_char:
tmp104 = ATS_MALLOC(sizeof(anairiats_sum_6)) ;
((ats_sum_ptr_type)tmp104)->tag = 5 ;
ats_selptrset_mac(anairiats_sum_6, tmp104, atslab_0, arg2) ;
tmp103 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp103, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp103, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp103, atslab_d3exp_node, tmp104) ;

return (tmp103) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_char] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 7176(line=387, offs=3) -- 7262(line=391, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_float (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp105) ;
ATSlocal (ats_ptr_type, tmp106) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_float:
tmp106 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp106)->tag = 6 ;
ats_selptrset_mac(anairiats_sum_2, tmp106, atslab_0, arg2) ;
tmp105 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp105, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp105, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp105, atslab_d3exp_node, tmp106) ;

return (tmp105) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_float] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 7313(line=395, offs=3) -- 7400(line=399, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_string (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp107) ;
ATSlocal (ats_ptr_type, tmp108) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_string:
tmp108 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp108)->tag = 7 ;
ats_selptrset_mac(anairiats_sum_2, tmp108, atslab_0, arg2) ;
tmp107 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp107, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp107, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp107, atslab_d3exp_node, tmp108) ;

return (tmp107) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_string] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 7471(line=405, offs=3) -- 7552(line=409, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_i0nt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp109) ;
ATSlocal (ats_ptr_type, tmp110) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_i0nt:
tmp110 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp110)->tag = 8 ;
ats_selptrset_mac(anairiats_sum_2, tmp110, atslab_0, arg2) ;
tmp109 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp109, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp109, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp109, atslab_d3exp_node, tmp110) ;

return (tmp109) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_i0nt] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 7602(line=413, offs=3) -- 7685(line=417, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_f0loat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp111) ;
ATSlocal (ats_ptr_type, tmp112) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_f0loat:
tmp112 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp112)->tag = 9 ;
ats_selptrset_mac(anairiats_sum_2, tmp112, atslab_0, arg2) ;
tmp111 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp111, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp111, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp111, atslab_d3exp_node, tmp112) ;

return (tmp111) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_f0loat] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 7755(line=423, offs=3) -- 7831(line=427, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_top (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp113) ;
ATSlocal (ats_ptr_type, tmp114) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_top:
tmp114 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etop_13) ;
tmp113 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp113, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp113, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp113, atslab_d3exp_node, tmp114) ;

return (tmp113) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_top] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 7879(line=431, offs=3) -- 7957(line=435, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_empty (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp115) ;
ATSlocal (ats_ptr_type, tmp116) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_empty:
tmp116 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eempty_14) ;
tmp115 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp115, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp115, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp115, atslab_d3exp_node, tmp116) ;

return (tmp115) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_empty] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 8028(line=441, offs=3) -- 8114(line=445, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_cstsp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp117) ;
ATSlocal (ats_ptr_type, tmp118) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_cstsp:
tmp118 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp118)->tag = 10 ;
ats_selptrset_mac(anairiats_sum_2, tmp118, atslab_0, arg2) ;
tmp117 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp117, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp117, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp117, atslab_d3exp_node, tmp118) ;

return (tmp117) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_cstsp] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 8185(line=451, offs=3) -- 8279(line=455, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_tyrep (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp119) ;
ATSlocal (ats_ptr_type, tmp120) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_tyrep:
tmp120 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp120)->tag = 11 ;
ats_selptrset_mac(anairiats_sum_2, tmp120, atslab_0, arg2) ;
tmp119 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp119, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp119, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp119, atslab_d3exp_node, tmp120) ;

return (tmp119) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_tyrep] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 8352(line=461, offs=3) -- 8448(line=465, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_literal (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp121) ;
ATSlocal (ats_ptr_type, tmp122) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_literal:
tmp122 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp122)->tag = 12 ;
ats_selptrset_mac(anairiats_sum_2, tmp122, atslab_0, arg2) ;
tmp121 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp121, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp121, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp121, atslab_d3exp_node, tmp122) ;

return (tmp121) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_literal] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 8522(line=471, offs=3) -- 8611(line=475, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_extval (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp123) ;
ATSlocal (ats_ptr_type, tmp124) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_extval:
tmp124 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp124)->tag = 15 ;
ats_selptrset_mac(anairiats_sum_2, tmp124, atslab_0, arg2) ;
tmp123 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp123, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp123, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp123, atslab_d3exp_node, tmp124) ;

return (tmp123) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_extval] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 8665(line=479, offs=3) -- 8768(line=483, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_extfcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp125) ;
ATSlocal (ats_ptr_type, tmp126) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_extfcall:
tmp126 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp126)->tag = 16 ;
ats_selptrset_mac(anairiats_sum_9, tmp126, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_9, tmp126, atslab_1, arg3) ;
tmp125 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp125, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp125, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp125, atslab_d3exp_node, tmp126) ;

return (tmp125) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_extfcall] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 8824(line=487, offs=3) -- 8939(line=491, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_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, tmp127) ;
ATSlocal (ats_ptr_type, tmp128) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_extmcall:
tmp128 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp128)->tag = 17 ;
ats_selptrset_mac(anairiats_sum_13, tmp128, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp128, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_13, tmp128, atslab_2, arg4) ;
tmp127 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp127, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp127, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp127, atslab_d3exp_node, tmp128) ;

return (tmp127) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_extmcall] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 9220(line=512, offs=6) -- 9302(line=514, offs=34)
*/
ATSstaticdec()
ats_bool_type
f_56 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp130) ;
ATSlocal (ats_ptr_type, tmp131) ;

__ats_lab_f_56:
tmp131 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg0), atslab_d3exp_node) ;
do {
/* branch: __ats_lab_18 */
__ats_lab_18_0:
if (((ats_sum_ptr_type)tmp131)->tag != 13) { goto __ats_lab_19_0 ; }
__ats_lab_18_1:
tmp130 = ats_true_bool ;
break ;

/* branch: __ats_lab_19 */
__ats_lab_19_0:
__ats_lab_19_1:
tmp130 = ats_false_bool ;
break ;
} while (0) ;
return (tmp130) ;
} /* end of [f_56] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list.dats: 13947(line=514, offs=7) -- 14180(line=521, offs=22)
*/
ATSstaticdec()
ats_bool_type
loop_59 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_bool_type, tmp134) ;
ATSlocal (ats_ptr_type, tmp135) ;
ATSlocal (ats_ptr_type, tmp136) ;
ATSlocal (ats_bool_type, tmp137) ;

__ats_lab_loop_59:
do {
/* branch: __ats_lab_20 */
__ats_lab_20_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; }
__ats_lab_20_1:
tmp135 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ;
tmp136 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ;
tmp137 = ((ats_bool_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp135, arg2) ;
if (tmp137) {
tmp134 = ats_true_bool ;
} else {
arg0 = tmp136 ;
arg1 = arg1 ;
arg2 = arg2 ;
goto __ats_lab_loop_59 ; // tail call
} /* end of [if] */
break ;

/* branch: __ats_lab_21 */
__ats_lab_21_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_21_1:
tmp134 = ats_false_bool ;
break ;
} while (0) ;
return (tmp134) ;
} /* end of [loop_59] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list.dats: 13917(line=513, offs=20) -- 14231(line=525, offs=4)
*/
ATSstaticdec()
ats_bool_type
list_exists_funenv_01325_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_bool_type, tmp133) ;

__ats_lab_list_exists_funenv_01325_ats_ptr_type:
tmp133 = loop_59 (arg0, arg1, arg2) ;
return (tmp133) ;
} /* end of [list_exists_funenv_01325_ats_ptr_type] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list.dats: 14303(line=529, offs=11) -- 14565(line=538, offs=4)
*/
ATSstaticdec()
ats_bool_type
list_exists_fun_01326_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp132) ;

__ats_lab_list_exists_fun_01326_ats_ptr_type:
tmp132 = list_exists_funenv_01325_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ;
return (tmp132) ;
} /* end of [list_exists_fun_01326_ats_ptr_type] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 9176(line=509, offs=5) -- 9344(line=517, offs=4)
*/
ATSstaticdec()
ats_bool_type
aux1_55 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp129) ;

__ats_lab_aux1_55:
tmp129 = list_exists_fun_01326_ats_ptr_type (arg0, &f_56) ;
return (tmp129) ;
} /* end of [aux1_55] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 9367(line=519, offs=5) -- 9763(line=535, offs=2)
*/
ATSstaticdec()
ats_ptr_type
aux2_60 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp138) ;
ATSlocal (ats_ptr_type, tmp139) ;
ATSlocal (ats_ptr_type, tmp140) ;
ATSlocal (ats_ptr_type, tmp141) ;
ATSlocal (ats_ptr_type, tmp142) ;
ATSlocal (ats_ptr_type, tmp143) ;
ATSlocal (ats_ptr_type, tmp144) ;

__ats_lab_aux2_60:
do {
/* branch: __ats_lab_22 */
__ats_lab_22_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_25_0 ; }
__ats_lab_22_1:
tmp139 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ;
tmp140 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ;
tmp141 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp139) ;
tmp143 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, tmp139), atslab_d3exp_node) ;
do {
/* branch: __ats_lab_23 */
__ats_lab_23_0:
if (((ats_sum_ptr_type)tmp143)->tag != 13) { goto __ats_lab_24_0 ; }
__ats_lab_23_1:
tmp142 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2exp_topize_0 (tmp141) ;
break ;

/* branch: __ats_lab_24 */
__ats_lab_24_0:
__ats_lab_24_1:
tmp142 = tmp141 ;
break ;
} while (0) ;
tmp144 = aux2_60 (tmp140) ;
tmp138 = ATS_MALLOC(sizeof(anairiats_sum_10)) ;
ats_selptrset_mac(anairiats_sum_10, tmp138, atslab_0, tmp142) ;
ats_selptrset_mac(anairiats_sum_10, tmp138, atslab_1, tmp144) ;
break ;

/* branch: __ats_lab_25 */
__ats_lab_25_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_25_1:
tmp138 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp138) ;
} /* end of [aux2_60] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 9823(line=540, offs=11) -- 10150(line=555, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp145) ;
ATSlocal (ats_ptr_type, tmp146) ;
ATSlocal (ats_bool_type, tmp147) ;
ATSlocal (ats_ptr_type, tmp149) ;
ATSlocal (ats_ptr_type, tmp150) ;
ATSlocal (ats_ptr_type, tmp151) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_con:
/* ats_ptr_type tmp146 ; */
tmp146 = arg1 ;
tmp147 = aux1_55 (arg4) ;
if (tmp147) {
tmp149 = aux2_60 (arg4) ;
tmp150 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_datcontyp (arg2, tmp149) ;
tmp146 = tmp150 ;
} else {
/* empty */
} /* end of [if] */
tmp151 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp151)->tag = 18 ;
ats_selptrset_mac(anairiats_sum_14, tmp151, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp151, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp151, atslab_2, arg4) ;
tmp145 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp145, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp145, atslab_d3exp_type, tmp146) ;
ats_selptrset_mac(anairiats_rec_11, tmp145, atslab_d3exp_node, tmp151) ;

return (tmp145) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_con] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 10241(line=562, offs=14) -- 10354(line=568, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_tmpcst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp152) ;
ATSlocal (ats_ptr_type, tmp153) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_tmpcst:
tmp153 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp153)->tag = 19 ;
ats_selptrset_mac(anairiats_sum_9, tmp153, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_9, tmp153, atslab_1, arg3) ;
tmp152 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp152, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp152, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp152, atslab_d3exp_node, tmp153) ;

return (tmp152) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_tmpcst] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 10404(line=571, offs=14) -- 10517(line=577, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp154) ;
ATSlocal (ats_ptr_type, tmp155) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_tmpvar:
tmp155 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp155)->tag = 20 ;
ats_selptrset_mac(anairiats_sum_9, tmp155, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_9, tmp155, atslab_1, arg3) ;
tmp154 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp154, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp154, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp154, atslab_d3exp_node, tmp155) ;

return (tmp154) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_tmpvar] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 10590(line=583, offs=3) -- 10715(line=589, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_foldat (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp156) ;
ATSlocal (ats_ptr_type, tmp157) ;
ATSlocal (ats_ptr_type, tmp158) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_foldat:
tmp157 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
tmp158 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp158)->tag = 21 ;
ats_selptrset_mac(anairiats_sum_2, tmp158, atslab_0, arg1) ;
tmp156 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp156, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp156, atslab_d3exp_type, tmp157) ;
ats_selptrset_mac(anairiats_rec_11, tmp156, atslab_d3exp_node, tmp158) ;

return (tmp156) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_foldat] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 10767(line=593, offs=3) -- 10892(line=599, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_freeat (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp159) ;
ATSlocal (ats_ptr_type, tmp160) ;
ATSlocal (ats_ptr_type, tmp161) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_freeat:
tmp160 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
tmp161 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp161)->tag = 22 ;
ats_selptrset_mac(anairiats_sum_2, tmp161, atslab_0, arg1) ;
tmp159 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp159, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp159, atslab_d3exp_type, tmp160) ;
ats_selptrset_mac(anairiats_rec_11, tmp159, atslab_d3exp_node, tmp161) ;

return (tmp159) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_freeat] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 10961(line=604, offs=12) -- 11078(line=610, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_item (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp162) ;
ATSlocal (ats_ptr_type, tmp163) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_item:
tmp163 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp163)->tag = 23 ;
ats_selptrset_mac(anairiats_sum_9, tmp163, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_9, tmp163, atslab_1, arg3) ;
tmp162 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp162, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp162, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp162, atslab_d3exp_node, tmp163) ;

return (tmp162) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_item] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 11144(line=615, offs=11) -- 11283(line=623, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_let (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp164) ;
ATSlocal (ats_ptr_type, tmp165) ;
ATSlocal (ats_ptr_type, tmp166) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_let:
tmp165 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type (arg2) ;
tmp166 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp166)->tag = 24 ;
ats_selptrset_mac(anairiats_sum_9, tmp166, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_9, tmp166, atslab_1, arg2) ;
tmp164 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp164, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp164, atslab_d3exp_type, tmp165) ;
ats_selptrset_mac(anairiats_rec_11, tmp164, atslab_d3exp_node, tmp166) ;

return (tmp164) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_let] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 11354(line=629, offs=3) -- 11442(line=633, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_app_sta (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp167) ;
ATSlocal (ats_ptr_type, tmp168) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_app_sta:
tmp168 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp168)->tag = 25 ;
ats_selptrset_mac(anairiats_sum_2, tmp168, atslab_0, arg2) ;
tmp167 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp167, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp167, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp167, atslab_d3exp_node, tmp168) ;

return (tmp167) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_app_sta] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 11520(line=639, offs=3) -- 11715(line=648, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_app_unista (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp169) ;
ATSlocal (ats_ptr_type, tmp170) ;
ATSlocal (ats_ptr_type, tmp171) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_app_unista:
tmp170 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type (arg2) ;
tmp171 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, tmp170), atslab_s2exp_node) ;
do {
/* branch: __ats_lab_26 */
__ats_lab_26_0:
if (((ats_sum_ptr_type)tmp171)->tag != 28) { goto __ats_lab_27_0 ; }
__ats_lab_26_1:
tmp169 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_app_sta (arg0, arg1, arg2) ;
break ;

/* branch: __ats_lab_27 */
__ats_lab_27_0:
if (((ats_sum_ptr_type)tmp171)->tag != 20) { goto __ats_lab_28_0 ; }
__ats_lab_27_1:
tmp169 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_app_sta (arg0, arg1, arg2) ;
break ;

/* branch: __ats_lab_28 */
__ats_lab_28_0:
__ats_lab_28_1:
tmp169 = arg2 ;
break ;
} while (0) ;
return (tmp169) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_app_unista] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 11791(line=654, offs=1) -- 11907(line=660, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_app_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp172) ;
ATSlocal (ats_ptr_type, tmp173) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_app_dyn:
tmp173 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp173)->tag = 26 ;
ats_selptrset_mac(anairiats_sum_14, tmp173, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp173, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp173, atslab_2, arg4) ;
tmp172 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp172, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp172, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp172, atslab_d3exp_node, tmp173) ;

return (tmp172) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_app_dyn] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 11976(line=665, offs=11) -- 12102(line=671, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lst (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp174) ;
ATSlocal (ats_ptr_type, tmp175) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lst:
tmp175 = ATS_MALLOC(sizeof(anairiats_sum_8)) ;
((ats_sum_ptr_type)tmp175)->tag = 32 ;
ats_selptrset_mac(anairiats_sum_8, tmp175, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_8, tmp175, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_8, tmp175, atslab_2, arg4) ;
tmp174 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp174, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp174, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp174, atslab_d3exp_node, tmp175) ;

return (tmp174) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lst] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 12146(line=674, offs=11) -- 12264(line=680, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_tup (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp176) ;
ATSlocal (ats_ptr_type, tmp177) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_tup:
tmp177 = ATS_MALLOC(sizeof(anairiats_sum_16)) ;
((ats_sum_ptr_type)tmp177)->tag = 33 ;
ats_selptrset_mac(anairiats_sum_16, tmp177, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_16, tmp177, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_16, tmp177, atslab_2, arg4) ;
tmp176 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp176, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp176, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp176, atslab_d3exp_node, tmp177) ;

return (tmp176) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_tup] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 12308(line=683, offs=11) -- 12428(line=689, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp178) ;
ATSlocal (ats_ptr_type, tmp179) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_rec:
tmp179 = ATS_MALLOC(sizeof(anairiats_sum_16)) ;
((ats_sum_ptr_type)tmp179)->tag = 34 ;
ats_selptrset_mac(anairiats_sum_16, tmp179, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_16, tmp179, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_16, tmp179, atslab_2, arg4) ;
tmp178 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp178, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp178, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp178, atslab_d3exp_node, tmp179) ;

return (tmp178) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_rec] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 12472(line=692, offs=11) -- 12562(line=698, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_seq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp180) ;
ATSlocal (ats_ptr_type, tmp181) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_seq:
tmp181 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp181)->tag = 35 ;
ats_selptrset_mac(anairiats_sum_2, tmp181, atslab_0, arg2) ;
tmp180 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp180, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp180, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp180, atslab_d3exp_node, tmp181) ;

return (tmp180) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_seq] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 12626(line=703, offs=10) -- 12751(line=709, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_if (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp182) ;
ATSlocal (ats_ptr_type, tmp183) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_if:
tmp183 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp183)->tag = 27 ;
ats_selptrset_mac(anairiats_sum_13, tmp183, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp183, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_13, tmp183, atslab_2, arg4) ;
tmp182 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp182, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp182, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp182, atslab_d3exp_node, tmp183) ;

return (tmp182) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_if] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 12794(line=712, offs=11) -- 12922(line=718, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_sif (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp184) ;
ATSlocal (ats_ptr_type, tmp185) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_sif:
tmp185 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp185)->tag = 28 ;
ats_selptrset_mac(anairiats_sum_13, tmp185, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp185, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_13, tmp185, atslab_2, arg4) ;
tmp184 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp184, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp184, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp184, atslab_d3exp_node, tmp185) ;

return (tmp184) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_sif] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 12990(line=723, offs=14) -- 13101(line=729, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ifcase (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp186) ;
ATSlocal (ats_ptr_type, tmp187) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ifcase:
tmp187 = ATS_MALLOC(sizeof(anairiats_sum_17)) ;
((ats_sum_ptr_type)tmp187)->tag = 31 ;
ats_selptrset_mac(anairiats_sum_17, tmp187, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_17, tmp187, atslab_1, arg3) ;
tmp186 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp186, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp186, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp186, atslab_d3exp_node, tmp187) ;

return (tmp186) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ifcase] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 13170(line=734, offs=12) -- 13310(line=741, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_case (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp188) ;
ATSlocal (ats_ptr_type, tmp189) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_case:
tmp189 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp189)->tag = 29 ;
ats_selptrset_mac(anairiats_sum_13, tmp189, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp189, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_13, tmp189, atslab_2, arg4) ;
tmp188 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp188, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp188, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp188, atslab_d3exp_node, tmp189) ;

return (tmp188) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_case] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 13357(line=744, offs=13) -- 13492(line=751, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_scase (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp190) ;
ATSlocal (ats_ptr_type, tmp191) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_scase:
tmp191 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp191)->tag = 30 ;
ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_9, tmp191, atslab_1, arg3) ;
tmp190 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp190, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp190, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp190, atslab_d3exp_node, tmp191) ;

return (tmp190) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_scase] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 13561(line=756, offs=13) -- 13663(line=762, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_selab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp192) ;
ATSlocal (ats_ptr_type, tmp193) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_selab:
tmp193 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp193)->tag = 36 ;
ats_selptrset_mac(anairiats_sum_9, tmp193, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_9, tmp193, atslab_1, arg3) ;
tmp192 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp192, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp192, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp192, atslab_d3exp_node, tmp193) ;

return (tmp192) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_selab] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 13737(line=768, offs=3) -- 13826(line=772, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ptrofvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp194) ;
ATSlocal (ats_ptr_type, tmp195) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ptrofvar:
tmp195 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp195)->tag = 37 ;
ats_selptrset_mac(anairiats_sum_2, tmp195, atslab_0, arg2) ;
tmp194 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp194, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp194, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp194, atslab_d3exp_node, tmp195) ;

return (tmp194) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ptrofvar] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 13880(line=775, offs=16) -- 13997(line=781, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ptrofsel (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp196) ;
ATSlocal (ats_ptr_type, tmp197) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ptrofsel:
tmp197 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp197)->tag = 38 ;
ats_selptrset_mac(anairiats_sum_13, tmp197, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp197, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_13, tmp197, atslab_2, arg4) ;
tmp196 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp196, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp196, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp196, atslab_d3exp_node, tmp197) ;

return (tmp196) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ptrofsel] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 14072(line=787, offs=3) -- 14173(line=791, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_viewat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp198) ;
ATSlocal (ats_ptr_type, tmp199) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_viewat:
tmp199 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp199)->tag = 39 ;
ats_selptrset_mac(anairiats_sum_9, tmp199, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_9, tmp199, atslab_1, arg3) ;
tmp198 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp198, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp198, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp198, atslab_d3exp_node, tmp199) ;

return (tmp198) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_viewat] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 14229(line=794, offs=20) -- 14394(line=802, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_viewat_assgn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp200) ;
ATSlocal (ats_ptr_type, tmp201) ;
ATSlocal (ats_ptr_type, tmp202) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_viewat_assgn:
tmp201 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
tmp202 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp202)->tag = 50 ;
ats_selptrset_mac(anairiats_sum_13, tmp202, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_13, tmp202, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp202, atslab_2, arg3) ;
tmp200 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp200, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp200, atslab_d3exp_type, tmp201) ;
ats_selptrset_mac(anairiats_rec_11, tmp200, atslab_d3exp_node, tmp202) ;

return (tmp200) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_viewat_assgn] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 14472(line=807, offs=15) -- 14588(line=813, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_sel_var (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__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_sel_var:
tmp204 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp204)->tag = 41 ;
ats_selptrset_mac(anairiats_sum_13, tmp204, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp204, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_13, tmp204, atslab_2, arg4) ;
tmp203 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp203, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp203, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp203, atslab_d3exp_node, tmp204) ;

return (tmp203) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_sel_var] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 14663(line=819, offs=3) -- 14775(line=823, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_sel_ptr (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, tmp205) ;
ATSlocal (ats_ptr_type, tmp206) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_sel_ptr:
tmp206 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp206)->tag = 42 ;
ats_selptrset_mac(anairiats_sum_13, tmp206, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp206, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_13, tmp206, atslab_2, arg4) ;
tmp205 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp205, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp205, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp205, atslab_d3exp_node, tmp206) ;

return (tmp205) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_sel_ptr] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 14829(line=827, offs=3) -- 14941(line=831, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_sel_ref (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, tmp207) ;
ATSlocal (ats_ptr_type, tmp208) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_sel_ref:
tmp208 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp208)->tag = 43 ;
ats_selptrset_mac(anairiats_sum_13, tmp208, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp208, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_13, tmp208, atslab_2, arg4) ;
tmp207 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp207, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp207, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp207, atslab_d3exp_node, tmp208) ;

return (tmp207) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_sel_ref] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 15016(line=836, offs=17) -- 15190(line=844, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_var (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, tmp209) ;
ATSlocal (ats_ptr_type, tmp210) ;
ATSlocal (ats_ptr_type, tmp211) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_var:
tmp210 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
tmp211 = ATS_MALLOC(sizeof(anairiats_sum_18)) ;
((ats_sum_ptr_type)tmp211)->tag = 44 ;
ats_selptrset_mac(anairiats_sum_18, tmp211, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_18, tmp211, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_18, tmp211, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_18, tmp211, atslab_3, arg4) ;
tmp209 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp209, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp209, atslab_d3exp_type, tmp210) ;
ats_selptrset_mac(anairiats_rec_11, tmp209, atslab_d3exp_node, tmp211) ;

return (tmp209) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_var] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 15246(line=847, offs=17) -- 15420(line=855, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_ptr (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, tmp212) ;
ATSlocal (ats_ptr_type, tmp213) ;
ATSlocal (ats_ptr_type, tmp214) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_ptr:
tmp213 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
tmp214 = ATS_MALLOC(sizeof(anairiats_sum_18)) ;
((ats_sum_ptr_type)tmp214)->tag = 45 ;
ats_selptrset_mac(anairiats_sum_18, tmp214, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_18, tmp214, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_18, tmp214, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_18, tmp214, atslab_3, arg4) ;
tmp212 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp212, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp212, atslab_d3exp_type, tmp213) ;
ats_selptrset_mac(anairiats_rec_11, tmp212, atslab_d3exp_node, tmp214) ;

return (tmp212) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_ptr] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 15476(line=858, offs=17) -- 15650(line=866, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_ref (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, tmp215) ;
ATSlocal (ats_ptr_type, tmp216) ;
ATSlocal (ats_ptr_type, tmp217) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_ref:
tmp216 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
tmp217 = ATS_MALLOC(sizeof(anairiats_sum_18)) ;
((ats_sum_ptr_type)tmp217)->tag = 46 ;
ats_selptrset_mac(anairiats_sum_18, tmp217, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_18, tmp217, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_18, tmp217, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_18, tmp217, atslab_3, arg4) ;
tmp215 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp215, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp215, atslab_d3exp_type, tmp216) ;
ats_selptrset_mac(anairiats_rec_11, tmp215, atslab_d3exp_node, tmp217) ;

return (tmp215) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_ref] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 15727(line=871, offs=17) -- 15901(line=879, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_xchng_var (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, tmp218) ;
ATSlocal (ats_ptr_type, tmp219) ;
ATSlocal (ats_ptr_type, tmp220) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_xchng_var:
tmp219 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
tmp220 = ATS_MALLOC(sizeof(anairiats_sum_18)) ;
((ats_sum_ptr_type)tmp220)->tag = 47 ;
ats_selptrset_mac(anairiats_sum_18, tmp220, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_18, tmp220, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_18, tmp220, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_18, tmp220, atslab_3, arg4) ;
tmp218 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp218, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp218, atslab_d3exp_type, tmp219) ;
ats_selptrset_mac(anairiats_rec_11, tmp218, atslab_d3exp_node, tmp220) ;

return (tmp218) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_xchng_var] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 15957(line=882, offs=17) -- 16131(line=890, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_xchng_ptr (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, tmp221) ;
ATSlocal (ats_ptr_type, tmp222) ;
ATSlocal (ats_ptr_type, tmp223) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_xchng_ptr:
tmp222 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
tmp223 = ATS_MALLOC(sizeof(anairiats_sum_18)) ;
((ats_sum_ptr_type)tmp223)->tag = 48 ;
ats_selptrset_mac(anairiats_sum_18, tmp223, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_18, tmp223, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_18, tmp223, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_18, tmp223, atslab_3, arg4) ;
tmp221 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp221, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp221, atslab_d3exp_type, tmp222) ;
ats_selptrset_mac(anairiats_rec_11, tmp221, atslab_d3exp_node, tmp223) ;

return (tmp221) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_xchng_ptr] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 16187(line=893, offs=17) -- 16361(line=901, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_xchng_ref (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, tmp224) ;
ATSlocal (ats_ptr_type, tmp225) ;
ATSlocal (ats_ptr_type, tmp226) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_xchng_ref:
tmp225 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
tmp226 = ATS_MALLOC(sizeof(anairiats_sum_18)) ;
((ats_sum_ptr_type)tmp226)->tag = 49 ;
ats_selptrset_mac(anairiats_sum_18, tmp226, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_18, tmp226, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_18, tmp226, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_18, tmp226, atslab_3, arg4) ;
tmp224 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp224, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp224, atslab_d3exp_type, tmp225) ;
ats_selptrset_mac(anairiats_rec_11, tmp224, atslab_d3exp_node, tmp226) ;

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

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 16435(line=906, offs=14) -- 16560(line=912, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_refarg (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp227) ;
ATSlocal (ats_ptr_type, tmp228) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_refarg:
tmp228 = ATS_MALLOC(sizeof(anairiats_sum_16)) ;
((ats_sum_ptr_type)tmp228)->tag = 40 ;
ats_selptrset_mac(anairiats_sum_16, tmp228, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_16, tmp228, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_16, tmp228, atslab_2, arg4) ;
tmp227 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp227, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp227, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp227, atslab_d3exp_node, tmp228) ;

return (tmp227) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_refarg] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 16631(line=918, offs=1) -- 16766(line=924, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_arrpsz (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp229) ;
ATSlocal (ats_ptr_type, tmp230) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_arrpsz:
tmp230 = ATS_MALLOC(sizeof(anairiats_sum_19)) ;
((ats_sum_ptr_type)tmp230)->tag = 51 ;
ats_selptrset_mac(anairiats_sum_19, tmp230, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_19, tmp230, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_19, tmp230, atslab_2, arg4) ;
tmp229 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp229, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp229, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp229, atslab_d3exp_node, tmp230) ;

return (tmp229) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_arrpsz] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 16817(line=928, offs=1) -- 16955(line=934, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_arrinit (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, tmp231) ;
ATSlocal (ats_ptr_type, tmp232) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_arrinit:
tmp232 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp232)->tag = 52 ;
ats_selptrset_mac(anairiats_sum_13, tmp232, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp232, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_13, tmp232, atslab_2, arg4) ;
tmp231 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp231, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp231, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp231, atslab_d3exp_node, tmp232) ;

return (tmp231) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_arrinit] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 17026(line=940, offs=1) -- 17116(line=946, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_raise (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp233) ;
ATSlocal (ats_ptr_type, tmp234) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_raise:
tmp234 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp234)->tag = 53 ;
ats_selptrset_mac(anairiats_sum_2, tmp234, atslab_0, arg2) ;
tmp233 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp233, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp233, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp233, atslab_d3exp_node, tmp234) ;

return (tmp233) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_raise] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 17187(line=952, offs=1) -- 17334(line=962, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_effmask (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp235) ;
ATSlocal (ats_ptr_type, tmp236) ;
ATSlocal (ats_ptr_type, tmp237) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_effmask:
tmp236 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type (arg2) ;
tmp237 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp237)->tag = 54 ;
ats_selptrset_mac(anairiats_sum_9, tmp237, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_9, tmp237, atslab_1, arg2) ;
tmp235 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp235, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp235, atslab_d3exp_type, tmp236) ;
ats_selptrset_mac(anairiats_rec_11, tmp235, atslab_d3exp_node, tmp237) ;

return (tmp235) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_effmask] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 17406(line=968, offs=1) -- 17498(line=974, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_vararg (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp238) ;
ATSlocal (ats_ptr_type, tmp239) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_vararg:
tmp239 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp239)->tag = 55 ;
ats_selptrset_mac(anairiats_sum_2, tmp239, atslab_0, arg2) ;
tmp238 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp238, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp238, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp238, atslab_d3exp_node, tmp239) ;

return (tmp238) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_vararg] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 17571(line=980, offs=1) -- 17674(line=986, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_vcopyenv (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp240) ;
ATSlocal (ats_ptr_type, tmp241) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_vcopyenv:
tmp241 = ATS_MALLOC(sizeof(anairiats_sum_17)) ;
((ats_sum_ptr_type)tmp241)->tag = 56 ;
ats_selptrset_mac(anairiats_sum_17, tmp241, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_17, tmp241, atslab_1, arg3) ;
tmp240 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp240, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp240, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp240, atslab_d3exp_node, tmp241) ;

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

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 17750(line=992, offs=1) -- 17846(line=998, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_tempenver (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp242) ;
ATSlocal (ats_ptr_type, tmp243) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_tempenver:
tmp243 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp243)->tag = 57 ;
ats_selptrset_mac(anairiats_sum_2, tmp243, atslab_0, arg2) ;
tmp242 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp242, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp242, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp242, atslab_d3exp_node, tmp243) ;

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

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 17924(line=1004, offs=3) -- 18018(line=1008, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ann_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp244) ;
ATSlocal (ats_ptr_type, tmp245) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ann_type:
tmp245 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp245)->tag = 58 ;
ats_selptrset_mac(anairiats_sum_9, tmp245, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_9, tmp245, atslab_1, arg2) ;
tmp244 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp244, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp244, atslab_d3exp_type, arg2) ;
ats_selptrset_mac(anairiats_rec_11, tmp244, atslab_d3exp_node, tmp245) ;

return (tmp244) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ann_type] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 18092(line=1014, offs=1) -- 18224(line=1020, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lam_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp246) ;
ATSlocal (ats_ptr_type, tmp247) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lam_dyn:
tmp247 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp247)->tag = 59 ;
ats_selptrset_mac(anairiats_sum_7, tmp247, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_7, tmp247, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_7, tmp247, atslab_2, arg4) ;
ats_selptrset_mac(anairiats_sum_7, tmp247, atslab_3, arg5) ;
tmp246 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp246, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp246, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp246, atslab_d3exp_node, tmp247) ;

return (tmp246) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lam_dyn] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 18280(line=1023, offs=19) -- 18416(line=1029, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_laminit_dyn (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp248) ;
ATSlocal (ats_ptr_type, tmp249) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_laminit_dyn:
tmp249 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp249)->tag = 60 ;
ats_selptrset_mac(anairiats_sum_7, tmp249, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_7, tmp249, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_7, tmp249, atslab_2, arg4) ;
ats_selptrset_mac(anairiats_sum_7, tmp249, atslab_3, arg5) ;
tmp248 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp248, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp248, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp248, atslab_d3exp_node, tmp249) ;

return (tmp248) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_laminit_dyn] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 18472(line=1032, offs=15) -- 18598(line=1038, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lam_sta (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, tmp250) ;
ATSlocal (ats_ptr_type, tmp251) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lam_sta:
tmp251 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp251)->tag = 61 ;
ats_selptrset_mac(anairiats_sum_13, tmp251, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp251, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_13, tmp251, atslab_2, arg4) ;
tmp250 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp250, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp250, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp250, atslab_d3exp_node, tmp251) ;

return (tmp250) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lam_sta] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 18650(line=1041, offs=15) -- 18783(line=1047, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lam_met (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp252) ;
ATSlocal (ats_ptr_type, tmp253) ;
ATSlocal (ats_ptr_type, tmp254) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lam_met:
tmp253 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg2), atslab_d3exp_type) ;
tmp254 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp254)->tag = 62 ;
ats_selptrset_mac(anairiats_sum_9, tmp254, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_9, tmp254, atslab_1, arg2) ;
tmp252 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp252, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp252, atslab_d3exp_type, tmp253) ;
ats_selptrset_mac(anairiats_rec_11, tmp252, atslab_d3exp_node, tmp254) ;

return (tmp252) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lam_met] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 18852(line=1053, offs=1) -- 18980(line=1059, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_fix (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp255) ;
ATSlocal (ats_ptr_type, tmp256) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_fix:
tmp256 = ATS_MALLOC(sizeof(anairiats_sum_8)) ;
((ats_sum_ptr_type)tmp256)->tag = 63 ;
ats_selptrset_mac(anairiats_sum_8, tmp256, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_8, tmp256, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_8, tmp256, atslab_2, arg4) ;
tmp255 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp255, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp255, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp255, atslab_d3exp_node, tmp256) ;

return (tmp255) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_fix] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 19047(line=1064, offs=13) -- 19141(line=1070, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_delay (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__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_delay:
tmp258 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp258)->tag = 64 ;
ats_selptrset_mac(anairiats_sum_2, tmp258, atslab_0, arg2) ;
tmp257 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp257, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp257, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp257, atslab_d3exp_node, tmp258) ;

return (tmp257) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_delay] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 19190(line=1073, offs=14) -- 19299(line=1079, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ldelay (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp259) ;
ATSlocal (ats_ptr_type, tmp260) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ldelay:
tmp260 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp260)->tag = 65 ;
ats_selptrset_mac(anairiats_sum_9, tmp260, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_9, tmp260, atslab_1, arg3) ;
tmp259 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp259, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp259, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp259, atslab_d3exp_node, tmp260) ;

return (tmp259) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_ldelay] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 19372(line=1084, offs=16) -- 19491(line=1090, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lazyeval (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp261) ;
ATSlocal (ats_ptr_type, tmp262) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lazyeval:
tmp262 = ATS_MALLOC(sizeof(anairiats_sum_17)) ;
((ats_sum_ptr_type)tmp262)->tag = 66 ;
ats_selptrset_mac(anairiats_sum_17, tmp262, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_17, tmp262, atslab_1, arg3) ;
tmp261 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp261, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp261, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp261, atslab_d3exp_node, tmp262) ;

return (tmp261) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_lazyeval] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 19562(line=1096, offs=1) -- 19727(line=1104, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_loop (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, tmp263) ;
ATSlocal (ats_ptr_type, tmp264) ;
ATSlocal (ats_ptr_type, tmp265) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_loop:
tmp264 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
tmp265 = ATS_MALLOC(sizeof(anairiats_sum_18)) ;
((ats_sum_ptr_type)tmp265)->tag = 67 ;
ats_selptrset_mac(anairiats_sum_18, tmp265, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_18, tmp265, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_18, tmp265, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_18, tmp265, atslab_3, arg4) ;
tmp263 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp263, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp263, atslab_d3exp_type, tmp264) ;
ats_selptrset_mac(anairiats_rec_11, tmp263, atslab_d3exp_node, tmp265) ;

return (tmp263) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_loop] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 19778(line=1108, offs=3) -- 19904(line=1114, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_loopexn (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp266) ;
ATSlocal (ats_ptr_type, tmp267) ;
ATSlocal (ats_ptr_type, tmp268) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_loopexn:
tmp267 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
tmp268 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp268)->tag = 68 ;
ats_selptrset_mac(anairiats_sum_4, tmp268, atslab_0, arg1) ;
tmp266 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp266, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp266, atslab_d3exp_type, tmp267) ;
ats_selptrset_mac(anairiats_rec_11, tmp266, atslab_d3exp_node, tmp268) ;

return (tmp266) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_loopexn] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 19977(line=1119, offs=15) -- 20106(line=1125, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_trywith (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp269) ;
ATSlocal (ats_ptr_type, tmp270) ;
ATSlocal (ats_ptr_type, tmp271) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_trywith:
tmp270 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_11, arg1), atslab_d3exp_type) ;
tmp271 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp271)->tag = 69 ;
ats_selptrset_mac(anairiats_sum_9, tmp271, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_9, tmp271, atslab_1, arg2) ;
tmp269 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp269, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp269, atslab_d3exp_type, tmp270) ;
ats_selptrset_mac(anairiats_rec_11, tmp269, atslab_d3exp_node, tmp271) ;

return (tmp269) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_trywith] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 20183(line=1131, offs=3) -- 20293(line=1136, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_solverify (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp272) ;
ATSlocal (ats_ptr_type, tmp273) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_solverify:
tmp273 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp273)->tag = 70 ;
ats_selptrset_mac(anairiats_sum_2, tmp273, atslab_0, arg1) ;
tmp272 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp272, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp272, atslab_d3exp_type, arg1) ;
ats_selptrset_mac(anairiats_rec_11, tmp272, atslab_d3exp_node, tmp273) ;

return (tmp272) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_solverify] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 20367(line=1141, offs=14) -- 20495(line=1149, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_errexp (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp274) ;
ATSlocal (ats_ptr_type, tmp275) ;
ATSlocal (ats_ptr_type, tmp276) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_errexp:
tmp275 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ;
tmp276 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eerrexp_71) ;
tmp274 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp274, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp274, atslab_d3exp_type, tmp275) ;
ats_selptrset_mac(anairiats_rec_11, tmp274, atslab_d3exp_node, tmp276) ;

return (tmp274) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_errexp] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 20550(line=1152, offs=19) -- 20675(line=1158, offs=6)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_errexp_void (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp277) ;
ATSlocal (ats_ptr_type, tmp278) ;
ATSlocal (ats_ptr_type, tmp279) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_errexp_void:
tmp278 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
tmp279 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eerrexp_71) ;
tmp277 = ATS_MALLOC(sizeof(anairiats_rec_11)) ;
ats_selptrset_mac(anairiats_rec_11, tmp277, atslab_d3exp_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_11, tmp277, atslab_d3exp_type, tmp278) ;
ats_selptrset_mac(anairiats_rec_11, tmp277, atslab_d3exp_node, tmp279) ;

return (tmp277) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_errexp_void] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 20748(line=1164, offs=1) -- 20873(line=1171, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3lab_lab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp280) ;
ATSlocal (ats_ptr_type, tmp281) ;
ATSlocal (ats_ptr_type, tmp282) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3lab_lab:
tmp281 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp281)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_2, tmp281, atslab_0, arg1) ;
tmp282 = (ats_sum_ptr_type)0 ;
tmp280 = ATS_MALLOC(sizeof(anairiats_rec_20)) ;
ats_selptrset_mac(anairiats_rec_20, tmp280, atslab_d3lab_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_20, tmp280, atslab_d3lab_node, tmp281) ;
ats_selptrset_mac(anairiats_rec_20, tmp280, atslab_d3lab_overld, arg2) ;
ats_selptrset_mac(anairiats_rec_20, tmp280, atslab_d3lab_overld_app, tmp282) ;

return (tmp280) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3lab_lab] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 20922(line=1175, offs=3) -- 21047(line=1180, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3lab_ind (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp283) ;
ATSlocal (ats_ptr_type, tmp284) ;
ATSlocal (ats_ptr_type, tmp285) ;
ATSlocal (ats_ptr_type, tmp286) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3lab_ind:
tmp284 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp284)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_2, tmp284, atslab_0, arg1) ;
tmp285 = (ats_sum_ptr_type)0 ;
tmp286 = (ats_sum_ptr_type)0 ;
tmp283 = ATS_MALLOC(sizeof(anairiats_rec_20)) ;
ats_selptrset_mac(anairiats_rec_20, tmp283, atslab_d3lab_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_20, tmp283, atslab_d3lab_node, tmp284) ;
ats_selptrset_mac(anairiats_rec_20, tmp283, atslab_d3lab_overld, tmp285) ;
ats_selptrset_mac(anairiats_rec_20, tmp283, atslab_d3lab_overld_app, tmp286) ;

return (tmp283) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3lab_ind] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 21116(line=1186, offs=1) -- 21198(line=1191, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__i3fcl_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp287) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__i3fcl_make:
tmp287 = ATS_MALLOC(sizeof(anairiats_rec_21)) ;
ats_selptrset_mac(anairiats_rec_21, tmp287, atslab_i3fcl_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_21, tmp287, atslab_i3fcl_test, arg1) ;
ats_selptrset_mac(anairiats_rec_21, tmp287, atslab_i3fcl_body, arg2) ;

return (tmp287) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__i3fcl_make] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 21270(line=1197, offs=3) -- 21343(line=1199, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__gm3at_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp288) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__gm3at_make:
tmp288 = ATS_MALLOC(sizeof(anairiats_rec_22)) ;
ats_selptrset_mac(anairiats_rec_22, tmp288, atslab_gm3at_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_22, tmp288, atslab_gm3at_exp, arg1) ;
ats_selptrset_mac(anairiats_rec_22, tmp288, atslab_gm3at_pat, arg2) ;

return (tmp288) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__gm3at_make] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 21389(line=1202, offs=12) -- 21534(line=1210, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__c3lau_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, tmp289) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__c3lau_make:
tmp289 = ATS_MALLOC(sizeof(anairiats_rec_23)) ;
ats_selptrset_mac(anairiats_rec_23, tmp289, atslab_c3lau_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_23, tmp289, atslab_c3lau_pat, arg1) ;
ats_selptrset_mac(anairiats_rec_23, tmp289, atslab_c3lau_gua, arg2) ;
ats_selptrset_mac(anairiats_rec_23, tmp289, atslab_c3lau_seq, arg3) ;
ats_selptrset_mac(anairiats_rec_23, tmp289, atslab_c3lau_neg, arg4) ;
ats_selptrset_mac(anairiats_rec_23, tmp289, atslab_c3lau_body, arg5) ;

return (tmp289) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__c3lau_make] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 21581(line=1213, offs=13) -- 21664(line=1219, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__sc3lau_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp290) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__sc3lau_make:
tmp290 = ATS_MALLOC(sizeof(anairiats_rec_24)) ;
ats_selptrset_mac(anairiats_rec_24, tmp290, atslab_sc3lau_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_24, tmp290, atslab_sc3lau_pat, arg1) ;
ats_selptrset_mac(anairiats_rec_24, tmp290, atslab_sc3lau_body, arg2) ;

return (tmp290) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__sc3lau_make] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 21788(line=1228, offs=14) -- 21937(line=1236, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__i3mpdec_make (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, tmp291) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__i3mpdec_make:
tmp291 = ATS_MALLOC(sizeof(anairiats_rec_25)) ;
ats_selptrset_mac(anairiats_rec_25, tmp291, atslab_i3mpdec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_25, tmp291, atslab_i3mpdec_cst, arg1) ;
ats_selptrset_mac(anairiats_rec_25, tmp291, atslab_i3mpdec_imparg, arg2) ;
ats_selptrset_mac(anairiats_rec_25, tmp291, atslab_i3mpdec_tmparg, arg3) ;
ats_selptrset_mac(anairiats_rec_25, tmp291, atslab_i3mpdec_def, arg4) ;

return (tmp291) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__i3mpdec_make] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 22010(line=1242, offs=3) -- 22089(line=1246, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__f3undec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp292) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__f3undec_make:
tmp292 = ATS_MALLOC(sizeof(anairiats_rec_26)) ;
ats_selptrset_mac(anairiats_rec_26, tmp292, atslab_f3undec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_26, tmp292, atslab_f3undec_var, arg1) ;
ats_selptrset_mac(anairiats_rec_26, tmp292, atslab_f3undec_def, arg2) ;

return (tmp292) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__f3undec_make] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 22162(line=1252, offs=3) -- 22241(line=1256, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__v3aldec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp293) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__v3aldec_make:
tmp293 = ATS_MALLOC(sizeof(anairiats_rec_27)) ;
ats_selptrset_mac(anairiats_rec_27, tmp293, atslab_v3aldec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_27, tmp293, atslab_v3aldec_pat, arg1) ;
ats_selptrset_mac(anairiats_rec_27, tmp293, atslab_v3aldec_def, arg2) ;

return (tmp293) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__v3aldec_make] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 22312(line=1262, offs=1) -- 22522(line=1274, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__v3ardec_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) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp294) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__v3ardec_make:
tmp294 = ATS_MALLOC(sizeof(anairiats_rec_28)) ;
ats_selptrset_mac(anairiats_rec_28, tmp294, atslab_v3ardec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_28, tmp294, atslab_v3ardec_knd, arg1) ;
ats_selptrset_mac(anairiats_rec_28, tmp294, atslab_v3ardec_dvar_var, arg2) ;
ats_selptrset_mac(anairiats_rec_28, tmp294, atslab_v3ardec_dvar_view, arg3) ;
ats_selptrset_mac(anairiats_rec_28, tmp294, atslab_v3ardec_type, arg4) ;
ats_selptrset_mac(anairiats_rec_28, tmp294, atslab_v3ardec_init, arg5) ;
ats_selptrset_mac(anairiats_rec_28, tmp294, atslab_v3ardec_dvaropt, arg6) ;

return (tmp294) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__v3ardec_make] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 22574(line=1278, offs=1) -- 22694(line=1285, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__prv3ardec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp295) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__prv3ardec_make:
tmp295 = ATS_MALLOC(sizeof(anairiats_rec_29)) ;
ats_selptrset_mac(anairiats_rec_29, tmp295, atslab_prv3ardec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_29, tmp295, atslab_prv3ardec_dvar, arg1) ;
ats_selptrset_mac(anairiats_rec_29, tmp295, atslab_prv3ardec_type, arg2) ;
ats_selptrset_mac(anairiats_rec_29, tmp295, atslab_prv3ardec_init, arg3) ;

return (tmp295) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__prv3ardec_make] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 22772(line=1291, offs=3) -- 22825(line=1293, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp296) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node:
tmp296 = ATS_MALLOC(sizeof(anairiats_rec_30)) ;
ats_selptrset_mac(anairiats_rec_30, tmp296, atslab_d3ecl_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_30, tmp296, atslab_d3ecl_node, arg1) ;

return (tmp296) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 22899(line=1299, offs=3) -- 22940(line=1300, offs=34)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_none (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp297) ;
ATSlocal (ats_ptr_type, tmp298) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_none:
tmp298 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Cnone_0) ;
tmp297 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp298) ;
return (tmp297) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_none] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 22987(line=1304, offs=3) -- 23035(line=1305, offs=37)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_list (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp299) ;
ATSlocal (ats_ptr_type, tmp300) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_list:
tmp300 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp300)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_2, tmp300, atslab_0, arg1) ;
tmp299 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp300) ;
return (tmp299) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_list] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 23106(line=1311, offs=14) -- 23158(line=1312, offs=40)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_saspdec (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp301) ;
ATSlocal (ats_ptr_type, tmp302) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_saspdec:
tmp302 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp302)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_2, tmp302, atslab_0, arg1) ;
tmp301 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp302) ;
return (tmp301) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_saspdec] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 23209(line=1315, offs=15) -- 23262(line=1316, offs=41)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_reassume (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp303) ;
ATSlocal (ats_ptr_type, tmp304) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_reassume:
tmp304 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp304)->tag = 3 ;
ats_selptrset_mac(anairiats_sum_2, tmp304, atslab_0, arg1) ;
tmp303 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp304) ;
return (tmp303) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_reassume] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 23339(line=1323, offs=3) -- 23412(line=1324, offs=51)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_extype (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp305) ;
ATSlocal (ats_ptr_type, tmp306) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_extype:
tmp306 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp306)->tag = 4 ;
ats_selptrset_mac(anairiats_sum_9, tmp306, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_9, tmp306, atslab_1, arg2) ;
tmp305 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp306) ;
return (tmp305) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_extype] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 23464(line=1329, offs=3) -- 23537(line=1330, offs=51)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_extvar (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__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_extvar:
tmp308 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp308)->tag = 5 ;
ats_selptrset_mac(anairiats_sum_9, tmp308, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_9, tmp308, atslab_1, arg2) ;
tmp307 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp308) ;
return (tmp307) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_extvar] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 23611(line=1337, offs=3) -- 23687(line=1338, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_extcode (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp309) ;
ATSlocal (ats_ptr_type, tmp310) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_extcode:
tmp310 = ATS_MALLOC(sizeof(anairiats_sum_16)) ;
((ats_sum_ptr_type)tmp310)->tag = 6 ;
ats_selptrset_mac(anairiats_sum_16, tmp310, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_16, tmp310, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_16, tmp310, atslab_2, arg3) ;
tmp309 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp310) ;
return (tmp309) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_extcode] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 23762(line=1345, offs=3) -- 23828(line=1346, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_datdecs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp311) ;
ATSlocal (ats_ptr_type, tmp312) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_datdecs:
tmp312 = ATS_MALLOC(sizeof(anairiats_sum_17)) ;
((ats_sum_ptr_type)tmp312)->tag = 8 ;
ats_selptrset_mac(anairiats_sum_17, tmp312, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_17, tmp312, atslab_1, arg2) ;
tmp311 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp312) ;
return (tmp311) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_datdecs] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 23903(line=1353, offs=3) -- 23959(line=1354, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_exndecs (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp313) ;
ATSlocal (ats_ptr_type, tmp314) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_exndecs:
tmp314 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp314)->tag = 7 ;
ats_selptrset_mac(anairiats_sum_2, tmp314, atslab_0, arg1) ;
tmp313 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp314) ;
return (tmp313) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_exndecs] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 24035(line=1361, offs=3) -- 24112(line=1362, offs=54)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_dcstdecs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp315) ;
ATSlocal (ats_ptr_type, tmp316) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_dcstdecs:
tmp316 = ATS_MALLOC(sizeof(anairiats_sum_8)) ;
((ats_sum_ptr_type)tmp316)->tag = 9 ;
ats_selptrset_mac(anairiats_sum_8, tmp316, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_8, tmp316, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_8, tmp316, atslab_2, arg3) ;
tmp315 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp316) ;
return (tmp315) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_dcstdecs] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 24187(line=1369, offs=3) -- 24256(line=1370, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_impdec (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp317) ;
ATSlocal (ats_ptr_type, tmp318) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_impdec:
tmp318 = ATS_MALLOC(sizeof(anairiats_sum_17)) ;
((ats_sum_ptr_type)tmp318)->tag = 10 ;
ats_selptrset_mac(anairiats_sum_17, tmp318, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_17, tmp318, atslab_1, arg2) ;
tmp317 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp318) ;
return (tmp317) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_impdec] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 24330(line=1377, offs=3) -- 24418(line=1378, offs=59)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_fundecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp319) ;
ATSlocal (ats_ptr_type, tmp320) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_fundecs:
tmp320 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp320)->tag = 11 ;
ats_selptrset_mac(anairiats_sum_13, tmp320, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_13, tmp320, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp320, atslab_2, arg3) ;
tmp319 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp320) ;
return (tmp319) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_fundecs] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 24493(line=1385, offs=3) -- 24559(line=1386, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_valdecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp321) ;
ATSlocal (ats_ptr_type, tmp322) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_valdecs:
tmp322 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp322)->tag = 12 ;
ats_selptrset_mac(anairiats_sum_9, tmp322, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_9, tmp322, atslab_1, arg2) ;
tmp321 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp322) ;
return (tmp321) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_valdecs] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 24617(line=1391, offs=3) -- 24687(line=1392, offs=52)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_valdecs_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp323) ;
ATSlocal (ats_ptr_type, tmp324) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_valdecs_rec:
tmp324 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp324)->tag = 13 ;
ats_selptrset_mac(anairiats_sum_9, tmp324, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_9, tmp324, atslab_1, arg2) ;
tmp323 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp324) ;
return (tmp323) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_valdecs_rec] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 24766(line=1399, offs=3) -- 24822(line=1400, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_vardecs (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp325) ;
ATSlocal (ats_ptr_type, tmp326) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_vardecs:
tmp326 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp326)->tag = 14 ;
ats_selptrset_mac(anairiats_sum_2, tmp326, atslab_0, arg1) ;
tmp325 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp326) ;
return (tmp325) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_vardecs] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 24878(line=1405, offs=3) -- 24936(line=1406, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_prvardecs (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp327) ;
ATSlocal (ats_ptr_type, tmp328) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_prvardecs:
tmp328 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp328)->tag = 15 ;
ats_selptrset_mac(anairiats_sum_2, tmp328, atslab_0, arg1) ;
tmp327 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp328) ;
return (tmp327) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_prvardecs] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 25013(line=1413, offs=3) -- 25079(line=1414, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_include (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp329) ;
ATSlocal (ats_ptr_type, tmp330) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_include:
tmp330 = ATS_MALLOC(sizeof(anairiats_sum_17)) ;
((ats_sum_ptr_type)tmp330)->tag = 16 ;
ats_selptrset_mac(anairiats_sum_17, tmp330, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_17, tmp330, atslab_1, arg2) ;
tmp329 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp330) ;
return (tmp329) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_include] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 25152(line=1421, offs=1) -- 25264(line=1424, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_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, tmp331) ;
ATSlocal (ats_ptr_type, tmp332) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_staload:
tmp332 = ATS_MALLOC(sizeof(anairiats_sum_31)) ;
((ats_sum_ptr_type)tmp332)->tag = 17 ;
ats_selptrset_mac(anairiats_sum_31, tmp332, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_31, tmp332, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_31, tmp332, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_31, tmp332, atslab_3, arg4) ;
ats_selptrset_mac(anairiats_sum_31, tmp332, atslab_4, arg5) ;
tmp331 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp332) ;
return (tmp331) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_staload] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 25320(line=1429, offs=3) -- 25407(line=1430, offs=60)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_staloadloc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp333) ;
ATSlocal (ats_ptr_type, tmp334) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_staloadloc:
tmp334 = ATS_MALLOC(sizeof(anairiats_sum_13)) ;
((ats_sum_ptr_type)tmp334)->tag = 18 ;
ats_selptrset_mac(anairiats_sum_13, tmp334, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_13, tmp334, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_13, tmp334, atslab_2, arg3) ;
tmp333 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp334) ;
return (tmp333) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_staloadloc] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 25487(line=1437, offs=3) -- 25541(line=1438, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_dynload (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp335) ;
ATSlocal (ats_ptr_type, tmp336) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_dynload:
tmp336 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp336)->tag = 19 ;
ats_selptrset_mac(anairiats_sum_2, tmp336, atslab_0, arg1) ;
tmp335 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp336) ;
return (tmp335) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_dynload] */

/*
// /tmp/ATS-Postiats/src/pats_dynexp3.dats: 25614(line=1445, offs=3) -- 25680(line=1446, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_local (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp337) ;
ATSlocal (ats_ptr_type, tmp338) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_local:
tmp338 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp338)->tag = 20 ;
ats_selptrset_mac(anairiats_sum_9, tmp338, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_9, tmp338, atslab_1, arg2) ;
tmp337 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_make_node (arg0, tmp338) ;
return (tmp337) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3ecl_local] */

/* static load function */

// extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__staload (void) ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2edats__staload () {
static int _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2edats__staload_flag = 0 ;
if (_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2edats__staload_flag) return ;
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2edats__staload_flag = 1 ;

// _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__staload () ;

return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2edats__dynload_flag ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2edats__dynload () {
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2edats__dynload_flag = 1 ;
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2edats__staload () ;

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

/* marking static variables for GC */

/* marking external values for GC */

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

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


ats_void_type
patsopt_p3at_set_type (
  ats_ptr_type p3t, ats_ptr_type s2f
) {
  ((p3at_t)p3t)->atslab_p3at_type = s2f ; return ;
} // end of [patsopt_p3at_set_type]

ats_void_type
patsopt_p3at_set_dvaropt (
  ats_ptr_type p3t, ats_ptr_type opt
) {
  ((p3at_t)p3t)->atslab_p3at_dvaropt = opt ; return ;
} // end of [patsopt_p3at_set_dvaropt]

ats_void_type
patsopt_p3at_set_type_left (
  ats_ptr_type p3t, ats_ptr_type opt
) {
  ((p3at_t)p3t)->atslab_p3at_type_left = opt ; return ;
} // end of [patsopt_p3at_set_type_left]

ats_void_type
patsopt_d3exp_set_type (
  ats_ptr_type d3e, ats_ptr_type s2f
) {
  ((d3exp_t)d3e)->atslab_d3exp_type = s2f ; return ;
} // end of [patsopt_d3exp_set_type]

ats_void_type
patsopt_d3lab_set_overld_app
(
  ats_ptr_type d3l, ats_ptr_type opt
) {
  ((d3lab_t)d3l)->atslab_d3lab_overld_app = opt ; return ;
} // end of [patsopt_d3lab_set_overld_app]



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

/* end of [pats_dynexp3_dats.c] */
