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

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

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

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "libc/CATS/time.cats"

#include "libc/sys/CATS/types.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_hisexp_name ;
ats_ptr_type atslab_hisexp_node ;
} anairiats_rec_1 ;

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

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

typedef struct {
ats_ptr_type atslab_0 ;
} anairiats_sum_4 ;

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

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

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

typedef
struct {
ats_ptr_type atslab_primval_loc ;
ats_ptr_type atslab_primval_type ;
ats_ptr_type atslab_primval_node ;
} anairiats_rec_8 ;

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

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

typedef struct {
int tag ;
ats_double_type atslab_0 ;
} anairiats_sum_11 ;

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

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

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

typedef
struct {
ats_ptr_type atslab_primlab_loc ;
ats_ptr_type atslab_primlab_node ;
} anairiats_rec_15 ;

typedef
struct {
ats_ptr_type atslab_instr_loc ;
ats_ptr_type atslab_instr_node ;
} anairiats_rec_16 ;

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

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

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

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

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

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

typedef struct {
anairiats_rec_22 atslab_0 ;
ats_ptr_type atslab_1 ;
} anairiats_sum_23 ;

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

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

/* external typedefs */
/* external dynamic constructor declarations */
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__DCSTEXTDEFnone_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__DCSTEXTDEFsome_ext_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__DCSTEXTDEFsome_mac_2) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__DCSTEXTDEFsome_sta_3) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__S2Eint_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__S2Eintinf_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__HSLABELED_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__HSEtyarr_7) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__HSEtyrec_8) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__HSEtyrecsin_9) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__HSEtysum_10) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMCSTSPmyfil_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMCSTSPmyloc_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMCSTSPmyfun_2) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__LABPRIMVAL_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMLlab_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMLind_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVtmp_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVtmpref_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVarg_2) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVargref_3) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVargenv_5) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVcst_6) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVenv_7) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVint_8) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVintrep_9) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVbool_10) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVchar_11) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVfloat_12) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVstring_13) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVi0nt_14) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVf0loat_15) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVsizeof_16) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVcstsp_17) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVtop_18) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVempty_19) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVextval_20) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVcastfn_21) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVselcon_22) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVselect_23) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVselect2_24) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVselptr_25) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVptrof_26) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVptrofsel_27) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVrefarg_28) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVfunlab_29) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVcfunlab_30) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVlamfix_32) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVerror_37) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSfunlab_0) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INStmplab_1) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INScomment_2) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_val_3) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSpmove_val_4) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSfcall_6) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSfcall2_7) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSextfcall_8) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSextmcall_9) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INScond_10) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSfreecon_11) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSloop_12) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSloopexn_13) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INScaseof_14) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSletpop_15) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSletpush_16) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_con_17) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_boxrec_19) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_fltrec_20) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSpatck_21) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSstore_ptrofs_23) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSxstore_ptrofs_24) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSraise_25) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_delay_26) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_lazyeval_27) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INStrywith_28) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_list_nil_29) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSpmove_list_nil_30) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSpmove_list_cons_31) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_list_phead_32) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_list_ptail_33) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_arrpsz_ptr_34) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSstore_arrpsz_asz_35) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSstore_arrpsz_ptr_36) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSupdate_ptrinc_37) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSupdate_ptrdec_38) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSclosure_initize_39) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INStmpdec_40) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSextvar_41) ;
ATSextern_val(ats_sum_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSdcstdef_42) ;

/* external dynamic constant declarations */
ATSextern_fun(ats_void_type, atspre_assert_errmsg) (ats_bool_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_prerr_newline) () ;
ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_bool) (ats_ptr_type, ats_bool_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ;
ATSextern_fun(ats_bool_type, atspre_char_isalnum) (ats_char_type) ;
ATSextern_fun(ats_bool_type, atspre_char_isprint) (ats_char_type) ;
ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_gte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_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_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_stropt_is_none) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_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_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_intinf_2esats__fprint_intinf) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_varet_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_error_2esats__abort_interr) () ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stamp_2esats__fprint_stamp) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_global_2esats__the_STATIC_PREFIX_get) () ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_global_2esats__the_DEBUGATS_dbgflag_get) () ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_global_2esats__the_DEBUGATS_dbgline_get) () ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_filename_2esats__filename_get_fullname) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__fprint2_location) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_line_pragma) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__eq_label_label) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__fprint_i0nt) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__fprint_f0loat) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_name) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_fil) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_pack) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_name) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_fil) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_tag) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_pack) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_con) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_exn) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_nullary) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_listlike) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_singular) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_linear) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_fil) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_name) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_pack) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_extdef) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_stamp) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_sym) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__prerr_hisexp) (ats_ptr_type) ;
ATSextern_val(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_typtr) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_int_t0ype) () ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_get_boxknd) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_get_extknd) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_is_void) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_is_tyarr) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_is_tyrecsin) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__labhisexp_get_elt) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmplab_get_stamp) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_loc) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_type) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_isref) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_isret) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_topknd) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_origin) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_suffix) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_stamp) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__d2env_get_var) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_funlab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_name) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_tmpknd) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_d2copt) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_origin) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_suffix) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_tmparg) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_stamp) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_is_envful) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funent_eval_d2envlst) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_funent) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_primlab) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_is_void) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_is_top) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_ptrof) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_instr) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instr) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__the_funent_varbindmap_find) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_LPAREN) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_location) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_intinf) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_bool) (ats_ptr_type, ats_bool_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_char) (ats_ptr_type, ats_char_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_float) (ats_ptr_type, ats_double_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_string) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVint) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVintrep) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVbool) (ats_ptr_type, ats_bool_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVchar) (ats_ptr_type, ats_char_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVfloat) (ats_ptr_type, ats_double_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVstring) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_stamp) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_symbol) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_label) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_atslabel) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext) (ats_ptr_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_filename) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primcstsp) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2con) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2cst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_d2cst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2env) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2var_env) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2envlst) (ats_ptr_type, ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_sizeof) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funarg) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_funlab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdec) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdeclst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hisexp_typize) (ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hitype) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp_sel) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primvalist) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primlab) (ats_ptr_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_fcall) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_fcall2) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_extfcall) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_extmcall) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_patck) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ibranchlst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst_ln) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primdeclst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_int_type, atslib_tm_get_min) (ats_ref_type) ;
ATSextern_fun(ats_int_type, atslib_tm_get_hour) (ats_ref_type) ;
ATSextern_fun(ats_int_type, atslib_tm_get_mday) (ats_ref_type) ;
ATSextern_fun(ats_int_type, atslib_tm_get_mon) (ats_ref_type) ;
ATSextern_fun(ats_int_type, atslib_tm_get_year) (ats_ref_type) ;
ATSextern_fun(ats_time_type, atslib_time_get) () ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_arrdim) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_arg) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argref) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argenv) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmp) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmpref) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_env) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_d2cst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_castfn) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selcon) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select2) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selptr) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrofsel) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_refarg) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_funlab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_err) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_con) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_raise) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_val) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_pmove_val) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_ptralloc) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;

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

/* assuming abstract types */
/* sum constructor declarations */
/* exn constructor declarations */
/* global dynamic (non-functional) constant declarations */
/* internal function declarations */
static
ats_void_type prerr_FILENAME_02186_ () ;
static
ats_void_type auxch_14 (ats_ptr_type arg0, ats_char_type arg1) ;
static
ats_void_type auxch2_15 (ats_ptr_type arg0, ats_char_type arg1) ;
static
ats_char_type ptr0_get_01759_ats_char_type (ats_ptr_type arg0) ;
static
ats_char_type ptrget_01763_ats_char_type (ats_ptr_type arg0) ;
static
ats_void_type auxstr_18 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type emit_patsver_27 (ats_ptr_type arg0) ;
static
ats_void_type aux_29 (ats_ptr_type arg0, ats_char_type arg1) ;
static
ats_void_type aux_prfx_37 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type aux_prfx_39 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) ;
static
ats_ptr_type ref_make_elt_01089_ats_int_type (ats_int_type arg0) ;
static
ats_void_type emit_tmp_50 (ats_ptr_type arg0) ;
static
ats_void_type emit_statmp_51 (ats_ptr_type arg0) ;
static
ats_void_type auxtmp_52 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type auxmain_54 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type prerr_errccomp_loc_02194_ (ats_ptr_type arg0) ;
static
ats_void_type aux_58 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_void_type auxlst_60 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ;
static
ats_void_type loop_65 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
ats_int_type auxlst_74 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
ats_bool_type testselptr0_80 (ats_ptr_type arg0) ;
static
ats_void_type auxmain_84 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_bool_type list_is_cons_01295_ (ats_ptr_type arg0) ;
static
ats_void_type prerr_interror_loc_02188_ (ats_ptr_type arg0) ;
static
ats_void_type loop_95 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ;
static
ats_void_type auxcon0_97 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_void_type auxtag_98 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_void_type auxarg_99 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_void_type auxcon1_100 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ;
static
ats_void_type auxexn0_101 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_void_type auxexn1_102 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ;
static
ats_void_type loop_105 (ats_ptr_type env0, ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) ;
static
ats_clo_ptr_type loop_105_closure_make (ats_ptr_type env0) ;
static
ats_void_type loop_105_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) ;
static
ats_void_type auxsel_106 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_ptr_type auxfnd_108 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type prerr_interror_02187_ () ;
static
ats_ptr_type auxsel_109 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type loop_112 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_ptr_type auxselist_111 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_bool_type list_vt_is_nil_01494_ (ats_ptr_type arg0) ;
static
ats_void_type auxmain_113 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) ;

/* partial value template declarations */
/* static temporary variable declarations */
ATSstatic (ats_ptr_type, statmp149) ;

/* external value variable declarations */

/* function implementations */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 1936(line=73, offs=18) -- 1964(line=73, offs=46)
*/
ATSstaticdec()
ats_void_type
prerr_FILENAME_02186_ () {
/* local vardec */
// ATSlocal_void (tmp0) ;

__ats_lab_prerr_FILENAME_02186_:
/* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_ccomp_emit")) ;
return /* (tmp0) */ ;
} /* end of [prerr_FILENAME_02186_] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 2888(line=131, offs=3) -- 2925(line=131, offs=40)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp1) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text:
/* tmp1 = */ atspre_fprint_string (arg0, arg1) ;
return /* (tmp1) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 2992(line=137, offs=13) -- 3020(line=137, offs=41)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_LPAREN (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp2) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_LPAREN:
/* tmp2 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ;
return /* (tmp2) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_LPAREN] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 3043(line=139, offs=13) -- 3071(line=139, offs=41)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp3) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN:
/* tmp3 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ;
return /* (tmp3) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 3117(line=144, offs=14) -- 3144(line=144, offs=41)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp4) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline:
/* tmp4 = */ atspre_fprint_newline (arg0) ;
return /* (tmp4) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 3194(line=150, offs=3) -- 3238(line=150, offs=47)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_location (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp5) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_location:
/* tmp5 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_location (arg0, arg1) ;
return /* (tmp5) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_location] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 3306(line=156, offs=10) -- 3336(line=156, offs=40)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp6) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int:
/* tmp6 = */ atspre_fprint_int (arg0, arg1) ;
return /* (tmp6) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 3359(line=158, offs=13) -- 3400(line=158, offs=54)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_intinf (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp7) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_intinf:
/* tmp7 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_intinf_2esats__fprint_intinf (arg0, arg1) ;
return /* (tmp7) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_intinf] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 3426(line=160, offs=16) -- 3510(line=162, offs=2)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVint (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp8) ;
// ATSlocal_void (tmp9) ;
// ATSlocal_void (tmp10) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVint:
/* tmp9 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVint(")) ;
/* tmp10 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, arg1) ;
/* tmp8 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp8) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVint] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 3566(line=164, offs=19) -- 3654(line=166, offs=2)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVintrep (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp11) ;
// ATSlocal_void (tmp12) ;
// ATSlocal_void (tmp13) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVintrep:
/* tmp12 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVintrep(")) ;
/* tmp13 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, arg1) ;
/* tmp11 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp11) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVintrep] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 3727(line=171, offs=11) -- 3758(line=171, offs=42)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_bool (ats_ptr_type arg0, ats_bool_type arg1) {
/* local vardec */
// ATSlocal_void (tmp14) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_bool:
/* tmp14 = */ atspre_fprint_bool (arg0, arg1) ;
return /* (tmp14) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_bool] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 3787(line=174, offs=3) -- 3877(line=176, offs=2)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVbool (ats_ptr_type arg0, ats_bool_type arg1) {
/* local vardec */
// ATSlocal_void (tmp15) ;
// ATSlocal_void (tmp16) ;
// ATSlocal_void (tmp17) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVbool:
/* tmp16 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVbool_")) ;
/* tmp17 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_bool (arg0, arg1) ;
/* tmp15 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("()")) ;
return /* (tmp15) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVbool] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 3949(line=181, offs=12) -- 3988(line=181, offs=51)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_float (ats_ptr_type arg0, ats_double_type arg1) {
/* local vardec */
// ATSlocal_void (tmp18) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_float:
/* tmp18 = */ atspre_fprintf_exn (arg0, ATSstrcst("%.18f"), arg1) ;
return /* (tmp18) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_float] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 4018(line=184, offs=3) -- 4109(line=186, offs=2)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVfloat (ats_ptr_type arg0, ats_double_type arg1) {
/* local vardec */
// ATSlocal_void (tmp19) ;
// ATSlocal_void (tmp20) ;
// ATSlocal_void (tmp21) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVfloat:
/* tmp20 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVfloat(")) ;
/* tmp21 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_float (arg0, arg1) ;
/* tmp19 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ;
return /* (tmp19) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVfloat] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 4172(line=192, offs=5) -- 4610(line=212, offs=4)
*/
ATSstaticdec()
ats_void_type
auxch_14 (ats_ptr_type arg0, ats_char_type arg1) {
/* local vardec */
// ATSlocal_void (tmp22) ;
ATSlocal (ats_bool_type, tmp23) ;

__ats_lab_auxch_14:
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (arg1 != '\'') { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
/* tmp22 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\'")) ;
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
if (arg1 != '\n') { goto __ats_lab_2_0 ; }
__ats_lab_1_1:
/* tmp22 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\n")) ;
break ;

/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (arg1 != '\t') { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
/* tmp22 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\t")) ;
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
if (arg1 != '\\') { goto __ats_lab_4_0 ; }
__ats_lab_3_1:
/* tmp22 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\\\")) ;
break ;

/* branch: __ats_lab_4 */
__ats_lab_4_0:
__ats_lab_4_1:
tmp23 = atspre_char_isprint (arg1) ;
if (tmp23) {
/* tmp22 = */ atspre_fprint_char (arg0, arg1) ;
} else {
/* tmp22 = */ atspre_fprintf_exn (arg0, ATSstrcst("\\%.3o"), ats_castfn_mac(ats_uint_type, ats_castfn_mac(ats_uchar_type, arg1))) ;
} /* end of [if] */
break ;
} while (0) ;
return /* (tmp22) */ ;
} /* end of [auxch_14] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 4634(line=214, offs=5) -- 5096(line=235, offs=4)
*/
ATSstaticdec()
ats_void_type
auxch2_15 (ats_ptr_type arg0, ats_char_type arg1) {
/* local vardec */
// ATSlocal_void (tmp24) ;
ATSlocal (ats_bool_type, tmp25) ;

__ats_lab_auxch2_15:
do {
/* branch: __ats_lab_5 */
__ats_lab_5_0:
if (arg1 != '"') { goto __ats_lab_6_0 ; }
__ats_lab_5_1:
/* tmp24 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\\"")) ;
break ;

/* branch: __ats_lab_6 */
__ats_lab_6_0:
if (arg1 != '\n') { goto __ats_lab_7_0 ; }
__ats_lab_6_1:
/* tmp24 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\n")) ;
break ;

/* branch: __ats_lab_7 */
__ats_lab_7_0:
if (arg1 != '\t') { goto __ats_lab_8_0 ; }
__ats_lab_7_1:
/* tmp24 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\t")) ;
break ;

/* branch: __ats_lab_8 */
__ats_lab_8_0:
if (arg1 != '\\') { goto __ats_lab_9_0 ; }
__ats_lab_8_1:
/* tmp24 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\\\\")) ;
break ;

/* branch: __ats_lab_9 */
__ats_lab_9_0:
__ats_lab_9_1:
tmp25 = atspre_char_isprint (arg1) ;
if (tmp25) {
/* tmp24 = */ atspre_fprint_char (arg0, arg1) ;
} else {
/* tmp24 = */ atspre_fprintf_exn (arg0, ATSstrcst("\\%.3o"), ats_castfn_mac(ats_uint_type, ats_castfn_mac(ats_uchar_type, arg1))) ;
} /* end of [if] */
break ;
} while (0) ;
return /* (tmp24) */ ;
} /* end of [auxch2_15] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 5161(line=240, offs=11) -- 5186(line=240, offs=36)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_char (ats_ptr_type arg0, ats_char_type arg1) {
/* local vardec */
// ATSlocal_void (tmp26) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_char:
/* tmp26 = */ auxch_14 (arg0, arg1) ;
return /* (tmp26) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_char] */

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

__ats_lab_ptr0_get_01759_ats_char_type:
tmp33 = ats_ptrget_mac(ats_char_type, ats_castfn_mac(ats_ptr_type, arg0)) ;
return (tmp33) ;
} /* end of [ptr0_get_01759_ats_char_type] */

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

__ats_lab_ptrget_01763_ats_char_type:
tmp32 = ptr0_get_01759_ats_char_type (arg0) ;
return (tmp32) ;
} /* end of [ptrget_01763_ats_char_type] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 5236(line=246, offs=5) -- 5520(line=261, offs=4)
*/
ATSstaticdec()
ats_void_type
auxstr_18 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp28) ;
ATSlocal (ats_bool_type, tmp29) ;
// ATSlocal_void (tmp30) ;
ATSlocal (ats_char_type, tmp31) ;
ATSlocal (ats_ptr_type, tmp34) ;
ATSlocal (ats_ptr_type, tmp35) ;

__ats_lab_auxstr_18:
tmp29 = atspre_string_isnot_empty (arg1) ;
if (tmp29) {
tmp31 = ptrget_01763_ats_char_type (ats_castfn_mac(ats_ptr_type, arg1)) ;
/* tmp30 = */ auxch2_15 (arg0, tmp31) ;
tmp34 = atspre_padd_int (ats_castfn_mac(ats_ptr_type, arg1), 1) ;
tmp35 = ats_castfn_mac(ats_ptr_type, tmp34) ;
arg0 = arg0 ;
arg1 = tmp35 ;
goto __ats_lab_auxstr_18 ; // tail call
} else {
/* empty */
} /* end of [if] */
return /* (tmp28) */ ;
} /* end of [auxstr_18] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 5212(line=244, offs=3) -- 5592(line=267, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_string (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp27) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_string:
/* tmp27 = */ auxstr_18 (arg0, arg1) ;
return /* (tmp27) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_string] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 5688(line=274, offs=17) -- 5808(line=278, offs=2)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVchar (ats_ptr_type arg0, ats_char_type arg1) {
/* local vardec */
// ATSlocal_void (tmp36) ;
// ATSlocal_void (tmp37) ;
// ATSlocal_void (tmp38) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVchar:
/* tmp37 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVchar('")) ;
/* tmp38 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_char (arg0, arg1) ;
/* tmp36 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("')")) ;
return /* (tmp36) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVchar] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 5866(line=281, offs=19) -- 5996(line=285, offs=2)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVstring (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp39) ;
// ATSlocal_void (tmp40) ;
// ATSlocal_void (tmp41) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVstring:
/* tmp40 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVstring(\"")) ;
/* tmp41 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_string (arg0, arg1) ;
/* tmp39 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\")")) ;
return /* (tmp39) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVstring] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 6077(line=291, offs=3) -- 6222(line=300, offs=2)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp42) ;
// ATSlocal_void (tmp43) ;
// ATSlocal_void (tmp44) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt:
/* tmp43 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVi0nt(")) ;
/* tmp44 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__fprint_i0nt (arg0, arg1) ;
/* tmp42 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp42) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 6282(line=304, offs=3) -- 6431(line=313, offs=2)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp45) ;
// ATSlocal_void (tmp46) ;
// ATSlocal_void (tmp47) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat:
/* tmp46 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVf0loat(")) ;
/* tmp47 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__fprint_f0loat (arg0, arg1) ;
/* tmp45 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp45) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 6507(line=319, offs=3) -- 6545(line=319, offs=41)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_stamp (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp48) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_stamp:
/* tmp48 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stamp_2esats__fprint_stamp (arg0, arg1) ;
return /* (tmp48) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_stamp] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 6615(line=326, offs=3) -- 6653(line=326, offs=41)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_symbol (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp49) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_symbol:
/* tmp49 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbol (arg0, arg1) ;
return /* (tmp49) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_symbol] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 6777(line=339, offs=1) -- 6975(line=347, offs=2)
*/
ATSstaticdec()
ats_void_type
emit_patsver_27 (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp50) ;
// ATSlocal_void (tmp51) ;
// ATSlocal_void (tmp52) ;
// ATSlocal_void (tmp53) ;
// ATSlocal_void (tmp54) ;

