/*
**
** The C code is generated by ATS/Anairiats
** The compilation time is: 2020-11-6:  1h:11m
**
*/

/* 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/bool.cats"
#include "prelude/CATS/char.cats"
#include "prelude/CATS/byte.cats"
#include "prelude/CATS/float.cats"
#include "prelude/CATS/integer.cats"
#include "prelude/CATS/integer_ptr.cats"
#include "prelude/CATS/integer_fixed.cats"
#include "prelude/CATS/sizetype.cats"
#include "prelude/CATS/pointer.cats"
#include "prelude/CATS/reference.cats"
#include "prelude/CATS/string.cats"
#include "prelude/CATS/lazy.cats"
#include "prelude/CATS/lazy_vt.cats"
#include "prelude/CATS/printf.cats"
#include "prelude/CATS/list.cats"
#include "prelude/CATS/option.cats"
#include "prelude/CATS/array.cats"
#include "prelude/CATS/matrix.cats"
#endif /* _ATS_PRELUDE_NONE */
/* prologues from statically loaded files */

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

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

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

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

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

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

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

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

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

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

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

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

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

typedef struct {
anairiats_rec_9 atslab_0 ;
} anairiats_sum_10 ;

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

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

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

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

typedef struct {
ats_ptr_type atslab_0 ;
} anairiats_sum_15 ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* external typedefs */
typedef anairiats_rec_27 *hiimpdec_t ;
typedef anairiats_rec_24 *hifundec_t ;
typedef anairiats_rec_1 *hipat_t ;

/* external dynamic constructor declarations */
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__PCKcon_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__PCKfree_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__HSLABELED_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__LABHIPAT_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPany_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPvar_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPint_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPintrep_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPbool_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPchar_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPstring_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPfloat_7) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPi0nt_8) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPf0loat_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPempty_10) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPcon_11) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPcon_any_12) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPrec_13) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPrefas_14) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPann_15) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HILlab_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HILind_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__LABHIDEXP_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEcst_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEvar_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEint_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEintrep_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEbool_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEchar_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEfloat_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEstring_7) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEi0nt_8) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEf0loat_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEcstsp_10) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEtyrep_11) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEtop_12) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEempty_13) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEignore_14) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEcastfn_15) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEextval_16) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEextfcall_17) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEextmcall_18) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEcon_19) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEtmpcst_20) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEtmpvar_21) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEfoldat_22) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEfreeat_23) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDElet_24) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEapp_25) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEif_26) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEsif_27) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEcase_28) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDElst_29) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDErec_30) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEseq_31) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEselab_32) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEptrofvar_33) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEptrofsel_34) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDErefarg_35) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEselvar_36) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEselptr_37) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEassgn_var_38) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEassgn_ptr_39) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDExchng_var_40) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDExchng_ptr_41) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEarrpsz_42) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEarrinit_43) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEraise_44) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEvararg_45) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEtempenver_46) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDElam_47) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEfix_48) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEdelay_49) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEldelay_50) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDElazyeval_51) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEloop_52) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEloopexn_53) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEtrywith_54) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEerrexp_55) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDnone_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDlist_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDsaspdec_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDreassume_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDextype_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDextvar_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDextcode_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDexndecs_7) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDdatdecs_8) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDdcstdecs_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDimpdec_10) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDfundecs_11) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDvaldecs_12) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDvaldecs_rec_13) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDvardecs_14) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDinclude_15) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDstaload_16) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDstaloadloc_17) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDdynload_18) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDlocal_19) ;

/* external dynamic constant declarations */
ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_isucc) (ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_isub) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_idiv) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_igt) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_size1_of_int1) (ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_add_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_sub_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_mul2_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_lt_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_neq_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_ptr_alloc_tsz) (ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_ptr_zero_tsz) (ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_ref_make_elt_tsz) (ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, ListSubscriptException_make) () ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_alloc_tsz) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_free) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_funenv_tsz) (ats_ref_type, ats_size_type, ats_ptr_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_cloenv_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_split_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(anairiats_rec_0, atspre_array_ptr_takeout2_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_foreach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_iforeach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_array2_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atslib_qsort) (ats_ref_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _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__s2cst_get_islst) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2cstref_get_cst) (ats_ptr_type) ;
ATSextern_val(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__the_list_t0ype_int_type) ;
ATSextern_val(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_is_castfn) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cstmap_search) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cstmap_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2varmap_search) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2varmap_insert) (ats_ref_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_void_t0ype) () ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_tysum) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con_any) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_rec) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_get_type) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_castfn) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, patsopt_hifundec_getref_hideclopt) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_find) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_insert) (ats_ref_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts) (ats_ref_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans2_env_2esats__filenv_getref_tmpcstimpmap) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans2_env_2esats__filenv_getref_tmpvardecmap) (ats_ptr_type) ;

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

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

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

/* function implementations */

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

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

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

__ats_lab_f_2:

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

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

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list.dats: 32895(line=1167, offs=7) -- 33167(line=1176, offs=21)
*/
ATSstaticdec()
ats_bool_type
loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_bool_type, tmp7) ;
ATSlocal (ats_ptr_type, tmp8) ;
ATSlocal (ats_ptr_type, tmp9) ;
ATSlocal (ats_bool_type, tmp10) ;

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

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

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list.dats: 32865(line=1166, offs=20) -- 33218(line=1180, offs=4)
*/
ATSstaticdec()
ats_bool_type
list_forall_funenv_01366_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_bool_type, tmp6) ;

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

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list.dats: 33288(line=1183, offs=25) -- 33550(line=1192, offs=4)
*/
ATSstaticdec()
ats_bool_type
list_forall_fun_01367_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp5) ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_empty:
tmp38 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIPempty_10) ;
tmp37 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_make_node (arg0, arg1, tmp38) ;
return (tmp37) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_empty] */

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