__ats_lab_emit_patsver_27:
/* tmp51 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, 0) ;
/* tmp52 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("-")) ;
/* tmp53 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, 2) ;
/* tmp54 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("-")) ;
/* tmp50 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, 9) ;
return /* (tmp50) */ ;
} /* end of [emit_patsver_27] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 7025(line=353, offs=16) -- 8069(line=405, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_time_stamp (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp55) ;
ATSlocal (ats_time_type, tmp56) ;
ATSlocal (ats_time_type, tmp57) ;
ATSlocal (ats_ptr_type, tmp58) ;
ATSlocal (ats_ptr_type, tmp59) ;
// ATSlocal_void (tmp60) ;
// ATSlocal_void (tmp61) ;
// ATSlocal_void (tmp62) ;
// ATSlocal_void (tmp63) ;
// ATSlocal_void (tmp64) ;
// ATSlocal_void (tmp65) ;
// ATSlocal_void (tmp66) ;
ATSlocal (ats_bool_type, tmp67) ;
ATSlocal (ats_int_type, tmp68) ;
ATSlocal (ats_int_type, tmp69) ;
ATSlocal (ats_int_type, tmp70) ;
ATSlocal (ats_int_type, tmp71) ;
ATSlocal (ats_int_type, tmp72) ;
ATSlocal (ats_int_type, tmp73) ;
ATSlocal (ats_int_type, tmp74) ;
// ATSlocal_void (tmp75) ;
// ATSlocal_void (tmp76) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_time_stamp:
/* ats_time_type tmp56 ; */
tmp57 = atslib_time_get () ;
tmp56 = tmp57 ;
tmp58 = atslib_localtime ((&tmp56)) ;
tmp59 = ats_selsin_mac(tmp58, atslab_1) ;
/* tmp60 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n**\n")) ;
/* tmp61 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** The C code is generated by [")) ;
/* tmp62 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATS/Postiats-")) ;
/* tmp63 = */ emit_patsver_27 (arg0) ;
/* tmp64 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("]\n")) ;
/* tmp65 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** The starting compilation time is: ")) ;
tmp67 = atspre_pgt (tmp59, atspre_null_ptr) ;
if (tmp67) {
tmp68 = atslib_tm_get_min (tmp59) ;
tmp69 = atslib_tm_get_hour (tmp59) ;
tmp70 = atslib_tm_get_mday (tmp59) ;
tmp72 = atslib_tm_get_mon (tmp59) ;
tmp71 = atspre_add_int_int (1, tmp72) ;
tmp74 = atslib_tm_get_year (tmp59) ;
tmp73 = atspre_add_int_int (1900, tmp74) ;
/* tmp66 = */ atspre_fprintf_exn (arg0, ATSstrcst("%i-%i-%i: %2ih:%2im\n"), tmp73, tmp71, tmp70, tmp69, tmp68) ;
} else {
/* tmp66 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("**TIME-IS-UNKNOWN!!!**\n")) ;
} /* end of [if] */
/* tmp75 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("**\n")) ;
/* tmp76 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ;
/* tmp55 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
return /* (tmp55) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_time_stamp] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 8154(line=413, offs=5) -- 8459(line=431, offs=4)
*/
ATSstaticdec()
ats_void_type
aux_29 (ats_ptr_type arg0, ats_char_type arg1) {
/* local vardec */
// ATSlocal_void (tmp77) ;
ATSlocal (ats_bool_type, tmp78) ;
ATSlocal (ats_bool_type, tmp79) ;
ATSlocal (ats_bool_type, tmp80) ;

__ats_lab_aux_29:
do {
/* branch: __ats_lab_10 */
__ats_lab_10_0:
__ats_lab_10_1:
tmp78 = atspre_char_isalnum (arg1) ;
if (!tmp78) { goto __ats_lab_11_1 ; }
/* tmp77 = */ atspre_fprint_char (arg0, arg1) ;
break ;

/* branch: __ats_lab_11 */
__ats_lab_11_0:
__ats_lab_11_1:
tmp79 = atspre_eq_char_char (arg1, '_') ;
if (!tmp79) { goto __ats_lab_12_1 ; }
/* tmp77 = */ atspre_fprint_char (arg0, '_') ;
break ;

/* branch: __ats_lab_12 */
__ats_lab_12_0:
__ats_lab_12_1:
tmp80 = atspre_eq_char_char (arg1, '$') ;
if (!tmp80) { goto __ats_lab_13_1 ; }
/* tmp77 = */ atspre_fprint_string (arg0, ATSstrcst("__")) ;
break ;

/* branch: __ats_lab_13 */
__ats_lab_13_0:
__ats_lab_13_1:
/* tmp77 = */ atspre_fprintf_exn (arg0, ATSstrcst("_%.3o_"), ats_castfn_mac(ats_uint_type, arg1)) ;
break ;
} while (0) ;
return /* (tmp77) */ ;
} /* end of [aux_29] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 8524(line=437, offs=3) -- 8780(line=450, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp81) ;
ATSlocal (ats_bool_type, tmp82) ;
ATSlocal (ats_char_type, tmp83) ;
// ATSlocal_void (tmp84) ;
ATSlocal (ats_ptr_type, tmp85) ;
ATSlocal (ats_ptr_type, tmp86) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident:
tmp82 = atspre_string_isnot_empty (arg1) ;
if (tmp82) {
tmp83 = ptrget_01763_ats_char_type (ats_castfn_mac(ats_ptr_type, arg1)) ;
/* tmp84 = */ aux_29 (arg0, tmp83) ;
tmp85 = atspre_padd_int (ats_castfn_mac(ats_ptr_type, arg1), 1) ;
tmp86 = ats_castfn_mac(ats_ptr_type, tmp85) ;
arg0 = arg0 ;
arg1 = tmp86 ;
goto __ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident ; // tail call
} else {
/* empty */
} /* end of [if] */
return /* (tmp81) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 8872(line=458, offs=3) -- 8937(line=460, offs=2)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_label (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp87) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_label:
/* tmp87 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__fprint_label (arg0, arg1) ;
return /* (tmp87) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_label] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 8988(line=464, offs=3) -- 9092(line=467, offs=2)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_atslabel (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp88) ;
// ATSlocal_void (tmp89) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_atslabel:
/* tmp89 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atslab__")) ;
/* tmp88 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__fprint_label (arg0, arg1) ;
return /* (tmp88) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_atslabel] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 9146(line=471, offs=3) -- 9294(line=480, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp90) ;
ATSlocal (ats_bool_type, tmp91) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext:
tmp91 = atspre_gt_int_int (arg1, 0) ;
if (tmp91) {
/* tmp90 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_label (arg0, arg2) ;
} else {
/* tmp90 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_atslabel (arg0, arg2) ;
} /* end of [if] */
return /* (tmp90) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 9369(line=486, offs=3) -- 9530(line=493, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_filename (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp92) ;
ATSlocal (ats_ptr_type, tmp93) ;
ATSlocal (ats_ptr_type, tmp94) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_filename:
tmp93 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_filename_2esats__filename_get_fullname (arg1) ;
tmp94 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_get_name (tmp93) ;
/* tmp92 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp94) ;
return /* (tmp92) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_filename] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 9606(line=499, offs=3) -- 10235(line=529, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primcstsp (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp95) ;
ATSlocal (ats_ptr_type, tmp96) ;
// ATSlocal_void (tmp97) ;
// ATSlocal_void (tmp98) ;
ATSlocal (ats_ptr_type, tmp99) ;
// ATSlocal_void (tmp100) ;
// ATSlocal_void (tmp101) ;
ATSlocal (ats_ptr_type, tmp102) ;
// ATSlocal_void (tmp103) ;
// ATSlocal_void (tmp104) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primcstsp:
do {
/* branch: __ats_lab_14 */
__ats_lab_14_0:
if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_15_0 ; }
__ats_lab_14_1:
tmp96 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ;
/* tmp97 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCSTSPmyfil(\"")) ;
/* tmp98 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp96) ;
/* tmp95 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\")")) ;
break ;

/* branch: __ats_lab_15 */
__ats_lab_15_0:
if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_16_0 ; }
__ats_lab_15_1:
tmp99 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ;
/* tmp100 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCSTSPmyloc(\"")) ;
/* tmp101 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_location (arg0, tmp99) ;
/* tmp95 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\")")) ;
break ;

/* branch: __ats_lab_16 */
__ats_lab_16_0:
// if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_16_1:
tmp102 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ;
/* tmp103 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCSTSPmyfun(\"")) ;
/* tmp104 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp102) ;
/* tmp95 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\")")) ;
break ;
} while (0) ;
return /* (tmp95) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primcstsp] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 10309(line=535, offs=3) -- 10462(line=545, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_sizeof (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp105) ;
// ATSlocal_void (tmp106) ;
// ATSlocal_void (tmp107) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_sizeof:
/* tmp106 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVsizeof(")) ;
/* tmp107 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, arg1) ;
/* tmp105 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp105) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_sizeof] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 10520(line=552, offs=1) -- 10861(line=573, offs=4)
*/
ATSstaticdec()
ats_void_type
aux_prfx_37 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp108) ;
ATSlocal (ats_ptr_type, tmp109) ;
ATSlocal (ats_bool_type, tmp110) ;
ATSlocal (ats_ptr_type, tmp111) ;

__ats_lab_aux_prfx_37:
tmp109 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_pack (arg1) ;
tmp110 = atspre_stropt_is_some (tmp109) ;
if (tmp110) {
/* tmp108 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, ats_castfn_mac(ats_ptr_type, tmp109)) ;
} else {
tmp111 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_fil (arg1) ;
/* tmp108 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_filename (arg0, tmp111) ;
} /* end of [if] */
return /* (tmp108) */ ;
} /* end of [aux_prfx_37] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 10931(line=579, offs=3) -- 11104(line=586, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_s2cst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp112) ;
// ATSlocal_void (tmp113) ;
// ATSlocal_void (tmp114) ;
ATSlocal (ats_ptr_type, tmp115) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_s2cst:
/* tmp113 = */ aux_prfx_37 (arg0, arg1) ;
/* tmp114 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ;
tmp115 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_name (arg1) ;
/* tmp112 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp115) ;
return /* (tmp112) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_s2cst] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 11184(line=595, offs=1) -- 11466(line=614, offs=4)
*/
ATSstaticdec()
ats_void_type
aux_prfx_39 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp116) ;
ATSlocal (ats_bool_type, tmp117) ;

__ats_lab_aux_prfx_39:
tmp117 = atspre_stropt_is_none (arg2) ;
if (tmp117) {
/* tmp116 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_filename (arg0, arg1) ;
} else {
/* tmp116 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, ats_castfn_mac(ats_ptr_type, arg2)) ;
} /* end of [if] */
return /* (tmp116) */ ;
} /* end of [aux_prfx_39] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 11536(line=620, offs=3) -- 12006(line=646, offs=2)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2con (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp118) ;
ATSlocal (ats_ptr_type, tmp119) ;
ATSlocal (ats_ptr_type, tmp120) ;
// ATSlocal_void (tmp121) ;
ATSlocal (ats_ptr_type, tmp122) ;
// ATSlocal_void (tmp123) ;
// ATSlocal_void (tmp124) ;
ATSlocal (ats_int_type, tmp125) ;
ATSlocal (ats_bool_type, tmp126) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2con:
tmp119 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_fil (arg1) ;
tmp120 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_pack (arg1) ;
/* tmp121 = */ aux_prfx_39 (arg0, tmp119, tmp120) ;
tmp122 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_name (arg1) ;
/* tmp123 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ;
/* tmp124 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp122) ;
tmp125 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_tag (arg1) ;
tmp126 = atspre_gte_int_int (tmp125, 0) ;
if (tmp126) {
/* tmp118 = */ atspre_fprintf_exn (arg0, ATSstrcst("__%i"), tmp125) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp118) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2con] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 12078(line=652, offs=3) -- 12882(line=688, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp127) ;
ATSlocal (ats_ptr_type, tmp128) ;
ATSlocal (ats_int_type, tmp129) ;
ATSlocal (ats_ptr_type, tmp130) ;
ATSlocal (ats_ptr_type, tmp131) ;
// ATSlocal_void (tmp132) ;
// ATSlocal_void (tmp133) ;
ATSlocal (ats_ptr_type, tmp134) ;
// ATSlocal_void (tmp135) ;
ATSlocal (ats_bool_type, tmp136) ;
// ATSlocal_void (tmp137) ;
ATSlocal (ats_int_type, tmp138) ;
ATSlocal (ats_ptr_type, tmp139) ;
ATSlocal (ats_ptr_type, tmp140) ;
ATSlocal (ats_ptr_type, tmp141) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2cst:
tmp128 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_extdef (arg1) ;
do {
/* branch: __ats_lab_17 */
__ats_lab_17_0:
if (((ats_sum_ptr_type)tmp128)->tag != 0) { goto __ats_lab_18_0 ; }
__ats_lab_17_1:
tmp129 = ats_caselptrlab_mac(anairiats_sum_3, tmp128, atslab_0) ;
tmp130 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_fil (arg1) ;
tmp131 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_pack (arg1) ;
/* tmp132 = */ aux_prfx_39 (arg0, tmp130, tmp131) ;
/* tmp133 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ;
tmp134 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_name (arg1) ;
/* tmp135 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp134) ;
tmp136 = atspre_eq_int_int (tmp129, 0) ;
if (tmp136) {
/* tmp137 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ;
tmp138 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_stamp (arg1) ;
/* tmp127 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_stamp (arg0, tmp138) ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_18 */
__ats_lab_18_0:
if (((ats_sum_ptr_type)tmp128)->tag != 1) { goto __ats_lab_19_0 ; }
__ats_lab_18_1:
tmp139 = ats_caselptrlab_mac(anairiats_sum_2, tmp128, atslab_0) ;
/* tmp127 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp139) ;
break ;

/* branch: __ats_lab_19 */
__ats_lab_19_0:
if (((ats_sum_ptr_type)tmp128)->tag != 2) { goto __ats_lab_20_0 ; }
__ats_lab_19_1:
tmp140 = ats_caselptrlab_mac(anairiats_sum_2, tmp128, atslab_0) ;
/* tmp127 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp140) ;
break ;

/* branch: __ats_lab_20 */
__ats_lab_20_0:
// if (((ats_sum_ptr_type)tmp128)->tag != 3) { ats_deadcode_failure_handle () ; }
__ats_lab_20_1:
tmp141 = ats_caselptrlab_mac(anairiats_sum_2, tmp128, atslab_0) ;
/* tmp127 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp141) ;
break ;
} while (0) ;
return /* (tmp127) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2cst] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 12975(line=696, offs=3) -- 13031(line=696, offs=59)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp142) ;
ATSlocal (ats_ptr_type, tmp143) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_d2cst:
tmp143 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_name (arg1) ;
/* tmp142 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp143) ;
return /* (tmp142) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_d2cst] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 13102(line=703, offs=3) -- 13224(line=709, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp144) ;
// ATSlocal_void (tmp145) ;
ATSlocal (ats_int_type, tmp146) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab:
/* tmp145 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__atstmplab")) ;
tmp146 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmplab_get_stamp (arg1) ;
/* tmp144 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp146) ;
return /* (tmp144) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 13277(line=713, offs=3) -- 13391(line=718, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplabint (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
// ATSlocal_void (tmp147) ;
// ATSlocal_void (tmp148) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplabint:
/* tmp148 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, arg1) ;
/* tmp147 = */ atspre_fprintf_exn (arg0, ATSstrcst("__%i"), arg2) ;
return /* (tmp147) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplabint] */

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

__ats_lab_ref_01088_ats_int_type:
/* ats_int_type tmp152 ; */
tmp152 = arg0 ;
tmp151 = atspre_ref_make_elt_tsz ((&tmp152), sizeof(ats_int_type)) ;
return (tmp151) ;
} /* end of [ref_01088_ats_int_type] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/reference.dats: 1994(line=62, offs=27) -- 2009(line=62, offs=42)
*/
ATSstaticdec()
ats_ptr_type
ref_make_elt_01089_ats_int_type (ats_int_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp150) ;

__ats_lab_ref_make_elt_01089_ats_int_type:
tmp150 = ref_01088_ats_int_type (arg0) ;
return (tmp150) ;
} /* end of [ref_make_elt_01089_ats_int_type] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 13534(line=729, offs=15) -- 13561(line=729, offs=42)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_set_nfnx (ats_int_type arg0) {
/* local vardec */
// ATSlocal_void (tmp153) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_set_nfnx:
ats_ptrget_mac(ats_int_type, statmp149) = arg0 ;
return /* (tmp153) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_set_nfnx] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 13588(line=733, offs=3) -- 13758(line=740, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funarg (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp154) ;
ATSlocal (ats_int_type, tmp155) ;
ATSlocal (ats_bool_type, tmp156) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funarg:
tmp155 = ats_ptrget_mac(ats_int_type, statmp149) ;
tmp156 = atspre_lte_int_int (tmp155, 1) ;
if (tmp156) {
/* tmp154 = */ atspre_fprintf_exn (arg0, ATSstrcst("arg%i"), arg1) ;
} else {
/* tmp154 = */ atspre_fprintf_exn (arg0, ATSstrcst("a%irg%i"), tmp155, arg1) ;
} /* end of [if] */
return /* (tmp154) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funarg] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 13808(line=744, offs=3) -- 13964(line=754, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funapy (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp157) ;
ATSlocal (ats_int_type, tmp158) ;
ATSlocal (ats_bool_type, tmp159) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funapy:
tmp158 = ats_ptrget_mac(ats_int_type, statmp149) ;
tmp159 = atspre_lte_int_int (tmp158, 1) ;
if (tmp159) {
/* tmp157 = */ atspre_fprintf_exn (arg0, ATSstrcst("apy%i"), arg1) ;
} else {
/* tmp157 = */ atspre_fprintf_exn (arg0, ATSstrcst("a%ipy%i"), tmp158, arg1) ;
} /* end of [if] */
return /* (tmp157) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funapy] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 14040(line=761, offs=1) -- 14099(line=764, offs=34)
*/
ATSstaticdec()
ats_void_type
emit_tmp_50 (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp160) ;

__ats_lab_emit_tmp_50:
/* tmp160 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("tmp")) ;
return /* (tmp160) */ ;
} /* end of [emit_tmp_50] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 14107(line=767, offs=1) -- 14332(line=781, offs=4)
*/
ATSstaticdec()
ats_void_type
emit_statmp_51 (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp161) ;
ATSlocal (ats_ptr_type, tmp162) ;
// ATSlocal_void (tmp163) ;
ATSlocal (ats_bool_type, tmp164) ;

__ats_lab_emit_statmp_51:
tmp162 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_global_2esats__the_STATIC_PREFIX_get () ;
tmp164 = atspre_stropt_is_some (tmp162) ;
if (tmp164) {
/* tmp163 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ats_castfn_mac(ats_ptr_type, tmp162)) ;
} else {
/* empty */
} /* end of [if] */
/* tmp161 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("statmp")) ;
return /* (tmp161) */ ;
} /* end of [emit_statmp_51] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 14395(line=787, offs=5) -- 15235(line=828, offs=4)
*/
ATSstaticdec()
ats_void_type
auxtmp_52 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp165) ;
ATSlocal (ats_int_type, tmp166) ;
// ATSlocal_void (tmp167) ;
ATSlocal (ats_bool_type, tmp168) ;
ATSlocal (ats_bool_type, tmp169) ;
// ATSlocal_void (tmp170) ;
ATSlocal (ats_bool_type, tmp171) ;
// ATSlocal_void (tmp172) ;
ATSlocal (ats_ptr_type, tmp173) ;
ATSlocal (ats_ptr_type, tmp174) ;
ATSlocal (ats_int_type, tmp175) ;
ATSlocal (ats_int_type, tmp176) ;
// ATSlocal_void (tmp177) ;
ATSlocal (ats_int_type, tmp178) ;

__ats_lab_auxtmp_52:
tmp166 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_topknd (arg1) ;
do {
/* branch: __ats_lab_21 */
__ats_lab_21_0:
__ats_lab_21_1:
tmp168 = atspre_eq_int_int (tmp166, 0) ;
if (!tmp168) { goto __ats_lab_22_1 ; }
/* tmp167 = */ emit_tmp_50 (arg0) ;
break ;

/* branch: __ats_lab_22 */
__ats_lab_22_0:
__ats_lab_22_1:
/* tmp167 = */ emit_statmp_51 (arg0) ;
break ;
} while (0) ;
tmp169 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_isref (arg1) ;
if (tmp169) {
/* tmp170 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ref")) ;
} else {
/* empty */
} /* end of [if] */
tmp171 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_isret (arg1) ;
if (tmp171) {
/* tmp172 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ret")) ;
} else {
/* empty */
} /* end of [if] */
tmp173 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_origin (arg1) ;
do {
/* branch: __ats_lab_23 */
__ats_lab_23_0:
if (tmp173 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; }
__ats_lab_23_1:
tmp174 = ats_caselptrlab_mac(anairiats_sum_4, tmp173, atslab_0) ;
tmp175 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_suffix (arg1) ;
tmp176 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_stamp (tmp174) ;
/* tmp177 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp176) ;
/* tmp165 = */ atspre_fprintf_exn (arg0, ATSstrcst("__%i"), tmp175) ;
break ;

/* branch: __ats_lab_24 */
__ats_lab_24_0:
// if (tmp173 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_24_1:
tmp178 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_stamp (arg1) ;
/* tmp165 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp178) ;
break ;
} while (0) ;
return /* (tmp165) */ ;
} /* end of [auxtmp_52] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 15302(line=833, offs=13) -- 15332(line=833, offs=43)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp179) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar:
/* tmp179 = */ auxtmp_52 (arg0, arg1) ;
return /* (tmp179) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 15389(line=841, offs=5) -- 16052(line=875, offs=4)
*/
ATSstaticdec()
ats_void_type
auxmain_54 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp180) ;
ATSlocal (ats_ptr_type, tmp181) ;
ATSlocal (ats_ptr_type, tmp182) ;
// ATSlocal_void (tmp183) ;
ATSlocal (ats_ptr_type, tmp184) ;
ATSlocal (ats_ptr_type, tmp185) ;
ATSlocal (ats_int_type, tmp186) ;
ATSlocal (ats_bool_type, tmp187) ;
// ATSlocal_void (tmp188) ;
ATSlocal (ats_int_type, tmp189) ;

__ats_lab_auxmain_54:
tmp181 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_d2copt (arg1) ;
tmp182 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_tmparg (arg1) ;
do {
/* branch: __ats_lab_25 */
__ats_lab_25_0:
if (tmp181 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; }
__ats_lab_25_1:
tmp184 = ats_caselptrlab_mac(anairiats_sum_4, tmp181, atslab_0) ;
/* tmp183 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2cst (arg0, tmp184) ;
break ;

/* branch: __ats_lab_26 */
__ats_lab_26_0:
// if (tmp181 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_26_1:
tmp185 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_name (arg1) ;
/* tmp183 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp185) ;
break ;
} while (0) ;
tmp186 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_tmpknd (arg1) ;
tmp187 = atspre_gt_int_int (tmp186, 0) ;
if (tmp187) {
/* tmp188 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ;
tmp189 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_stamp (arg1) ;
/* tmp180 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp189) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp180) */ ;
} /* end of [auxmain_54] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 16122(line=881, offs=3) -- 16437(line=896, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp190) ;
ATSlocal (ats_ptr_type, tmp191) ;
// ATSlocal_void (tmp192) ;
ATSlocal (ats_ptr_type, tmp193) ;
ATSlocal (ats_int_type, tmp194) ;
ATSlocal (ats_bool_type, tmp195) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab:
tmp191 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_origin (arg1) ;
do {
/* branch: __ats_lab_27 */
__ats_lab_27_0:
if (tmp191 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; }
__ats_lab_27_1:
tmp193 = ats_caselptrlab_mac(anairiats_sum_4, tmp191, atslab_0) ;
/* tmp192 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp193) ;
break ;

/* branch: __ats_lab_28 */
__ats_lab_28_0:
// if (tmp191 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_28_1:
/* tmp192 = */ auxmain_54 (arg0, arg1) ;
break ;
} while (0) ;
tmp194 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_suffix (arg1) ;
tmp195 = atspre_gt_int_int (tmp194, 0) ;
if (tmp195) {
/* tmp190 = */ atspre_fprintf_exn (arg0, ATSstrcst("__%i"), tmp194) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp190) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 16488(line=900, offs=3) -- 16756(line=913, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_funlab (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp196) ;
ATSlocal (ats_ptr_type, tmp197) ;
ATSlocal (ats_ptr_type, tmp198) ;
ATSlocal (ats_ptr_type, tmp199) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_funlab:
tmp197 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_d2copt (arg1) ;
do {
/* branch: __ats_lab_29 */
__ats_lab_29_0:
if (tmp197 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; }
__ats_lab_29_1:
tmp199 = ats_caselptrlab_mac(anairiats_sum_4, tmp197, atslab_0) ;
tmp198 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_name (tmp199) ;
break ;

/* branch: __ats_lab_30 */
__ats_lab_30_0:
// if (tmp197 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_30_1:
tmp198 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_name (arg1) ;
break ;
} while (0) ;
/* tmp196 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp198) ;
return /* (tmp196) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_funlab] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_errmsg.dats: 2597(line=97, offs=20) -- 2660(line=100, offs=2)
*/
ATSstaticdec()
ats_void_type
prerr_errccomp_loc_02194_ (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp206) ;
// ATSlocal_void (tmp207) ;

__ats_lab_prerr_errccomp_loc_02194_:
/* tmp207 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location (arg0) ;
/* tmp206 = */ atspre_prerr_string (ATSstrcst(": error(ccomp)")) ;
return /* (tmp206) */ ;
} /* end of [prerr_errccomp_loc_02194_] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 16984(line=931, offs=5) -- 17460(line=955, offs=4)
*/
ATSstaticdec()
ats_void_type
aux_58 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp201) ;
ATSlocal (ats_ptr_type, tmp202) ;
ATSlocal (ats_int_type, tmp203) ;
ATSlocal (ats_ptr_type, tmp204) ;
// ATSlocal_void (tmp205) ;
ATSlocal (ats_ptr_type, tmp208) ;
// ATSlocal_void (tmp209) ;
// ATSlocal_void (tmp210) ;

__ats_lab_aux_58:
tmp202 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg2), atslab_s2exp_node) ;
do {
/* branch: __ats_lab_31 */
__ats_lab_31_0:
if (((ats_sum_ptr_type)tmp202)->tag != 0) { goto __ats_lab_32_0 ; }
__ats_lab_31_1:
tmp203 = ats_caselptrlab_mac(anairiats_sum_3, tmp202, atslab_0) ;
/* tmp201 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, tmp203) ;
break ;

/* branch: __ats_lab_32 */
__ats_lab_32_0:
if (((ats_sum_ptr_type)tmp202)->tag != 1) { goto __ats_lab_33_0 ; }
__ats_lab_32_1:
tmp204 = ats_caselptrlab_mac(anairiats_sum_2, tmp202, atslab_0) ;
/* tmp201 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_intinf (arg0, tmp204) ;
break ;

/* branch: __ats_lab_33 */
__ats_lab_33_0:
__ats_lab_33_1:
tmp208 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_loc (arg1) ;
/* tmp205 = */ prerr_errccomp_loc_02194_ (tmp208) ;
/* tmp209 = */ atspre_prerr_string (ATSstrcst(": the size of a stack-allocated array cannot be determined. ")) ;
/* tmp210 = */ atspre_prerr_newline () ;
/* tmp201 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSERRORarrdim_unknown()")) ;
break ;
} while (0) ;
return /* (tmp201) */ ;
} /* end of [aux_58] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 17484(line=957, offs=5) -- 17820(line=976, offs=4)
*/
ATSstaticdec()
ats_void_type
auxlst_60 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) {
/* local vardec */
// ATSlocal_void (tmp211) ;
ATSlocal (ats_ptr_type, tmp212) ;
ATSlocal (ats_ptr_type, tmp213) ;
// ATSlocal_void (tmp214) ;
ATSlocal (ats_bool_type, tmp215) ;
// ATSlocal_void (tmp216) ;
ATSlocal (ats_int_type, tmp217) ;

__ats_lab_auxlst_60:
do {
/* branch: __ats_lab_34 */
__ats_lab_34_0:
if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_35_0 ; }
__ats_lab_34_1:
break ;

/* branch: __ats_lab_35 */
__ats_lab_35_0:
// if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_35_1:
tmp212 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ;
tmp213 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ;
tmp215 = atspre_gt_int_int (arg3, 0) ;
if (tmp215) {
/* tmp214 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("][")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp216 = */ aux_58 (arg0, arg1, tmp212) ;
tmp217 = atspre_add_int_int (arg3, 1) ;
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = tmp213 ;
arg3 = tmp217 ;
goto __ats_lab_auxlst_60 ; // tail call
break ;
} while (0) ;
return /* (tmp211) */ ;
} /* end of [auxlst_60] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 16954(line=929, offs=3) -- 17925(line=980, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_arrdim (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp200) ;
// ATSlocal_void (tmp218) ;
// ATSlocal_void (tmp219) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_arrdim:
/* tmp218 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("[")) ;
/* tmp219 = */ auxlst_60 (arg0, arg1, arg2, 0) ;
/* tmp200 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("]")) ;
return /* (tmp200) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_arrdim] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 17996(line=986, offs=3) -- 19038(line=1049, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdec (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp220) ;
ATSlocal (ats_ptr_type, tmp221) ;
ATSlocal (ats_int_type, tmp222) ;
ATSlocal (ats_bool_type, tmp223) ;
// ATSlocal_void (tmp224) ;
// ATSlocal_void (tmp225) ;
ATSlocal (ats_bool_type, tmp226) ;
// ATSlocal_void (tmp227) ;
// ATSlocal_void (tmp228) ;
// ATSlocal_void (tmp229) ;
// ATSlocal_void (tmp230) ;
ATSlocal (ats_ptr_type, tmp231) ;
ATSlocal (ats_ptr_type, tmp232) ;
// ATSlocal_void (tmp233) ;
ATSlocal (ats_bool_type, tmp234) ;
// ATSlocal_void (tmp235) ;
ATSlocal (ats_ptr_type, tmp236) ;
ATSlocal (ats_ptr_type, tmp237) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdec:
tmp221 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_type (arg1) ;
tmp222 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_topknd (arg1) ;
tmp223 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_is_void (tmp221) ;
if (tmp223) {
/* tmp224 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("// ")) ;
} else {
/* empty */
} /* end of [if] */
tmp226 = atspre_eq_int_int (tmp222, 0) ;
if (tmp226) {
/* tmp225 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStmpdec")) ;
} else {
/* tmp225 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSstatmpdec")) ;
} /* end of [if] */
if (tmp223) {
/* tmp227 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_void")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp228 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ;
/* tmp229 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
tmp231 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp221), atslab_hisexp_node) ;
do {
/* branch: __ats_lab_36 */
__ats_lab_36_0:
if (((ats_sum_ptr_type)tmp231)->tag != 7) { goto __ats_lab_37_0 ; }
__ats_lab_36_1:
tmp232 = ats_caselptrlab_mac(anairiats_sum_7, tmp231, atslab_1) ;
/* tmp230 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_arrdim (arg0, arg1, tmp232) ;
break ;

/* branch: __ats_lab_37 */
__ats_lab_37_0:
__ats_lab_37_1:
break ;
} while (0) ;
tmp234 = atspre_neg_bool (tmp223) ;
if (tmp234) {
/* tmp235 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
tmp236 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp221), atslab_hisexp_node) ;
do {
/* branch: __ats_lab_38 */
__ats_lab_38_0:
if (((ats_sum_ptr_type)tmp236)->tag != 7) { goto __ats_lab_39_0 ; }
__ats_lab_38_1:
tmp237 = ats_caselptrlab_mac(anairiats_sum_7, tmp236, atslab_0) ;
/* tmp233 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp237) ;
break ;

/* branch: __ats_lab_39 */
__ats_lab_39_0:
__ats_lab_39_1:
/* tmp233 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp221) ;
break ;
} while (0) ;
} else {
/* empty */
} /* end of [if] */
/* tmp220 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
return /* (tmp220) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdec] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 19112(line=1055, offs=3) -- 19305(line=1065, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdeclst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp238) ;
ATSlocal (ats_ptr_type, tmp239) ;
ATSlocal (ats_ptr_type, tmp240) ;
// ATSlocal_void (tmp241) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdeclst:
do {
/* branch: __ats_lab_40 */
__ats_lab_40_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; }
__ats_lab_40_1:
tmp239 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp240 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ;
/* tmp241 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdec (arg0, tmp239) ;
arg0 = arg0 ;
arg1 = tmp240 ;
goto __ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdeclst ; // tail call
break ;

/* branch: __ats_lab_41 */
__ats_lab_41_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_41_1:
break ;
} while (0) ;
return /* (tmp238) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdeclst] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 20475(line=1109, offs=3) -- 22422(line=1181, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp242) ;
ATSlocal (ats_ptr_type, tmp243) ;
ATSlocal (ats_ptr_type, tmp244) ;
ATSlocal (ats_int_type, tmp245) ;
ATSlocal (ats_ptr_type, tmp246) ;
ATSlocal (ats_bool_type, tmp247) ;
ATSlocal (ats_char_type, tmp248) ;
ATSlocal (ats_double_type, tmp249) ;
ATSlocal (ats_ptr_type, tmp250) ;
ATSlocal (ats_ptr_type, tmp251) ;
ATSlocal (ats_ptr_type, tmp252) ;
ATSlocal (ats_ptr_type, tmp253) ;
ATSlocal (ats_ptr_type, tmp254) ;
ATSlocal (ats_ptr_type, tmp255) ;
ATSlocal (ats_ptr_type, tmp256) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval:
tmp243 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_loc) ;
tmp244 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
do {
/* branch: __ats_lab_42 */
__ats_lab_42_0:
if (((ats_sum_ptr_type)tmp244)->tag != 0) { goto __ats_lab_43_0 ; }
__ats_lab_42_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmp (arg0, arg1) ;
break ;

/* branch: __ats_lab_43 */
__ats_lab_43_0:
if (((ats_sum_ptr_type)tmp244)->tag != 1) { goto __ats_lab_44_0 ; }
__ats_lab_43_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmpref (arg0, arg1) ;
break ;

/* branch: __ats_lab_44 */
__ats_lab_44_0:
if (((ats_sum_ptr_type)tmp244)->tag != 2) { goto __ats_lab_45_0 ; }
__ats_lab_44_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_arg (arg0, arg1) ;
break ;

/* branch: __ats_lab_45 */
__ats_lab_45_0:
if (((ats_sum_ptr_type)tmp244)->tag != 3) { goto __ats_lab_46_0 ; }
__ats_lab_45_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argref (arg0, arg1) ;
break ;

/* branch: __ats_lab_46 */
__ats_lab_46_0:
if (((ats_sum_ptr_type)tmp244)->tag != 5) { goto __ats_lab_47_0 ; }
__ats_lab_46_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argenv (arg0, arg1) ;
break ;

/* branch: __ats_lab_47 */
__ats_lab_47_0:
if (((ats_sum_ptr_type)tmp244)->tag != 7) { goto __ats_lab_48_0 ; }
__ats_lab_47_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_env (arg0, arg1) ;
break ;

/* branch: __ats_lab_48 */
__ats_lab_48_0:
if (((ats_sum_ptr_type)tmp244)->tag != 6) { goto __ats_lab_49_0 ; }
__ats_lab_48_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_d2cst (arg0, arg1) ;
break ;

/* branch: __ats_lab_49 */
__ats_lab_49_0:
if (((ats_sum_ptr_type)tmp244)->tag != 8) { goto __ats_lab_50_0 ; }
__ats_lab_49_1:
tmp245 = ats_caselptrlab_mac(anairiats_sum_3, tmp244, atslab_0) ;
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVint (arg0, tmp245) ;
break ;

/* branch: __ats_lab_50 */
__ats_lab_50_0:
if (((ats_sum_ptr_type)tmp244)->tag != 9) { goto __ats_lab_51_0 ; }
__ats_lab_50_1:
tmp246 = ats_caselptrlab_mac(anairiats_sum_2, tmp244, atslab_0) ;
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVintrep (arg0, tmp246) ;
break ;

/* branch: __ats_lab_51 */
__ats_lab_51_0:
if (((ats_sum_ptr_type)tmp244)->tag != 10) { goto __ats_lab_52_0 ; }
__ats_lab_51_1:
tmp247 = ats_caselptrlab_mac(anairiats_sum_9, tmp244, atslab_0) ;
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVbool (arg0, tmp247) ;
break ;

/* branch: __ats_lab_52 */
__ats_lab_52_0:
if (((ats_sum_ptr_type)tmp244)->tag != 11) { goto __ats_lab_53_0 ; }
__ats_lab_52_1:
tmp248 = ats_caselptrlab_mac(anairiats_sum_10, tmp244, atslab_0) ;
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVchar (arg0, tmp248) ;
break ;

/* branch: __ats_lab_53 */
__ats_lab_53_0:
if (((ats_sum_ptr_type)tmp244)->tag != 12) { goto __ats_lab_54_0 ; }
__ats_lab_53_1:
tmp249 = ats_caselptrlab_mac(anairiats_sum_11, tmp244, atslab_0) ;
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVfloat (arg0, tmp249) ;
break ;

/* branch: __ats_lab_54 */
__ats_lab_54_0:
if (((ats_sum_ptr_type)tmp244)->tag != 13) { goto __ats_lab_55_0 ; }
__ats_lab_54_1:
tmp250 = ats_caselptrlab_mac(anairiats_sum_2, tmp244, atslab_0) ;
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVstring (arg0, tmp250) ;
break ;

/* branch: __ats_lab_55 */
__ats_lab_55_0:
if (((ats_sum_ptr_type)tmp244)->tag != 14) { goto __ats_lab_56_0 ; }
__ats_lab_55_1:
tmp251 = ats_caselptrlab_mac(anairiats_sum_2, tmp244, atslab_0) ;
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt (arg0, tmp251) ;
break ;

/* branch: __ats_lab_56 */
__ats_lab_56_0:
if (((ats_sum_ptr_type)tmp244)->tag != 15) { goto __ats_lab_57_0 ; }
__ats_lab_56_1:
tmp252 = ats_caselptrlab_mac(anairiats_sum_2, tmp244, atslab_0) ;
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat (arg0, tmp252) ;
break ;

/* branch: __ats_lab_57 */
__ats_lab_57_0:
if (((ats_sum_ptr_type)tmp244)->tag != 17) { goto __ats_lab_58_0 ; }
__ats_lab_57_1:
tmp253 = ats_caselptrlab_mac(anairiats_sum_2, tmp244, atslab_0) ;
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primcstsp (arg0, tmp253) ;
break ;

/* branch: __ats_lab_58 */
__ats_lab_58_0:
if (((ats_sum_ptr_type)tmp244)->tag != 18) { goto __ats_lab_59_0 ; }
__ats_lab_58_1:
/* tmp242 = */ atspre_fprintf_exn (arg0, ATSstrcst("ATSPMVtop()")) ;
break ;

/* branch: __ats_lab_59 */
__ats_lab_59_0:
if (((ats_sum_ptr_type)tmp244)->tag != 19) { goto __ats_lab_60_0 ; }
__ats_lab_59_1:
/* tmp242 = */ atspre_fprintf_exn (arg0, ATSstrcst("ATSPMVempty()")) ;
break ;

/* branch: __ats_lab_60 */
__ats_lab_60_0:
if (((ats_sum_ptr_type)tmp244)->tag != 20) { goto __ats_lab_61_0 ; }
__ats_lab_60_1:
tmp254 = ats_caselptrlab_mac(anairiats_sum_2, tmp244, atslab_0) ;
/* tmp242 = */ atspre_fprintf_exn (arg0, ATSstrcst("ATSPMVextval(%s)"), tmp254) ;
break ;

/* branch: __ats_lab_61 */
__ats_lab_61_0:
if (((ats_sum_ptr_type)tmp244)->tag != 21) { goto __ats_lab_62_0 ; }
__ats_lab_61_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_castfn (arg0, arg1) ;
break ;

/* branch: __ats_lab_62 */
__ats_lab_62_0:
if (((ats_sum_ptr_type)tmp244)->tag != 16) { goto __ats_lab_63_0 ; }
__ats_lab_62_1:
tmp255 = ats_caselptrlab_mac(anairiats_sum_2, tmp244, atslab_0) ;
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_sizeof (arg0, tmp255) ;
break ;

/* branch: __ats_lab_63 */
__ats_lab_63_0:
if (((ats_sum_ptr_type)tmp244)->tag != 22) { goto __ats_lab_64_0 ; }
__ats_lab_63_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selcon (arg0, arg1) ;
break ;

/* branch: __ats_lab_64 */
__ats_lab_64_0:
if (((ats_sum_ptr_type)tmp244)->tag != 23) { goto __ats_lab_65_0 ; }
__ats_lab_64_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select (arg0, arg1) ;
break ;

/* branch: __ats_lab_65 */
__ats_lab_65_0:
if (((ats_sum_ptr_type)tmp244)->tag != 24) { goto __ats_lab_66_0 ; }
__ats_lab_65_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select2 (arg0, arg1) ;
break ;

/* branch: __ats_lab_66 */
__ats_lab_66_0:
if (((ats_sum_ptr_type)tmp244)->tag != 25) { goto __ats_lab_67_0 ; }
__ats_lab_66_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selptr (arg0, arg1) ;
break ;

/* branch: __ats_lab_67 */
__ats_lab_67_0:
if (((ats_sum_ptr_type)tmp244)->tag != 26) { goto __ats_lab_68_0 ; }
__ats_lab_67_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof (arg0, arg1) ;
break ;

/* branch: __ats_lab_68 */
__ats_lab_68_0:
if (((ats_sum_ptr_type)tmp244)->tag != 27) { goto __ats_lab_69_0 ; }
__ats_lab_68_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrofsel (arg0, arg1) ;
break ;

/* branch: __ats_lab_69 */
__ats_lab_69_0:
if (((ats_sum_ptr_type)tmp244)->tag != 28) { goto __ats_lab_70_0 ; }
__ats_lab_69_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_refarg (arg0, arg1) ;
break ;

/* branch: __ats_lab_70 */
__ats_lab_70_0:
if (((ats_sum_ptr_type)tmp244)->tag != 29) { goto __ats_lab_71_0 ; }
__ats_lab_70_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_funlab (arg0, arg1) ;
break ;