__ats_lab_auxlst_21:
do {
/* branch: __ats_lab_4 */
__ats_lab_4_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; }
__ats_lab_4_1:
tmp59 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ;
tmp60 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ;
tmp61 = auxlst_21 (env0, env1, env2, env3, env4, env5, env6, env7, tmp60) ;
tmp62 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp62, atslab_0, env5) ;
ats_selptrset_mac(anairiats_sum_2, tmp62, atslab_1, tmp59) ;
tmp63 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp63, atslab_0, env6) ;
ats_selptrset_mac(anairiats_sum_2, tmp63, atslab_1, tmp61) ;
tmp66 = (ats_sum_ptr_type)0 ;
tmp65 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp65, atslab_0, tmp63) ;
ats_selptrset_mac(anairiats_sum_2, tmp65, atslab_1, tmp66) ;
tmp64 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp64, atslab_0, tmp62) ;
ats_selptrset_mac(anairiats_sum_2, tmp64, atslab_1, tmp65) ;
tmp58 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con (env0, env1, env4, env3, env7, tmp64) ;
break ;

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

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

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

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

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 4008(line=190, offs=1) -- 5100(line=244, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_lst (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp39) ;
ATSlocal (ats_ptr_type, tmp40) ;
ATSlocal (ats_bool_type, tmp41) ;
ATSlocal (ats_ptr_type, tmp42) ;
ATSlocal (anairiats_rec_9, tmp43) ;
ATSlocal (ats_ptr_type, tmp44) ;
ATSlocal (ats_ptr_type, tmp45) ;
ATSlocal (ats_ptr_type, tmp46) ;
ATSlocal (ats_bool_type, tmp47) ;
ATSlocal (ats_ptr_type, tmp48) ;
ATSlocal (ats_ptr_type, tmp49) ;
ATSlocal (ats_ptr_type, tmp50) ;
ATSlocal (ats_ptr_type, tmp51) ;
ATSlocal (ats_ptr_type, tmp52) ;
ATSlocal (ats_ptr_type, tmp53) ;
ATSlocal (ats_ptr_type, tmp54) ;
ATSlocal (ats_ptr_type, tmp55) ;
ATSlocal (ats_ptr_type, tmp56) ;
ATSlocal (ats_ptr_type, tmp57) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_lst:
tmp41 = atspre_eq_int_int (arg1, 0) ;
if (tmp41) {
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__the_list_t0ype_int_type) ;
} else {
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2cstref_get_cst (_2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__the_list_vt0ype_int_vtype) ;
} /* end of [if] */
tmp42 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_islst (tmp40) ;
if (tmp42 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_hidynexp.dats: 4219(line=202, offs=5) -- 4258(line=203, offs=29)") ; }
tmp43 = ats_caselptrlab_mac(anairiats_sum_10, tmp42, atslab_0) ;
tmp44 = ats_select_mac(tmp43, atslab_0) ;
tmp45 = ats_select_mac(tmp43, atslab_1) ;
tmp47 = atspre_eq_int_int (arg1, 0) ;
if (tmp47) {
tmp46 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__PCKcon_0) ;
} else {
tmp46 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__PCKfree_2) ;
} /* end of [if] */
tmp48 = _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_int (0) ;
tmp49 = _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_int (1) ;
tmp51 = (ats_sum_ptr_type)0 ;
tmp50 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
ats_selptrset_mac(anairiats_sum_11, tmp50, atslab_0, tmp48) ;
ats_selptrset_mac(anairiats_sum_11, tmp50, atslab_1, tmp51) ;
ats_selptrset_mac(anairiats_sum_11, tmp50, atslab_2, arg3) ;
tmp53 = (ats_sum_ptr_type)0 ;
tmp52 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
ats_selptrset_mac(anairiats_sum_11, tmp52, atslab_0, tmp49) ;
ats_selptrset_mac(anairiats_sum_11, tmp52, atslab_1, tmp53) ;
ats_selptrset_mac(anairiats_sum_11, tmp52, atslab_2, arg2) ;
tmp56 = (ats_sum_ptr_type)0 ;
tmp55 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp55, atslab_0, tmp52) ;
ats_selptrset_mac(anairiats_sum_2, tmp55, atslab_1, tmp56) ;
tmp54 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp54, atslab_0, tmp50) ;
ats_selptrset_mac(anairiats_sum_2, tmp54, atslab_1, tmp55) ;
tmp57 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_tysum (tmp45, tmp54) ;
tmp39 = auxlst_21 (arg0, arg2, tmp44, tmp45, tmp46, tmp48, tmp49, tmp57, arg4) ;
return (tmp39) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_lst] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 5165(line=249, offs=11) -- 5272(line=254, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp67) ;
ATSlocal (ats_ptr_type, tmp68) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 5319(line=259, offs=1) -- 5745(line=283, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_rec2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp69) ;
ATSlocal (ats_bool_type, tmp70) ;
ATSlocal (ats_bool_type, tmp71) ;
ATSlocal (ats_ptr_type, tmp72) ;
ATSlocal (ats_ptr_type, tmp73) ;
ATSlocal (ats_ptr_type, tmp74) ;

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

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 5815(line=289, offs=3) -- 5887(line=290, offs=50)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_refas (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp75) ;
ATSlocal (ats_ptr_type, tmp76) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 5956(line=297, offs=3) -- 6034(line=298, offs=52)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_ann (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp77) ;
ATSlocal (ats_ptr_type, tmp78) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 6105(line=304, offs=17) -- 6128(line=304, offs=40)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_get_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp79) ;

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

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_30 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp84) ;
ATSlocal (ats_ptr_type, tmp85) ;
ATSlocal (ats_ptr_type, tmp86) ;
ATSlocal (ats_ptr_type, tmp87) ;
ATSlocal (ats_ptr_type, tmp88) ;
ATSlocal (ats_ptr_type, tmp89) ;
ATSlocal (ats_ptr_type, tmp90) ;

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

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

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-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, tmp83) ;
ATSlocal (ats_ptr_type, tmp91) ;
// ATSlocal_void (tmp92) ;

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

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-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, tmp82) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 6158(line=306, offs=20) -- 6272(line=310, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexplst_get_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp80) ;
ATSlocal (ats_ptr_type, tmp81) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexplst_get_type:
tmp81 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_get_type) ;
tmp80 = ats_castfn_mac(ats_ptr_type, tmp81) ;
return (tmp80) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexplst_get_type] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 6355(line=316, offs=3) -- 6433(line=318, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp93) ;

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

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 6508(line=324, offs=3) -- 6569(line=325, offs=44)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_cst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp94) ;
ATSlocal (ats_ptr_type, tmp95) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 6617(line=330, offs=3) -- 6678(line=331, offs=44)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp96) ;
ATSlocal (ats_ptr_type, tmp97) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 6747(line=338, offs=3) -- 6804(line=339, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_int (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp98) ;
ATSlocal (ats_ptr_type, tmp99) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 6855(line=344, offs=3) -- 6919(line=345, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_intrep (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp100) ;
ATSlocal (ats_ptr_type, tmp101) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 6971(line=350, offs=3) -- 7029(line=351, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_bool (ats_ptr_type arg0, ats_ptr_type arg1, ats_bool_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp102) ;
ATSlocal (ats_ptr_type, tmp103) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 7079(line=356, offs=3) -- 7137(line=357, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_char (ats_ptr_type arg0, ats_ptr_type arg1, ats_char_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp104) ;
ATSlocal (ats_ptr_type, tmp105) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 7188(line=362, offs=3) -- 7251(line=363, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_float (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp106) ;
ATSlocal (ats_ptr_type, tmp107) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 7304(line=368, offs=3) -- 7368(line=369, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_string (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp108) ;
ATSlocal (ats_ptr_type, tmp109) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 7441(line=376, offs=3) -- 7503(line=377, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_i0nt (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp110) ;
ATSlocal (ats_ptr_type, tmp111) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 7555(line=382, offs=3) -- 7618(line=383, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_f0loat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp112) ;
ATSlocal (ats_ptr_type, tmp113) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 7692(line=390, offs=3) -- 7751(line=391, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_cstsp (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp114) ;
ATSlocal (ats_ptr_type, tmp115) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 7824(line=398, offs=3) -- 7883(line=399, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tyrep (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp116) ;
ATSlocal (ats_ptr_type, tmp117) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tyrep:
tmp117 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp117)->tag = 11 ;
ats_selptrset_mac(anairiats_sum_3, tmp117, atslab_0, arg2) ;
tmp116 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp117) ;
return (tmp116) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tyrep] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 7951(line=405, offs=11) -- 8004(line=406, offs=40)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_top (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp118) ;
ATSlocal (ats_ptr_type, tmp119) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_top:
tmp119 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEtop_12) ;
tmp118 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp119) ;
return (tmp118) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_top] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 8051(line=410, offs=13) -- 8106(line=411, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp120) ;
ATSlocal (ats_ptr_type, tmp121) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty:
tmp121 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEempty_13) ;
tmp120 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp121) ;
return (tmp120) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 8159(line=416, offs=3) -- 8223(line=417, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ignore (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp122) ;
ATSlocal (ats_ptr_type, tmp123) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ignore:
tmp123 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp123)->tag = 14 ;
ats_selptrset_mac(anairiats_sum_3, tmp123, atslab_0, arg2) ;
tmp122 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp123) ;
return (tmp122) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ignore] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 8298(line=424, offs=3) -- 8371(line=425, offs=51)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_castfn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp124) ;
ATSlocal (ats_ptr_type, tmp125) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_castfn:
tmp125 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp125)->tag = 15 ;
ats_selptrset_mac(anairiats_sum_5, tmp125, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp125, atslab_1, arg3) ;
tmp124 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp125) ;
return (tmp124) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_castfn] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 8446(line=432, offs=3) -- 8511(line=433, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extval (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp126) ;
ATSlocal (ats_ptr_type, tmp127) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extval:
tmp127 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp127)->tag = 16 ;
ats_selptrset_mac(anairiats_sum_3, tmp127, atslab_0, arg2) ;
tmp126 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp127) ;
return (tmp126) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extval] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 8567(line=438, offs=3) -- 8646(line=439, offs=55)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extfcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp128) ;
ATSlocal (ats_ptr_type, tmp129) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extfcall:
tmp129 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp129)->tag = 17 ;
ats_selptrset_mac(anairiats_sum_5, tmp129, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp129, atslab_1, arg3) ;
tmp128 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp129) ;
return (tmp128) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extfcall] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 8704(line=444, offs=3) -- 8795(line=445, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extmcall (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp130) ;
ATSlocal (ats_ptr_type, tmp131) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 8869(line=451, offs=12) -- 8963(line=453, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp132) ;
ATSlocal (ats_ptr_type, tmp133) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_con:
tmp133 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp133)->tag = 19 ;
ats_selptrset_mac(anairiats_sum_14, tmp133, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp133, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp133, atslab_2, arg4) ;
tmp132 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp133) ;
return (tmp132) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_con] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 9014(line=459, offs=3) -- 9091(line=460, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tmpcst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp134) ;
ATSlocal (ats_ptr_type, tmp135) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 9145(line=465, offs=3) -- 9222(line=466, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp136) ;
ATSlocal (ats_ptr_type, tmp137) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tmpvar:
tmp137 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp137)->tag = 21 ;
ats_selptrset_mac(anairiats_sum_5, tmp137, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp137, atslab_1, arg3) ;
tmp136 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp137) ;
return (tmp136) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tmpvar] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 9295(line=472, offs=15) -- 9350(line=473, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_foldat (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp138) ;
ATSlocal (ats_ptr_type, tmp139) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_foldat:
tmp139 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEfoldat_22) ;
tmp138 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp139) ;
return (tmp138) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_foldat] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 9376(line=476, offs=15) -- 9439(line=477, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_freeat (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp140) ;
ATSlocal (ats_ptr_type, tmp141) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_freeat:
tmp141 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp141)->tag = 23 ;
ats_selptrset_mac(anairiats_sum_3, tmp141, atslab_0, arg2) ;
tmp140 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp141) ;
return (tmp140) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_freeat] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 9509(line=483, offs=12) -- 9581(line=484, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_let (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp142) ;
ATSlocal (ats_ptr_type, tmp143) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_let:
tmp143 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp143)->tag = 24 ;
ats_selptrset_mac(anairiats_sum_5, tmp143, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp143, atslab_1, arg3) ;
tmp142 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp143) ;
return (tmp142) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_let] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 9650(line=491, offs=3) -- 9743(line=492, offs=60)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp144) ;
ATSlocal (ats_ptr_type, tmp145) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app:
tmp145 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp145)->tag = 25 ;
ats_selptrset_mac(anairiats_sum_14, tmp145, atslab_0, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp145, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp145, atslab_2, arg4) ;
tmp144 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp145) ;
return (tmp144) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 9790(line=496, offs=13) -- 10520(line=529, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp146) ;
ATSlocal (ats_ptr_type, tmp147) ;
ATSlocal (ats_ptr_type, tmp148) ;
ATSlocal (ats_ptr_type, tmp149) ;
ATSlocal (ats_bool_type, tmp150) ;
ATSlocal (ats_ptr_type, tmp151) ;
ATSlocal (ats_ptr_type, tmp152) ;
ATSlocal (ats_ptr_type, tmp153) ;
ATSlocal (ats_ptr_type, tmp154) ;
ATSlocal (ats_ptr_type, tmp155) ;

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

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