/* branch: __ats_lab_71 */
__ats_lab_71_0:
if (((ats_sum_ptr_type)tmp244)->tag != 30) { goto __ats_lab_72_0 ; }
__ats_lab_71_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab (arg0, arg1) ;
break ;

/* branch: __ats_lab_72 */
__ats_lab_72_0:
if (((ats_sum_ptr_type)tmp244)->tag != 32) { goto __ats_lab_73_0 ; }
__ats_lab_72_1:
tmp256 = ats_caselptrlab_mac(anairiats_sum_12, tmp244, atslab_1) ;
arg0 = arg0 ;
arg1 = tmp256 ;
goto __ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval ; // tail call
break ;

/* branch: __ats_lab_73 */
__ats_lab_73_0:
if (((ats_sum_ptr_type)tmp244)->tag != 37) { goto __ats_lab_74_0 ; }
__ats_lab_73_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_err (arg0, arg1) ;
break ;

/* branch: __ats_lab_74 */
__ats_lab_74_0:
__ats_lab_74_1:
/* tmp242 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, arg1) ;
break ;
} while (0) ;
return /* (tmp242) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 22523(line=1190, offs=1) -- 22849(line=1210, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_65 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
// ATSlocal_void (tmp258) ;
ATSlocal (ats_ptr_type, tmp259) ;
ATSlocal (ats_ptr_type, tmp260) ;
// ATSlocal_void (tmp261) ;
ATSlocal (ats_bool_type, tmp262) ;
// ATSlocal_void (tmp263) ;
ATSlocal (ats_int_type, tmp264) ;

__ats_lab_loop_65:
do {
/* branch: __ats_lab_75 */
__ats_lab_75_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_76_0 ; }
__ats_lab_75_1:
tmp259 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp260 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ;
tmp262 = atspre_gt_int_int (arg2, 0) ;
if (tmp262) {
/* tmp261 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp263 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp259) ;
tmp264 = atspre_add_int_int (arg2, 1) ;
arg0 = arg0 ;
arg1 = tmp260 ;
arg2 = tmp264 ;
goto __ats_lab_loop_65 ; // tail call
break ;

/* branch: __ats_lab_76 */
__ats_lab_76_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_76_1:
break ;
} while (0) ;
return /* (tmp258) */ ;
} /* end of [loop_65] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 22498(line=1187, offs=3) -- 22898(line=1214, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primvalist (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp257) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primvalist:
/* tmp257 = */ loop_65 (arg0, arg1, 0) ;
return /* (tmp257) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primvalist] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 22978(line=1220, offs=3) -- 23066(line=1226, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_arg (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp265) ;
ATSlocal (ats_ptr_type, tmp266) ;
ATSlocal (ats_int_type, tmp267) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_arg:
tmp266 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp266)->tag != 2) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 23003(line=1222, offs=5) -- 23033(line=1222, offs=35)") ; }
tmp267 = ats_caselptrlab_mac(anairiats_sum_3, tmp266, atslab_0) ;
/* tmp265 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funarg (arg0, tmp267) ;
return /* (tmp265) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_arg] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 23150(line=1232, offs=3) -- 23240(line=1238, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argref (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp268) ;
ATSlocal (ats_ptr_type, tmp269) ;
ATSlocal (ats_int_type, tmp270) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argref:
tmp269 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp269)->tag != 3) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 23175(line=1234, offs=5) -- 23207(line=1234, offs=37)") ; }
tmp270 = ats_caselptrlab_mac(anairiats_sum_3, tmp269, atslab_0) ;
/* tmp268 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funarg (arg0, tmp270) ;
return /* (tmp268) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argref] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 23327(line=1244, offs=3) -- 23431(line=1250, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argenv (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp271) ;
ATSlocal (ats_ptr_type, tmp272) ;
ATSlocal (ats_int_type, tmp273) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argenv:
tmp272 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp272)->tag != 5) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 23352(line=1246, offs=5) -- 23387(line=1246, offs=40)") ; }
tmp273 = ats_caselptrlab_mac(anairiats_sum_3, tmp272, atslab_0) ;
/* tmp271 = */ atspre_fprintf_exn (arg0, ATSstrcst("env%i"), tmp273) ;
return /* (tmp271) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argenv] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 23515(line=1256, offs=3) -- 23607(line=1262, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmp (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp274) ;
ATSlocal (ats_ptr_type, tmp275) ;
ATSlocal (ats_ptr_type, tmp276) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmp:
tmp275 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp275)->tag != 0) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 23540(line=1258, offs=5) -- 23572(line=1258, offs=37)") ; }
tmp276 = ats_caselptrlab_mac(anairiats_sum_2, tmp275, atslab_0) ;
/* tmp274 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp276) ;
return /* (tmp274) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmp] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 23670(line=1266, offs=3) -- 23765(line=1272, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmpref (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp277) ;
ATSlocal (ats_ptr_type, tmp278) ;
ATSlocal (ats_ptr_type, tmp279) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmpref:
tmp278 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp278)->tag != 1) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 23695(line=1268, offs=5) -- 23730(line=1268, offs=40)") ; }
tmp279 = ats_caselptrlab_mac(anairiats_sum_2, tmp278, atslab_0) ;
/* tmp277 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp279) ;
return /* (tmp277) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmpref] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 23843(line=1278, offs=3) -- 23932(line=1285, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2env (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp280) ;
ATSlocal (ats_ptr_type, tmp281) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2env:
tmp281 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__d2env_get_var (arg1) ;
/* tmp280 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2var_env (arg0, tmp281) ;
return /* (tmp280) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2env] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 23987(line=1289, offs=3) -- 24338(line=1306, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2var_env (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp282) ;
ATSlocal (ats_ptr_type, tmp283) ;
ATSlocal (ats_ptr_type, tmp284) ;
// ATSlocal_void (tmp285) ;
// ATSlocal_void (tmp286) ;
ATSlocal (ats_ptr_type, tmp287) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2var_env:
tmp283 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__the_funent_varbindmap_find (arg1) ;
do {
/* branch: __ats_lab_77 */
__ats_lab_77_0:
if (tmp283 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; }
__ats_lab_77_1:
tmp284 = ats_caselptrlab_mac(anairiats_sum_4, tmp283, atslab_0) ;
ATS_FREE(tmp283) ;
/* tmp282 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp284) ;
break ;

/* branch: __ats_lab_78 */
__ats_lab_78_0:
// if (tmp283 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_78_1:
/* tmp285 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVenv(")) ;
tmp287 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_sym (arg1) ;
/* tmp286 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_symbol (arg0, tmp287) ;
/* tmp282 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
break ;
} while (0) ;
return /* (tmp282) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2var_env] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 24442(line=1314, offs=5) -- 24760(line=1333, offs=4)
*/
ATSstaticdec()
ats_int_type
auxlst_74 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_int_type, tmp289) ;
ATSlocal (ats_ptr_type, tmp290) ;
ATSlocal (ats_ptr_type, tmp291) ;
// ATSlocal_void (tmp292) ;
ATSlocal (ats_bool_type, tmp293) ;
// ATSlocal_void (tmp294) ;
ATSlocal (ats_int_type, tmp295) ;

__ats_lab_auxlst_74:
do {
/* branch: __ats_lab_79 */
__ats_lab_79_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; }
__ats_lab_79_1:
tmp290 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp291 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ;
tmp293 = atspre_gt_int_int (arg2, 0) ;
if (tmp293) {
/* tmp292 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp294 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2env (arg0, tmp290) ;
tmp295 = atspre_add_int_int (arg2, 1) ;
arg0 = arg0 ;
arg1 = tmp291 ;
arg2 = tmp295 ;
goto __ats_lab_auxlst_74 ; // tail call
break ;

/* branch: __ats_lab_80 */
__ats_lab_80_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_80_1:
tmp289 = arg2 ;
break ;
} while (0) ;
return (tmp289) ;
} /* end of [auxlst_74] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 24414(line=1312, offs=3) -- 24816(line=1337, offs=4)
*/
ATSglobaldec()
ats_int_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2envlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_int_type, tmp288) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2envlst:
tmp288 = auxlst_74 (arg0, arg1, arg2) ;
return (tmp288) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2envlst] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 24894(line=1343, offs=3) -- 24989(line=1349, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_env (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp296) ;
ATSlocal (ats_ptr_type, tmp297) ;
ATSlocal (ats_ptr_type, tmp298) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_env:
tmp297 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp297)->tag != 7) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 24919(line=1345, offs=5) -- 24951(line=1345, offs=37)") ; }
tmp298 = ats_caselptrlab_mac(anairiats_sum_2, tmp297, atslab_0) ;
/* tmp296 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2var_env (arg0, tmp298) ;
return /* (tmp296) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_env] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 25075(line=1355, offs=3) -- 25166(line=1361, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp299) ;
ATSlocal (ats_ptr_type, tmp300) ;
ATSlocal (ats_ptr_type, tmp301) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_d2cst:
tmp300 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp300)->tag != 6) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 25100(line=1357, offs=5) -- 25132(line=1357, offs=37)") ; }
tmp301 = ats_caselptrlab_mac(anairiats_sum_2, tmp300, atslab_0) ;
/* tmp299 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2cst (arg0, tmp301) ;
return /* (tmp299) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_d2cst] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 25252(line=1367, offs=3) -- 25637(line=1387, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_castfn (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp302) ;
ATSlocal (ats_ptr_type, tmp303) ;
ATSlocal (ats_ptr_type, tmp304) ;
ATSlocal (ats_ptr_type, tmp305) ;
ATSlocal (ats_ptr_type, tmp306) ;
// ATSlocal_void (tmp307) ;
// ATSlocal_void (tmp308) ;
// ATSlocal_void (tmp309) ;
// ATSlocal_void (tmp310) ;
// ATSlocal_void (tmp311) ;
// ATSlocal_void (tmp312) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_castfn:
tmp303 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_type) ;
tmp304 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp304)->tag != 21) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 25306(line=1370, offs=5) -- 25348(line=1371, offs=33)") ; }
tmp305 = ats_caselptrlab_mac(anairiats_sum_7, tmp304, atslab_0) ;
tmp306 = ats_caselptrlab_mac(anairiats_sum_7, tmp304, atslab_1) ;
/* tmp307 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVcastfn(")) ;
/* tmp308 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_d2cst (arg0, tmp305) ;
/* tmp309 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp310 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp303) ;
/* tmp311 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp312 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp306) ;
/* tmp302 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp302) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_castfn] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 25723(line=1393, offs=3) -- 25825(line=1399, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp313) ;
ATSlocal (ats_ptr_type, tmp314) ;
ATSlocal (ats_ptr_type, tmp315) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof:
tmp314 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp314)->tag != 26) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 25748(line=1395, offs=5) -- 25782(line=1395, offs=39)") ; }
tmp315 = ats_caselptrlab_mac(anairiats_sum_2, tmp314, atslab_0) ;
/* tmp313 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2 (arg0, tmp315) ;
return /* (tmp313) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 25914(line=1405, offs=5) -- 26033(line=1410, offs=2)
*/
ATSstaticdec()
ats_bool_type
testselptr0_80 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp317) ;
ATSlocal (ats_ptr_type, tmp318) ;
ATSlocal (ats_ptr_type, tmp319) ;

__ats_lab_testselptr0_80:
tmp318 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_primval_node) ;
do {
/* branch: __ats_lab_81 */
__ats_lab_81_0:
if (((ats_sum_ptr_type)tmp318)->tag != 25) { goto __ats_lab_82_0 ; }
tmp319 = ats_caselptrlab_mac(anairiats_sum_13, tmp318, atslab_2) ;
if (tmp319 != (ats_sum_ptr_type)0) { goto __ats_lab_82_0 ; }
__ats_lab_81_1:
tmp317 = ats_true_bool ;
break ;

/* branch: __ats_lab_82 */
__ats_lab_82_0:
__ats_lab_82_1:
tmp317 = ats_false_bool ;
break ;
} while (0) ;
return (tmp317) ;
} /* end of [testselptr0_80] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 25890(line=1403, offs=3) -- 26560(line=1438, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp316) ;
ATSlocal (ats_bool_type, tmp320) ;
ATSlocal (ats_ptr_type, tmp321) ;
ATSlocal (ats_ptr_type, tmp322) ;
ATSlocal (ats_bool_type, tmp323) ;
ATSlocal (ats_bool_type, tmp324) ;
ATSlocal (ats_ptr_type, tmp325) ;
// ATSlocal_void (tmp326) ;
// ATSlocal_void (tmp327) ;
// ATSlocal_void (tmp328) ;
// ATSlocal_void (tmp329) ;
// ATSlocal_void (tmp330) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2:
tmp320 = testselptr0_80 (arg1) ;
if (tmp320) {
tmp321 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp321)->tag != 25) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 26099(line=1418, offs=5) -- 26143(line=1418, offs=49)") ; }
tmp322 = ats_caselptrlab_mac(anairiats_sum_13, tmp321, atslab_0) ;
/* tmp316 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp322) ;
} else {
tmp323 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_is_void (arg1) ;
tmp325 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_type) ;
tmp324 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_is_tyarr (tmp325) ;
/* tmp326 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVptrof")) ;
if (tmp323) {
/* tmp327 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_void")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp328 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_LPAREN (arg0) ;
/* tmp329 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ;
if (tmp324) {
/* tmp330 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("[0]")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp316 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
} /* end of [if] */
return /* (tmp316) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 26647(line=1444, offs=3) -- 27035(line=1466, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_refarg (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp331) ;
ATSlocal (ats_ptr_type, tmp332) ;
ATSlocal (ats_int_type, tmp333) ;
ATSlocal (ats_ptr_type, tmp334) ;
// ATSlocal_void (tmp335) ;
ATSlocal (ats_bool_type, tmp336) ;
// ATSlocal_void (tmp337) ;
ATSlocal (ats_bool_type, tmp338) ;
// ATSlocal_void (tmp339) ;
ATSlocal (ats_bool_type, tmp340) ;
// ATSlocal_void (tmp341) ;
ATSlocal (ats_bool_type, tmp342) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_refarg:
tmp332 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp332)->tag != 28) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 26672(line=1446, offs=5) -- 26723(line=1447, offs=42)") ; }
tmp333 = ats_caselptrlab_mac(anairiats_sum_14, tmp332, atslab_0) ;
tmp334 = ats_caselptrlab_mac(anairiats_sum_14, tmp332, atslab_2) ;
tmp336 = atspre_eq_int_int (tmp333, 0) ;
if (tmp336) {
/* tmp335 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVrefarg0(")) ;
} else {
/* empty */
} /* end of [if] */
tmp338 = atspre_gt_int_int (tmp333, 0) ;
if (tmp338) {
/* tmp337 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVrefarg1(")) ;
} else {
/* empty */
} /* end of [if] */
tmp340 = atspre_eq_int_int (tmp333, 0) ;
if (tmp340) {
/* tmp339 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp334) ;
} else {
/* empty */
} /* end of [if] */
tmp342 = atspre_gt_int_int (tmp333, 0) ;
if (tmp342) {
/* tmp341 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2 (arg0, tmp334) ;
} else {
/* empty */
} /* end of [if] */
/* tmp331 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp331) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_refarg] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 27122(line=1472, offs=3) -- 27772(line=1514, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_funlab (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp343) ;
ATSlocal (ats_ptr_type, tmp344) ;
ATSlocal (ats_ptr_type, tmp345) ;
ATSlocal (ats_bool_type, tmp346) ;
// ATSlocal_void (tmp347) ;
ATSlocal (ats_ptr_type, tmp348) ;
// ATSlocal_void (tmp349) ;
// ATSlocal_void (tmp350) ;
// ATSlocal_void (tmp351) ;
// ATSlocal_void (tmp352) ;
// ATSlocal_void (tmp353) ;
// ATSlocal_void (tmp354) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_funlab:
tmp344 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp344)->tag != 29) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 27147(line=1474, offs=5) -- 27185(line=1475, offs=29)") ; }
tmp345 = ats_caselptrlab_mac(anairiats_sum_2, tmp344, atslab_0) ;
tmp346 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_is_envful (tmp345) ;
if (tmp346) {
tmp348 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_loc) ;
/* tmp349 = */ prerr_errccomp_loc_02194_ (tmp348) ;
/* tmp350 = */ atspre_prerr_string (ATSstrcst(": the function is expected to be envless but it is not.")) ;
/* tmp347 = */ atspre_prerr_newline () ;
} else {
/* empty */
} /* end of [if] */
if (tmp346) {
/* tmp351 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSERRORnotenvless(")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp352 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVfunlab(")) ;
/* tmp353 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp345) ;
/* tmp354 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
if (tmp346) {
/* tmp343 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp343) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_funlab] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 27860(line=1520, offs=3) -- 28393(line=1547, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp355) ;
ATSlocal (ats_ptr_type, tmp356) ;
ATSlocal (ats_int_type, tmp357) ;
ATSlocal (ats_ptr_type, tmp358) ;
ATSlocal (ats_ptr_type, tmp359) ;
ATSlocal (ats_ptr_type, tmp360) ;
ATSlocal (ats_ptr_type, tmp361) ;
// ATSlocal_void (tmp362) ;
// ATSlocal_void (tmp363) ;
// ATSlocal_void (tmp364) ;
// ATSlocal_void (tmp365) ;
// ATSlocal_void (tmp366) ;
ATSlocal (ats_int_type, tmp367) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab:
tmp356 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp356)->tag != 30) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 27885(line=1522, offs=5) -- 27929(line=1523, offs=34)") ; }
tmp357 = ats_caselptrlab_mac(anairiats_sum_12, tmp356, atslab_0) ;
tmp358 = ats_caselptrlab_mac(anairiats_sum_12, tmp356, atslab_1) ;
tmp359 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_funent (tmp358) ;
do {
/* branch: __ats_lab_83 */
__ats_lab_83_0:
if (tmp359 != (ats_sum_ptr_type)0) { goto __ats_lab_84_0 ; }
__ats_lab_83_1:
tmp360 = (ats_sum_ptr_type)0 ;
break ;

/* branch: __ats_lab_84 */
__ats_lab_84_0:
// if (tmp359 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_84_1:
tmp361 = ats_caselptrlab_mac(anairiats_sum_4, tmp359, atslab_0) ;
tmp360 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funent_eval_d2envlst (tmp361) ;
break ;
} while (0) ;
/* tmp362 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVcfunlab(")) ;
/* tmp363 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, tmp357) ;
/* tmp364 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp365 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp358) ;
/* tmp366 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", (")) ;
tmp367 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2envlst (arg0, tmp360, 0) ;
/* tmp355 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("))")) ;
return /* (tmp355) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 28460(line=1554, offs=1) -- 28733(line=1571, offs=4)
*/
ATSstaticdec()
ats_void_type
auxmain_84 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp368) ;
// ATSlocal_void (tmp369) ;
// ATSlocal_void (tmp370) ;
// ATSlocal_void (tmp371) ;
// ATSlocal_void (tmp372) ;

__ats_lab_auxmain_84:
/* tmp369 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSderef(")) ;
/* tmp370 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ;
/* tmp371 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp372 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, arg2) ;
/* tmp368 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp368) */ ;
} /* end of [auxmain_84] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 28810(line=1577, offs=3) -- 28960(line=1584, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval_deref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp373) ;
ATSlocal (ats_ptr_type, tmp374) ;
ATSlocal (ats_ptr_type, tmp375) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval_deref:
tmp374 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
do {
/* branch: __ats_lab_85 */
__ats_lab_85_0:
if (((ats_sum_ptr_type)tmp374)->tag != 26) { goto __ats_lab_86_0 ; }
__ats_lab_85_1:
tmp375 = ats_caselptrlab_mac(anairiats_sum_2, tmp374, atslab_0) ;
/* tmp373 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp375) ;
break ;

/* branch: __ats_lab_86 */
__ats_lab_86_0:
__ats_lab_86_1:
/* tmp373 = */ auxmain_84 (arg0, arg1, arg2) ;
break ;
} while (0) ;
return /* (tmp373) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval_deref] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 29066(line=1592, offs=3) -- 29224(line=1600, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_err (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp376) ;
// ATSlocal_void (tmp377) ;
// ATSlocal_void (tmp378) ;
ATSlocal (ats_ptr_type, tmp379) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_err:
/* tmp377 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("PMVerr(\"")) ;
tmp379 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_loc) ;
/* tmp378 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_location (arg0, tmp379) ;
/* tmp376 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\")")) ;
return /* (tmp376) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_err] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 29702(line=1631, offs=3) -- 30017(line=1646, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primlab (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp380) ;
ATSlocal (ats_ptr_type, tmp381) ;
ATSlocal (ats_ptr_type, tmp382) ;
ATSlocal (ats_ptr_type, tmp383) ;
// ATSlocal_void (tmp384) ;
// ATSlocal_void (tmp385) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primlab:
tmp381 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg2), atslab_primlab_node) ;
do {
/* branch: __ats_lab_87 */
__ats_lab_87_0:
if (((ats_sum_ptr_type)tmp381)->tag != 0) { goto __ats_lab_88_0 ; }
__ats_lab_87_1:
tmp382 = ats_caselptrlab_mac(anairiats_sum_2, tmp381, atslab_0) ;
/* tmp380 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext (arg0, arg1, tmp382) ;
break ;

/* branch: __ats_lab_88 */
__ats_lab_88_0:
// if (((ats_sum_ptr_type)tmp381)->tag != 1) { ats_deadcode_failure_handle () ; }
__ats_lab_88_1:
tmp383 = ats_caselptrlab_mac(anairiats_sum_2, tmp381, atslab_0) ;
/* tmp384 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("[")) ;
/* tmp385 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primvalist (arg0, tmp383) ;
/* tmp380 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("]")) ;
break ;
} while (0) ;
return /* (tmp380) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primlab] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 30644(line=1673, offs=3) -- 30981(line=1690, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_val (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp386) ;
ATSlocal (ats_bool_type, tmp387) ;
// ATSlocal_void (tmp388) ;
// ATSlocal_void (tmp389) ;
// ATSlocal_void (tmp390) ;
// ATSlocal_void (tmp391) ;
// ATSlocal_void (tmp392) ;
// ATSlocal_void (tmp393) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_val:
tmp387 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_is_void (arg2) ;
/* tmp388 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove")) ;
if (tmp387) {
/* tmp389 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_void")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp390 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ;
/* tmp391 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp392 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp393 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, arg2) ;
/* tmp386 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp386) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_val] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 31142(line=1699, offs=3) -- 31442(line=1709, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_pmove_val (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp394) ;
// ATSlocal_void (tmp395) ;
// ATSlocal_void (tmp396) ;
// ATSlocal_void (tmp397) ;
// ATSlocal_void (tmp398) ;
ATSlocal (ats_ptr_type, tmp399) ;
// ATSlocal_void (tmp400) ;
// ATSlocal_void (tmp401) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_pmove_val:
/* tmp395 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSpmove(")) ;
/* tmp396 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp397 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
tmp399 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg2), atslab_primval_type) ;
/* tmp398 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp399) ;
/* tmp400 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp401 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, arg2) ;
/* tmp394 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp394) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_pmove_val] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 31602(line=1718, offs=3) -- 31833(line=1727, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_ptralloc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp402) ;
// ATSlocal_void (tmp403) ;
// ATSlocal_void (tmp404) ;
// ATSlocal_void (tmp405) ;
// ATSlocal_void (tmp406) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_ptralloc:
/* tmp403 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_ptralloc(")) ;
/* tmp404 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp405 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp406 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hitype (arg0, arg2) ;
/* tmp402 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp402) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_ptralloc] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list.dats: 50559(line=1787, offs=18) -- 50622(line=1789, offs=4)
*/
ATSstaticdec()
ats_bool_type
list_is_cons_01295_ (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp481) ;

__ats_lab_list_is_cons_01295_:
do {
/* branch: __ats_lab_101 */
__ats_lab_101_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_102_0 ; }
__ats_lab_101_1:
tmp481 = ats_true_bool ;
break ;

/* branch: __ats_lab_102 */
__ats_lab_102_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_102_1:
tmp481 = ats_false_bool ;
break ;
} while (0) ;
return (tmp481) ;
} /* end of [list_is_cons_01295_] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_errmsg.dats: 1754(line=55, offs=20) -- 1894(line=61, offs=2)
*/
ATSstaticdec()
ats_void_type
prerr_interror_loc_02188_ (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp625) ;
// ATSlocal_void (tmp626) ;
// ATSlocal_void (tmp627) ;
// ATSlocal_void (tmp628) ;

__ats_lab_prerr_interror_loc_02188_:
/* tmp626 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location (arg0) ;
/* tmp627 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ;
/* tmp628 = */ prerr_FILENAME_02186_ () ;
/* tmp625 = */ atspre_prerr_string (ATSstrcst(")")) ;
return /* (tmp625) */ ;
} /* end of [prerr_interror_loc_02188_] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 31910(line=1733, offs=3) -- 42882(line=2127, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp407) ;
ATSlocal (ats_ptr_type, tmp408) ;
// ATSlocal_void (tmp409) ;
// ATSlocal_void (tmp410) ;
// ATSlocal_void (tmp411) ;
// ATSlocal_void (tmp412) ;
ATSlocal (ats_int_type, tmp413) ;
// ATSlocal_void (tmp414) ;
ATSlocal (ats_bool_type, tmp415) ;
ATSlocal (ats_int_type, tmp416) ;
// ATSlocal_void (tmp417) ;
ATSlocal (ats_bool_type, tmp418) ;
// ATSlocal_void (tmp419) ;
// ATSlocal_void (tmp420) ;
ATSlocal (ats_ptr_type, tmp421) ;
ATSlocal (ats_ptr_type, tmp422) ;
// ATSlocal_void (tmp423) ;
// ATSlocal_void (tmp424) ;
// ATSlocal_void (tmp425) ;
ATSlocal (ats_ptr_type, tmp426) ;
// ATSlocal_void (tmp427) ;
// ATSlocal_void (tmp428) ;
ATSlocal (ats_ptr_type, tmp429) ;
// ATSlocal_void (tmp430) ;
// ATSlocal_void (tmp431) ;
ATSlocal (ats_ptr_type, tmp432) ;
ATSlocal (ats_ptr_type, tmp433) ;
ATSlocal (ats_ptr_type, tmp434) ;
ATSlocal (ats_ptr_type, tmp435) ;
ATSlocal (ats_ptr_type, tmp436) ;
ATSlocal (ats_ptr_type, tmp437) ;
ATSlocal (ats_ptr_type, tmp438) ;
// ATSlocal_void (tmp439) ;
// ATSlocal_void (tmp440) ;
// ATSlocal_void (tmp441) ;
// ATSlocal_void (tmp442) ;
// ATSlocal_void (tmp443) ;
// ATSlocal_void (tmp444) ;
ATSlocal (ats_ptr_type, tmp445) ;
// ATSlocal_void (tmp446) ;
// ATSlocal_void (tmp447) ;
ATSlocal (ats_ptr_type, tmp448) ;
ATSlocal (ats_ptr_type, tmp449) ;
ATSlocal (ats_ptr_type, tmp450) ;
ATSlocal (ats_ptr_type, tmp451) ;
ATSlocal (ats_ptr_type, tmp452) ;
ATSlocal (ats_ptr_type, tmp453) ;
ATSlocal (ats_ptr_type, tmp454) ;
ATSlocal (ats_ptr_type, tmp455) ;
// ATSlocal_void (tmp456) ;
// ATSlocal_void (tmp457) ;
// ATSlocal_void (tmp458) ;
// ATSlocal_void (tmp459) ;
// ATSlocal_void (tmp460) ;
// ATSlocal_void (tmp461) ;
// ATSlocal_void (tmp462) ;
// ATSlocal_void (tmp463) ;
// ATSlocal_void (tmp464) ;
// ATSlocal_void (tmp465) ;
// ATSlocal_void (tmp466) ;
// ATSlocal_void (tmp467) ;
// ATSlocal_void (tmp468) ;
// ATSlocal_void (tmp469) ;
// ATSlocal_void (tmp470) ;
// ATSlocal_void (tmp471) ;
// ATSlocal_void (tmp472) ;
// ATSlocal_void (tmp473) ;
// ATSlocal_void (tmp474) ;
// ATSlocal_void (tmp475) ;
// ATSlocal_void (tmp476) ;
// ATSlocal_void (tmp477) ;
// ATSlocal_void (tmp478) ;
// ATSlocal_void (tmp479) ;
ATSlocal (ats_bool_type, tmp480) ;
// ATSlocal_void (tmp482) ;
// ATSlocal_void (tmp483) ;
// ATSlocal_void (tmp484) ;
// ATSlocal_void (tmp485) ;
// ATSlocal_void (tmp486) ;
// ATSlocal_void (tmp487) ;
// ATSlocal_void (tmp488) ;
// ATSlocal_void (tmp489) ;
// ATSlocal_void (tmp490) ;
// ATSlocal_void (tmp491) ;
// ATSlocal_void (tmp492) ;
// ATSlocal_void (tmp493) ;
// ATSlocal_void (tmp494) ;
// ATSlocal_void (tmp495) ;
ATSlocal (ats_int_type, tmp496) ;
ATSlocal (ats_ptr_type, tmp497) ;
// ATSlocal_void (tmp498) ;
ATSlocal (ats_bool_type, tmp499) ;
// ATSlocal_void (tmp500) ;
ATSlocal (ats_ptr_type, tmp501) ;
// ATSlocal_void (tmp502) ;
// ATSlocal_void (tmp503) ;
ATSlocal (ats_ptr_type, tmp504) ;
ATSlocal (ats_ptr_type, tmp505) ;
ATSlocal (ats_ptr_type, tmp506) ;
// ATSlocal_void (tmp507) ;
// ATSlocal_void (tmp508) ;
// ATSlocal_void (tmp509) ;
// ATSlocal_void (tmp510) ;
// ATSlocal_void (tmp511) ;
// ATSlocal_void (tmp512) ;
// ATSlocal_void (tmp513) ;
// ATSlocal_void (tmp514) ;
// ATSlocal_void (tmp515) ;
// ATSlocal_void (tmp516) ;
// ATSlocal_void (tmp517) ;
// ATSlocal_void (tmp518) ;
ATSlocal (ats_ptr_type, tmp519) ;
// ATSlocal_void (tmp520) ;
// ATSlocal_void (tmp521) ;
// ATSlocal_void (tmp522) ;
// ATSlocal_void (tmp523) ;
// ATSlocal_void (tmp524) ;
// ATSlocal_void (tmp525) ;
ATSlocal (ats_ptr_type, tmp526) ;
// ATSlocal_void (tmp527) ;
// ATSlocal_void (tmp528) ;
ATSlocal (ats_ptr_type, tmp529) ;
// ATSlocal_void (tmp530) ;
// ATSlocal_void (tmp531) ;
ATSlocal (ats_ptr_type, tmp532) ;
ATSlocal (ats_ptr_type, tmp533) ;
// ATSlocal_void (tmp534) ;
// ATSlocal_void (tmp535) ;
// ATSlocal_void (tmp536) ;
// ATSlocal_void (tmp537) ;
ATSlocal (ats_ptr_type, tmp538) ;
ATSlocal (ats_ptr_type, tmp539) ;
ATSlocal (ats_ptr_type, tmp540) ;
// ATSlocal_void (tmp541) ;
// ATSlocal_void (tmp542) ;
// ATSlocal_void (tmp543) ;
// ATSlocal_void (tmp544) ;
// ATSlocal_void (tmp545) ;
// ATSlocal_void (tmp546) ;
ATSlocal (ats_ptr_type, tmp547) ;
ATSlocal (ats_ptr_type, tmp548) ;
ATSlocal (ats_ptr_type, tmp549) ;
// ATSlocal_void (tmp550) ;
// ATSlocal_void (tmp551) ;
// ATSlocal_void (tmp552) ;
// ATSlocal_void (tmp553) ;
// ATSlocal_void (tmp554) ;
// ATSlocal_void (tmp555) ;
ATSlocal (ats_ptr_type, tmp556) ;
ATSlocal (ats_ptr_type, tmp557) ;
// ATSlocal_void (tmp558) ;
// ATSlocal_void (tmp559) ;
// ATSlocal_void (tmp560) ;
// ATSlocal_void (tmp561) ;
ATSlocal (ats_ptr_type, tmp562) ;
ATSlocal (ats_int_type, tmp563) ;
// ATSlocal_void (tmp564) ;
// ATSlocal_void (tmp565) ;
// ATSlocal_void (tmp566) ;
// ATSlocal_void (tmp567) ;
ATSlocal (ats_ptr_type, tmp568) ;
ATSlocal (ats_ptr_type, tmp569) ;
ATSlocal (ats_int_type, tmp570) ;
// ATSlocal_void (tmp571) ;
// ATSlocal_void (tmp572) ;
// ATSlocal_void (tmp573) ;
// ATSlocal_void (tmp574) ;
// ATSlocal_void (tmp575) ;
// ATSlocal_void (tmp576) ;
ATSlocal (ats_ptr_type, tmp577) ;
ATSlocal (ats_ptr_type, tmp578) ;
// ATSlocal_void (tmp579) ;
// ATSlocal_void (tmp580) ;
// ATSlocal_void (tmp581) ;
// ATSlocal_void (tmp582) ;
ATSlocal (ats_ptr_type, tmp583) ;
ATSlocal (ats_ptr_type, tmp584) ;
// ATSlocal_void (tmp585) ;
// ATSlocal_void (tmp586) ;
// ATSlocal_void (tmp587) ;
// ATSlocal_void (tmp588) ;
ATSlocal (ats_ptr_type, tmp589) ;
ATSlocal (ats_ptr_type, tmp590) ;
ATSlocal (ats_ptr_type, tmp591) ;
ATSlocal (ats_ptr_type, tmp592) ;
ATSlocal (ats_ptr_type, tmp593) ;
// ATSlocal_void (tmp594) ;
// ATSlocal_void (tmp595) ;
// ATSlocal_void (tmp596) ;
// ATSlocal_void (tmp597) ;
// ATSlocal_void (tmp598) ;
// ATSlocal_void (tmp599) ;
// ATSlocal_void (tmp600) ;
// ATSlocal_void (tmp601) ;
// ATSlocal_void (tmp602) ;
// ATSlocal_void (tmp603) ;
// ATSlocal_void (tmp604) ;
ATSlocal (ats_int_type, tmp605) ;
// ATSlocal_void (tmp606) ;
ATSlocal (ats_ptr_type, tmp607) ;
// ATSlocal_void (tmp608) ;
// ATSlocal_void (tmp609) ;
// ATSlocal_void (tmp610) ;
// ATSlocal_void (tmp611) ;
ATSlocal (ats_ptr_type, tmp612) ;
ATSlocal (ats_ptr_type, tmp613) ;
// ATSlocal_void (tmp614) ;
// ATSlocal_void (tmp615) ;
// ATSlocal_void (tmp616) ;
// ATSlocal_void (tmp617) ;
ATSlocal (ats_ptr_type, tmp618) ;
ATSlocal (ats_ptr_type, tmp619) ;
// ATSlocal_void (tmp620) ;
// ATSlocal_void (tmp621) ;
// ATSlocal_void (tmp622) ;
// ATSlocal_void (tmp623) ;
// ATSlocal_void (tmp624) ;
// ATSlocal_void (tmp629) ;
// ATSlocal_void (tmp630) ;
// ATSlocal_void (tmp631) ;
ATSlocal (ats_ptr_type, tmp632) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr:
tmp408 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_loc) ;
/* tmp409 = */ atspre_fprint_string (arg0, ATSstrcst("/*\n")) ;
/* tmp410 = */ atspre_fprint_string (arg0, ATSstrcst("emit_instr: loc0 = ")) ;
/* tmp411 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__fprint2_location (arg0, tmp408) ;
/* tmp412 = */ atspre_fprint_string (arg0, ATSstrcst("\n*/\n")) ;
tmp413 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_global_2esats__the_DEBUGATS_dbgline_get () ;
tmp415 = atspre_gt_int_int (tmp413, 0) ;
if (tmp415) {
/* tmp414 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_line_pragma (arg0, tmp408) ;
} else {
/* empty */
} /* end of [if] */
tmp416 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_global_2esats__the_DEBUGATS_dbgflag_get () ;
tmp418 = atspre_gt_int_int (tmp416, 0) ;
if (tmp418) {
/* tmp419 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/* ")) ;
/* tmp420 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instr (arg0, arg1) ;
/* tmp417 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" */\n")) ;
} else {
/* empty */
} /* end of [if] */
tmp421 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
do {
/* branch: __ats_lab_89 */
__ats_lab_89_0:
if (((ats_sum_ptr_type)tmp421)->tag != 0) { goto __ats_lab_90_0 ; }
__ats_lab_89_1:
tmp422 = ats_caselptrlab_mac(anairiats_sum_2, tmp421, atslab_0) ;
/* tmp423 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSflab(")) ;
/* tmp424 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__patsflab_")) ;
/* tmp425 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_funlab (arg0, tmp422) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("):")) ;
break ;

/* branch: __ats_lab_90 */
__ats_lab_90_0:
if (((ats_sum_ptr_type)tmp421)->tag != 1) { goto __ats_lab_91_0 ; }
__ats_lab_90_1:
tmp426 = ats_caselptrlab_mac(anairiats_sum_2, tmp421, atslab_0) ;
/* tmp427 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSlab(")) ;
/* tmp428 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp426) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("):")) ;
break ;

/* branch: __ats_lab_91 */
__ats_lab_91_0:
if (((ats_sum_ptr_type)tmp421)->tag != 2) { goto __ats_lab_92_0 ; }
__ats_lab_91_1:
tmp429 = ats_caselptrlab_mac(anairiats_sum_2, tmp421, atslab_0) ;
/* tmp430 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp431 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, tmp429) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/")) ;
break ;

/* branch: __ats_lab_92 */
__ats_lab_92_0:
if (((ats_sum_ptr_type)tmp421)->tag != 3) { goto __ats_lab_93_0 ; }
__ats_lab_92_1:
tmp432 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_0) ;
tmp433 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_1) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_val (arg0, tmp432, tmp433) ;
break ;

/* branch: __ats_lab_93 */
__ats_lab_93_0:
if (((ats_sum_ptr_type)tmp421)->tag != 4) { goto __ats_lab_94_0 ; }
__ats_lab_93_1:
tmp434 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_0) ;
tmp435 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_1) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_pmove_val (arg0, tmp434, tmp435) ;
break ;

/* branch: __ats_lab_94 */
__ats_lab_94_0:
if (((ats_sum_ptr_type)tmp421)->tag != 6) { goto __ats_lab_95_0 ; }
__ats_lab_94_1:
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_fcall (arg0, arg1) ;
break ;

/* branch: __ats_lab_95 */
__ats_lab_95_0:
if (((ats_sum_ptr_type)tmp421)->tag != 7) { goto __ats_lab_96_0 ; }
__ats_lab_95_1:
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_fcall2 (arg0, arg1) ;
break ;

/* branch: __ats_lab_96 */
__ats_lab_96_0:
if (((ats_sum_ptr_type)tmp421)->tag != 8) { goto __ats_lab_97_0 ; }
__ats_lab_96_1:
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_extfcall (arg0, arg1) ;
break ;

/* branch: __ats_lab_97 */
__ats_lab_97_0:
if (((ats_sum_ptr_type)tmp421)->tag != 9) { goto __ats_lab_98_0 ; }
__ats_lab_97_1:
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_extmcall (arg0, arg1) ;
break ;

/* branch: __ats_lab_98 */
__ats_lab_98_0:
if (((ats_sum_ptr_type)tmp421)->tag != 10) { goto __ats_lab_99_0 ; }
__ats_lab_98_1:
tmp436 = ats_caselptrlab_mac(anairiats_sum_13, tmp421, atslab_0) ;
tmp437 = ats_caselptrlab_mac(anairiats_sum_13, tmp421, atslab_1) ;
tmp438 = ats_caselptrlab_mac(anairiats_sum_13, tmp421, atslab_2) ;
/* tmp439 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSif(\n")) ;
/* tmp440 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp436) ;
/* tmp441 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n) ATSthen() {\n")) ;
/* tmp442 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp437) ;
/* tmp443 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n} ATSelse() {\n")) ;
/* tmp444 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp438) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n} /* ATSendif */")) ;
break ;