/* branch: __ats_lab_14 */
__ats_lab_14_0:
// if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_14_1:
tmp154 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_13, arg3), atslab_hidexp_loc) ;
tmp155 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_void_t0ype () ;
tmp152 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty (tmp154, tmp155) ;
break ;
} while (0) ;
tmp146 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_castfn (arg0, arg1, tmp151, tmp152) ;
break ;

/* branch: __ats_lab_15 */
__ats_lab_15_0:
// if (tmp147 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_15_1:
tmp146 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app (arg0, arg1, arg2, arg3, arg4) ;
break ;
} while (0) ;
return (tmp146) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app2] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 10589(line=535, offs=3) -- 10681(line=536, offs=59)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_if (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp156) ;
ATSlocal (ats_ptr_type, tmp157) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 10728(line=541, offs=3) -- 10821(line=542, offs=60)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_sif (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp158) ;
ATSlocal (ats_ptr_type, tmp159) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 10891(line=549, offs=3) -- 10977(line=550, offs=57)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_case (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp160) ;
ATSlocal (ats_ptr_type, tmp161) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 11047(line=557, offs=3) -- 11138(line=558, offs=59)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lst (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp162) ;
ATSlocal (ats_ptr_type, tmp163) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 11207(line=565, offs=3) -- 11300(line=566, offs=60)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp164) ;
ATSlocal (ats_ptr_type, tmp165) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec:
tmp165 = ATS_MALLOC(sizeof(anairiats_sum_16)) ;
((ats_sum_ptr_type)tmp165)->tag = 30 ;
ats_selptrset_mac(anairiats_sum_16, tmp165, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_16, tmp165, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_16, tmp165, atslab_2, arg4) ;
tmp164 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp165) ;
return (tmp164) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 11347(line=571, offs=1) -- 11775(line=596, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec2 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp166) ;
ATSlocal (ats_bool_type, tmp167) ;
ATSlocal (ats_bool_type, tmp168) ;
ATSlocal (ats_ptr_type, tmp169) ;
ATSlocal (ats_ptr_type, tmp170) ;
ATSlocal (ats_ptr_type, tmp171) ;

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

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 11848(line=602, offs=3) -- 11911(line=603, offs=45)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_seq (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp172) ;
ATSlocal (ats_ptr_type, tmp173) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_seq:
tmp173 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp173)->tag = 31 ;
ats_selptrset_mac(anairiats_sum_3, tmp173, atslab_0, arg2) ;
tmp172 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp173) ;
return (tmp172) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_seq] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 11982(line=610, offs=3) -- 12075(line=611, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selab (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp174) ;
ATSlocal (ats_ptr_type, tmp175) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selab:
tmp175 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp175)->tag = 32 ;
ats_selptrset_mac(anairiats_sum_14, tmp175, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp175, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp175, atslab_2, arg4) ;
tmp174 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp175) ;
return (tmp174) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selab] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 12151(line=618, offs=3) -- 12217(line=619, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ptrofvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp176) ;
ATSlocal (ats_ptr_type, tmp177) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ptrofvar:
tmp177 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp177)->tag = 33 ;
ats_selptrset_mac(anairiats_sum_3, tmp177, atslab_0, arg2) ;
tmp176 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp177) ;
return (tmp176) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ptrofvar] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 12275(line=624, offs=3) -- 12365(line=625, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ptrofsel (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp178) ;
ATSlocal (ats_ptr_type, tmp179) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 12442(line=632, offs=3) -- 12540(line=633, offs=64)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_refarg (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp180) ;
ATSlocal (ats_ptr_type, tmp181) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 12615(line=640, offs=3) -- 12707(line=641, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp182) ;
ATSlocal (ats_ptr_type, tmp183) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 12761(line=646, offs=3) -- 12853(line=647, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp184) ;
ATSlocal (ats_ptr_type, tmp185) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selptr:
tmp185 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp185)->tag = 37 ;
ats_selptrset_mac(anairiats_sum_14, tmp185, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp185, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_14, tmp185, atslab_2, arg4) ;
tmp184 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp185) ;
return (tmp184) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selptr] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 12931(line=654, offs=3) -- 13044(line=655, offs=73)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_assgn_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp186) ;
ATSlocal (ats_ptr_type, tmp187) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 13104(line=660, offs=3) -- 13217(line=661, offs=73)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_assgn_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp188) ;
ATSlocal (ats_ptr_type, tmp189) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 13298(line=668, offs=3) -- 13411(line=669, offs=73)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_xchng_var (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp190) ;
ATSlocal (ats_ptr_type, tmp191) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 13471(line=674, offs=3) -- 13584(line=675, offs=73)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_xchng_ptr (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp192) ;
ATSlocal (ats_ptr_type, tmp193) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_xchng_ptr:
tmp193 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp193)->tag = 41 ;
ats_selptrset_mac(anairiats_sum_4, tmp193, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_4, tmp193, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_4, tmp193, atslab_2, arg4) ;
ats_selptrset_mac(anairiats_sum_4, tmp193, atslab_3, arg5) ;
tmp192 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp193) ;
return (tmp192) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_xchng_ptr] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 13660(line=682, offs=1) -- 13766(line=685, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_arrpsz (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp194) ;
ATSlocal (ats_ptr_type, tmp195) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 13819(line=690, offs=1) -- 13944(line=693, offs=59)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_arrinit (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp196) ;
ATSlocal (ats_ptr_type, tmp197) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_arrinit:
tmp197 = ATS_MALLOC(sizeof(anairiats_sum_19)) ;
((ats_sum_ptr_type)tmp197)->tag = 43 ;
ats_selptrset_mac(anairiats_sum_19, tmp197, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_19, tmp197, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_19, tmp197, atslab_2, arg4) ;
ats_selptrset_mac(anairiats_sum_19, tmp197, atslab_3, arg5) ;
tmp196 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp197) ;
return (tmp196) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_arrinit] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 14017(line=700, offs=1) -- 14084(line=701, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_raise (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp198) ;
ATSlocal (ats_ptr_type, tmp199) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_raise:
tmp199 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp199)->tag = 44 ;
ats_selptrset_mac(anairiats_sum_3, tmp199, atslab_0, arg2) ;
tmp198 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp199) ;
return (tmp198) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_raise] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 14158(line=708, offs=1) -- 14228(line=709, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_vararg (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp200) ;
ATSlocal (ats_ptr_type, tmp201) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_vararg:
tmp201 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp201)->tag = 45 ;
ats_selptrset_mac(anairiats_sum_3, tmp201, atslab_0, arg2) ;
tmp200 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp201) ;
return (tmp200) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_vararg] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 14283(line=715, offs=3) -- 14342(line=716, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_vcopyenv (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp202) ;
ATSlocal (ats_ptr_type, tmp203) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_vcopyenv:
tmp203 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp203)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_3, tmp203, atslab_0, arg2) ;
tmp202 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp203) ;
return (tmp202) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_vcopyenv] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 14398(line=722, offs=3) -- 14465(line=723, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tempenver (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp204) ;
ATSlocal (ats_ptr_type, tmp205) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tempenver:
tmp205 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp205)->tag = 46 ;
ats_selptrset_mac(anairiats_sum_3, tmp205, atslab_0, arg2) ;
tmp204 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp205) ;
return (tmp204) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tempenver] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 14511(line=729, offs=1) -- 14617(line=733, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lam (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp206) ;
ATSlocal (ats_ptr_type, tmp207) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lam:
tmp207 = ATS_MALLOC(sizeof(anairiats_sum_16)) ;
((ats_sum_ptr_type)tmp207)->tag = 47 ;
ats_selptrset_mac(anairiats_sum_16, tmp207, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_16, tmp207, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_16, tmp207, atslab_2, arg4) ;
tmp206 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp207) ;
return (tmp206) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lam] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 14686(line=740, offs=3) -- 14779(line=741, offs=60)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_fix (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp208) ;
ATSlocal (ats_ptr_type, tmp209) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_fix:
tmp209 = ATS_MALLOC(sizeof(anairiats_sum_16)) ;
((ats_sum_ptr_type)tmp209)->tag = 48 ;
ats_selptrset_mac(anairiats_sum_16, tmp209, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_16, tmp209, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_16, tmp209, atslab_2, arg4) ;
tmp208 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp209) ;
return (tmp208) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_fix] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 14852(line=748, offs=3) -- 14915(line=749, offs=46)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_delay (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp210) ;
ATSlocal (ats_ptr_type, tmp211) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_delay:
tmp211 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp211)->tag = 49 ;
ats_selptrset_mac(anairiats_sum_3, tmp211, atslab_0, arg2) ;
tmp210 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp211) ;
return (tmp210) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_delay] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 14967(line=753, offs=3) -- 15049(line=754, offs=56)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ldelay (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp212) ;
ATSlocal (ats_ptr_type, tmp213) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ldelay:
tmp213 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp213)->tag = 50 ;
ats_selptrset_mac(anairiats_sum_5, tmp213, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp213, atslab_1, arg3) ;
tmp212 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp213) ;
return (tmp212) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ldelay] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 15107(line=759, offs=3) -- 15183(line=760, offs=54)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lazyeval (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp214) ;
ATSlocal (ats_ptr_type, tmp215) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lazyeval:
tmp215 = ATS_MALLOC(sizeof(anairiats_sum_20)) ;
((ats_sum_ptr_type)tmp215)->tag = 51 ;
ats_selptrset_mac(anairiats_sum_20, tmp215, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_20, tmp215, atslab_1, arg3) ;
tmp214 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp215) ;
return (tmp214) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lazyeval] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 15260(line=767, offs=3) -- 15360(line=768, offs=64)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loop (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp216) ;
ATSlocal (ats_ptr_type, tmp217) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loop:
tmp217 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp217)->tag = 52 ;
ats_selptrset_mac(anairiats_sum_4, tmp217, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_4, tmp217, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_4, tmp217, atslab_2, arg4) ;
ats_selptrset_mac(anairiats_sum_4, tmp217, atslab_3, arg5) ;
tmp216 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp217) ;
return (tmp216) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loop] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 15413(line=773, offs=3) -- 15478(line=774, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loopexn (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp218) ;
ATSlocal (ats_ptr_type, tmp219) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loopexn:
tmp219 = ATS_MALLOC(sizeof(anairiats_sum_6)) ;
((ats_sum_ptr_type)tmp219)->tag = 53 ;
ats_selptrset_mac(anairiats_sum_6, tmp219, atslab_0, arg2) ;
tmp218 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp219) ;
return (tmp218) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loopexn] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 15555(line=781, offs=3) -- 15634(line=782, offs=55)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_trywith (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp220) ;
ATSlocal (ats_ptr_type, tmp221) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_trywith:
tmp221 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp221)->tag = 54 ;
ats_selptrset_mac(anairiats_sum_5, tmp221, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_5, tmp221, atslab_1, arg3) ;
tmp220 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp221) ;
return (tmp220) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_trywith] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 15710(line=789, offs=3) -- 15764(line=789, offs=57)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_errexp (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp222) ;
ATSlocal (ats_ptr_type, tmp223) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_errexp:
tmp223 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HDEerrexp_55) ;
tmp222 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_make_node (arg0, arg1, tmp223) ;
return (tmp222) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_errexp] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 15833(line=795, offs=11) -- 15894(line=797, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hilab_lab (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp224) ;
ATSlocal (ats_ptr_type, tmp225) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hilab_lab:
tmp225 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp225)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_3, tmp225, atslab_0, arg1) ;
tmp224 = ATS_MALLOC(sizeof(anairiats_rec_21)) ;
ats_selptrset_mac(anairiats_rec_21, tmp224, atslab_hilab_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_21, tmp224, atslab_hilab_node, tmp225) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 15915(line=799, offs=11) -- 15976(line=801, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hilab_ind (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp226) ;
ATSlocal (ats_ptr_type, tmp227) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hilab_ind:
tmp227 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp227)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_3, tmp227, atslab_0, arg1) ;
tmp226 = ATS_MALLOC(sizeof(anairiats_rec_21)) ;
ats_selptrset_mac(anairiats_rec_21, tmp226, atslab_hilab_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_21, tmp226, atslab_hilab_node, tmp227) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 16023(line=807, offs=3) -- 16103(line=811, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__higmat_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp228) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__higmat_make:
tmp228 = ATS_MALLOC(sizeof(anairiats_rec_22)) ;
ats_selptrset_mac(anairiats_rec_22, tmp228, atslab_higmat_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_22, tmp228, atslab_higmat_exp, arg1) ;
ats_selptrset_mac(anairiats_rec_22, tmp228, atslab_higmat_pat, arg2) ;