/* branch: __ats_lab_99 */
__ats_lab_99_0:
if (((ats_sum_ptr_type)tmp421)->tag != 11) { goto __ats_lab_100_0 ; }
__ats_lab_99_1:
tmp445 = ats_caselptrlab_mac(anairiats_sum_2, tmp421, atslab_0) ;
/* tmp446 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSfreecon(")) ;
/* tmp447 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp445) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_100 */
__ats_lab_100_0:
if (((ats_sum_ptr_type)tmp421)->tag != 12) { goto __ats_lab_103_0 ; }
__ats_lab_100_1:
tmp448 = ats_caselptrlab_mac(anairiats_sum_17, tmp421, atslab_0) ;
tmp449 = ats_caselptrlab_mac(anairiats_sum_17, tmp421, atslab_1) ;
tmp450 = ats_caselptrlab_mac(anairiats_sum_17, tmp421, atslab_2) ;
tmp451 = ats_caselptrlab_mac(anairiats_sum_17, tmp421, atslab_3) ;
tmp452 = ats_caselptrlab_mac(anairiats_sum_17, tmp421, atslab_4) ;
tmp453 = ats_caselptrlab_mac(anairiats_sum_17, tmp421, atslab_5) ;
tmp454 = ats_caselptrlab_mac(anairiats_sum_17, tmp421, atslab_6) ;
tmp455 = ats_caselptrlab_mac(anairiats_sum_17, tmp421, atslab_7) ;
/* tmp456 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp457 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** loop-init(beg)\n")) ;
/* tmp458 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ;
/* tmp459 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp451) ;
/* tmp460 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
/* tmp461 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp462 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** loop-init(end)\n")) ;
/* tmp463 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ;
/* tmp464 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSloop_open(")) ;
/* tmp465 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp448) ;
/* tmp466 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp467 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp449) ;
/* tmp468 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp469 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp450) ;
/* tmp470 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")\n")) ;
/* tmp471 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp453) ;
/* tmp472 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
/* tmp473 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSif(")) ;
/* tmp474 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKnot(")) ;
/* tmp475 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp452) ;
/* tmp476 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")) ATSbreak() ;")) ;
/* tmp477 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
/* tmp478 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp455) ;
/* tmp479 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
tmp480 = list_is_cons_01295_ (tmp454) ;
if (tmp480) {
/* tmp483 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp484 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** continue after post-update\n")) ;
/* tmp485 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ;
/* tmp486 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp450) ;
/* tmp487 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(":\n")) ;
/* tmp488 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp454) ;
/* tmp482 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
} else {
/* empty */
} /* end of [if] */
/* tmp489 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSloop_close(")) ;
/* tmp490 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp448) ;
/* tmp491 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp492 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp449) ;
/* tmp493 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp494 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp450) ;
/* tmp495 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
break ;

/* branch: __ats_lab_103 */
__ats_lab_103_0:
if (((ats_sum_ptr_type)tmp421)->tag != 13) { goto __ats_lab_104_0 ; }
__ats_lab_103_1:
tmp496 = ats_caselptrlab_mac(anairiats_sum_12, tmp421, atslab_0) ;
tmp497 = ats_caselptrlab_mac(anairiats_sum_12, tmp421, atslab_1) ;
tmp499 = atspre_eq_int_int (tmp496, 0) ;
if (tmp499) {
/* tmp498 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSbreak2(")) ;
} else {
/* tmp498 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScontinue2(")) ;
} /* end of [if] */
/* tmp500 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp497) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_104 */
__ats_lab_104_0:
if (((ats_sum_ptr_type)tmp421)->tag != 14) { goto __ats_lab_105_0 ; }
__ats_lab_104_1:
tmp501 = ats_caselptrlab_mac(anairiats_sum_2, tmp421, atslab_0) ;
/* tmp502 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScaseof_beg()\n")) ;
/* tmp503 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ibranchlst (arg0, tmp501) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScaseof_end()\n")) ;
break ;

/* branch: __ats_lab_105 */
__ats_lab_105_0:
if (((ats_sum_ptr_type)tmp421)->tag != 28) { goto __ats_lab_106_0 ; }
__ats_lab_105_1:
tmp504 = ats_caselptrlab_mac(anairiats_sum_13, tmp421, atslab_0) ;
tmp505 = ats_caselptrlab_mac(anairiats_sum_13, tmp421, atslab_1) ;
tmp506 = ats_caselptrlab_mac(anairiats_sum_13, tmp421, atslab_2) ;
/* tmp507 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStrywith_try(")) ;
/* tmp508 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp504) ;
/* tmp509 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")\n")) ;
/* tmp510 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst_ln (arg0, tmp505) ;
/* tmp511 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStrywith_with(")) ;
/* tmp512 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp504) ;
/* tmp513 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")\n")) ;
/* tmp514 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScaseof_beg()\n")) ;
/* tmp515 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ibranchlst (arg0, tmp506) ;
/* tmp516 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScaseof_end()\n")) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStrywith_end()")) ;
break ;

/* branch: __ats_lab_106 */
__ats_lab_106_0:
if (((ats_sum_ptr_type)tmp421)->tag != 15) { goto __ats_lab_107_0 ; }
__ats_lab_106_1:
/* tmp517 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp518 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instr (arg0, arg1) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/")) ;
break ;

/* branch: __ats_lab_107 */
__ats_lab_107_0:
if (((ats_sum_ptr_type)tmp421)->tag != 16) { goto __ats_lab_108_0 ; }
__ats_lab_107_1:
tmp519 = ats_caselptrlab_mac(anairiats_sum_2, tmp421, atslab_0) ;
/* tmp520 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp521 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("letpush(beg)")) ;
/* tmp522 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/\n")) ;
/* tmp523 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primdeclst (arg0, tmp519) ;
/* tmp524 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp525 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("letpush(end)")) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/\n")) ;
break ;

/* branch: __ats_lab_108 */
__ats_lab_108_0:
if (((ats_sum_ptr_type)tmp421)->tag != 17) { goto __ats_lab_109_0 ; }
__ats_lab_108_1:
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_con (arg0, arg1) ;
break ;

/* branch: __ats_lab_109 */
__ats_lab_109_0:
if (((ats_sum_ptr_type)tmp421)->tag != 20) { goto __ats_lab_110_0 ; }
__ats_lab_109_1:
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec (arg0, arg1) ;
break ;

/* branch: __ats_lab_110 */
__ats_lab_110_0:
if (((ats_sum_ptr_type)tmp421)->tag != 19) { goto __ats_lab_111_0 ; }
__ats_lab_110_1:
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec (arg0, arg1) ;
break ;

/* branch: __ats_lab_111 */
__ats_lab_111_0:
if (((ats_sum_ptr_type)tmp421)->tag != 21) { goto __ats_lab_112_0 ; }
__ats_lab_111_1:
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_patck (arg0, arg1) ;
break ;

/* branch: __ats_lab_112 */
__ats_lab_112_0:
if (((ats_sum_ptr_type)tmp421)->tag != 23) { goto __ats_lab_113_0 ; }
__ats_lab_112_1:
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs (arg0, arg1) ;
break ;

/* branch: __ats_lab_113 */
__ats_lab_113_0:
if (((ats_sum_ptr_type)tmp421)->tag != 24) { goto __ats_lab_114_0 ; }
__ats_lab_113_1:
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs (arg0, arg1) ;
break ;

/* branch: __ats_lab_114 */
__ats_lab_114_0:
if (((ats_sum_ptr_type)tmp421)->tag != 25) { goto __ats_lab_115_0 ; }
__ats_lab_114_1:
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_raise (arg0, arg1) ;
break ;

/* branch: __ats_lab_115 */
__ats_lab_115_0:
if (((ats_sum_ptr_type)tmp421)->tag != 26) { goto __ats_lab_116_0 ; }
__ats_lab_115_1:
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay (arg0, arg1) ;
break ;

/* branch: __ats_lab_116 */
__ats_lab_116_0:
if (((ats_sum_ptr_type)tmp421)->tag != 27) { goto __ats_lab_117_0 ; }
__ats_lab_116_1:
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval (arg0, arg1) ;
break ;

/* branch: __ats_lab_117 */
__ats_lab_117_0:
if (((ats_sum_ptr_type)tmp421)->tag != 29) { goto __ats_lab_118_0 ; }
__ats_lab_117_1:
tmp526 = ats_caselptrlab_mac(anairiats_sum_2, tmp421, atslab_0) ;
/* tmp527 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_list_nil(")) ;
/* tmp528 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp526) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_118 */
__ats_lab_118_0:
if (((ats_sum_ptr_type)tmp421)->tag != 30) { goto __ats_lab_119_0 ; }
__ats_lab_118_1:
tmp529 = ats_caselptrlab_mac(anairiats_sum_2, tmp421, atslab_0) ;
/* tmp530 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSpmove_list_nil(")) ;
/* tmp531 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp529) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_119 */
__ats_lab_119_0:
if (((ats_sum_ptr_type)tmp421)->tag != 31) { goto __ats_lab_120_0 ; }
__ats_lab_119_1:
tmp532 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_0) ;
tmp533 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_1) ;
/* tmp534 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSpmove_list_cons(")) ;
/* tmp535 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp532) ;
/* tmp536 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp537 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp533) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_120 */
__ats_lab_120_0:
if (((ats_sum_ptr_type)tmp421)->tag != 32) { goto __ats_lab_121_0 ; }
__ats_lab_120_1:
tmp538 = ats_caselptrlab_mac(anairiats_sum_13, tmp421, atslab_0) ;
tmp539 = ats_caselptrlab_mac(anairiats_sum_13, tmp421, atslab_1) ;
tmp540 = ats_caselptrlab_mac(anairiats_sum_13, tmp421, atslab_2) ;
/* tmp541 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_list_phead(")) ;
/* tmp542 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp538) ;
/* tmp543 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp544 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp539) ;
/* tmp545 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp546 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp540) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_121 */
__ats_lab_121_0:
if (((ats_sum_ptr_type)tmp421)->tag != 33) { goto __ats_lab_122_0 ; }
__ats_lab_121_1:
tmp547 = ats_caselptrlab_mac(anairiats_sum_13, tmp421, atslab_0) ;
tmp548 = ats_caselptrlab_mac(anairiats_sum_13, tmp421, atslab_1) ;
tmp549 = ats_caselptrlab_mac(anairiats_sum_13, tmp421, atslab_2) ;
/* tmp550 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_list_ptail(")) ;
/* tmp551 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp547) ;
/* tmp552 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp553 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp548) ;
/* tmp554 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp555 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp549) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_122 */
__ats_lab_122_0:
if (((ats_sum_ptr_type)tmp421)->tag != 34) { goto __ats_lab_123_0 ; }
__ats_lab_122_1:
tmp556 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_0) ;
tmp557 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_1) ;
/* tmp558 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_arrpsz_ptr(")) ;
/* tmp559 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp556) ;
/* tmp560 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp561 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp557) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_123 */
__ats_lab_123_0:
if (((ats_sum_ptr_type)tmp421)->tag != 35) { goto __ats_lab_124_0 ; }
__ats_lab_123_1:
tmp562 = ats_caselptrlab_mac(anairiats_sum_18, tmp421, atslab_0) ;
tmp563 = ats_caselptrlab_mac(anairiats_sum_18, tmp421, atslab_1) ;
/* tmp564 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_arrpsz_asz(")) ;
/* tmp565 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp562) ;
/* tmp566 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp567 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, tmp563) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_124 */
__ats_lab_124_0:
if (((ats_sum_ptr_type)tmp421)->tag != 36) { goto __ats_lab_125_0 ; }
__ats_lab_124_1:
tmp568 = ats_caselptrlab_mac(anairiats_sum_19, tmp421, atslab_0) ;
tmp569 = ats_caselptrlab_mac(anairiats_sum_19, tmp421, atslab_1) ;
tmp570 = ats_caselptrlab_mac(anairiats_sum_19, tmp421, atslab_2) ;
/* tmp571 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_arrpsz_ptr(")) ;
/* tmp572 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp568) ;
/* tmp573 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp574 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp569) ;
/* tmp575 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp576 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, tmp570) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_125 */
__ats_lab_125_0:
if (((ats_sum_ptr_type)tmp421)->tag != 37) { goto __ats_lab_126_0 ; }
__ats_lab_125_1:
tmp577 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_0) ;
tmp578 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_1) ;
/* tmp579 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSupdate_ptrinc(")) ;
/* tmp580 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp577) ;
/* tmp581 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp582 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp578) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_126 */
__ats_lab_126_0:
if (((ats_sum_ptr_type)tmp421)->tag != 38) { goto __ats_lab_127_0 ; }
__ats_lab_126_1:
tmp583 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_0) ;
tmp584 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_1) ;
/* tmp585 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSupdate_ptrdec(")) ;
/* tmp586 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp583) ;
/* tmp587 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp588 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp584) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_127 */
__ats_lab_127_0:
if (((ats_sum_ptr_type)tmp421)->tag != 39) { goto __ats_lab_128_0 ; }
__ats_lab_127_1:
tmp589 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_0) ;
tmp590 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_1) ;
tmp591 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_funent (tmp590) ;
if (tmp591 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 41175(line=2072, offs=9) -- 41218(line=2073, offs=31)") ; }
tmp592 = ats_caselptrlab_mac(anairiats_sum_4, tmp591, atslab_0) ;
tmp593 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funent_eval_d2envlst (tmp592) ;
/* tmp594 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSclosure_initize(")) ;
/* tmp595 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp590) ;
/* tmp596 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp597 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ;
/* tmp598 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ;
/* tmp599 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp590) ;
/* tmp600 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__closure_t0ype*)")) ;
/* tmp601 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ;
/* tmp602 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("&")) ;
/* tmp603 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp589) ;
/* tmp604 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ;
tmp605 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2envlst (arg0, tmp593, 1) ;
/* tmp606 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_128 */
__ats_lab_128_0:
if (((ats_sum_ptr_type)tmp421)->tag != 40) { goto __ats_lab_129_0 ; }
__ats_lab_128_1:
tmp607 = ats_caselptrlab_mac(anairiats_sum_2, tmp421, atslab_0) ;
/* tmp608 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp609 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINStmpdec(")) ;
/* tmp610 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp607) ;
/* tmp611 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/")) ;
break ;

/* branch: __ats_lab_129 */
__ats_lab_129_0:
if (((ats_sum_ptr_type)tmp421)->tag != 41) { goto __ats_lab_130_0 ; }
__ats_lab_129_1:
tmp612 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_0) ;
tmp613 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_1) ;
/* tmp614 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSextvar_assign(")) ;
/* tmp615 = */ atspre_fprintf_exn (arg0, ATSstrcst("ATSPMVextval(%s)"), tmp612) ;
/* tmp616 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp617 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp613) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_130 */
__ats_lab_130_0:
if (((ats_sum_ptr_type)tmp421)->tag != 42) { goto __ats_lab_131_0 ; }
__ats_lab_130_1:
tmp618 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_0) ;
tmp619 = ats_caselptrlab_mac(anairiats_sum_7, tmp421, atslab_1) ;
/* tmp620 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSdyncst_valbind(")) ;
/* tmp621 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2cst (arg0, tmp618) ;
/* tmp622 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp623 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp619) ;
/* tmp407 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_131 */
__ats_lab_131_0:
__ats_lab_131_1:
/* tmp624 = */ prerr_interror_loc_02188_ (tmp408) ;
/* tmp629 = */ atspre_prerr_string (ATSstrcst(": pats_ccomp_emit: emit_instr: ins = ")) ;
/* tmp630 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_instr (arg1) ;
/* tmp631 = */ atspre_prerr_newline () ;
tmp632 = atspre_string_append ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 42824(line=2125, offs=22) -- 42840(line=2125, offs=38)", ATSstrcst("\n")) ;
/* tmp407 = */ atspre_assert_errmsg (ats_false_bool, tmp632) ;
break ;
} while (0) ;
return /* (tmp407) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 42979(line=2135, offs=5) -- 43454(line=2159, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_95 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) {
/* local vardec */
// ATSlocal_void (tmp634) ;
ATSlocal (ats_ptr_type, tmp635) ;
ATSlocal (ats_ptr_type, tmp636) ;
// ATSlocal_void (tmp637) ;
ATSlocal (ats_bool_type, tmp638) ;
// ATSlocal_void (tmp639) ;
ATSlocal (ats_int_type, tmp640) ;
ATSlocal (ats_bool_type, tmp641) ;

__ats_lab_loop_95:
do {
/* branch: __ats_lab_132 */
__ats_lab_132_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_133_0 ; }
__ats_lab_132_1:
tmp635 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp636 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ;
tmp638 = atspre_gt_int_int (arg3, 0) ;
if (tmp638) {
/* tmp637 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, arg2) ;
} else {
/* empty */
} /* end of [if] */
/* tmp639 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr (arg0, tmp635) ;
tmp640 = atspre_add_int_int (arg3, 1) ;
arg0 = arg0 ;
arg1 = tmp636 ;
arg2 = arg2 ;
arg3 = tmp640 ;
goto __ats_lab_loop_95 ; // tail call
break ;

/* branch: __ats_lab_133 */
__ats_lab_133_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_133_1:
tmp641 = atspre_eq_int_int (arg3, 0) ;
if (tmp641) {
/* tmp634 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/* (*nothing*) */")) ;
} else {
/* empty */
} /* end of [if] */
break ;
} while (0) ;
return /* (tmp634) */ ;
} /* end of [loop_95] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 42954(line=2133, offs=3) -- 43509(line=2163, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp633) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst:
/* tmp633 = */ loop_95 (arg0, arg1, ATSstrcst("\n"), 0) ;
return /* (tmp633) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 43570(line=2167, offs=3) -- 43675(line=2171, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst_ln (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp642) ;
// ATSlocal_void (tmp643) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst_ln:
/* tmp643 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (arg0, arg1) ;
/* tmp642 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n")) ;
return /* (tmp642) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst_ln] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 43738(line=2177, offs=5) -- 44338(line=2208, offs=4)
*/
ATSstaticdec()
ats_void_type
auxcon0_97 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp644) ;
ATSlocal (ats_bool_type, tmp645) ;
// ATSlocal_void (tmp646) ;
// ATSlocal_void (tmp647) ;
ATSlocal (ats_int_type, tmp648) ;
// ATSlocal_void (tmp649) ;
// ATSlocal_void (tmp650) ;
// ATSlocal_void (tmp651) ;
// ATSlocal_void (tmp652) ;

__ats_lab_auxcon0_97:
tmp645 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_listlike (arg2) ;
if (tmp645) {
/* tmp646 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_nil(")) ;
/* tmp647 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp644 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
} else {
tmp648 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_tag (arg2) ;
/* tmp649 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_con0(")) ;
/* tmp650 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp651 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp652 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, tmp648) ;
/* tmp644 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
} /* end of [if] */
return /* (tmp644) */ ;
} /* end of [auxcon0_97] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 44385(line=2212, offs=5) -- 45111(line=2246, offs=4)
*/
ATSstaticdec()
ats_void_type
auxtag_98 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp653) ;
ATSlocal (ats_int_type, tmp654) ;
ATSlocal (ats_bool_type, tmp655) ;
ATSlocal (ats_bool_type, tmp656) ;
ATSlocal (ats_int_type, tmp657) ;
// ATSlocal_void (tmp658) ;
ATSlocal (ats_bool_type, tmp659) ;
// ATSlocal_void (tmp660) ;
// ATSlocal_void (tmp661) ;
// ATSlocal_void (tmp662) ;
// ATSlocal_void (tmp663) ;
// ATSlocal_void (tmp664) ;
// ATSlocal_void (tmp665) ;
// ATSlocal_void (tmp666) ;
ATSlocal (ats_bool_type, tmp667) ;

__ats_lab_auxtag_98:
do {
/* branch: __ats_lab_134 */
__ats_lab_134_0:
__ats_lab_134_1:
tmp655 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_listlike (arg2) ;
if (!tmp655) { goto __ats_lab_135_1 ; }
tmp654 = 0 ;
break ;

/* branch: __ats_lab_135 */
__ats_lab_135_0:
__ats_lab_135_1:
tmp656 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_singular (arg2) ;
if (!tmp656) { goto __ats_lab_136_1 ; }
tmp654 = 0 ;
break ;

/* branch: __ats_lab_136 */
__ats_lab_136_0:
__ats_lab_136_1:
tmp654 = 1 ;
break ;
} while (0) ;
tmp657 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_tag (arg2) ;
tmp659 = atspre_gt_int_int (tmp654, 0) ;
if (tmp659) {
/* tmp658 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("// ")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp660 = */ atspre_fprintf_exn (arg0, ATSstrcst("#if(%i)\n"), tmp654) ;
/* tmp661 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_con1_tag(")) ;
/* tmp662 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp663 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp664 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, tmp657) ;
/* tmp665 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
tmp667 = atspre_gt_int_int (tmp654, 0) ;
if (tmp667) {
/* tmp666 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("// ")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp653 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif\n")) ;
return /* (tmp653) */ ;
} /* end of [auxtag_98] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 45136(line=2248, offs=5) -- 45950(line=2281, offs=4)
*/
ATSstaticdec()
ats_void_type
auxarg_99 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp668) ;
ATSlocal (ats_ptr_type, tmp669) ;
ATSlocal (ats_ptr_type, tmp670) ;
ATSlocal (ats_ptr_type, tmp671) ;
ATSlocal (ats_ptr_type, tmp672) ;
ATSlocal (ats_bool_type, tmp673) ;
// ATSlocal_void (tmp674) ;
// ATSlocal_void (tmp675) ;
// ATSlocal_void (tmp676) ;
// ATSlocal_void (tmp677) ;
// ATSlocal_void (tmp678) ;
// ATSlocal_void (tmp679) ;
// ATSlocal_void (tmp680) ;
// ATSlocal_void (tmp681) ;
// ATSlocal_void (tmp682) ;
// ATSlocal_void (tmp683) ;
// ATSlocal_void (tmp684) ;

__ats_lab_auxarg_99:
do {
/* branch: __ats_lab_137 */
__ats_lab_137_0:
if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_138_0 ; }
__ats_lab_137_1:
break ;

/* branch: __ats_lab_138 */
__ats_lab_138_0:
// if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_138_1:
tmp669 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ;
tmp670 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_1) ;
// 
tmp671 = ats_caselptrlab_mac(anairiats_sum_6, tmp669, atslab_0) ;
tmp672 = ats_caselptrlab_mac(anairiats_sum_6, tmp669, atslab_1) ;
tmp673 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_is_top (tmp672) ;
if (tmp673) {
/* tmp674 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#if(0)\n")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp675 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_con1_ofs(")) ;
/* tmp676 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp677 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp678 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hitype (arg0, arg2) ;
/* tmp679 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp680 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext (arg0, 0, tmp671) ;
/* tmp681 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp682 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp672) ;
/* tmp683 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
if (tmp673) {
/* tmp684 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif\n")) ;
} else {
/* empty */
} /* end of [if] */
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = tmp670 ;
goto __ats_lab_auxarg_99 ; // tail call
break ;
} while (0) ;
return /* (tmp668) */ ;
} /* end of [auxarg_99] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 45975(line=2283, offs=5) -- 46672(line=2320, offs=4)
*/
ATSstaticdec()
ats_void_type
auxcon1_100 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
// ATSlocal_void (tmp685) ;
ATSlocal (ats_int_type, tmp686) ;
ATSlocal (ats_bool_type, tmp687) ;
// ATSlocal_void (tmp688) ;
// ATSlocal_void (tmp689) ;
// ATSlocal_void (tmp690) ;
// ATSlocal_void (tmp691) ;
// ATSlocal_void (tmp692) ;
// ATSlocal_void (tmp693) ;
// ATSlocal_void (tmp694) ;
// ATSlocal_void (tmp695) ;
// ATSlocal_void (tmp696) ;