return (tmp228) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__higmat_make] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 16153(line=815, offs=3) -- 16303(line=822, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hiclau_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_int_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp229) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hiclau_make:
tmp229 = ATS_MALLOC(sizeof(anairiats_rec_23)) ;
ats_selptrset_mac(anairiats_rec_23, tmp229, atslab_hiclau_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_23, tmp229, atslab_hiclau_pat, arg1) ;
ats_selptrset_mac(anairiats_rec_23, tmp229, atslab_hiclau_gua, arg2) ;
ats_selptrset_mac(anairiats_rec_23, tmp229, atslab_hiclau_seq, arg3) ;
ats_selptrset_mac(anairiats_rec_23, tmp229, atslab_hiclau_neg, arg4) ;
ats_selptrset_mac(anairiats_rec_23, tmp229, atslab_hiclau_body, arg5) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 16374(line=828, offs=1) -- 16544(line=837, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp230) ;
ATSlocal (ats_ptr_type, tmp231) ;
ATSlocal (ats_ptr_type, tmp232) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundec_make:
tmp231 = (ats_sum_ptr_type)0 ;
tmp232 = (ats_sum_ptr_type)0 ;
tmp230 = ATS_MALLOC(sizeof(anairiats_rec_24)) ;
ats_selptrset_mac(anairiats_rec_24, tmp230, atslab_hifundec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_24, tmp230, atslab_hifundec_var, arg1) ;
ats_selptrset_mac(anairiats_rec_24, tmp230, atslab_hifundec_imparg, arg2) ;
ats_selptrset_mac(anairiats_rec_24, tmp230, atslab_hifundec_def, arg3) ;
ats_selptrset_mac(anairiats_rec_24, tmp230, atslab_hifundec_hidecl, tmp231) ;
ats_selptrset_mac(anairiats_rec_24, tmp230, atslab_hifundec_funlab, tmp232) ;