__ats_lab_auxcon1_100:
tmp687 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_linear (arg2) ;
if (tmp687) {
tmp686 = 0 ;
} else {
tmp686 = 1 ;
} /* end of [if] */
/* tmp688 = */ atspre_fprintf_exn (arg0, ATSstrcst("/*\n#LINCONSTATUS==%i\n*/\n"), tmp686) ;
/* tmp689 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_con1_beg()\n")) ;
/* tmp690 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_con1_new(")) ;
/* tmp691 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp692 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp693 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hitype (arg0, arg3) ;
/* tmp694 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
/* tmp695 = */ auxtag_98 (arg0, arg1, arg2) ;
/* tmp696 = */ auxarg_99 (arg0, arg1, arg3, arg4) ;
/* tmp685 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_con1_end()")) ;
return /* (tmp685) */ ;
} /* end of [auxcon1_100] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 46719(line=2324, offs=5) -- 46982(line=2337, offs=4)
*/
ATSstaticdec()
ats_void_type
auxexn0_101 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp697) ;
// ATSlocal_void (tmp698) ;
// ATSlocal_void (tmp699) ;
// ATSlocal_void (tmp700) ;
// ATSlocal_void (tmp701) ;

__ats_lab_auxexn0_101:
/* tmp698 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_exn0(")) ;
/* tmp699 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp700 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp701 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2con (arg0, arg2) ;
/* tmp697 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
return /* (tmp697) */ ;
} /* end of [auxexn0_101] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 47008(line=2339, offs=5) -- 47904(line=2380, offs=4)
*/
ATSstaticdec()
ats_void_type
auxexn1_102 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
// ATSlocal_void (tmp702) ;
// ATSlocal_void (tmp703) ;
// ATSlocal_void (tmp704) ;
// ATSlocal_void (tmp705) ;
// ATSlocal_void (tmp706) ;
// ATSlocal_void (tmp707) ;
// ATSlocal_void (tmp708) ;
// ATSlocal_void (tmp709) ;
// ATSlocal_void (tmp710) ;
// ATSlocal_void (tmp711) ;
// ATSlocal_void (tmp712) ;
// ATSlocal_void (tmp713) ;
// ATSlocal_void (tmp714) ;
// ATSlocal_void (tmp715) ;
// ATSlocal_void (tmp716) ;
// ATSlocal_void (tmp717) ;
// ATSlocal_void (tmp718) ;
// ATSlocal_void (tmp719) ;

__ats_lab_auxexn1_102:
/* tmp703 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_exn1_beg()\n")) ;
/* tmp704 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_exn1_new(")) ;
/* tmp705 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp706 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp707 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hitype (arg0, arg3) ;
/* tmp708 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
/* tmp709 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_exn1_tag(")) ;
/* tmp710 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp711 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp712 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2con (arg0, arg2) ;
/* tmp713 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
/* tmp714 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_exn1_msg(")) ;
/* tmp715 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp716 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp717 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2con (arg0, arg2) ;
/* tmp718 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
/* tmp719 = */ auxarg_99 (arg0, arg1, arg3, arg4) ;
/* tmp702 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_exn1_end()")) ;
return /* (tmp702) */ ;
} /* end of [auxexn1_102] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 47982(line=2386, offs=3) -- 48640(line=2416, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_con (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp720) ;
ATSlocal (ats_ptr_type, tmp721) ;
ATSlocal (ats_ptr_type, tmp722) ;
ATSlocal (ats_ptr_type, tmp723) ;
ATSlocal (ats_ptr_type, tmp724) ;
ATSlocal (ats_ptr_type, tmp725) ;
// ATSlocal_void (tmp726) ;
ATSlocal (ats_bool_type, tmp727) ;
ATSlocal (ats_bool_type, tmp728) ;
ATSlocal (ats_bool_type, tmp729) ;
// ATSlocal_void (tmp730) ;
ATSlocal (ats_ptr_type, tmp731) ;
// ATSlocal_void (tmp732) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_con:
tmp721 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
if (((ats_sum_ptr_type)tmp721)->tag != 17) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 48007(line=2388, offs=6) -- 48062(line=2389, offs=44)") ; }
tmp722 = ats_caselptrlab_mac(anairiats_sum_20, tmp721, atslab_0) ;
tmp723 = ats_caselptrlab_mac(anairiats_sum_20, tmp721, atslab_1) ;
tmp724 = ats_caselptrlab_mac(anairiats_sum_20, tmp721, atslab_2) ;
tmp725 = ats_caselptrlab_mac(anairiats_sum_20, tmp721, atslab_3) ;
/* tmp726 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
tmp727 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_con (tmp723) ;
tmp728 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_exn (tmp723) ;
tmp729 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_nullary (tmp723) ;
if (tmp729) {
if (tmp727) {
/* tmp730 = */ auxcon0_97 (arg0, tmp722, tmp723) ;
} else {
/* empty */
} /* end of [if] */
if (tmp728) {
/* tmp720 = */ auxexn0_101 (arg0, tmp722, tmp723) ;
} else {
/* empty */
} /* end of [if] */
} else {
tmp731 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hisexp_typize (0, tmp724) ;
if (tmp727) {
/* tmp732 = */ auxcon1_100 (arg0, tmp722, tmp723, tmp731, tmp725) ;
} else {
/* empty */
} /* end of [if] */
if (tmp728) {
/* tmp720 = */ auxexn1_102 (arg0, tmp722, tmp723, tmp731, tmp725) ;
} else {
/* empty */
} /* end of [if] */
} /* end of [if] */
return /* (tmp720) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_con] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 48774(line=2426, offs=5) -- 49616(line=2462, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_105 (ats_ptr_type env0, ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) {
/* local vardec */
// ATSlocal_void (tmp734) ;
ATSlocal (ats_ptr_type, tmp735) ;
ATSlocal (ats_ptr_type, tmp736) ;
ATSlocal (ats_ptr_type, tmp737) ;
ATSlocal (ats_ptr_type, tmp738) ;
// ATSlocal_void (tmp739) ;
ATSlocal (ats_bool_type, tmp740) ;
// ATSlocal_void (tmp741) ;
ATSlocal (ats_bool_type, tmp742) ;
// ATSlocal_void (tmp743) ;
ATSlocal (ats_bool_type, tmp744) ;
// ATSlocal_void (tmp745) ;
// ATSlocal_void (tmp746) ;
// ATSlocal_void (tmp747) ;
// ATSlocal_void (tmp748) ;
// ATSlocal_void (tmp749) ;
// ATSlocal_void (tmp750) ;
// ATSlocal_void (tmp751) ;
// ATSlocal_void (tmp752) ;
ATSlocal (ats_int_type, tmp753) ;

__ats_lab_loop_105:
do {
/* branch: __ats_lab_139 */
__ats_lab_139_0:
if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_140_0 ; }
__ats_lab_139_1:
tmp735 = ats_caselptrlab_mac(anairiats_sum_6, arg4, atslab_0) ;
tmp736 = ats_caselptrlab_mac(anairiats_sum_6, arg4, atslab_1) ;

tmp737 = ats_caselptrlab_mac(anairiats_sum_6, tmp735, atslab_0) ;
tmp738 = ats_caselptrlab_mac(anairiats_sum_6, tmp735, atslab_1) ;
tmp740 = atspre_gt_int_int (arg5, 0) ;
if (tmp740) {
/* tmp739 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst("\n")) ;
} else {
/* empty */
} /* end of [if] */
tmp742 = atspre_eq_int_int (arg0, 0) ;
if (tmp742) {
/* tmp741 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst("ATSINSstore_fltrec_ofs (")) ;
} else {
/* empty */
} /* end of [if] */
tmp744 = atspre_gt_int_int (arg0, 0) ;
if (tmp744) {
/* tmp743 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst("ATSINSstore_boxrec_ofs (")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp745 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (env0, arg2) ;
/* tmp746 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst(", ")) ;
/* tmp747 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hitype (env0, arg3) ;
/* tmp748 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst(", ")) ;
/* tmp749 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext (env0, arg1, tmp737) ;
/* tmp750 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst(", ")) ;
/* tmp751 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (env0, tmp738) ;
/* tmp752 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst(") ;")) ;
tmp753 = atspre_add_int_int (arg5, 1) ;
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = arg3 ;
arg4 = tmp736 ;
arg5 = tmp753 ;
goto __ats_lab_loop_105 ; // tail call
break ;

/* branch: __ats_lab_140 */
__ats_lab_140_0:
// if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_140_1:
break ;
} while (0) ;
return /* (tmp734) */ ;
} /* end of [loop_105] */

typedef struct {
ats_fun_ptr_type closure_fun ;
ats_ptr_type closure_env_0 ;
} loop_105_closure_type ;

ats_void_type
loop_105_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) {
loop_105 (((loop_105_closure_type*)cloptr)->closure_env_0, arg0, arg1, arg2, arg3, arg4, arg5) ; return ;
} /* end of function */

ATSinline()
ats_void_type
loop_105_closure_init (loop_105_closure_type *p_clo, ats_ptr_type env0) {
p_clo->closure_fun = (ats_fun_ptr_type)&loop_105_clofun ;
p_clo->closure_env_0 = env0 ;
return ;
} /* end of function */

ats_clo_ptr_type
loop_105_closure_make (ats_ptr_type env0) {
loop_105_closure_type *p_clo = ATS_MALLOC(sizeof(loop_105_closure_type)) ;
loop_105_closure_init (p_clo, env0) ;
return (ats_clo_ptr_type)p_clo ;
} /* end of function */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 48750(line=2424, offs=3) -- 50808(line=2517, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp733) ;
ATSlocal (ats_ptr_type, tmp754) ;
ATSlocal (ats_ptr_type, tmp755) ;
ATSlocal (ats_ptr_type, tmp756) ;
ATSlocal (ats_ptr_type, tmp757) ;
ATSlocal (ats_ptr_type, tmp758) ;
ATSlocal (ats_int_type, tmp759) ;
// ATSlocal_void (tmp760) ;
// ATSlocal_void (tmp761) ;
ATSlocal (ats_ptr_type, tmp762) ;
ATSlocal (ats_ptr_type, tmp763) ;
ATSlocal (ats_ptr_type, tmp764) ;
ATSlocal (ats_ptr_type, tmp765) ;
ATSlocal (ats_int_type, tmp766) ;
// ATSlocal_void (tmp767) ;
// ATSlocal_void (tmp768) ;
// ATSlocal_void (tmp769) ;
// ATSlocal_void (tmp770) ;
// ATSlocal_void (tmp771) ;
// ATSlocal_void (tmp772) ;
// ATSlocal_void (tmp773) ;
// ATSlocal_void (tmp774) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec:
tmp754 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
do {
/* branch: __ats_lab_141 */
__ats_lab_141_0:
if (((ats_sum_ptr_type)tmp754)->tag != 20) { goto __ats_lab_142_0 ; }
__ats_lab_141_1:
tmp755 = ats_caselptrlab_mac(anairiats_sum_13, tmp754, atslab_0) ;
tmp756 = ats_caselptrlab_mac(anairiats_sum_13, tmp754, atslab_1) ;
tmp757 = ats_caselptrlab_mac(anairiats_sum_13, tmp754, atslab_2) ;
tmp758 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hisexp_typize (1, tmp757) ;
tmp759 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_get_extknd (tmp757) ;
/* tmp760 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_fltrec_beg()\n")) ;
/* tmp761 = */ loop_105 (arg0, 0, tmp759, tmp755, tmp758, tmp756, 0) ;
/* tmp733 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\nATSINSmove_fltrec_end()")) ;
break ;

/* branch: __ats_lab_142 */
__ats_lab_142_0:
if (((ats_sum_ptr_type)tmp754)->tag != 19) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 49643(line=2466, offs=1) -- 50774(line=2515, offs=6)") ; }
__ats_lab_142_1:
tmp762 = ats_caselptrlab_mac(anairiats_sum_13, tmp754, atslab_0) ;
tmp763 = ats_caselptrlab_mac(anairiats_sum_13, tmp754, atslab_1) ;
tmp764 = ats_caselptrlab_mac(anairiats_sum_13, tmp754, atslab_2) ;
tmp765 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hisexp_typize (0, tmp764) ;
tmp766 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_get_extknd (tmp764) ;
/* tmp767 = */ atspre_fprint_string (arg0, ATSstrcst("/*\n#LINCONSTATUS==2\n*/\n")) ;
/* tmp768 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_boxrec_beg()\n")) ;
/* tmp769 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_boxrec_new(")) ;
/* tmp770 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp762) ;
/* tmp771 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp772 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hitype (arg0, tmp765) ;
/* tmp773 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
/* tmp774 = */ loop_105 (arg0, 1, tmp766, tmp762, tmp765, tmp763, 0) ;
/* tmp733 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\nATSINSmove_boxrec_end()")) ;
break ;
} while (0) ;
return /* (tmp733) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 50874(line=2523, offs=5) -- 51246(line=2544, offs=4)
*/
ATSstaticdec()
ats_void_type
auxsel_106 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp775) ;
// ATSlocal_void (tmp776) ;
// ATSlocal_void (tmp777) ;
// ATSlocal_void (tmp778) ;
// ATSlocal_void (tmp779) ;
// ATSlocal_void (tmp780) ;
// ATSlocal_void (tmp781) ;

__ats_lab_auxsel_106:
/* tmp776 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELcon(")) ;
/* tmp777 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ;
/* tmp778 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp779 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp_sel (arg0, arg2) ;
/* tmp780 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp781 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext (arg0, 0, arg3) ;
/* tmp775 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp775) */ ;
} /* end of [auxsel_106] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 51323(line=2550, offs=3) -- 51443(line=2557, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selcon (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp782) ;
ATSlocal (ats_ptr_type, tmp783) ;
ATSlocal (ats_ptr_type, tmp784) ;
ATSlocal (ats_ptr_type, tmp785) ;
ATSlocal (ats_ptr_type, tmp786) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selcon:
tmp783 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp783)->tag != 22) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 51348(line=2552, offs=5) -- 51399(line=2553, offs=42)") ; }
tmp784 = ats_caselptrlab_mac(anairiats_sum_13, tmp783, atslab_0) ;
tmp785 = ats_caselptrlab_mac(anairiats_sum_13, tmp783, atslab_1) ;
tmp786 = ats_caselptrlab_mac(anairiats_sum_13, tmp783, atslab_2) ;
/* tmp782 = */ auxsel_106 (arg0, tmp784, tmp785, tmp786) ;
return /* (tmp782) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selcon] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 51530(line=2566, offs=1) -- 51699(line=2574, offs=4)
*/
ATSstaticdec()
ats_ptr_type
auxfnd_108 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp787) ;
ATSlocal (ats_ptr_type, tmp788) ;
ATSlocal (ats_ptr_type, tmp789) ;
ATSlocal (ats_ptr_type, tmp790) ;
ATSlocal (ats_ptr_type, tmp791) ;
ATSlocal (ats_bool_type, tmp792) ;

__ats_lab_auxfnd_108:
if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 51593(line=2570, offs=7) -- 51618(line=2570, offs=32)") ; }
tmp788 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp789 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ;

tmp790 = ats_caselptrlab_mac(anairiats_sum_21, tmp788, atslab_0) ;
tmp791 = ats_caselptrlab_mac(anairiats_sum_21, tmp788, atslab_2) ;
tmp792 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__eq_label_label (arg0, tmp790) ;
if (tmp792) {
tmp787 = tmp791 ;
} else {
arg0 = arg0 ;
arg1 = tmp789 ;
goto __ats_lab_auxfnd_108 ; // tail call
} /* end of [if] */
return (tmp787) ;
} /* end of [auxfnd_108] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_errmsg.dats: 1624(line=48, offs=16) -- 1722(line=53, offs=2)
*/
ATSstaticdec()
ats_void_type
prerr_interror_02187_ () {
/* local vardec */
// ATSlocal_void (tmp801) ;
// ATSlocal_void (tmp802) ;
// ATSlocal_void (tmp803) ;

__ats_lab_prerr_interror_02187_:
/* tmp802 = */ atspre_prerr_string (ATSstrcst("INTERROR(")) ;
/* tmp803 = */ prerr_FILENAME_02186_ () ;
/* tmp801 = */ atspre_prerr_string (ATSstrcst(")")) ;
return /* (tmp801) */ ;
} /* end of [prerr_interror_02187_] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 51724(line=2577, offs=1) -- 52649(line=2621, offs=4)
*/
ATSstaticdec()
ats_ptr_type
auxsel_109 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp793) ;
ATSlocal (ats_ptr_type, tmp794) ;
ATSlocal (ats_ptr_type, tmp795) ;
ATSlocal (ats_ptr_type, tmp796) ;
ATSlocal (ats_ptr_type, tmp797) ;
ATSlocal (ats_ptr_type, tmp798) ;
ATSlocal (ats_ptr_type, tmp799) ;
// ATSlocal_void (tmp800) ;
// ATSlocal_void (tmp804) ;
// ATSlocal_void (tmp805) ;
// ATSlocal_void (tmp806) ;
// ATSlocal_void (tmp807) ;
// ATSlocal_void (tmp808) ;
// ATSlocal_void (tmp809) ;
// ATSlocal_void (tmp810) ;
// ATSlocal_void (tmp811) ;
ATSlocal (ats_ptr_type, tmp812) ;
ATSlocal (ats_ptr_type, tmp813) ;
ATSlocal (ats_ptr_type, tmp814) ;

__ats_lab_auxsel_109:
tmp794 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg1), atslab_primlab_node) ;
do {
/* branch: __ats_lab_143 */
__ats_lab_143_0:
if (((ats_sum_ptr_type)tmp794)->tag != 0) { goto __ats_lab_148_0 ; }
__ats_lab_143_1:
tmp795 = ats_caselptrlab_mac(anairiats_sum_2, tmp794, atslab_0) ;
tmp796 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_node) ;
do {
/* branch: __ats_lab_144 */
__ats_lab_144_0:
if (((ats_sum_ptr_type)tmp796)->tag != 8) { goto __ats_lab_145_0 ; }
__ats_lab_144_1:
tmp797 = ats_caselptrlab_mac(anairiats_sum_7, tmp796, atslab_1) ;
tmp793 = auxfnd_108 (tmp795, tmp797) ;
break ;

/* branch: __ats_lab_145 */
__ats_lab_145_0:
if (((ats_sum_ptr_type)tmp796)->tag != 9) { goto __ats_lab_146_0 ; }
__ats_lab_145_1:
tmp798 = ats_caselptrlab_mac(anairiats_sum_2, tmp796, atslab_0) ;
tmp793 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__labhisexp_get_elt (tmp798) ;
break ;

/* branch: __ats_lab_146 */
__ats_lab_146_0:
if (((ats_sum_ptr_type)tmp796)->tag != 10) { goto __ats_lab_147_0 ; }
__ats_lab_146_1:
tmp799 = ats_caselptrlab_mac(anairiats_sum_7, tmp796, atslab_1) ;
tmp793 = auxfnd_108 (tmp795, tmp799) ;
break ;

/* branch: __ats_lab_147 */
__ats_lab_147_0:
__ats_lab_147_1:
/* tmp800 = */ prerr_interror_02187_ () ;
/* tmp804 = */ atspre_prerr_string (ATSstrcst(": auxsel: pml = ")) ;
/* tmp805 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_primlab (arg1) ;
/* tmp806 = */ atspre_prerr_newline () ;
/* tmp807 = */ prerr_interror_02187_ () ;
/* tmp808 = */ atspre_prerr_string (ATSstrcst(": auxsel: hse0 = ")) ;
/* tmp809 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__prerr_hisexp (arg0) ;
/* tmp810 = */ atspre_prerr_newline () ;
tmp812 = atspre_string_append ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 52385(line=2609, offs=24) -- 52401(line=2609, offs=40)", ATSstrcst("\n")) ;
/* tmp811 = */ atspre_assert_errmsg (ats_false_bool, tmp812) ;
/* tmp793 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_error_2esats__abort_interr () ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_148 */
__ats_lab_148_0:
// if (((ats_sum_ptr_type)tmp794)->tag != 1) { ats_deadcode_failure_handle () ; }
__ats_lab_148_1:
tmp813 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_node) ;
if (((ats_sum_ptr_type)tmp813)->tag != 7) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 52537(line=2616, offs=9) -- 52586(line=2617, offs=41)") ; }
tmp814 = ats_caselptrlab_mac(anairiats_sum_7, tmp813, atslab_0) ;
tmp793 = tmp814 ;
break ;
} while (0) ;
return (tmp793) ;
} /* end of [auxsel_109] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 52805(line=2631, offs=5) -- 53101(line=2644, offs=2)
*/
ATSstaticdec()
ats_ptr_type
loop_112 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp816) ;
ATSlocal (ats_ptr_type, tmp817) ;
ATSlocal (ats_ptr_type, tmp818) ;
ATSlocal (ats_ptr_type, tmp819) ;
ATSlocal (ats_ptr_type, tmp820) ;
ATSlocal (anairiats_rec_22, tmp821) ;

__ats_lab_loop_112:
do {
/* branch: __ats_lab_149 */
__ats_lab_149_0:
if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_150_0 ; }
__ats_lab_149_1:
tmp816 = arg2 ;
break ;

/* branch: __ats_lab_150 */
__ats_lab_150_0:
// if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_150_1:
tmp817 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp818 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ;
tmp819 = auxsel_109 (arg0, tmp817) ;
tmp821.atslab_0 = arg0 ;
tmp821.atslab_1 = tmp817 ;

tmp820 = ATS_MALLOC(sizeof(anairiats_sum_23)) ;
ats_selptrset_mac(anairiats_sum_23, tmp820, atslab_0, tmp821) ;
ats_selptrset_mac(anairiats_sum_23, tmp820, atslab_1, arg2) ;
arg0 = tmp819 ;
arg1 = tmp818 ;
arg2 = tmp820 ;
goto __ats_lab_loop_112 ; // tail call
break ;
} while (0) ;
return (tmp816) ;
} /* end of [loop_112] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 52674(line=2624, offs=1) -- 53167(line=2648, offs=4)
*/
ATSstaticdec()
ats_ptr_type
auxselist_111 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp815) ;
ATSlocal (ats_ptr_type, tmp822) ;

__ats_lab_auxselist_111:
tmp822 = (ats_sum_ptr_type)0 ;
tmp815 = loop_112 (arg0, arg1, tmp822) ;
return (tmp815) ;
} /* end of [auxselist_111] */

/*
// /home/hwxi/Research/ATS-Anairiats/prelude/DATS/list_vt.dats: 1961(line=59, offs=16) -- 2054(line=60, offs=87)
*/
ATSstaticdec()
ats_bool_type
list_vt_is_nil_01494_ (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp834) ;

__ats_lab_list_vt_is_nil_01494_:
do {
/* branch: __ats_lab_153 */
__ats_lab_153_0:
if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_154_0 ; }
__ats_lab_153_1:
tmp834 = ats_true_bool ;
break ;

/* branch: __ats_lab_154 */
__ats_lab_154_0:
// if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_154_1:
tmp834 = ats_false_bool ;
break ;
} while (0) ;
return (tmp834) ;
} /* end of [list_vt_is_nil_01494_] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 53195(line=2651, offs=1) -- 55334(line=2736, offs=4)
*/
ATSstaticdec()
ats_void_type
auxmain_113 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) {
/* local vardec */
// ATSlocal_void (tmp823) ;
ATSlocal (anairiats_rec_22, tmp824) ;
ATSlocal (ats_ptr_type, tmp825) ;
ATSlocal (ats_ptr_type, tmp826) ;
ATSlocal (ats_ptr_type, tmp827) ;
ATSlocal (ats_ptr_type, tmp828) ;
ATSlocal (ats_ptr_type, tmp829) ;
ATSlocal (ats_ptr_type, tmp831) ;
ATSlocal (ats_ptr_type, tmp832) ;
ATSlocal (ats_bool_type, tmp833) ;
ATSlocal (ats_ptr_type, tmp835) ;
ATSlocal (ats_ptr_type, tmp836) ;
ATSlocal (ats_bool_type, tmp837) ;
ATSlocal (ats_int_type, tmp838) ;
// ATSlocal_void (tmp839) ;
ATSlocal (ats_bool_type, tmp840) ;
ATSlocal (ats_bool_type, tmp841) ;
ATSlocal (ats_bool_type, tmp842) ;
// ATSlocal_void (tmp843) ;
ATSlocal (ats_int_type, tmp844) ;
// ATSlocal_void (tmp845) ;
// ATSlocal_void (tmp846) ;
// ATSlocal_void (tmp847) ;
ATSlocal (ats_int_type, tmp848) ;
// ATSlocal_void (tmp849) ;

__ats_lab_auxmain_113:
do {
/* branch: __ats_lab_151 */
__ats_lab_151_0:
if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_156_0 ; }
__ats_lab_151_1:
tmp824 = ats_caselptrlab_mac(anairiats_sum_23, arg4, atslab_0) ;
tmp825 = ats_caselptrlab_mac(anairiats_sum_23, arg4, atslab_1) ;
ATS_FREE(arg4) ;
tmp826 = ats_select_mac(tmp824, atslab_0) ;
tmp827 = ats_select_mac(tmp824, atslab_1) ;
/* ats_ptr_type tmp828 ; */
tmp828 = tmp826 ;
/* ats_ptr_type tmp829 ; */
tmp829 = arg2 ;
tmp831 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp826), atslab_hisexp_node) ;
do {
/* branch: __ats_lab_152 */
__ats_lab_152_0:
if (((ats_sum_ptr_type)tmp831)->tag != 7) { goto __ats_lab_155_0 ; }
__ats_lab_152_1:
tmp832 = ats_caselptrlab_mac(anairiats_sum_7, tmp831, atslab_0) ;
tmp828 = tmp832 ;
tmp833 = list_vt_is_nil_01494_ (tmp825) ;
if (tmp833) {
tmp836 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg2), atslab_primval_loc) ;
tmp835 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_ptrof (tmp836, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_typtr, arg2) ;
tmp829 = tmp835 ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_155 */
__ats_lab_155_0:
__ats_lab_155_1:
break ;
} while (0) ;
/* ats_bool_type tmp837 ; */
tmp837 = ats_false_bool ;
tmp838 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_get_boxknd (tmp826) ;
tmp840 = atspre_lte_int_int (tmp838, 0) ;
if (tmp840) {
tmp841 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_is_tyrecsin (tmp826) ;
tmp837 = tmp841 ;
if (tmp837) {
/* tmp839 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELrecsin(")) ;
} else {
tmp842 = atspre_gte_int_int (tmp838, 0) ;
if (tmp842) {
/* tmp839 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELfltrec(")) ;
} else {
/* tmp839 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELarrptrind(")) ;
} /* end of [if] */
} /* end of [if] */
} else {
/* tmp839 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELboxrec(")) ;
} /* end of [if] */
tmp844 = atspre_add_int_int (arg5, 1) ;
/* tmp843 = */ auxmain_113 (arg0, arg1, tmp829, arg3, tmp825, tmp844) ;
/* tmp845 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp846 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp_sel (arg0, tmp828) ;
/* tmp847 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
tmp848 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_get_extknd (tmp826) ;
/* tmp849 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primlab (arg0, tmp848, tmp827) ;
/* tmp823 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
break ;

/* branch: __ats_lab_156 */
__ats_lab_156_0:
// if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_156_1:
do {
/* branch: __ats_lab_157 */
__ats_lab_157_0:
if (arg1 != 0) { goto __ats_lab_158_0 ; }
__ats_lab_157_1:
/* tmp823 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, arg2) ;
break ;

/* branch: __ats_lab_158 */
__ats_lab_158_0:
__ats_lab_158_1:
/* tmp823 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval_deref (arg0, arg2, arg3) ;
break ;
} while (0) ;
break ;
} while (0) ;
return /* (tmp823) */ ;
} /* end of [auxmain_113] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 55454(line=2746, offs=3) -- 55627(line=2755, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp850) ;
ATSlocal (ats_ptr_type, tmp851) ;
ATSlocal (ats_ptr_type, tmp852) ;
ATSlocal (ats_ptr_type, tmp853) ;
ATSlocal (ats_ptr_type, tmp854) ;
ATSlocal (ats_ptr_type, tmp855) ;
ATSlocal (anairiats_rec_22, tmp856) ;
ATSlocal (ats_ptr_type, tmp857) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select:
tmp851 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp851)->tag != 23) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 55479(line=2748, offs=5) -- 55529(line=2749, offs=41)") ; }
tmp852 = ats_caselptrlab_mac(anairiats_sum_13, tmp851, atslab_0) ;
tmp853 = ats_caselptrlab_mac(anairiats_sum_13, tmp851, atslab_1) ;
tmp854 = ats_caselptrlab_mac(anairiats_sum_13, tmp851, atslab_2) ;
tmp856.atslab_0 = tmp853 ;
tmp856.atslab_1 = tmp854 ;

tmp857 = (ats_sum_ptr_type)0 ;
tmp855 = ATS_MALLOC(sizeof(anairiats_sum_23)) ;
ats_selptrset_mac(anairiats_sum_23, tmp855, atslab_0, tmp856) ;
ats_selptrset_mac(anairiats_sum_23, tmp855, atslab_1, tmp857) ;
/* tmp850 = */ auxmain_113 (arg0, 0, tmp852, tmp853, tmp855, 0) ;
return /* (tmp850) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 55715(line=2761, offs=3) -- 55954(line=2774, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select2 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp858) ;
ATSlocal (ats_ptr_type, tmp859) ;
ATSlocal (ats_ptr_type, tmp860) ;
ATSlocal (ats_ptr_type, tmp861) ;
ATSlocal (ats_ptr_type, tmp862) ;
ATSlocal (ats_ptr_type, tmp863) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select2:
tmp859 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp859)->tag != 24) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 55740(line=2763, offs=5) -- 55792(line=2764, offs=42)") ; }
tmp860 = ats_caselptrlab_mac(anairiats_sum_13, tmp859, atslab_0) ;
tmp861 = ats_caselptrlab_mac(anairiats_sum_13, tmp859, atslab_1) ;
tmp862 = ats_caselptrlab_mac(anairiats_sum_13, tmp859, atslab_2) ;
tmp863 = auxselist_111 (tmp861, tmp862) ;
/* tmp858 = */ auxmain_113 (arg0, 0, tmp860, tmp861, tmp863, 0) ;
return /* (tmp858) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select2] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 56042(line=2780, offs=3) -- 56264(line=2793, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selptr (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp864) ;
ATSlocal (ats_ptr_type, tmp865) ;
ATSlocal (ats_ptr_type, tmp866) ;
ATSlocal (ats_ptr_type, tmp867) ;
ATSlocal (ats_ptr_type, tmp868) ;
ATSlocal (ats_ptr_type, tmp869) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selptr:
tmp865 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp865)->tag != 25) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 56067(line=2782, offs=5) -- 56118(line=2783, offs=42)") ; }
tmp866 = ats_caselptrlab_mac(anairiats_sum_13, tmp865, atslab_0) ;
tmp867 = ats_caselptrlab_mac(anairiats_sum_13, tmp865, atslab_1) ;
tmp868 = ats_caselptrlab_mac(anairiats_sum_13, tmp865, atslab_2) ;
tmp869 = auxselist_111 (tmp867, tmp868) ;
/* tmp864 = */ auxmain_113 (arg0, 1, tmp866, tmp867, tmp869, 0) ;
return /* (tmp864) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selptr] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 56353(line=2799, offs=3) -- 56664(line=2817, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrofsel (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp870) ;
ATSlocal (ats_ptr_type, tmp871) ;
ATSlocal (ats_ptr_type, tmp872) ;
ATSlocal (ats_ptr_type, tmp873) ;
ATSlocal (ats_ptr_type, tmp874) ;
// ATSlocal_void (tmp875) ;
ATSlocal (ats_ptr_type, tmp876) ;
// ATSlocal_void (tmp877) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrofsel:
tmp871 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp871)->tag != 27) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 56378(line=2801, offs=5) -- 56431(line=2802, offs=42)") ; }
tmp872 = ats_caselptrlab_mac(anairiats_sum_13, tmp871, atslab_0) ;
tmp873 = ats_caselptrlab_mac(anairiats_sum_13, tmp871, atslab_1) ;
tmp874 = ats_caselptrlab_mac(anairiats_sum_13, tmp871, atslab_2) ;
/* tmp875 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVptrof(")) ;
tmp876 = auxselist_111 (tmp873, tmp874) ;
/* tmp877 = */ auxmain_113 (arg0, 1, tmp872, tmp873, tmp876, 0) ;
/* tmp870 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp870) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrofsel] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 56757(line=2823, offs=3) -- 57137(line=2842, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp878) ;
ATSlocal (ats_ptr_type, tmp879) ;
ATSlocal (ats_ptr_type, tmp880) ;
ATSlocal (ats_ptr_type, tmp881) ;
ATSlocal (ats_ptr_type, tmp882) ;
ATSlocal (ats_ptr_type, tmp883) ;
// ATSlocal_void (tmp884) ;
ATSlocal (ats_ptr_type, tmp885) ;
// ATSlocal_void (tmp886) ;
// ATSlocal_void (tmp887) ;
// ATSlocal_void (tmp888) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs:
tmp879 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
if (((ats_sum_ptr_type)tmp879)->tag != 23) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 56781(line=2825, offs=5) -- 56844(line=2826, offs=48)") ; }
tmp880 = ats_caselptrlab_mac(anairiats_sum_20, tmp879, atslab_0) ;
tmp881 = ats_caselptrlab_mac(anairiats_sum_20, tmp879, atslab_1) ;
tmp882 = ats_caselptrlab_mac(anairiats_sum_20, tmp879, atslab_2) ;
tmp883 = ats_caselptrlab_mac(anairiats_sum_20, tmp879, atslab_3) ;
/* tmp884 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore(")) ;
tmp885 = auxselist_111 (tmp881, tmp882) ;
/* tmp886 = */ auxmain_113 (arg0, 1, tmp880, tmp881, tmp885, 0) ;
/* tmp887 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp888 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp883) ;
/* tmp878 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp878) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 57233(line=2848, offs=3) -- 57646(line=2864, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp889) ;
ATSlocal (ats_ptr_type, tmp890) ;
ATSlocal (ats_ptr_type, tmp891) ;
ATSlocal (ats_ptr_type, tmp892) ;
ATSlocal (ats_ptr_type, tmp893) ;
ATSlocal (ats_ptr_type, tmp894) ;
ATSlocal (ats_ptr_type, tmp895) ;
ATSlocal (ats_ptr_type, tmp896) ;
// ATSlocal_void (tmp897) ;
// ATSlocal_void (tmp898) ;
// ATSlocal_void (tmp899) ;
// ATSlocal_void (tmp900) ;
// ATSlocal_void (tmp901) ;
// ATSlocal_void (tmp902) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs:
tmp890 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
if (((ats_sum_ptr_type)tmp890)->tag != 24) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 57257(line=2850, offs=5) -- 57326(line=2851, offs=53)") ; }
tmp891 = ats_caselptrlab_mac(anairiats_sum_24, tmp890, atslab_0) ;
tmp892 = ats_caselptrlab_mac(anairiats_sum_24, tmp890, atslab_1) ;
tmp893 = ats_caselptrlab_mac(anairiats_sum_24, tmp890, atslab_2) ;
tmp894 = ats_caselptrlab_mac(anairiats_sum_24, tmp890, atslab_3) ;
tmp895 = ats_caselptrlab_mac(anairiats_sum_24, tmp890, atslab_4) ;
tmp896 = auxselist_111 (tmp893, tmp894) ;
/* tmp897 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSxstore(")) ;
/* tmp898 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp891) ;
/* tmp899 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp900 = */ auxmain_113 (arg0, 1, tmp892, tmp893, tmp896, 0) ;
/* tmp901 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp902 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp895) ;
/* tmp889 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp889) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 57779(line=2874, offs=3) -- 58051(line=2888, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_raise (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp903) ;
ATSlocal (ats_ptr_type, tmp904) ;
ATSlocal (ats_ptr_type, tmp905) ;
ATSlocal (ats_ptr_type, tmp906) ;
// ATSlocal_void (tmp907) ;
// ATSlocal_void (tmp908) ;
// ATSlocal_void (tmp909) ;
// ATSlocal_void (tmp910) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_raise:
tmp904 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
if (((ats_sum_ptr_type)tmp904)->tag != 25) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 57803(line=2876, offs=5) -- 57845(line=2877, offs=34)") ; }
tmp905 = ats_caselptrlab_mac(anairiats_sum_7, tmp904, atslab_0) ;
tmp906 = ats_caselptrlab_mac(anairiats_sum_7, tmp904, atslab_1) ;
/* tmp907 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSraise_exn(")) ;
/* tmp908 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp905) ;
/* tmp909 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp910 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp906) ;
/* tmp903 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp903) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_raise] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 58137(line=2894, offs=3) -- 58674(line=2921, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp911) ;
ATSlocal (ats_ptr_type, tmp912) ;
ATSlocal (ats_ptr_type, tmp913) ;
ATSlocal (ats_int_type, tmp914) ;
ATSlocal (ats_ptr_type, tmp915) ;
ATSlocal (ats_ptr_type, tmp916) ;
// ATSlocal_void (tmp917) ;
ATSlocal (ats_bool_type, tmp918) ;
// ATSlocal_void (tmp919) ;
ATSlocal (ats_bool_type, tmp920) ;
ATSlocal (ats_ptr_type, tmp921) ;
ATSlocal (ats_bool_type, tmp922) ;
// ATSlocal_void (tmp923) ;
// ATSlocal_void (tmp924) ;
// ATSlocal_void (tmp925) ;
// ATSlocal_void (tmp926) ;
// ATSlocal_void (tmp927) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay:
tmp912 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
if (((ats_sum_ptr_type)tmp912)->tag != 26) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 58161(line=2896, offs=5) -- 58216(line=2897, offs=42)") ; }
tmp913 = ats_caselptrlab_mac(anairiats_sum_25, tmp912, atslab_0) ;
tmp914 = ats_caselptrlab_mac(anairiats_sum_25, tmp912, atslab_1) ;
tmp915 = ats_caselptrlab_mac(anairiats_sum_25, tmp912, atslab_2) ;
tmp916 = ats_caselptrlab_mac(anairiats_sum_25, tmp912, atslab_3) ;
tmp918 = atspre_eq_int_int (tmp914, 0) ;
if (tmp918) {
/* tmp917 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_delay(")) ;
} else {
/* empty */
} /* end of [if] */
tmp920 = atspre_gt_int_int (tmp914, 0) ;
if (tmp920) {
/* tmp919 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_ldelay(")) ;
} else {
/* empty */
} /* end of [if] */
tmp922 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_is_void (tmp915) ;
if (tmp922) {
tmp921 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_int_t0ype () ;
} else {
tmp921 = tmp915 ;
} /* end of [if] */
/* tmp923 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp913) ;
/* tmp924 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp925 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp921) ;
/* tmp926 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp927 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp916) ;
/* tmp911 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp911) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay] */

/*
// /home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 58768(line=2927, offs=3) -- 59215(line=2946, offs=4)
*/
ATSglobaldec()
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp928) ;
ATSlocal (ats_ptr_type, tmp929) ;
ATSlocal (ats_ptr_type, tmp930) ;
ATSlocal (ats_int_type, tmp931) ;
ATSlocal (ats_ptr_type, tmp932) ;
ATSlocal (ats_ptr_type, tmp933) ;
// ATSlocal_void (tmp934) ;
ATSlocal (ats_bool_type, tmp935) ;
// ATSlocal_void (tmp936) ;
ATSlocal (ats_bool_type, tmp937) ;
// ATSlocal_void (tmp938) ;
// ATSlocal_void (tmp939) ;
// ATSlocal_void (tmp940) ;
// ATSlocal_void (tmp941) ;
// ATSlocal_void (tmp942) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval:
tmp929 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
if (((ats_sum_ptr_type)tmp929)->tag != 27) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_emit.dats: 58792(line=2929, offs=5) -- 58853(line=2930, offs=45)") ; }
tmp930 = ats_caselptrlab_mac(anairiats_sum_25, tmp929, atslab_0) ;
tmp931 = ats_caselptrlab_mac(anairiats_sum_25, tmp929, atslab_1) ;
tmp932 = ats_caselptrlab_mac(anairiats_sum_25, tmp929, atslab_2) ;
tmp933 = ats_caselptrlab_mac(anairiats_sum_25, tmp929, atslab_3) ;
tmp935 = atspre_eq_int_int (tmp931, 0) ;
if (tmp935) {
/* tmp934 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_lazyeval(")) ;
} else {
/* empty */
} /* end of [if] */
tmp937 = atspre_gt_int_int (tmp931, 0) ;
if (tmp937) {
/* tmp936 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_llazyeval(")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp938 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp930) ;
/* tmp939 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp940 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp932) ;
/* tmp941 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp942 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp933) ;
/* tmp928 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp928) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval] */

/* static load function */

// extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload (void) ;
// extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ;
extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_intinf_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_error_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stamp_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_global_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_errmsg_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_errmsg_2edats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_filename_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_symbol_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__staload (void) ;
extern ats_void_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__staload (void) ;
extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2time_2esats__staload (void) ;

ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__staload () {
static int _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__staload_flag = 0 ;
if (_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__staload_flag) return ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__staload_flag = 1 ;

// _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload () ;
// ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_intinf_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_error_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_stamp_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_global_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_errmsg_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_errmsg_2edats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_filename_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_symbol_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_syntax_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_histaexp_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__staload () ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__staload () ;
ATS_2d0_2e2_2e12_2libc_2SATS_2time_2esats__staload () ;

return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__dynload_flag ;

ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__dynload () {
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__dynload_flag = 1 ;
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__staload () ;

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

/* marking static variables for GC */
ATS_GC_MARKROOT(&statmp149, sizeof(ats_ptr_type)) ;

/* marking external values for GC */

/* code for dynamic loading */
statmp149 = ref_make_elt_01089_ats_int_type (0) ;
return ;
} /* end of [dynload function] */

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

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

/* end of [pats_ccomp_emit_dats.c] */