return (tmp230) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundec_make] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 16700(line=849, offs=3) -- 16747(line=849, offs=50)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundec_get_hideclopt (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp233) ;
ATSlocal (ats_ptr_type, tmp234) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundec_get_hideclopt:
tmp234 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg0), atslab_hifundec_hidecl) ;
tmp233 = ats_castfn_mac(ats_ptr_type, tmp234) ;
return (tmp233) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundec_get_hideclopt] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/unsafe.dats: 2024(line=63, offs=10) -- 2250(line=73, offs=2)
*/
ATSstaticdec()
ats_void_type
ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp238) ;

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

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/unsafe.dats: 2472(line=83, offs=21) -- 2499(line=83, offs=48)
*/
ATSstaticdec()
ats_void_type
ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp237) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 16848(line=856, offs=5) -- 16959(line=860, offs=63)
*/
ATSstaticdec()
ats_void_type
set_98 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp236) ;
ATSlocal (ats_ptr_type, tmp239) ;

__ats_lab_set_98:
tmp239 = patsopt_hifundec_getref_hideclopt (arg0) ;
/* tmp236 = */ ptrset_01764_ats_ptr_type (tmp239, arg1) ;
return /* (tmp236) */ ;
} /* end of [set_98] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 16967(line=862, offs=5) -- 17183(line=875, offs=4)
*/
ATSstaticdec()
ats_void_type
auxlst_101 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp240) ;
ATSlocal (ats_ptr_type, tmp241) ;
ATSlocal (ats_ptr_type, tmp242) ;
// ATSlocal_void (tmp243) ;

__ats_lab_auxlst_101:
do {
/* branch: __ats_lab_18 */
__ats_lab_18_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; }
__ats_lab_18_1:
tmp241 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_0) ;
tmp242 = ats_caselptrlab_mac(anairiats_sum_2, arg0, atslab_1) ;
/* tmp243 = */ set_98 (tmp241, arg1) ;
arg0 = tmp242 ;
arg1 = arg1 ;
goto __ats_lab_auxlst_101 ; // tail call
break ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 16823(line=854, offs=3) -- 17233(line=879, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundeclst_set_hideclopt (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp235) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundeclst_set_hideclopt:
/* tmp235 = */ auxlst_101 (arg0, arg1) ;
return /* (tmp235) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hifundeclst_set_hideclopt] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 17343(line=887, offs=3) -- 17425(line=891, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hivaldec_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp244) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hivaldec_make:
tmp244 = ATS_MALLOC(sizeof(anairiats_rec_25)) ;
ats_selptrset_mac(anairiats_rec_25, tmp244, atslab_hivaldec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_25, tmp244, atslab_hivaldec_pat, arg1) ;
ats_selptrset_mac(anairiats_rec_25, tmp244, atslab_hivaldec_def, arg2) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 17477(line=895, offs=1) -- 17658(line=905, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hivardec_make (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp245) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hivardec_make:
tmp245 = ATS_MALLOC(sizeof(anairiats_rec_26)) ;
ats_selptrset_mac(anairiats_rec_26, tmp245, atslab_hivardec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_26, tmp245, atslab_hivardec_knd, arg1) ;
ats_selptrset_mac(anairiats_rec_26, tmp245, atslab_hivardec_dvar_ptr, arg2) ;
ats_selptrset_mac(anairiats_rec_26, tmp245, atslab_hivardec_dvar_view, arg3) ;
ats_selptrset_mac(anairiats_rec_26, tmp245, atslab_hivardec_type, arg4) ;
ats_selptrset_mac(anairiats_rec_26, tmp245, atslab_hivardec_init, arg5) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 17731(line=911, offs=1) -- 17966(line=922, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hiimpdec_make (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp246) ;
ATSlocal (ats_ptr_type, tmp247) ;
ATSlocal (ats_ptr_type, tmp248) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hiimpdec_make:
tmp247 = (ats_sum_ptr_type)0 ;
tmp248 = (ats_sum_ptr_type)0 ;
tmp246 = ATS_MALLOC(sizeof(anairiats_rec_27)) ;
ats_selptrset_mac(anairiats_rec_27, tmp246, atslab_hiimpdec_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_27, tmp246, atslab_hiimpdec_knd, arg1) ;
ats_selptrset_mac(anairiats_rec_27, tmp246, atslab_hiimpdec_cst, arg2) ;
ats_selptrset_mac(anairiats_rec_27, tmp246, atslab_hiimpdec_imparg, arg3) ;
ats_selptrset_mac(anairiats_rec_27, tmp246, atslab_hiimpdec_tmparg, arg4) ;
ats_selptrset_mac(anairiats_rec_27, tmp246, atslab_hiimpdec_def, arg5) ;
ats_selptrset_mac(anairiats_rec_27, tmp246, atslab_hiimpdec_funlab, tmp247) ;
ats_selptrset_mac(anairiats_rec_27, tmp246, atslab_hiimpdec_instrlst, tmp248) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 18044(line=928, offs=3) -- 18099(line=930, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp249) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node:
tmp249 = ATS_MALLOC(sizeof(anairiats_rec_28)) ;
ats_selptrset_mac(anairiats_rec_28, tmp249, atslab_hidecl_loc, arg0) ;
ats_selptrset_mac(anairiats_rec_28, tmp249, atslab_hidecl_node, arg1) ;

return (tmp249) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 18152(line=933, offs=13) -- 18195(line=934, offs=36)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_none (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp250) ;
ATSlocal (ats_ptr_type, tmp251) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_none:
tmp251 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDnone_0) ;
tmp250 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp251) ;
return (tmp250) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_none] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 18243(line=938, offs=13) -- 18296(line=939, offs=40)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_list (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp252) ;
ATSlocal (ats_ptr_type, tmp253) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_list:
tmp253 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp253)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_3, tmp253, atslab_0, arg1) ;
tmp252 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp253) ;
return (tmp252) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_list] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 18370(line=945, offs=16) -- 18424(line=946, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_saspdec (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp254) ;
ATSlocal (ats_ptr_type, tmp255) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_saspdec:
tmp255 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp255)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_3, tmp255, atslab_0, arg1) ;
tmp254 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp255) ;
return (tmp254) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_saspdec] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 18478(line=949, offs=17) -- 18533(line=950, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_reassume (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp256) ;
ATSlocal (ats_ptr_type, tmp257) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_reassume:
tmp257 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp257)->tag = 3 ;
ats_selptrset_mac(anairiats_sum_3, tmp257, atslab_0, arg1) ;
tmp256 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp257) ;
return (tmp256) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_reassume] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 18612(line=957, offs=3) -- 18685(line=958, offs=51)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extype (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp258) ;
ATSlocal (ats_ptr_type, tmp259) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extype:
tmp259 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp259)->tag = 4 ;
ats_selptrset_mac(anairiats_sum_5, tmp259, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_5, tmp259, atslab_1, arg2) ;
tmp258 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp259) ;
return (tmp258) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extype] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 18739(line=963, offs=3) -- 18812(line=964, offs=51)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp260) ;
ATSlocal (ats_ptr_type, tmp261) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extvar:
tmp261 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp261)->tag = 5 ;
ats_selptrset_mac(anairiats_sum_5, tmp261, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_5, tmp261, atslab_1, arg2) ;
tmp260 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp261) ;
return (tmp260) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extvar] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 18867(line=969, offs=3) -- 18943(line=970, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extcode (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp262) ;
ATSlocal (ats_ptr_type, tmp263) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extcode:
tmp263 = ATS_MALLOC(sizeof(anairiats_sum_17)) ;
((ats_sum_ptr_type)tmp263)->tag = 6 ;
ats_selptrset_mac(anairiats_sum_17, tmp263, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_17, tmp263, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_17, tmp263, atslab_2, arg3) ;
tmp262 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp263) ;
return (tmp262) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_extcode] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 19020(line=977, offs=3) -- 19075(line=978, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_exndecs (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp264) ;
ATSlocal (ats_ptr_type, tmp265) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_exndecs:
tmp265 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp265)->tag = 7 ;
ats_selptrset_mac(anairiats_sum_3, tmp265, atslab_0, arg1) ;
tmp264 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp265) ;
return (tmp264) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_exndecs] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 19131(line=983, offs=3) -- 19196(line=984, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_datdecs (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp266) ;
ATSlocal (ats_ptr_type, tmp267) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_datdecs:
tmp267 = ATS_MALLOC(sizeof(anairiats_sum_20)) ;
((ats_sum_ptr_type)tmp267)->tag = 8 ;
ats_selptrset_mac(anairiats_sum_20, tmp267, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_20, tmp267, atslab_1, arg2) ;
tmp266 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp267) ;
return (tmp266) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_datdecs] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 19274(line=991, offs=3) -- 19342(line=992, offs=50)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_dcstdecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp268) ;
ATSlocal (ats_ptr_type, tmp269) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_dcstdecs:
tmp269 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp269)->tag = 9 ;
ats_selptrset_mac(anairiats_sum_5, tmp269, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_5, tmp269, atslab_1, arg2) ;
tmp268 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp269) ;
return (tmp268) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_dcstdecs] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 19419(line=999, offs=3) -- 19485(line=1000, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_impdec (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp270) ;
ATSlocal (ats_ptr_type, tmp271) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_impdec:
tmp271 = ATS_MALLOC(sizeof(anairiats_sum_20)) ;
((ats_sum_ptr_type)tmp271)->tag = 10 ;
ats_selptrset_mac(anairiats_sum_20, tmp271, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_20, tmp271, atslab_1, arg2) ;
tmp270 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp271) ;
return (tmp270) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_impdec] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 19561(line=1007, offs=3) -- 19644(line=1008, offs=57)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_fundecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp272) ;
ATSlocal (ats_ptr_type, tmp273) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_fundecs:
tmp273 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp273)->tag = 11 ;
ats_selptrset_mac(anairiats_sum_14, tmp273, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_14, tmp273, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp273, atslab_2, arg3) ;
tmp272 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp273) ;
return (tmp272) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_fundecs] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 19719(line=1014, offs=16) -- 19786(line=1015, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_valdecs (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp274) ;
ATSlocal (ats_ptr_type, tmp275) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_valdecs:
tmp275 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp275)->tag = 12 ;
ats_selptrset_mac(anairiats_sum_5, tmp275, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_5, tmp275, atslab_1, arg2) ;
tmp274 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp275) ;
return (tmp274) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_valdecs] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 19844(line=1019, offs=20) -- 19915(line=1020, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_valdecs_rec (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp276) ;
ATSlocal (ats_ptr_type, tmp277) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_valdecs_rec:
tmp277 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp277)->tag = 13 ;
ats_selptrset_mac(anairiats_sum_5, tmp277, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_5, tmp277, atslab_1, arg2) ;
tmp276 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp277) ;
return (tmp276) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_valdecs_rec] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 19994(line=1026, offs=16) -- 20051(line=1027, offs=44)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_vardecs (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp278) ;
ATSlocal (ats_ptr_type, tmp279) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_vardecs:
tmp279 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp279)->tag = 14 ;
ats_selptrset_mac(anairiats_sum_3, tmp279, atslab_0, arg1) ;
tmp278 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp279) ;
return (tmp278) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_vardecs] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 20128(line=1034, offs=3) -- 20195(line=1035, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_include (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp280) ;
ATSlocal (ats_ptr_type, tmp281) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_include:
tmp281 = ATS_MALLOC(sizeof(anairiats_sum_20)) ;
((ats_sum_ptr_type)tmp281)->tag = 15 ;
ats_selptrset_mac(anairiats_sum_20, tmp281, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_20, tmp281, atslab_1, arg2) ;
tmp280 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp281) ;
return (tmp280) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_include] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 20270(line=1041, offs=16) -- 20387(line=1044, offs=55)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_staload (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3, ats_ptr_type arg4, ats_int_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp282) ;
ATSlocal (ats_ptr_type, tmp283) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_staload:
tmp283 = ATS_MALLOC(sizeof(anairiats_sum_29)) ;
((ats_sum_ptr_type)tmp283)->tag = 16 ;
ats_selptrset_mac(anairiats_sum_29, tmp283, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_29, tmp283, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_29, tmp283, atslab_2, arg3) ;
ats_selptrset_mac(anairiats_sum_29, tmp283, atslab_3, arg4) ;
ats_selptrset_mac(anairiats_sum_29, tmp283, atslab_4, arg5) ;
tmp282 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp283) ;
return (tmp282) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_staload] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 20446(line=1049, offs=3) -- 20534(line=1050, offs=61)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_staloadloc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp284) ;
ATSlocal (ats_ptr_type, tmp285) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_staloadloc:
tmp285 = ATS_MALLOC(sizeof(anairiats_sum_14)) ;
((ats_sum_ptr_type)tmp285)->tag = 17 ;
ats_selptrset_mac(anairiats_sum_14, tmp285, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_14, tmp285, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_14, tmp285, atslab_2, arg3) ;
tmp284 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp285) ;
return (tmp284) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_staloadloc] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 20612(line=1056, offs=16) -- 20667(line=1057, offs=43)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_dynload (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp286) ;
ATSlocal (ats_ptr_type, tmp287) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_dynload:
tmp287 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp287)->tag = 18 ;
ats_selptrset_mac(anairiats_sum_3, tmp287, atslab_0, arg1) ;
tmp286 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp287) ;
return (tmp286) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_dynload] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 20740(line=1063, offs=14) -- 20807(line=1064, offs=48)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_local (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp288) ;
ATSlocal (ats_ptr_type, tmp289) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_local:
tmp289 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp289)->tag = 19 ;
ats_selptrset_mac(anairiats_sum_5, tmp289, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_5, tmp289, atslab_1, arg2) ;
tmp288 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_make_node (arg0, tmp289) ;
return (tmp288) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidecl_local] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2)
*/
ATSstaticdec()
ats_ptr_type
ptr0_get_01759_ats_ptr_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp293) ;

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

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/unsafe.dats: 2430(line=82, offs=21) -- 2450(line=82, offs=41)
*/
ATSstaticdec()
ats_ptr_type
ptrget_01763_ats_ptr_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp292) ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 21056(line=1079, offs=28) -- 21159(line=1081, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__filenv_get_tmpcstimpmapopt (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp290) ;
ATSlocal (ats_ptr_type, tmp291) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__filenv_get_tmpcstimpmapopt:
tmp291 = _2tmp_2ATS_2dPostiats_2src_2pats_trans2_env_2esats__filenv_getref_tmpcstimpmap (arg0) ;
tmp290 = ptrget_01763_ats_ptr_type (tmp291) ;
return (tmp290) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__filenv_get_tmpcstimpmapopt] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 21237(line=1084, offs=28) -- 21340(line=1086, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__filenv_get_tmpvardecmapopt (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp294) ;
ATSlocal (ats_ptr_type, tmp295) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__filenv_get_tmpvardecmapopt:
tmp295 = _2tmp_2ATS_2dPostiats_2src_2pats_trans2_env_2esats__filenv_getref_tmpvardecmap (arg0) ;
tmp294 = ptrget_01763_ats_ptr_type (tmp295) ;
return (tmp294) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__filenv_get_tmpvardecmapopt] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 21455(line=1094, offs=3) -- 21596(line=1101, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_find (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp296) ;
ATSlocal (ats_ptr_type, tmp297) ;
ATSlocal (ats_ptr_type, tmp298) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_find:
tmp297 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cstmap_search (arg0, arg1) ;
do {
/* branch: __ats_lab_20 */
__ats_lab_20_0:
if (tmp297 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; }
__ats_lab_20_1:
tmp298 = ats_caselptrlab_mac(anairiats_sum_15, tmp297, atslab_0) ;
ATS_FREE(tmp297) ;
tmp296 = tmp298 ;
break ;

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

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 21660(line=1105, offs=3) -- 21845(line=1112, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_insert (ats_ref_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp299) ;
ATSlocal (ats_ptr_type, tmp300) ;
ATSlocal (ats_ptr_type, tmp301) ;
ATSlocal (ats_bool_type, tmp302) ;
ATSlocal (ats_ptr_type, tmp303) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_insert:
tmp300 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg1), atslab_hiimpdec_cst) ;
tmp301 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_find (ats_ptrget_mac(ats_ptr_type, arg0), tmp300) ;
tmp303 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp303, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_2, tmp303, atslab_1, tmp301) ;
tmp302 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cstmap_insert (arg0, tmp300, tmp303) ;
return /* (tmp299) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpcstimpmap_insert] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 21930(line=1118, offs=3) -- 21974(line=1118, offs=47)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_find (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp304) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_find:
tmp304 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2varmap_search (arg0, arg1) ;
return (tmp304) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_find] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 22038(line=1123, offs=3) -- 22159(line=1128, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_insert (ats_ref_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp305) ;
ATSlocal (ats_ptr_type, tmp306) ;
ATSlocal (ats_bool_type, tmp307) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_insert:
tmp306 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, arg1), atslab_hifundec_var) ;
tmp307 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2varmap_insert (arg0, tmp306, arg1) ;
return /* (tmp305) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_insert] */

/*
// /tmp/ATS-Postiats/src/pats_hidynexp.dats: 22226(line=1132, offs=3) -- 22443(line=1145, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts (ats_ref_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp308) ;
ATSlocal (ats_ptr_type, tmp309) ;
ATSlocal (ats_ptr_type, tmp310) ;
// ATSlocal_void (tmp311) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts:
do {
/* branch: __ats_lab_22 */
__ats_lab_22_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_23_0 ; }
__ats_lab_22_1:
tmp309 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ;
tmp310 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_1) ;
/* tmp311 = */ _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_insert (arg0, tmp309) ;
arg0 = arg0 ;
arg1 = tmp310 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__tmpvardecmap_inserts ; // tail call
break ;

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

/* 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_basics_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_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_histaexp_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__staload (void) ;
// extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ;
// extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ;
extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_trans2_env_2esats__staload (void) ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__staload () {
static int _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__staload_flag = 0 ;
if (_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__staload_flag) return ;
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__staload_flag = 1 ;

// _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_basics_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__staload () ;
// ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ;
// ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_trans2_env_2esats__staload () ;

return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__dynload_flag ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__dynload () {
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__dynload_flag = 1 ;
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2edats__staload () ;

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

/* marking static variables for GC */

/* marking external values for GC */

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

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


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

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

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

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

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



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

/* end of [pats_hidynexp_dats.c] */
