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

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

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

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

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

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

typedef
struct {
ats_ptr_type atslab_primdec_loc ;
ats_ptr_type atslab_primdec_node ;
} anairiats_rec_2 ;

typedef
struct {
ats_ptr_type atslab_s2aspdec_loc ;
ats_ptr_type atslab_s2aspdec_cst ;
ats_ptr_type atslab_s2aspdec_def ;
} anairiats_rec_3 ;

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

typedef
struct {
ats_ptr_type atslab_hiimpdec_loc ;
ats_int_type atslab_hiimpdec_knd ;
ats_ptr_type atslab_hiimpdec_cst ;
ats_ptr_type atslab_hiimpdec_imparg ;
ats_ptr_type atslab_hiimpdec_tmparg ;
ats_ptr_type atslab_hiimpdec_def ;
ats_ptr_type atslab_hiimpdec_funlab ;
ats_ptr_type atslab_hiimpdec_instrlst ;
} anairiats_rec_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 ;
ats_ptr_type atslab_2 ;
} anairiats_sum_7 ;

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

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

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

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

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

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

typedef struct {
ats_ptr_type atslab_0 ;
} anairiats_sum_14 ;

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

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

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

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

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

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

typedef
struct {
ats_ptr_type atslab_primlab_loc ;
ats_ptr_type atslab_primlab_node ;
} anairiats_rec_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_int_type atslab_1 ;
} anairiats_sum_24 ;

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

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

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

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

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

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

/* 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, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDstaload_16) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__HIDdynload_18) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__TMPSUBcons_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__TMPSUBnil_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__TMPCSTMATnone_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__TMPCSTMATsome_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__TMPCSTMATsome2_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__TMPVARMATnone_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__TMPVARMATsome_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__TMPVARMATsome2_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMCSTSPmyfil_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMCSTSPmyloc_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMCSTSPmyfun_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__LABPRIMVAL_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMLlab_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMLind_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVtmp_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVtmpref_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVarg_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVargref_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVargenv_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVargtmpref_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVcst_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVenv_7) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVint_8) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVintrep_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVbool_10) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVchar_11) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVfloat_12) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVstring_13) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVi0nt_14) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVf0loat_15) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVcstsp_16) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVtyrep_17) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVsizeof_18) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVtop_19) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVempty_20) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVextval_21) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVcastfn_22) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVselcon_23) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVselect_24) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVselect2_25) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVselptr_26) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVptrof_27) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVptrofsel_28) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVvararg_29) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVrefarg_30) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVfunlab_31) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVcfunlab_32) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVd2vfunlab_33) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVlamfix_34) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVtmpltcst_35) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVtmpltvar_36) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVtmpltcstmat_37) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVtmpltvarmat_38) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMVerror_39) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDnone_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDlist_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDsaspdec_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDextvar_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDdatdecs_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDexndecs_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDfundecs_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDvaldecs_7) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDvaldecs_rec_8) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDvardecs_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDimpdec_10) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDinclude_11) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDstaload_12) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDstaloadloc_13) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDdynload_14) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PMDlocal_15) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PATCKcon_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PATCKint_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PATCKbool_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PATCKchar_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PATCKfloat_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PATCKstring_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PATCKi0nt_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PATCKf0loat_7) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PTCKNTnone_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PTCKNTtmplab_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PTCKNTtmplabint_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PTCKNTtmplabmov_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PTCKNTcaseof_fail_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PTCKNTfunarg_fail_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__PTCKNTraise_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSfunlab_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INStmplab_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INScomment_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_val_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSpmove_val_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_arg_val_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSfcall_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSfcall2_7) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSextfcall_8) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSextmcall_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INScond_10) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSfreecon_11) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSloop_12) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSloopexn_13) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INScaseof_14) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSletpop_15) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSletpush_16) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_con_17) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_boxrec_19) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_fltrec_20) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSpatck_21) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_ptrofsel_22) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSstore_ptrofs_23) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSxstore_ptrofs_24) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSraise_25) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_delay_26) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_lazyeval_27) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INStrywith_28) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_list_nil_29) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSpmove_list_nil_30) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSpmove_list_cons_31) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_list_phead_32) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_list_ptail_33) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSmove_arrpsz_ptr_34) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSstore_arrpsz_asz_35) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSstore_arrpsz_ptr_36) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSupdate_ptrinc_37) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSupdate_ptrdec_38) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSclosure_initize_39) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INStmpdec_40) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSextvar_41) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INSdcstdef_42) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__INStempenver_43) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__HIFUNDEC2_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__HIIMPDEC2_0) ;

/* external dynamic constant declarations */
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_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_lt_char_char) (ats_char_type, ats_char_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ;
ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ;
ATSextern_fun(ats_int_type, atspre_compare_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_isdigit) (ats_char_type) ;
ATSextern_fun(ats_bool_type, atspre_char_isprint) (ats_char_type) ;
ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_double) (ats_ptr_type, ats_double_type) ;
ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_lt_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_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_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_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_llint_type, atspre_llint_of_int) (ats_int_type) ;
ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ;
ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_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_sub_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_size_type, atspre_mul_size1_size1) (ats_size_type, ats_size_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_gt_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_neq_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, ats_malloc_gc) (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_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ;
ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ;
ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ;
ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ;
ATSextern_val(ats_ptr_type, atspre_stropt_none) ;
ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ;
ATSextern_fun(ats_ptr_type, atspre_tostringf) (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, _2tmp_2ATS_2dPostiats_2src_2pats_utils_2esats__fprint_stropt) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ;
ATSextern_fun(ats_size_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_cap) (ats_ref_type) ;
ATSextern_fun(ats_size_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_size) (ats_ref_type) ;
ATSextern_fun(ats_bool_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_is_empty) (ats_ref_type) ;
ATSextern_fun(ats_bool_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_isnot_empty) (ats_ref_type) ;
ATSextern_fun(ats_bool_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_is_full) (ats_ref_type) ;
ATSextern_fun(ats_bool_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_isnot_full) (ats_ref_type) ;
ATSextern_fun(ats_void_type, atslib_ngc_deque_arr_deque_initialize_tsz) (ats_ref_type, ats_size_type, ats_ptr_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atslib_ngc_deque_arr_deque_uninitialize) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_uninitialize_vt) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, atslib_ngc_deque_arr_deque_takeout_tsz) (ats_ref_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atslib_ngc_deque_arr_deque_insert_end_many_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atslib_ngc_deque_arr_deque_remove_beg_many_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_void_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_clear_all) (ats_ref_type) ;
ATSextern_fun(ats_void_type, atslib_ngc_deque_arr_deque_copyout_tsz) (ats_ref_type, ats_size_type, ats_size_type, ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atslib_ngc_deque_arr_deque_update_capacity_tsz) (ats_ref_type, ats_size_type, ats_ptr_type, ats_size_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_funkind) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_valkind) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__fprint_label) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__fprint_i0nt) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__fprint_f0loat) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2qualst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2cst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2cstlst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2var) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2varlst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_d2con) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_d2conlst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2exp) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2explst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2explstlst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2cst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2var) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2varlst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2varmap_listize) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__fprint_hipat) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__fprint_hifundec) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__fprint_hiimpdec) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmplab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_funlab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpsub) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpcstmat_kind) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvarmat_kind) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primcstsp) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primdec) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primdeclst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primvalist) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlablst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_labprimvalist) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmprimval) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpmovlst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_patck) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_patckont) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instr) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instrlst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_print_2edats__fprint_labprimval) (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 () ;
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_2libats_2ngc_2SATS_2deque_arr_2esats__lemma_deque_param_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_encode_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_decode_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_clear_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_insert_beg_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_insert_end_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_remove_beg_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_remove_end_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_utils_2edats____assert_prfck () ;
extern
ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_utils_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 aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_clo_ptr_type aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ;
static
ats_void_type aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_void_type fprintlst_01887_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_void_type __ats_fun_6 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type __ats_fun_7 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type __ats_fun_8 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type __ats_fun_9 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type fpr_25 (ats_ptr_type arg0, anairiats_rec_22 arg1) ;
static
ats_void_type aux_27 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_clo_ptr_type aux_27_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) ;
static
ats_void_type aux_27_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_void_type fprintlst_01887_anairiats_rec_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_void_type loop_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
ats_void_type fpr_45 (ats_ptr_type arg0, anairiats_rec_22 arg1) ;
static
ats_void_type loop_47 (ats_ptr_type arg0) ;
static
ats_void_type list_vt_free_01499_anairiats_rec_22 (ats_ptr_type arg0) ;

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

/* function implementations */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 2136(line=87, offs=3) -- 2627(line=110, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primcstsp (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp0) ;
ATSlocal (ats_ptr_type, tmp1) ;
// ATSlocal_void (tmp2) ;
// ATSlocal_void (tmp3) ;
ATSlocal (ats_ptr_type, tmp4) ;
// ATSlocal_void (tmp5) ;
// ATSlocal_void (tmp6) ;
ATSlocal (ats_ptr_type, tmp7) ;
// ATSlocal_void (tmp8) ;
// ATSlocal_void (tmp9) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primcstsp:
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
tmp1 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ;
/* tmp2 = */ atspre_fprint_string (arg0, ATSstrcst("$myfilename(")) ;
/* tmp3 = */ _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp1) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; }
__ats_lab_1_1:
tmp4 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ;
/* tmp5 = */ atspre_fprint_string (arg0, ATSstrcst("$mylocation(")) ;
/* tmp6 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_location (arg0, tmp4) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_2 */
__ats_lab_2_0:
// if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_2_1:
tmp7 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ;
/* tmp8 = */ atspre_fprint_string (arg0, ATSstrcst("$myfunction(")) ;
/* tmp9 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp7) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;
} while (0) ;
return /* (tmp0) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primcstsp] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 2707(line=116, offs=3) -- 2747(line=116, offs=43)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_primdec (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp10) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_primdec:
/* tmp10 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primdec (stdout, arg0) ;
return /* (tmp10) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_primdec] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 2774(line=119, offs=3) -- 2814(line=119, offs=43)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_primdec (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp11) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_primdec:
/* tmp11 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primdec (stderr, arg0) ;
return /* (tmp11) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_primdec] */

/*
// /tmp/ATS-Postiats/src/pats_utils.dats: 11884(line=651, offs=1) -- 12164(line=665, offs=2)
*/
ATSstaticdec()
ats_void_type
aux_5 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp41) ;
ATSlocal (ats_ptr_type, tmp42) ;
ATSlocal (ats_ptr_type, tmp43) ;
// ATSlocal_void (tmp44) ;
ATSlocal (ats_bool_type, tmp45) ;
// ATSlocal_void (tmp46) ;
ATSlocal (ats_int_type, tmp47) ;

__ats_lab_aux_5:
do {
/* branch: __ats_lab_10 */
__ats_lab_10_0:
if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; }
__ats_lab_10_1:
break ;

/* branch: __ats_lab_11 */
__ats_lab_11_0:
// if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_11_1:
tmp42 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ;
tmp43 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_1) ;
tmp45 = atspre_gt_int_int (arg1, 0) ;
if (tmp45) {
/* tmp44 = */ atspre_fprint_string (env0, env1) ;
} else {
/* empty */
} /* end of [if] */
/* tmp46 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp42) ;
tmp47 = atspre_add_int_int (arg1, 1) ;
arg0 = tmp43 ;
arg1 = tmp47 ;
goto __ats_lab_aux_5 ; // tail call
break ;
} while (0) ;
return /* (tmp41) */ ;
} /* end of [aux_5] */

typedef struct {
ats_fun_ptr_type closure_fun ;
ats_ptr_type closure_env_0 ;
ats_ptr_type closure_env_1 ;
ats_ptr_type closure_env_2 ;
} aux_5_closure_type ;

ats_void_type
aux_5_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) {
aux_5 (((aux_5_closure_type*)cloptr)->closure_env_0, ((aux_5_closure_type*)cloptr)->closure_env_1, ((aux_5_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ;
} /* end of function */

ATSinline()
ats_void_type
aux_5_closure_init (aux_5_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) {
p_clo->closure_fun = (ats_fun_ptr_type)&aux_5_clofun ;
p_clo->closure_env_0 = env0 ;
p_clo->closure_env_1 = env1 ;
p_clo->closure_env_2 = env2 ;
return ;
} /* end of function */

ats_clo_ptr_type
aux_5_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) {
aux_5_closure_type *p_clo = ATS_MALLOC(sizeof(aux_5_closure_type)) ;
aux_5_closure_init (p_clo, env0, env1, env2) ;
return (ats_clo_ptr_type)p_clo ;
} /* end of function */

/*
// /tmp/ATS-Postiats/src/pats_utils.dats: 11844(line=646, offs=11) -- 12207(line=669, offs=4)
*/
ATSstaticdec()
ats_void_type
fprintlst_01887_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp40) ;

__ats_lab_fprintlst_01887_ats_ptr_type:
/* tmp40 = */ aux_5 (arg0, arg2, arg3, arg1, 0) ;
return /* (tmp40) */ ;
} /* end of [fprintlst_01887_ats_ptr_type] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 4434(line=194, offs=23) -- 4488(line=194, offs=77)
*/
ATSstaticdec()
ats_void_type
__ats_fun_6 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp57) ;
ATSlocal (ats_ptr_type, tmp58) ;

__ats_lab___ats_fun_6:
tmp58 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_hifundec_var) ;
/* tmp57 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp58) ;
return /* (tmp57) */ ;
} /* end of [__ats_fun_6] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 4755(line=206, offs=23) -- 4809(line=206, offs=77)
*/
ATSstaticdec()
ats_void_type
__ats_fun_7 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp65) ;
ATSlocal (ats_ptr_type, tmp66) ;

__ats_lab___ats_fun_7:
tmp66 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg1), atslab_hivaldec_pat) ;
/* tmp65 = */ _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__fprint_hipat (arg0, tmp66) ;
return /* (tmp65) */ ;
} /* end of [__ats_fun_7] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 5081(line=217, offs=23) -- 5135(line=217, offs=77)
*/
ATSstaticdec()
ats_void_type
__ats_fun_8 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp73) ;
ATSlocal (ats_ptr_type, tmp74) ;

__ats_lab___ats_fun_8:
tmp74 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg1), atslab_hivaldec_pat) ;
/* tmp73 = */ _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__fprint_hipat (arg0, tmp74) ;
return /* (tmp73) */ ;
} /* end of [__ats_fun_8] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 5334(line=227, offs=23) -- 5393(line=227, offs=82)
*/
ATSstaticdec()
ats_void_type
__ats_fun_9 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp78) ;
ATSlocal (ats_ptr_type, tmp79) ;

__ats_lab___ats_fun_9:
tmp79 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg1), atslab_hivardec_dvar_ptr) ;
/* tmp78 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp79) ;
return /* (tmp78) */ ;
} /* end of [__ats_fun_9] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 2866(line=125, offs=3) -- 6818(line=287, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primdec (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp12) ;
ATSlocal (ats_ptr_type, tmp13) ;
ATSlocal (ats_ptr_type, tmp14) ;
// ATSlocal_void (tmp15) ;
// ATSlocal_void (tmp16) ;
ATSlocal (ats_ptr_type, tmp17) ;
// ATSlocal_void (tmp18) ;
// ATSlocal_void (tmp19) ;
ATSlocal (ats_ptr_type, tmp20) ;
ATSlocal (ats_ptr_type, tmp21) ;
// ATSlocal_void (tmp22) ;
// ATSlocal_void (tmp23) ;
ATSlocal (ats_ptr_type, tmp24) ;
// ATSlocal_void (tmp25) ;
// ATSlocal_void (tmp26) ;
ATSlocal (ats_ptr_type, tmp27) ;
// ATSlocal_void (tmp28) ;
// ATSlocal_void (tmp29) ;
ATSlocal (ats_ptr_type, tmp30) ;
ATSlocal (ats_ptr_type, tmp31) ;
ATSlocal (ats_ptr_type, tmp32) ;
ATSlocal (ats_ptr_type, tmp33) ;
// ATSlocal_void (tmp34) ;
// ATSlocal_void (tmp35) ;
// ATSlocal_void (tmp36) ;
// ATSlocal_void (tmp37) ;
// ATSlocal_void (tmp38) ;
// ATSlocal_void (tmp39) ;
ATSlocal (ats_ptr_type, tmp48) ;
ATSlocal (ats_ptr_type, tmp49) ;
ATSlocal (ats_ptr_type, tmp50) ;
// ATSlocal_void (tmp51) ;
// ATSlocal_void (tmp52) ;
// ATSlocal_void (tmp53) ;
// ATSlocal_void (tmp54) ;
// ATSlocal_void (tmp55) ;
// ATSlocal_void (tmp56) ;
ATSlocal (ats_ptr_type, tmp59) ;
ATSlocal (ats_ptr_type, tmp60) ;
// ATSlocal_void (tmp61) ;
// ATSlocal_void (tmp62) ;
// ATSlocal_void (tmp63) ;
// ATSlocal_void (tmp64) ;
ATSlocal (ats_ptr_type, tmp67) ;
ATSlocal (ats_ptr_type, tmp68) ;
// ATSlocal_void (tmp69) ;
// ATSlocal_void (tmp70) ;
// ATSlocal_void (tmp71) ;
// ATSlocal_void (tmp72) ;
ATSlocal (ats_ptr_type, tmp75) ;
// ATSlocal_void (tmp76) ;
// ATSlocal_void (tmp77) ;
ATSlocal (ats_int_type, tmp80) ;
ATSlocal (ats_ptr_type, tmp81) ;
// ATSlocal_void (tmp82) ;
// ATSlocal_void (tmp83) ;
// ATSlocal_void (tmp84) ;
// ATSlocal_void (tmp85) ;
ATSlocal (ats_ptr_type, tmp86) ;
ATSlocal (ats_ptr_type, tmp87) ;
ATSlocal (ats_ptr_type, tmp88) ;
ATSlocal (ats_ptr_type, tmp89) ;
// ATSlocal_void (tmp90) ;
// ATSlocal_void (tmp91) ;
ATSlocal (ats_ptr_type, tmp92) ;
// ATSlocal_void (tmp93) ;
// ATSlocal_void (tmp94) ;
ATSlocal (ats_ptr_type, tmp95) ;
ATSlocal (ats_ptr_type, tmp96) ;
// ATSlocal_void (tmp97) ;
// ATSlocal_void (tmp98) ;
// ATSlocal_void (tmp99) ;
// ATSlocal_void (tmp100) ;
ATSlocal (ats_ptr_type, tmp101) ;
ATSlocal (ats_ptr_type, tmp102) ;
ATSlocal (ats_ptr_type, tmp103) ;
// ATSlocal_void (tmp104) ;
// ATSlocal_void (tmp105) ;
// ATSlocal_void (tmp106) ;
// ATSlocal_void (tmp107) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primdec:
tmp13 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_primdec_node) ;
do {
/* branch: __ats_lab_3 */
__ats_lab_3_0:
if (((ats_sum_ptr_type)tmp13)->tag != 0) { goto __ats_lab_4_0 ; }
__ats_lab_3_1:
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst("PMDnone()")) ;
break ;

/* branch: __ats_lab_4 */
__ats_lab_4_0:
if (((ats_sum_ptr_type)tmp13)->tag != 1) { goto __ats_lab_5_0 ; }
__ats_lab_4_1:
tmp14 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_0) ;
/* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("PMDlist(\n")) ;
/* tmp16 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primdeclst (arg0, tmp14) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_5 */
__ats_lab_5_0:
if (((ats_sum_ptr_type)tmp13)->tag != 2) { goto __ats_lab_6_0 ; }
__ats_lab_5_1:
tmp17 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_0) ;
/* tmp18 = */ atspre_fprint_string (arg0, ATSstrcst("PMDsaspdec(")) ;
tmp20 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp17), atslab_s2aspdec_cst) ;
/* tmp19 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2cst (arg0, tmp20) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_6 */
__ats_lab_6_0:
if (((ats_sum_ptr_type)tmp13)->tag != 3) { goto __ats_lab_7_0 ; }
__ats_lab_6_1:
tmp21 = ats_caselptrlab_mac(anairiats_sum_4, tmp13, atslab_0) ;
/* tmp22 = */ atspre_fprint_string (arg0, ATSstrcst("PMDextvar(")) ;
/* tmp23 = */ atspre_fprint_string (arg0, tmp21) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_7 */
__ats_lab_7_0:
if (((ats_sum_ptr_type)tmp13)->tag != 4) { goto __ats_lab_8_0 ; }
__ats_lab_7_1:
tmp24 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_0) ;
/* tmp25 = */ atspre_fprint_string (arg0, ATSstrcst("PMDdatdecs(")) ;
/* tmp26 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2cstlst (arg0, tmp24) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_8 */
__ats_lab_8_0:
if (((ats_sum_ptr_type)tmp13)->tag != 5) { goto __ats_lab_9_0 ; }
__ats_lab_8_1:
tmp27 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_0) ;
/* tmp28 = */ atspre_fprint_string (arg0, ATSstrcst("PMDexndecs(")) ;
/* tmp29 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_d2conlst (arg0, tmp27) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_9 */
__ats_lab_9_0:
if (((ats_sum_ptr_type)tmp13)->tag != 10) { goto __ats_lab_12_0 ; }
__ats_lab_9_1:
tmp30 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_0) ;
tmp31 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp30), atslab_hiimpdec_cst) ;
tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp30), atslab_hiimpdec_imparg) ;
tmp33 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp30), atslab_hiimpdec_tmparg) ;
/* tmp34 = */ atspre_fprint_string (arg0, ATSstrcst("PMDimpdec(")) ;
/* tmp35 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp31) ;
/* tmp36 = */ atspre_fprint_string (arg0, ATSstrcst("; imparg=")) ;
/* tmp37 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp32) ;
/* tmp38 = */ atspre_fprint_string (arg0, ATSstrcst("; tmparg=")) ;
/* tmp39 = */ fprintlst_01887_ats_ptr_type (arg0, tmp33, ATSstrcst("; "), &_2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2explst) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_12 */
__ats_lab_12_0:
if (((ats_sum_ptr_type)tmp13)->tag != 6) { goto __ats_lab_13_0 ; }
__ats_lab_12_1:
tmp48 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_0) ;
tmp49 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_1) ;
tmp50 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_2) ;
/* tmp51 = */ atspre_fprint_string (arg0, ATSstrcst("PMDfundecs(")) ;
/* tmp52 = */ _2tmp_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_funkind (arg0, tmp48) ;
/* tmp53 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp54 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2qualst (arg0, tmp49) ;
/* tmp55 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp56 = */ fprintlst_01887_ats_ptr_type (arg0, tmp50, ATSstrcst(", "), &__ats_fun_6) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_13 */
__ats_lab_13_0:
if (((ats_sum_ptr_type)tmp13)->tag != 7) { goto __ats_lab_14_0 ; }
__ats_lab_13_1:
tmp59 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_0) ;
tmp60 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_1) ;
/* tmp61 = */ atspre_fprint_string (arg0, ATSstrcst("PMDvaldecs(")) ;
/* tmp62 = */ _2tmp_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_valkind (arg0, tmp59) ;
/* tmp63 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp64 = */ fprintlst_01887_ats_ptr_type (arg0, tmp60, ATSstrcst(", "), &__ats_fun_7) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_14 */
__ats_lab_14_0:
if (((ats_sum_ptr_type)tmp13)->tag != 8) { goto __ats_lab_15_0 ; }
__ats_lab_14_1:
tmp67 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_0) ;
tmp68 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_1) ;
/* tmp69 = */ atspre_fprint_string (arg0, ATSstrcst("PMDvaldecs_rec(")) ;
/* tmp70 = */ _2tmp_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_valkind (arg0, tmp67) ;
/* tmp71 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp72 = */ fprintlst_01887_ats_ptr_type (arg0, tmp68, ATSstrcst(", "), &__ats_fun_8) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_15 */
__ats_lab_15_0:
if (((ats_sum_ptr_type)tmp13)->tag != 9) { goto __ats_lab_16_0 ; }
__ats_lab_15_1:
tmp75 = ats_caselptrlab_mac(anairiats_sum_4, tmp13, atslab_0) ;
/* tmp76 = */ atspre_fprint_string (arg0, ATSstrcst("PMDvardecs(")) ;
/* tmp77 = */ fprintlst_01887_ats_ptr_type (arg0, tmp75, ATSstrcst(", "), &__ats_fun_9) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_16 */
__ats_lab_16_0:
if (((ats_sum_ptr_type)tmp13)->tag != 11) { goto __ats_lab_17_0 ; }
__ats_lab_16_1:
tmp80 = ats_caselptrlab_mac(anairiats_sum_11, tmp13, atslab_0) ;
tmp81 = ats_caselptrlab_mac(anairiats_sum_11, tmp13, atslab_1) ;
/* tmp82 = */ atspre_fprint_string (arg0, ATSstrcst("PMDinclude(")) ;
/* tmp83 = */ atspre_fprint_int (arg0, tmp80) ;
/* tmp84 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ;
/* tmp85 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primdeclst (arg0, tmp81) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_17 */
__ats_lab_17_0:
if (((ats_sum_ptr_type)tmp13)->tag != 12) { goto __ats_lab_22_0 ; }
__ats_lab_17_1:
tmp86 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_0) ;
tmp87 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp86), atslab_hidecl_node) ;
if (((ats_sum_ptr_type)tmp87)->tag != 16) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_print.dats: 5699(line=243, offs=9) -- 5756(line=244, offs=47)") ; }
tmp88 = ats_caselptrlab_mac(anairiats_sum_13, tmp87, atslab_0) ;
tmp89 = ats_caselptrlab_mac(anairiats_sum_13, tmp87, atslab_1) ;
/* tmp90 = */ atspre_fprint_string (arg0, ATSstrcst("PMDstaload(")) ;
do {
/* branch: __ats_lab_18 */
__ats_lab_18_0:
if (tmp88 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; }
__ats_lab_18_1:
tmp92 = ats_caselptrlab_mac(anairiats_sum_14, tmp88, atslab_0) ;
/* tmp91 = */ _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp92) ;
break ;

/* branch: __ats_lab_19 */
__ats_lab_19_0:
// if (tmp88 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_19_1:
break ;
} while (0) ;
do {
/* branch: __ats_lab_20 */
__ats_lab_20_0:
if (tmp88 == (ats_sum_ptr_type)0) { goto __ats_lab_21_0 ; }
__ats_lab_20_1:
/* tmp93 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ;
break ;

/* branch: __ats_lab_21 */
__ats_lab_21_0:
// if (tmp88 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_21_1:
break ;
} while (0) ;
/* tmp94 = */ _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp89) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_22 */
__ats_lab_22_0:
if (((ats_sum_ptr_type)tmp13)->tag != 13) { goto __ats_lab_23_0 ; }
__ats_lab_22_1:
tmp95 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_0) ;
tmp96 = ats_caselptrlab_mac(anairiats_sum_7, tmp13, atslab_1) ;
/* tmp97 = */ atspre_fprint_string (arg0, ATSstrcst("PMDstaloadloc(")) ;
/* tmp98 = */ _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp95) ;
/* tmp99 = */ _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp96) ;
/* tmp100 = */ atspre_fprint_string (arg0, ATSstrcst(" = (*primdeclist*)")) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_23 */
__ats_lab_23_0:
if (((ats_sum_ptr_type)tmp13)->tag != 14) { goto __ats_lab_24_0 ; }
__ats_lab_23_1:
tmp101 = ats_caselptrlab_mac(anairiats_sum_1, tmp13, atslab_0) ;
tmp102 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp101), atslab_hidecl_node) ;
if (((ats_sum_ptr_type)tmp102)->tag != 18) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_print.dats: 6474(line=272, offs=9) -- 6508(line=272, offs=43)") ; }
tmp103 = ats_caselptrlab_mac(anairiats_sum_1, tmp102, atslab_0) ;
/* tmp104 = */ atspre_fprint_string (arg0, ATSstrcst("PMDdynload(")) ;
/* tmp105 = */ _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp103) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_24 */
__ats_lab_24_0:
// if (((ats_sum_ptr_type)tmp13)->tag != 15) { ats_deadcode_failure_handle () ; }
__ats_lab_24_1:
/* tmp106 = */ atspre_fprint_string (arg0, ATSstrcst("PMDlocal(")) ;
/* tmp107 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ;
/* tmp12 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;
} while (0) ;
return /* (tmp12) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primdec] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 6898(line=293, offs=3) -- 7026(line=299, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primdeclst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp108) ;
// ATSlocal_void (tmp109) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primdeclst:
/* tmp109 = */ fprintlst_01887_ats_ptr_type (arg0, arg1, ATSstrcst("\n"), &_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primdec) ;
/* tmp108 = */ atspre_fprint_newline (arg0) ;
return /* (tmp108) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primdeclst] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 7107(line=305, offs=3) -- 7147(line=305, offs=43)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_primval (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp110) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_primval:
/* tmp110 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (stdout, arg0) ;
return /* (tmp110) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_primval] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 7174(line=308, offs=3) -- 7214(line=308, offs=43)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_primval (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp111) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_primval:
/* tmp111 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (stderr, arg0) ;
return /* (tmp111) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_primval] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 7264(line=313, offs=16) -- 14492(line=648, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp112) ;
ATSlocal (ats_ptr_type, tmp113) ;
ATSlocal (ats_ptr_type, tmp114) ;
// ATSlocal_void (tmp115) ;
// ATSlocal_void (tmp116) ;
ATSlocal (ats_ptr_type, tmp117) ;
// ATSlocal_void (tmp118) ;
// ATSlocal_void (tmp119) ;
ATSlocal (ats_int_type, tmp120) ;
// ATSlocal_void (tmp121) ;
// ATSlocal_void (tmp122) ;
ATSlocal (ats_int_type, tmp123) ;
// ATSlocal_void (tmp124) ;
// ATSlocal_void (tmp125) ;
ATSlocal (ats_int_type, tmp126) ;
// ATSlocal_void (tmp127) ;
// ATSlocal_void (tmp128) ;
ATSlocal (ats_int_type, tmp129) ;
// ATSlocal_void (tmp130) ;
// ATSlocal_void (tmp131) ;
ATSlocal (ats_ptr_type, tmp132) ;
// ATSlocal_void (tmp133) ;
// ATSlocal_void (tmp134) ;
ATSlocal (ats_ptr_type, tmp135) ;
// ATSlocal_void (tmp136) ;
// ATSlocal_void (tmp137) ;
ATSlocal (ats_int_type, tmp138) ;
// ATSlocal_void (tmp139) ;
// ATSlocal_void (tmp140) ;
ATSlocal (ats_ptr_type, tmp141) ;
// ATSlocal_void (tmp142) ;
// ATSlocal_void (tmp143) ;
ATSlocal (ats_bool_type, tmp144) ;
// ATSlocal_void (tmp145) ;
// ATSlocal_void (tmp146) ;
ATSlocal (ats_char_type, tmp147) ;
// ATSlocal_void (tmp148) ;
// ATSlocal_void (tmp149) ;
ATSlocal (ats_bool_type, tmp150) ;
ATSlocal (ats_double_type, tmp151) ;
// ATSlocal_void (tmp152) ;
// ATSlocal_void (tmp153) ;
ATSlocal (ats_ptr_type, tmp154) ;
// ATSlocal_void (tmp155) ;
// ATSlocal_void (tmp156) ;
ATSlocal (ats_ptr_type, tmp157) ;
// ATSlocal_void (tmp158) ;
// ATSlocal_void (tmp159) ;
ATSlocal (ats_ptr_type, tmp160) ;
// ATSlocal_void (tmp161) ;
// ATSlocal_void (tmp162) ;
ATSlocal (ats_ptr_type, tmp163) ;
ATSlocal (ats_ptr_type, tmp164) ;
// ATSlocal_void (tmp165) ;
// ATSlocal_void (tmp166) ;
ATSlocal (ats_ptr_type, tmp167) ;
// ATSlocal_void (tmp168) ;
// ATSlocal_void (tmp169) ;
ATSlocal (ats_ptr_type, tmp170) ;
// ATSlocal_void (tmp171) ;
// ATSlocal_void (tmp172) ;
ATSlocal (ats_ptr_type, tmp173) ;
ATSlocal (ats_ptr_type, tmp174) ;
// ATSlocal_void (tmp175) ;
// ATSlocal_void (tmp176) ;
// ATSlocal_void (tmp177) ;
// ATSlocal_void (tmp178) ;
ATSlocal (ats_ptr_type, tmp179) ;
ATSlocal (ats_ptr_type, tmp180) ;
ATSlocal (ats_ptr_type, tmp181) ;
// ATSlocal_void (tmp182) ;
// ATSlocal_void (tmp183) ;
// ATSlocal_void (tmp184) ;
// ATSlocal_void (tmp185) ;
// ATSlocal_void (tmp186) ;
// ATSlocal_void (tmp187) ;
ATSlocal (ats_ptr_type, tmp188) ;
ATSlocal (ats_ptr_type, tmp189) ;
ATSlocal (ats_ptr_type, tmp190) ;
// ATSlocal_void (tmp191) ;
// ATSlocal_void (tmp192) ;
// ATSlocal_void (tmp193) ;
// ATSlocal_void (tmp194) ;
// ATSlocal_void (tmp195) ;
// ATSlocal_void (tmp196) ;
ATSlocal (ats_ptr_type, tmp197) ;
ATSlocal (ats_ptr_type, tmp198) ;
ATSlocal (ats_ptr_type, tmp199) ;
// ATSlocal_void (tmp200) ;
// ATSlocal_void (tmp201) ;
// ATSlocal_void (tmp202) ;
// ATSlocal_void (tmp203) ;
// ATSlocal_void (tmp204) ;
// ATSlocal_void (tmp205) ;
ATSlocal (ats_ptr_type, tmp206) ;
ATSlocal (ats_ptr_type, tmp207) ;
ATSlocal (ats_ptr_type, tmp208) ;
// ATSlocal_void (tmp209) ;
// ATSlocal_void (tmp210) ;
// ATSlocal_void (tmp211) ;
// ATSlocal_void (tmp212) ;
// ATSlocal_void (tmp213) ;
// ATSlocal_void (tmp214) ;
ATSlocal (ats_ptr_type, tmp215) ;
// ATSlocal_void (tmp216) ;
// ATSlocal_void (tmp217) ;
ATSlocal (ats_ptr_type, tmp218) ;
ATSlocal (ats_ptr_type, tmp219) ;
ATSlocal (ats_ptr_type, tmp220) ;
// ATSlocal_void (tmp221) ;
// ATSlocal_void (tmp222) ;
// ATSlocal_void (tmp223) ;
// ATSlocal_void (tmp224) ;
// ATSlocal_void (tmp225) ;
// ATSlocal_void (tmp226) ;
ATSlocal (ats_ptr_type, tmp227) ;
// ATSlocal_void (tmp228) ;
// ATSlocal_void (tmp229) ;
ATSlocal (ats_int_type, tmp230) ;
ATSlocal (ats_int_type, tmp231) ;
ATSlocal (ats_ptr_type, tmp232) ;
// ATSlocal_void (tmp233) ;
// ATSlocal_void (tmp234) ;
// ATSlocal_void (tmp235) ;
// ATSlocal_void (tmp236) ;
// ATSlocal_void (tmp237) ;
// ATSlocal_void (tmp238) ;
ATSlocal (ats_ptr_type, tmp239) ;
// ATSlocal_void (tmp240) ;
// ATSlocal_void (tmp241) ;
ATSlocal (ats_int_type, tmp242) ;
ATSlocal (ats_ptr_type, tmp243) ;
// ATSlocal_void (tmp244) ;
// ATSlocal_void (tmp245) ;
// ATSlocal_void (tmp246) ;
// ATSlocal_void (tmp247) ;
// ATSlocal_void (tmp248) ;
ATSlocal (ats_ptr_type, tmp249) ;
ATSlocal (ats_ptr_type, tmp250) ;
// ATSlocal_void (tmp251) ;
// ATSlocal_void (tmp252) ;
// ATSlocal_void (tmp253) ;
// ATSlocal_void (tmp254) ;
// ATSlocal_void (tmp255) ;
ATSlocal (ats_ptr_type, tmp256) ;
ATSlocal (ats_ptr_type, tmp257) ;
// ATSlocal_void (tmp258) ;
// ATSlocal_void (tmp259) ;
ATSlocal (ats_ptr_type, tmp260) ;
// ATSlocal_void (tmp261) ;
// ATSlocal_void (tmp262) ;
// ATSlocal_void (tmp263) ;
// ATSlocal_void (tmp264) ;
ATSlocal (ats_ptr_type, tmp265) ;
ATSlocal (ats_ptr_type, tmp266) ;
// ATSlocal_void (tmp267) ;
// ATSlocal_void (tmp268) ;
// ATSlocal_void (tmp269) ;
// ATSlocal_void (tmp270) ;
// ATSlocal_void (tmp271) ;
ATSlocal (ats_ptr_type, tmp272) ;
ATSlocal (ats_ptr_type, tmp273) ;
// ATSlocal_void (tmp274) ;
// ATSlocal_void (tmp275) ;
// ATSlocal_void (tmp276) ;
// ATSlocal_void (tmp277) ;
// ATSlocal_void (tmp278) ;
ATSlocal (ats_ptr_type, tmp279) ;
ATSlocal (ats_ptr_type, tmp280) ;
ATSlocal (ats_ptr_type, tmp281) ;
// ATSlocal_void (tmp282) ;
// ATSlocal_void (tmp283) ;
// ATSlocal_void (tmp284) ;
// ATSlocal_void (tmp285) ;
// ATSlocal_void (tmp286) ;
// ATSlocal_void (tmp287) ;
// ATSlocal_void (tmp288) ;
ATSlocal (ats_ptr_type, tmp289) ;
ATSlocal (ats_ptr_type, tmp290) ;
ATSlocal (ats_ptr_type, tmp291) ;
// ATSlocal_void (tmp292) ;
// ATSlocal_void (tmp293) ;
// ATSlocal_void (tmp294) ;
// ATSlocal_void (tmp295) ;
// ATSlocal_void (tmp296) ;
// ATSlocal_void (tmp297) ;
// ATSlocal_void (tmp298) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval:
tmp113 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg1), atslab_primval_node) ;
do {
/* branch: __ats_lab_25 */
__ats_lab_25_0:
if (((ats_sum_ptr_type)tmp113)->tag != 0) { goto __ats_lab_26_0 ; }
__ats_lab_25_1:
tmp114 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp115 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtmp(")) ;
/* tmp116 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp114) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_26 */
__ats_lab_26_0:
if (((ats_sum_ptr_type)tmp113)->tag != 1) { goto __ats_lab_27_0 ; }
__ats_lab_26_1:
tmp117 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp118 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtmpref(")) ;
/* tmp119 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp117) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_27 */
__ats_lab_27_0:
if (((ats_sum_ptr_type)tmp113)->tag != 2) { goto __ats_lab_28_0 ; }
__ats_lab_27_1:
tmp120 = ats_caselptrlab_mac(anairiats_sum_16, tmp113, atslab_0) ;
/* tmp121 = */ atspre_fprint_string (arg0, ATSstrcst("PMVarg(")) ;
/* tmp122 = */ atspre_fprint_int (arg0, tmp120) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_28 */
__ats_lab_28_0:
if (((ats_sum_ptr_type)tmp113)->tag != 3) { goto __ats_lab_29_0 ; }
__ats_lab_28_1:
tmp123 = ats_caselptrlab_mac(anairiats_sum_16, tmp113, atslab_0) ;
/* tmp124 = */ atspre_fprint_string (arg0, ATSstrcst("PMVargref(")) ;
/* tmp125 = */ atspre_fprint_int (arg0, tmp123) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_29 */
__ats_lab_29_0:
if (((ats_sum_ptr_type)tmp113)->tag != 5) { goto __ats_lab_30_0 ; }
__ats_lab_29_1:
tmp126 = ats_caselptrlab_mac(anairiats_sum_16, tmp113, atslab_0) ;
/* tmp127 = */ atspre_fprint_string (arg0, ATSstrcst("PMVargtmpref(")) ;
/* tmp128 = */ atspre_fprint_int (arg0, tmp126) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_30 */
__ats_lab_30_0:
if (((ats_sum_ptr_type)tmp113)->tag != 4) { goto __ats_lab_31_0 ; }
__ats_lab_30_1:
tmp129 = ats_caselptrlab_mac(anairiats_sum_16, tmp113, atslab_0) ;
/* tmp130 = */ atspre_fprint_string (arg0, ATSstrcst("PMVargenv(")) ;
/* tmp131 = */ atspre_fprint_int (arg0, tmp129) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_31 */
__ats_lab_31_0:
if (((ats_sum_ptr_type)tmp113)->tag != 6) { goto __ats_lab_32_0 ; }
__ats_lab_31_1:
tmp132 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp133 = */ atspre_fprint_string (arg0, ATSstrcst("PMVcst(")) ;
/* tmp134 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp132) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_32 */
__ats_lab_32_0:
if (((ats_sum_ptr_type)tmp113)->tag != 7) { goto __ats_lab_33_0 ; }
__ats_lab_32_1:
tmp135 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp136 = */ atspre_fprint_string (arg0, ATSstrcst("PMVenv(")) ;
/* tmp137 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp135) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_33 */
__ats_lab_33_0:
if (((ats_sum_ptr_type)tmp113)->tag != 8) { goto __ats_lab_34_0 ; }
__ats_lab_33_1:
tmp138 = ats_caselptrlab_mac(anairiats_sum_16, tmp113, atslab_0) ;
/* tmp139 = */ atspre_fprint_string (arg0, ATSstrcst("PMVint(")) ;
/* tmp140 = */ atspre_fprint_int (arg0, tmp138) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_34 */
__ats_lab_34_0:
if (((ats_sum_ptr_type)tmp113)->tag != 9) { goto __ats_lab_35_0 ; }
__ats_lab_34_1:
tmp141 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp142 = */ atspre_fprint_string (arg0, ATSstrcst("PMVintrep(")) ;
/* tmp143 = */ atspre_fprint_string (arg0, tmp141) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_35 */
__ats_lab_35_0:
if (((ats_sum_ptr_type)tmp113)->tag != 10) { goto __ats_lab_36_0 ; }
__ats_lab_35_1:
tmp144 = ats_caselptrlab_mac(anairiats_sum_17, tmp113, atslab_0) ;
/* tmp145 = */ atspre_fprint_string (arg0, ATSstrcst("PMVbool(")) ;
/* tmp146 = */ atspre_fprint_bool (arg0, tmp144) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_36 */
__ats_lab_36_0:
if (((ats_sum_ptr_type)tmp113)->tag != 11) { goto __ats_lab_37_0 ; }
__ats_lab_36_1:
tmp147 = ats_caselptrlab_mac(anairiats_sum_18, tmp113, atslab_0) ;
/* tmp148 = */ atspre_fprint_string (arg0, ATSstrcst("PMVchar(")) ;
tmp150 = atspre_char_isprint (tmp147) ;
if (tmp150) {
/* tmp149 = */ atspre_fprint_char (arg0, tmp147) ;
} else {
/* tmp149 = */ atspre_fprintf_exn (arg0, ATSstrcst("int(%i)"), ats_castfn_mac(ats_int_type, tmp147)) ;
} /* end of [if] */
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_37 */
__ats_lab_37_0:
if (((ats_sum_ptr_type)tmp113)->tag != 12) { goto __ats_lab_38_0 ; }
__ats_lab_37_1:
tmp151 = ats_caselptrlab_mac(anairiats_sum_19, tmp113, atslab_0) ;
/* tmp152 = */ atspre_fprint_string (arg0, ATSstrcst("PMVfloat(")) ;
/* tmp153 = */ atspre_fprint_double (arg0, tmp151) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_38 */
__ats_lab_38_0:
if (((ats_sum_ptr_type)tmp113)->tag != 13) { goto __ats_lab_39_0 ; }
__ats_lab_38_1:
tmp154 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp155 = */ atspre_fprint_string (arg0, ATSstrcst("PMVstring(")) ;
/* tmp156 = */ atspre_fprint_string (arg0, tmp154) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_39 */
__ats_lab_39_0:
if (((ats_sum_ptr_type)tmp113)->tag != 14) { goto __ats_lab_40_0 ; }
__ats_lab_39_1:
tmp157 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp158 = */ atspre_fprint_string (arg0, ATSstrcst("PMVi0nt(")) ;
/* tmp159 = */ _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__fprint_i0nt (arg0, tmp157) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_40 */
__ats_lab_40_0:
if (((ats_sum_ptr_type)tmp113)->tag != 15) { goto __ats_lab_41_0 ; }
__ats_lab_40_1:
tmp160 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp161 = */ atspre_fprint_string (arg0, ATSstrcst("PMVf0loat(")) ;
/* tmp162 = */ _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__fprint_f0loat (arg0, tmp160) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_41 */
__ats_lab_41_0:
if (((ats_sum_ptr_type)tmp113)->tag != 16) { goto __ats_lab_42_0 ; }
__ats_lab_41_1:
tmp163 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp112 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primcstsp (arg0, tmp163) ;
break ;

/* branch: __ats_lab_42 */
__ats_lab_42_0:
if (((ats_sum_ptr_type)tmp113)->tag != 17) { goto __ats_lab_43_0 ; }
__ats_lab_42_1:
tmp164 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp165 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtyrep(")) ;
/* tmp166 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp164) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_43 */
__ats_lab_43_0:
if (((ats_sum_ptr_type)tmp113)->tag != 18) { goto __ats_lab_44_0 ; }
__ats_lab_43_1:
tmp167 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp168 = */ atspre_fprint_string (arg0, ATSstrcst("PMVsizeof(")) ;
/* tmp169 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp167) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_44 */
__ats_lab_44_0:
if (((ats_sum_ptr_type)tmp113)->tag != 19) { goto __ats_lab_45_0 ; }
__ats_lab_44_1:
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtop()")) ;
break ;

/* branch: __ats_lab_45 */
__ats_lab_45_0:
if (((ats_sum_ptr_type)tmp113)->tag != 20) { goto __ats_lab_46_0 ; }
__ats_lab_45_1:
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst("PMVempty()")) ;
break ;

/* branch: __ats_lab_46 */
__ats_lab_46_0:
if (((ats_sum_ptr_type)tmp113)->tag != 21) { goto __ats_lab_47_0 ; }
__ats_lab_46_1:
tmp170 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp171 = */ atspre_fprint_string (arg0, ATSstrcst("PMVextval(")) ;
/* tmp172 = */ atspre_fprint_string (arg0, tmp170) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_47 */
__ats_lab_47_0:
if (((ats_sum_ptr_type)tmp113)->tag != 22) { goto __ats_lab_48_0 ; }
__ats_lab_47_1:
tmp173 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_0) ;
tmp174 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_1) ;
/* tmp175 = */ atspre_fprint_string (arg0, ATSstrcst("PMVcastfn(")) ;
/* tmp176 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp173) ;
/* tmp177 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ;
/* tmp178 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp174) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_48 */
__ats_lab_48_0:
if (((ats_sum_ptr_type)tmp113)->tag != 23) { goto __ats_lab_49_0 ; }
__ats_lab_48_1:
tmp179 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_0) ;
tmp180 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_1) ;
tmp181 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_2) ;
/* tmp182 = */ atspre_fprint_string (arg0, ATSstrcst("PMVselcon(")) ;
/* tmp183 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp179) ;
/* tmp184 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp185 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp180) ;
/* tmp186 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp187 = */ _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__fprint_label (arg0, tmp181) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_49 */
__ats_lab_49_0:
if (((ats_sum_ptr_type)tmp113)->tag != 24) { goto __ats_lab_50_0 ; }
__ats_lab_49_1:
tmp188 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_0) ;
tmp189 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_1) ;
tmp190 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_2) ;
/* tmp191 = */ atspre_fprint_string (arg0, ATSstrcst("PMVselect(")) ;
/* tmp192 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp188) ;
/* tmp193 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp194 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp189) ;
/* tmp195 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp196 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlab (arg0, tmp190) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_50 */
__ats_lab_50_0:
if (((ats_sum_ptr_type)tmp113)->tag != 25) { goto __ats_lab_51_0 ; }
__ats_lab_50_1:
tmp197 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_0) ;
tmp198 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_1) ;
tmp199 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_2) ;
/* tmp200 = */ atspre_fprint_string (arg0, ATSstrcst("PMVselect2(")) ;
/* tmp201 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp197) ;
/* tmp202 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp203 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp198) ;
/* tmp204 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp205 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlablst (arg0, tmp199) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_51 */
__ats_lab_51_0:
if (((ats_sum_ptr_type)tmp113)->tag != 26) { goto __ats_lab_52_0 ; }
__ats_lab_51_1:
tmp206 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_0) ;
tmp207 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_1) ;
tmp208 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_2) ;
/* tmp209 = */ atspre_fprint_string (arg0, ATSstrcst("PMVselptr(")) ;
/* tmp210 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp206) ;
/* tmp211 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp212 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp207) ;
/* tmp213 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp214 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlablst (arg0, tmp208) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_52 */
__ats_lab_52_0:
if (((ats_sum_ptr_type)tmp113)->tag != 27) { goto __ats_lab_53_0 ; }
__ats_lab_52_1:
tmp215 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp216 = */ atspre_fprint_string (arg0, ATSstrcst("PMVptrof(")) ;
/* tmp217 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp215) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_53 */
__ats_lab_53_0:
if (((ats_sum_ptr_type)tmp113)->tag != 28) { goto __ats_lab_54_0 ; }
__ats_lab_53_1:
tmp218 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_0) ;
tmp219 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_1) ;
tmp220 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_2) ;
/* tmp221 = */ atspre_fprint_string (arg0, ATSstrcst("PMVptrofsel(")) ;
/* tmp222 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp218) ;
/* tmp223 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp224 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp219) ;
/* tmp225 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp226 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlablst (arg0, tmp220) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_54 */
__ats_lab_54_0:
if (((ats_sum_ptr_type)tmp113)->tag != 29) { goto __ats_lab_55_0 ; }
__ats_lab_54_1:
tmp227 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp228 = */ atspre_fprint_string (arg0, ATSstrcst("PMVvararg(")) ;
/* tmp229 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primvalist (arg0, tmp227) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_55 */
__ats_lab_55_0:
if (((ats_sum_ptr_type)tmp113)->tag != 30) { goto __ats_lab_56_0 ; }
__ats_lab_55_1:
tmp230 = ats_caselptrlab_mac(anairiats_sum_20, tmp113, atslab_0) ;
tmp231 = ats_caselptrlab_mac(anairiats_sum_20, tmp113, atslab_1) ;
tmp232 = ats_caselptrlab_mac(anairiats_sum_20, tmp113, atslab_2) ;
/* tmp233 = */ atspre_fprint_string (arg0, ATSstrcst("PMVrefarg(")) ;
/* tmp234 = */ atspre_fprint_int (arg0, tmp230) ;
/* tmp235 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp236 = */ atspre_fprint_int (arg0, tmp231) ;
/* tmp237 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp238 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp232) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_56 */
__ats_lab_56_0:
if (((ats_sum_ptr_type)tmp113)->tag != 31) { goto __ats_lab_57_0 ; }
__ats_lab_56_1:
tmp239 = ats_caselptrlab_mac(anairiats_sum_1, tmp113, atslab_0) ;
/* tmp240 = */ atspre_fprint_string (arg0, ATSstrcst("PMVfunlab(")) ;
/* tmp241 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp239) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_57 */
__ats_lab_57_0:
if (((ats_sum_ptr_type)tmp113)->tag != 32) { goto __ats_lab_58_0 ; }
__ats_lab_57_1:
tmp242 = ats_caselptrlab_mac(anairiats_sum_11, tmp113, atslab_0) ;
tmp243 = ats_caselptrlab_mac(anairiats_sum_11, tmp113, atslab_1) ;
/* tmp244 = */ atspre_fprint_string (arg0, ATSstrcst("PMVcfunlab(")) ;
/* tmp245 = */ atspre_fprint_string (arg0, ATSstrcst("knd=")) ;
/* tmp246 = */ atspre_fprint_int (arg0, tmp242) ;
/* tmp247 = */ atspre_fprint_string (arg0, ATSstrcst("; flab=")) ;
/* tmp248 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp243) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_58 */
__ats_lab_58_0:
if (((ats_sum_ptr_type)tmp113)->tag != 33) { goto __ats_lab_59_0 ; }
__ats_lab_58_1:
tmp249 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_0) ;
tmp250 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_1) ;
/* tmp251 = */ atspre_fprint_string (arg0, ATSstrcst("PMVd2vfunlab(")) ;
/* tmp252 = */ atspre_fprint_string (arg0, ATSstrcst("d2v=")) ;
/* tmp253 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp249) ;
/* tmp254 = */ atspre_fprint_string (arg0, ATSstrcst(", flab=")) ;
/* tmp255 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp250) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_59 */
__ats_lab_59_0:
if (((ats_sum_ptr_type)tmp113)->tag != 34) { goto __ats_lab_62_0 ; }
__ats_lab_59_1:
tmp256 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_0) ;
tmp257 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_1) ;
/* tmp258 = */ atspre_fprint_string (arg0, ATSstrcst("PMVlamfix(")) ;
do {
/* branch: __ats_lab_60 */
__ats_lab_60_0:
if (tmp256 != (ats_sum_ptr_type)0) { goto __ats_lab_61_0 ; }
__ats_lab_60_1:
/* tmp259 = */ atspre_fprint_string (arg0, ATSstrcst("knd=lam")) ;
break ;

/* branch: __ats_lab_61 */
__ats_lab_61_0:
// if (tmp256 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_61_1:
tmp260 = ats_caselptrlab_mac(anairiats_sum_14, tmp256, atslab_0) ;
/* tmp261 = */ atspre_fprint_string (arg0, ATSstrcst("knd=fix(")) ;
/* tmp262 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp260) ;
/* tmp259 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;
} while (0) ;
/* tmp263 = */ atspre_fprint_string (arg0, ATSstrcst("; fun=")) ;
/* tmp264 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp257) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_62 */
__ats_lab_62_0:
if (((ats_sum_ptr_type)tmp113)->tag != 35) { goto __ats_lab_63_0 ; }
__ats_lab_62_1:
tmp265 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_0) ;
tmp266 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_1) ;
/* tmp267 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtmpltcst(")) ;
/* tmp268 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp265) ;
/* tmp269 = */ atspre_fprint_string (arg0, ATSstrcst("<")) ;
/* tmp270 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst (arg0, tmp266) ;
/* tmp271 = */ atspre_fprint_string (arg0, ATSstrcst(">")) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_63 */
__ats_lab_63_0:
if (((ats_sum_ptr_type)tmp113)->tag != 36) { goto __ats_lab_64_0 ; }
__ats_lab_63_1:
tmp272 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_0) ;
tmp273 = ats_caselptrlab_mac(anairiats_sum_4, tmp113, atslab_1) ;
/* tmp274 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtmpltvar(")) ;
/* tmp275 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp272) ;
/* tmp276 = */ atspre_fprint_string (arg0, ATSstrcst("<")) ;
/* tmp277 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst (arg0, tmp273) ;
/* tmp278 = */ atspre_fprint_string (arg0, ATSstrcst(">")) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_64 */
__ats_lab_64_0:
if (((ats_sum_ptr_type)tmp113)->tag != 37) { goto __ats_lab_65_0 ; }
__ats_lab_64_1:
tmp279 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_0) ;
tmp280 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_1) ;
tmp281 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_2) ;
/* tmp282 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtmpltcstmat[")) ;
/* tmp283 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpcstmat_kind (arg0, tmp281) ;
/* tmp284 = */ atspre_fprint_string (arg0, ATSstrcst("](")) ;
/* tmp285 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp279) ;
/* tmp286 = */ atspre_fprint_string (arg0, ATSstrcst("<")) ;
/* tmp287 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst (arg0, tmp280) ;
/* tmp288 = */ atspre_fprint_string (arg0, ATSstrcst(">")) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_65 */
__ats_lab_65_0:
if (((ats_sum_ptr_type)tmp113)->tag != 38) { goto __ats_lab_66_0 ; }
__ats_lab_65_1:
tmp289 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_0) ;
tmp290 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_1) ;
tmp291 = ats_caselptrlab_mac(anairiats_sum_7, tmp113, atslab_2) ;
/* tmp292 = */ atspre_fprint_string (arg0, ATSstrcst("PMVtmpltvarmat[")) ;
/* tmp293 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvarmat_kind (arg0, tmp291) ;
/* tmp294 = */ atspre_fprint_string (arg0, ATSstrcst("](")) ;
/* tmp295 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp289) ;
/* tmp296 = */ atspre_fprint_string (arg0, ATSstrcst("<")) ;
/* tmp297 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fpprint_t2mpmarglst (arg0, tmp290) ;
/* tmp298 = */ atspre_fprint_string (arg0, ATSstrcst(">")) ;
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_66 */
__ats_lab_66_0:
// if (((ats_sum_ptr_type)tmp113)->tag != 39) { ats_deadcode_failure_handle () ; }
__ats_lab_66_1:
/* tmp112 = */ atspre_fprint_string (arg0, ATSstrcst("PMVerror()")) ;
break ;
} while (0) ;
return /* (tmp112) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 14572(line=654, offs=3) -- 14631(line=655, offs=48)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primvalist (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp299) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primvalist:
/* tmp299 = */ fprintlst_01887_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval) ;
return /* (tmp299) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primvalist] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 14712(line=662, offs=3) -- 14752(line=662, offs=43)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_primlab (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp300) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_primlab:
/* tmp300 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlab (stdout, arg0) ;
return /* (tmp300) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_primlab] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 14779(line=665, offs=3) -- 14819(line=665, offs=43)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_primlab (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp301) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_primlab:
/* tmp301 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlab (stderr, arg0) ;
return /* (tmp301) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_primlab] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 14871(line=671, offs=3) -- 15210(line=690, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlab (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp302) ;
ATSlocal (ats_ptr_type, tmp303) ;
ATSlocal (ats_ptr_type, tmp304) ;
// ATSlocal_void (tmp305) ;
// ATSlocal_void (tmp306) ;
ATSlocal (ats_ptr_type, tmp307) ;
// ATSlocal_void (tmp308) ;
// ATSlocal_void (tmp309) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlab:
tmp303 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_21, arg1), atslab_primlab_node) ;
do {
/* branch: __ats_lab_67 */
__ats_lab_67_0:
if (((ats_sum_ptr_type)tmp303)->tag != 0) { goto __ats_lab_68_0 ; }
__ats_lab_67_1:
tmp304 = ats_caselptrlab_mac(anairiats_sum_1, tmp303, atslab_0) ;
/* tmp305 = */ atspre_fprint_string (arg0, ATSstrcst("PMLlab(")) ;
/* tmp306 = */ _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__fprint_label (arg0, tmp304) ;
/* tmp302 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_68 */
__ats_lab_68_0:
// if (((ats_sum_ptr_type)tmp303)->tag != 1) { ats_deadcode_failure_handle () ; }
__ats_lab_68_1:
tmp307 = ats_caselptrlab_mac(anairiats_sum_1, tmp303, atslab_0) ;
/* tmp308 = */ atspre_fprint_string (arg0, ATSstrcst("PMLind(")) ;
/* tmp309 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primvalist (arg0, tmp307) ;
/* tmp302 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;
} while (0) ;
return /* (tmp302) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlab] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 15269(line=694, offs=3) -- 15328(line=695, offs=48)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlablst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp310) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlablst:
/* tmp310 = */ fprintlst_01887_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlab) ;
return /* (tmp310) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlablst] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 15467(line=704, offs=3) -- 15598(line=707, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_print_2edats__fprint_labprimval (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp311) ;
ATSlocal (ats_ptr_type, tmp312) ;
ATSlocal (ats_ptr_type, tmp313) ;
// ATSlocal_void (tmp314) ;
// ATSlocal_void (tmp315) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_print_2edats__fprint_labprimval:

tmp312 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp313 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ;
/* tmp314 = */ _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__fprint_label (arg0, tmp312) ;
/* tmp315 = */ atspre_fprint_string (arg0, ATSstrcst("=")) ;
/* tmp311 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp313) ;
return /* (tmp311) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_print_2edats__fprint_labprimval] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 15663(line=711, offs=3) -- 15725(line=712, offs=51)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_labprimvalist (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp316) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_labprimvalist:
/* tmp316 = */ fprintlst_01887_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_print_2edats__fprint_labprimval) ;
return /* (tmp316) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_labprimvalist] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 15806(line=719, offs=3) -- 16854(line=770, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_patck (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp317) ;
ATSlocal (ats_ptr_type, tmp318) ;
// ATSlocal_void (tmp319) ;
// ATSlocal_void (tmp320) ;
ATSlocal (ats_int_type, tmp321) ;
// ATSlocal_void (tmp322) ;
// ATSlocal_void (tmp323) ;
ATSlocal (ats_bool_type, tmp324) ;
// ATSlocal_void (tmp325) ;
// ATSlocal_void (tmp326) ;
ATSlocal (ats_char_type, tmp327) ;
// ATSlocal_void (tmp328) ;
// ATSlocal_void (tmp329) ;
ATSlocal (ats_double_type, tmp330) ;
// ATSlocal_void (tmp331) ;
// ATSlocal_void (tmp332) ;
ATSlocal (ats_ptr_type, tmp333) ;
// ATSlocal_void (tmp334) ;
// ATSlocal_void (tmp335) ;
ATSlocal (ats_ptr_type, tmp336) ;
// ATSlocal_void (tmp337) ;
// ATSlocal_void (tmp338) ;
ATSlocal (ats_ptr_type, tmp339) ;
// ATSlocal_void (tmp340) ;
// ATSlocal_void (tmp341) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_patck:
do {
/* branch: __ats_lab_69 */
__ats_lab_69_0:
if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_70_0 ; }
__ats_lab_69_1:
tmp318 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ;
/* tmp319 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKcon(")) ;
/* tmp320 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp318) ;
/* tmp317 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_70 */
__ats_lab_70_0:
if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_71_0 ; }
__ats_lab_70_1:
tmp321 = ats_caselptrlab_mac(anairiats_sum_16, arg1, atslab_0) ;
/* tmp322 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKint(")) ;
/* tmp323 = */ atspre_fprint_int (arg0, tmp321) ;
/* tmp317 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_71 */
__ats_lab_71_0:
if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_72_0 ; }
__ats_lab_71_1:
tmp324 = ats_caselptrlab_mac(anairiats_sum_17, arg1, atslab_0) ;
/* tmp325 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKbool(")) ;
/* tmp326 = */ atspre_fprint_bool (arg0, tmp324) ;
/* tmp317 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_72 */
__ats_lab_72_0:
if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_73_0 ; }
__ats_lab_72_1:
tmp327 = ats_caselptrlab_mac(anairiats_sum_18, arg1, atslab_0) ;
/* tmp328 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKchar(")) ;
/* tmp329 = */ atspre_fprint_char (arg0, tmp327) ;
/* tmp317 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_73 */
__ats_lab_73_0:
if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_74_0 ; }
__ats_lab_73_1:
tmp330 = ats_caselptrlab_mac(anairiats_sum_19, arg1, atslab_0) ;
/* tmp331 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKfloat(")) ;
/* tmp332 = */ atspre_fprint_double (arg0, tmp330) ;
/* tmp317 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_74 */
__ats_lab_74_0:
if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_75_0 ; }
__ats_lab_74_1:
tmp333 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ;
/* tmp334 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKstring(")) ;
/* tmp335 = */ atspre_fprint_string (arg0, tmp333) ;
/* tmp317 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_75 */
__ats_lab_75_0:
if (((ats_sum_ptr_type)arg1)->tag != 6) { goto __ats_lab_76_0 ; }
__ats_lab_75_1:
tmp336 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ;
/* tmp337 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKi0nt(")) ;
/* tmp338 = */ _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__fprint_i0nt (arg0, tmp336) ;
/* tmp317 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_76 */
__ats_lab_76_0:
// if (((ats_sum_ptr_type)arg1)->tag != 7) { ats_deadcode_failure_handle () ; }
__ats_lab_76_1:
tmp339 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ;
/* tmp340 = */ atspre_fprint_string (arg0, ATSstrcst("PATCKf0loat(")) ;
/* tmp341 = */ _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__fprint_f0loat (arg0, tmp339) ;
/* tmp317 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;
} while (0) ;
return /* (tmp317) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_patck] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 16896(line=773, offs=13) -- 16930(line=773, offs=47)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_patck (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp342) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_patck:
/* tmp342 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_patck (stdout, arg0) ;
return /* (tmp342) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_patck] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 16953(line=775, offs=13) -- 16987(line=775, offs=47)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_patck (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp343) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_patck:
/* tmp343 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_patck (stderr, arg0) ;
return /* (tmp343) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_patck] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 17060(line=782, offs=5) -- 17218(line=790, offs=2)
*/
ATSstaticdec()
ats_void_type
fpr_25 (ats_ptr_type arg0, anairiats_rec_22 arg1) {
/* local vardec */
// ATSlocal_void (tmp345) ;
// ATSlocal_void (tmp346) ;
ATSlocal (ats_ptr_type, tmp347) ;
// ATSlocal_void (tmp348) ;
ATSlocal (ats_ptr_type, tmp349) ;

__ats_lab_fpr_25:
tmp347 = ats_select_mac(arg1, atslab_1) ;
/* tmp346 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp347) ;
/* tmp348 = */ atspre_fprint_string (arg0, ATSstrcst("<-")) ;
tmp349 = ats_select_mac(arg1, atslab_0) ;
/* tmp345 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmprimval (arg0, tmp349) ;
return /* (tmp345) */ ;
} /* end of [fpr_25] */

/*
// /tmp/ATS-Postiats/src/pats_utils.dats: 11884(line=651, offs=1) -- 12164(line=665, offs=2)
*/
ATSstaticdec()
ats_void_type
aux_27 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp351) ;
ATSlocal (anairiats_rec_22, tmp352) ;
ATSlocal (ats_ptr_type, tmp353) ;
// ATSlocal_void (tmp354) ;
ATSlocal (ats_bool_type, tmp355) ;
// ATSlocal_void (tmp356) ;
ATSlocal (ats_int_type, tmp357) ;

__ats_lab_aux_27:
do {
/* branch: __ats_lab_77 */
__ats_lab_77_0:
if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; }
__ats_lab_77_1:
break ;

/* branch: __ats_lab_78 */
__ats_lab_78_0:
// if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_78_1:
tmp352 = ats_caselptrlab_mac(anairiats_sum_23, arg0, atslab_0) ;
tmp353 = ats_caselptrlab_mac(anairiats_sum_23, arg0, atslab_1) ;
tmp355 = atspre_gt_int_int (arg1, 0) ;
if (tmp355) {
/* tmp354 = */ atspre_fprint_string (env0, env1) ;
} else {
/* empty */
} /* end of [if] */
/* tmp356 = */ ((ats_void_type(*)(ats_ptr_type, anairiats_rec_22))env2) (env0, tmp352) ;
tmp357 = atspre_add_int_int (arg1, 1) ;
arg0 = tmp353 ;
arg1 = tmp357 ;
goto __ats_lab_aux_27 ; // tail call
break ;
} while (0) ;
return /* (tmp351) */ ;
} /* end of [aux_27] */

typedef struct {
ats_fun_ptr_type closure_fun ;
ats_ptr_type closure_env_0 ;
ats_ptr_type closure_env_1 ;
ats_ptr_type closure_env_2 ;
} aux_27_closure_type ;

ats_void_type
aux_27_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) {
aux_27 (((aux_27_closure_type*)cloptr)->closure_env_0, ((aux_27_closure_type*)cloptr)->closure_env_1, ((aux_27_closure_type*)cloptr)->closure_env_2, arg0, arg1) ; return ;
} /* end of function */

ATSinline()
ats_void_type
aux_27_closure_init (aux_27_closure_type *p_clo, ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) {
p_clo->closure_fun = (ats_fun_ptr_type)&aux_27_clofun ;
p_clo->closure_env_0 = env0 ;
p_clo->closure_env_1 = env1 ;
p_clo->closure_env_2 = env2 ;
return ;
} /* end of function */

ats_clo_ptr_type
aux_27_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2) {
aux_27_closure_type *p_clo = ATS_MALLOC(sizeof(aux_27_closure_type)) ;
aux_27_closure_init (p_clo, env0, env1, env2) ;
return (ats_clo_ptr_type)p_clo ;
} /* end of function */

/*
// /tmp/ATS-Postiats/src/pats_utils.dats: 11844(line=646, offs=11) -- 12207(line=669, offs=4)
*/
ATSstaticdec()
ats_void_type
fprintlst_01887_anairiats_rec_22 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp350) ;

__ats_lab_fprintlst_01887_anairiats_rec_22:
/* tmp350 = */ aux_27 (arg0, arg2, arg3, arg1, 0) ;
return /* (tmp350) */ ;
} /* end of [fprintlst_01887_anairiats_rec_22] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 17037(line=780, offs=18) -- 17265(line=794, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpmovlst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp344) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpmovlst:
/* tmp344 = */ fprintlst_01887_anairiats_rec_22 (arg0, arg1, ATSstrcst(", "), &fpr_25) ;
return /* (tmp344) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpmovlst] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 17345(line=800, offs=3) -- 18442(line=858, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_patckont (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp358) ;
ATSlocal (ats_ptr_type, tmp359) ;
// ATSlocal_void (tmp360) ;
// ATSlocal_void (tmp361) ;
ATSlocal (ats_ptr_type, tmp362) ;
ATSlocal (ats_int_type, tmp363) ;
// ATSlocal_void (tmp364) ;
// ATSlocal_void (tmp365) ;
// ATSlocal_void (tmp366) ;
// ATSlocal_void (tmp367) ;
ATSlocal (ats_ptr_type, tmp368) ;
ATSlocal (ats_ptr_type, tmp369) ;
// ATSlocal_void (tmp370) ;
// ATSlocal_void (tmp371) ;
// ATSlocal_void (tmp372) ;
// ATSlocal_void (tmp373) ;
// ATSlocal_void (tmp374) ;
// ATSlocal_void (tmp375) ;
ATSlocal (ats_ptr_type, tmp376) ;
ATSlocal (ats_ptr_type, tmp377) ;
// ATSlocal_void (tmp378) ;
// ATSlocal_void (tmp379) ;
// ATSlocal_void (tmp380) ;
// ATSlocal_void (tmp381) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_patckont:
do {
/* branch: __ats_lab_79 */
__ats_lab_79_0:
if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_80_0 ; }
__ats_lab_79_1:
/* tmp358 = */ atspre_fprint_string (arg0, ATSstrcst("PTCKNTnone()")) ;
break ;

/* branch: __ats_lab_80 */
__ats_lab_80_0:
if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_81_0 ; }
__ats_lab_80_1:
tmp359 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ;
/* tmp360 = */ atspre_fprint_string (arg0, ATSstrcst("PTCKNTtmplab(")) ;
/* tmp361 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmplab (arg0, tmp359) ;
/* tmp358 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_81 */
__ats_lab_81_0:
if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_82_0 ; }
__ats_lab_81_1:
tmp362 = ats_caselptrlab_mac(anairiats_sum_24, arg1, atslab_0) ;
tmp363 = ats_caselptrlab_mac(anairiats_sum_24, arg1, atslab_1) ;
/* tmp364 = */ atspre_fprint_string (arg0, ATSstrcst("PTCKNTtmplabint(")) ;
/* tmp365 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmplab (arg0, tmp362) ;
/* tmp366 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ;
/* tmp367 = */ atspre_fprint_int (arg0, tmp363) ;
/* tmp358 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_82 */
__ats_lab_82_0:
if (((ats_sum_ptr_type)arg1)->tag != 3) { goto __ats_lab_83_0 ; }
__ats_lab_82_1:
tmp368 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ;
tmp369 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ;
/* tmp370 = */ atspre_fprint_string (arg0, ATSstrcst("PTCKNTtmplabmov(")) ;
/* tmp371 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmplab (arg0, tmp368) ;
/* tmp372 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp373 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpmovlst (arg0, tmp369) ;
/* tmp358 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_83 */
__ats_lab_83_0:
if (((ats_sum_ptr_type)arg1)->tag != 4) { goto __ats_lab_84_0 ; }
__ats_lab_83_1:
/* tmp374 = */ atspre_fprint_string (arg0, ATSstrcst("PTCKNTcaseof_fail(")) ;
/* tmp358 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_84 */
__ats_lab_84_0:
if (((ats_sum_ptr_type)arg1)->tag != 5) { goto __ats_lab_85_0 ; }
__ats_lab_84_1:
/* tmp375 = */ atspre_fprint_string (arg0, ATSstrcst("PTCKNTfunarg_fail(")) ;
/* tmp358 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_85 */
__ats_lab_85_0:
// if (((ats_sum_ptr_type)arg1)->tag != 6) { ats_deadcode_failure_handle () ; }
__ats_lab_85_1:
tmp376 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_0) ;
tmp377 = ats_caselptrlab_mac(anairiats_sum_4, arg1, atslab_1) ;
/* tmp378 = */ atspre_fprint_string (arg0, ATSstrcst("PTCKNTraise(")) ;
/* tmp379 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp376) ;
/* tmp380 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ;
/* tmp381 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp377) ;
/* tmp358 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;
} while (0) ;
return /* (tmp358) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_patckont] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 18490(line=861, offs=16) -- 18527(line=861, offs=53)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_patckont (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp382) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_patckont:
/* tmp382 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_patckont (stdout, arg0) ;
return /* (tmp382) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_patckont] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 18553(line=863, offs=16) -- 18590(line=863, offs=53)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_patckont (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp383) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_patckont:
/* tmp383 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_patckont (stderr, arg0) ;
return /* (tmp383) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_patckont] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 18638(line=869, offs=3) -- 29551(line=1308, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instr (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp384) ;
ATSlocal (ats_ptr_type, tmp385) ;
ATSlocal (ats_ptr_type, tmp386) ;
// ATSlocal_void (tmp387) ;
// ATSlocal_void (tmp388) ;
ATSlocal (ats_ptr_type, tmp389) ;
// ATSlocal_void (tmp390) ;
// ATSlocal_void (tmp391) ;
ATSlocal (ats_ptr_type, tmp392) ;
// ATSlocal_void (tmp393) ;
// ATSlocal_void (tmp394) ;
ATSlocal (ats_ptr_type, tmp395) ;
ATSlocal (ats_ptr_type, tmp396) ;
// ATSlocal_void (tmp397) ;
// ATSlocal_void (tmp398) ;
// ATSlocal_void (tmp399) ;
// ATSlocal_void (tmp400) ;
ATSlocal (ats_ptr_type, tmp401) ;
ATSlocal (ats_ptr_type, tmp402) ;
// ATSlocal_void (tmp403) ;
// ATSlocal_void (tmp404) ;
// ATSlocal_void (tmp405) ;
// ATSlocal_void (tmp406) ;
ATSlocal (ats_int_type, tmp407) ;
ATSlocal (ats_ptr_type, tmp408) ;
// ATSlocal_void (tmp409) ;
// ATSlocal_void (tmp410) ;
// ATSlocal_void (tmp411) ;
// ATSlocal_void (tmp412) ;
ATSlocal (ats_ptr_type, tmp413) ;
ATSlocal (ats_ptr_type, tmp414) ;
ATSlocal (ats_ptr_type, tmp415) ;
ATSlocal (ats_ptr_type, tmp416) ;
// ATSlocal_void (tmp417) ;
// ATSlocal_void (tmp418) ;
// ATSlocal_void (tmp419) ;
// ATSlocal_void (tmp420) ;
// ATSlocal_void (tmp421) ;
// ATSlocal_void (tmp422) ;
// ATSlocal_void (tmp423) ;
// ATSlocal_void (tmp424) ;
ATSlocal (ats_ptr_type, tmp425) ;
ATSlocal (ats_ptr_type, tmp426) ;
ATSlocal (ats_int_type, tmp427) ;
ATSlocal (ats_ptr_type, tmp428) ;
ATSlocal (ats_ptr_type, tmp429) ;
// ATSlocal_void (tmp430) ;
// ATSlocal_void (tmp431) ;
// ATSlocal_void (tmp432) ;
// ATSlocal_void (tmp433) ;
// ATSlocal_void (tmp434) ;
// ATSlocal_void (tmp435) ;
// ATSlocal_void (tmp436) ;
// ATSlocal_void (tmp437) ;
// ATSlocal_void (tmp438) ;
// ATSlocal_void (tmp439) ;
ATSlocal (ats_ptr_type, tmp440) ;
ATSlocal (ats_ptr_type, tmp441) ;
ATSlocal (ats_ptr_type, tmp442) ;
// ATSlocal_void (tmp443) ;
// ATSlocal_void (tmp444) ;
// ATSlocal_void (tmp445) ;
// ATSlocal_void (tmp446) ;
// ATSlocal_void (tmp447) ;
// ATSlocal_void (tmp448) ;
ATSlocal (ats_ptr_type, tmp449) ;
ATSlocal (ats_ptr_type, tmp450) ;
ATSlocal (ats_ptr_type, tmp451) ;
ATSlocal (ats_ptr_type, tmp452) ;
// ATSlocal_void (tmp453) ;
// ATSlocal_void (tmp454) ;
// ATSlocal_void (tmp455) ;
// ATSlocal_void (tmp456) ;
// ATSlocal_void (tmp457) ;
// ATSlocal_void (tmp458) ;
// ATSlocal_void (tmp459) ;
// ATSlocal_void (tmp460) ;
ATSlocal (ats_ptr_type, tmp461) ;
ATSlocal (ats_ptr_type, tmp462) ;
ATSlocal (ats_ptr_type, 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 (ats_ptr_type, tmp472) ;
// ATSlocal_void (tmp473) ;
// ATSlocal_void (tmp474) ;
ATSlocal (ats_int_type, tmp475) ;
ATSlocal (ats_ptr_type, tmp476) ;
// ATSlocal_void (tmp477) ;
// ATSlocal_void (tmp478) ;
// ATSlocal_void (tmp479) ;
// ATSlocal_void (tmp480) ;
// ATSlocal_void (tmp481) ;
// ATSlocal_void (tmp482) ;
ATSlocal (ats_ptr_type, tmp483) ;
// ATSlocal_void (tmp484) ;
// ATSlocal_void (tmp485) ;
ATSlocal (ats_ptr_type, tmp486) ;
ATSlocal (ats_ptr_type, tmp487) ;
ATSlocal (ats_ptr_type, tmp488) ;
ATSlocal (ats_ptr_type, tmp489) ;
// ATSlocal_void (tmp490) ;
// ATSlocal_void (tmp491) ;
// ATSlocal_void (tmp492) ;
// ATSlocal_void (tmp493) ;
// ATSlocal_void (tmp494) ;
// ATSlocal_void (tmp495) ;
// ATSlocal_void (tmp496) ;
// ATSlocal_void (tmp497) ;
// ATSlocal_void (tmp498) ;
// ATSlocal_void (tmp499) ;
// ATSlocal_void (tmp500) ;
// ATSlocal_void (tmp501) ;
ATSlocal (ats_ptr_type, tmp502) ;
ATSlocal (ats_ptr_type, tmp503) ;
// ATSlocal_void (tmp504) ;
// ATSlocal_void (tmp505) ;
// ATSlocal_void (tmp506) ;
// ATSlocal_void (tmp507) ;
ATSlocal (ats_ptr_type, tmp508) ;
ATSlocal (ats_ptr_type, tmp509) ;
ATSlocal (ats_ptr_type, tmp510) ;
ATSlocal (ats_ptr_type, tmp511) ;
// ATSlocal_void (tmp512) ;
// ATSlocal_void (tmp513) ;
// ATSlocal_void (tmp514) ;
// ATSlocal_void (tmp515) ;
// ATSlocal_void (tmp516) ;
// ATSlocal_void (tmp517) ;
// ATSlocal_void (tmp518) ;
// ATSlocal_void (tmp519) ;
ATSlocal (ats_ptr_type, tmp520) ;
ATSlocal (ats_ptr_type, tmp521) ;
ATSlocal (ats_ptr_type, tmp522) ;
ATSlocal (ats_ptr_type, tmp523) ;
// ATSlocal_void (tmp524) ;
// ATSlocal_void (tmp525) ;
// ATSlocal_void (tmp526) ;
// ATSlocal_void (tmp527) ;
// ATSlocal_void (tmp528) ;
// ATSlocal_void (tmp529) ;
// ATSlocal_void (tmp530) ;
// ATSlocal_void (tmp531) ;
// ATSlocal_void (tmp532) ;
// ATSlocal_void (tmp533) ;
ATSlocal (ats_ptr_type, tmp534) ;
ATSlocal (ats_ptr_type, tmp535) ;
// ATSlocal_void (tmp536) ;
// ATSlocal_void (tmp537) ;
// ATSlocal_void (tmp538) ;
// ATSlocal_void (tmp539) ;
ATSlocal (ats_ptr_type, tmp540) ;
ATSlocal (ats_int_type, tmp541) ;
ATSlocal (ats_ptr_type, tmp542) ;
ATSlocal (ats_ptr_type, tmp543) ;
// ATSlocal_void (tmp544) ;
// ATSlocal_void (tmp545) ;
// ATSlocal_void (tmp546) ;
// ATSlocal_void (tmp547) ;
// ATSlocal_void (tmp548) ;
// ATSlocal_void (tmp549) ;
// ATSlocal_void (tmp550) ;
// ATSlocal_void (tmp551) ;
ATSlocal (ats_ptr_type, tmp552) ;
ATSlocal (ats_int_type, tmp553) ;
ATSlocal (ats_ptr_type, tmp554) ;
ATSlocal (ats_ptr_type, tmp555) ;
// ATSlocal_void (tmp556) ;
// ATSlocal_void (tmp557) ;
// ATSlocal_void (tmp558) ;
// ATSlocal_void (tmp559) ;
// ATSlocal_void (tmp560) ;
// ATSlocal_void (tmp561) ;
// ATSlocal_void (tmp562) ;
// ATSlocal_void (tmp563) ;
// ATSlocal_void (tmp564) ;
// ATSlocal_void (tmp565) ;
ATSlocal (ats_ptr_type, tmp566) ;
// ATSlocal_void (tmp567) ;
// ATSlocal_void (tmp568) ;
ATSlocal (ats_ptr_type, tmp569) ;
// ATSlocal_void (tmp570) ;
// ATSlocal_void (tmp571) ;
ATSlocal (ats_ptr_type, tmp572) ;
ATSlocal (ats_ptr_type, tmp573) ;
// ATSlocal_void (tmp574) ;
// ATSlocal_void (tmp575) ;
// ATSlocal_void (tmp576) ;
// ATSlocal_void (tmp577) ;
ATSlocal (ats_ptr_type, tmp578) ;
ATSlocal (ats_ptr_type, tmp579) ;
ATSlocal (ats_ptr_type, tmp580) ;
// ATSlocal_void (tmp581) ;
// ATSlocal_void (tmp582) ;
// ATSlocal_void (tmp583) ;
// ATSlocal_void (tmp584) ;
// ATSlocal_void (tmp585) ;
// ATSlocal_void (tmp586) ;
ATSlocal (ats_ptr_type, tmp587) ;
ATSlocal (ats_ptr_type, tmp588) ;
ATSlocal (ats_ptr_type, tmp589) ;
// ATSlocal_void (tmp590) ;
// ATSlocal_void (tmp591) ;
// ATSlocal_void (tmp592) ;
// ATSlocal_void (tmp593) ;
// ATSlocal_void (tmp594) ;
// ATSlocal_void (tmp595) ;
ATSlocal (ats_ptr_type, tmp596) ;
ATSlocal (ats_int_type, tmp597) ;
// ATSlocal_void (tmp598) ;
// ATSlocal_void (tmp599) ;
// ATSlocal_void (tmp600) ;
// ATSlocal_void (tmp601) ;
ATSlocal (ats_ptr_type, tmp602) ;
ATSlocal (ats_ptr_type, tmp603) ;
ATSlocal (ats_int_type, tmp604) ;
// ATSlocal_void (tmp605) ;
// ATSlocal_void (tmp606) ;
// ATSlocal_void (tmp607) ;
// ATSlocal_void (tmp608) ;
// ATSlocal_void (tmp609) ;
// ATSlocal_void (tmp610) ;
ATSlocal (ats_ptr_type, tmp611) ;
ATSlocal (ats_ptr_type, tmp612) ;
// ATSlocal_void (tmp613) ;
// ATSlocal_void (tmp614) ;
// ATSlocal_void (tmp615) ;
// ATSlocal_void (tmp616) ;
ATSlocal (ats_ptr_type, tmp617) ;
ATSlocal (ats_ptr_type, tmp618) ;
// ATSlocal_void (tmp619) ;
// ATSlocal_void (tmp620) ;
// ATSlocal_void (tmp621) ;
// ATSlocal_void (tmp622) ;
ATSlocal (ats_ptr_type, tmp623) ;
ATSlocal (ats_ptr_type, tmp624) ;
// ATSlocal_void (tmp625) ;
// ATSlocal_void (tmp626) ;
// ATSlocal_void (tmp627) ;
// ATSlocal_void (tmp628) ;
ATSlocal (ats_ptr_type, tmp629) ;
ATSlocal (ats_ptr_type, tmp630) ;
// ATSlocal_void (tmp631) ;
// ATSlocal_void (tmp632) ;
// ATSlocal_void (tmp633) ;
// ATSlocal_void (tmp634) ;
ATSlocal (ats_ptr_type, tmp635) ;
// ATSlocal_void (tmp636) ;
// ATSlocal_void (tmp637) ;
ATSlocal (ats_ptr_type, tmp638) ;
ATSlocal (ats_ptr_type, tmp639) ;
// ATSlocal_void (tmp640) ;
// ATSlocal_void (tmp641) ;
// ATSlocal_void (tmp642) ;
// ATSlocal_void (tmp643) ;
ATSlocal (ats_ptr_type, tmp644) ;
ATSlocal (ats_ptr_type, tmp645) ;
// ATSlocal_void (tmp646) ;
// ATSlocal_void (tmp647) ;
// ATSlocal_void (tmp648) ;
// ATSlocal_void (tmp649) ;
ATSlocal (ats_ptr_type, tmp650) ;
// ATSlocal_void (tmp651) ;
// ATSlocal_void (tmp652) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instr:
tmp385 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg1), atslab_instr_node) ;
do {
/* branch: __ats_lab_86 */
__ats_lab_86_0:
if (((ats_sum_ptr_type)tmp385)->tag != 0) { goto __ats_lab_87_0 ; }
__ats_lab_86_1:
tmp386 = ats_caselptrlab_mac(anairiats_sum_1, tmp385, atslab_0) ;
/* tmp387 = */ atspre_fprint_string (arg0, ATSstrcst("INSfunlab(")) ;
/* tmp388 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp386) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_87 */
__ats_lab_87_0:
if (((ats_sum_ptr_type)tmp385)->tag != 1) { goto __ats_lab_88_0 ; }
__ats_lab_87_1:
tmp389 = ats_caselptrlab_mac(anairiats_sum_1, tmp385, atslab_0) ;
/* tmp390 = */ atspre_fprint_string (arg0, ATSstrcst("INStmplab(")) ;
/* tmp391 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmplab (arg0, tmp389) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_88 */
__ats_lab_88_0:
if (((ats_sum_ptr_type)tmp385)->tag != 2) { goto __ats_lab_89_0 ; }
__ats_lab_88_1:
tmp392 = ats_caselptrlab_mac(anairiats_sum_1, tmp385, atslab_0) ;
/* tmp393 = */ atspre_fprint_string (arg0, ATSstrcst("INScomment(")) ;
/* tmp394 = */ atspre_fprint_string (arg0, tmp392) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_89 */
__ats_lab_89_0:
if (((ats_sum_ptr_type)tmp385)->tag != 3) { goto __ats_lab_90_0 ; }
__ats_lab_89_1:
tmp395 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_0) ;
tmp396 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_1) ;
/* tmp397 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_val(")) ;
/* tmp398 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp395) ;
/* tmp399 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ;
/* tmp400 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp396) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_90 */
__ats_lab_90_0:
if (((ats_sum_ptr_type)tmp385)->tag != 4) { goto __ats_lab_91_0 ; }
__ats_lab_90_1:
tmp401 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_0) ;
tmp402 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_1) ;
/* tmp403 = */ atspre_fprint_string (arg0, ATSstrcst("INSpmove_val(")) ;
/* tmp404 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp401) ;
/* tmp405 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ;
/* tmp406 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp402) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_91 */
__ats_lab_91_0:
if (((ats_sum_ptr_type)tmp385)->tag != 5) { goto __ats_lab_92_0 ; }
__ats_lab_91_1:
tmp407 = ats_caselptrlab_mac(anairiats_sum_11, tmp385, atslab_0) ;
tmp408 = ats_caselptrlab_mac(anairiats_sum_11, tmp385, atslab_1) ;
/* tmp409 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_arg_val(")) ;
/* tmp410 = */ atspre_fprintf_exn (arg0, ATSstrcst("arg(%i)"), tmp407) ;
/* tmp411 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ;
/* tmp412 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp408) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_92 */
__ats_lab_92_0:
if (((ats_sum_ptr_type)tmp385)->tag != 6) { goto __ats_lab_93_0 ; }
__ats_lab_92_1:
tmp413 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_0) ;
tmp414 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_1) ;
tmp415 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_2) ;
tmp416 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_3) ;
/* tmp417 = */ atspre_fprint_string (arg0, ATSstrcst("INSfcall(")) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp413) ;
/* tmp419 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ;
/* tmp420 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp414) ;
/* tmp421 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ;
/* tmp422 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp415) ;
/* tmp423 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp424 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primvalist (arg0, tmp416) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst("))")) ;
break ;

/* branch: __ats_lab_93 */
__ats_lab_93_0:
if (((ats_sum_ptr_type)tmp385)->tag != 7) { goto __ats_lab_94_0 ; }
__ats_lab_93_1:
tmp425 = ats_caselptrlab_mac(anairiats_sum_27, tmp385, atslab_0) ;
tmp426 = ats_caselptrlab_mac(anairiats_sum_27, tmp385, atslab_1) ;
tmp427 = ats_caselptrlab_mac(anairiats_sum_27, tmp385, atslab_2) ;
tmp428 = ats_caselptrlab_mac(anairiats_sum_27, tmp385, atslab_3) ;
tmp429 = ats_caselptrlab_mac(anairiats_sum_27, tmp385, atslab_4) ;
/* tmp430 = */ atspre_fprint_string (arg0, ATSstrcst("INSfcall2(")) ;
/* tmp431 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp425) ;
/* tmp432 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ;
/* tmp433 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp426) ;
/* tmp434 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ;
/* tmp435 = */ atspre_fprint_int (arg0, tmp427) ;
/* tmp436 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp437 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp428) ;
/* tmp438 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp439 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primvalist (arg0, tmp429) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst("))")) ;
break ;

/* branch: __ats_lab_94 */
__ats_lab_94_0:
if (((ats_sum_ptr_type)tmp385)->tag != 8) { goto __ats_lab_95_0 ; }
__ats_lab_94_1:
tmp440 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_0) ;
tmp441 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_1) ;
tmp442 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_2) ;
/* tmp443 = */ atspre_fprint_string (arg0, ATSstrcst("INSextfcall(")) ;
/* tmp444 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp440) ;
/* tmp445 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ;
/* tmp446 = */ atspre_fprint_string (arg0, tmp441) ;
/* tmp447 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ;
/* tmp448 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primvalist (arg0, tmp442) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst("))")) ;
break ;

/* branch: __ats_lab_95 */
__ats_lab_95_0:
if (((ats_sum_ptr_type)tmp385)->tag != 9) { goto __ats_lab_96_0 ; }
__ats_lab_95_1:
tmp449 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_0) ;
tmp450 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_1) ;
tmp451 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_2) ;
tmp452 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_3) ;
/* tmp453 = */ atspre_fprint_string (arg0, ATSstrcst("INSextmcall(")) ;
/* tmp454 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp449) ;
/* tmp455 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ;
/* tmp456 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp450) ;
/* tmp457 = */ atspre_fprint_string (arg0, ATSstrcst(".")) ;
/* tmp458 = */ atspre_fprint_string (arg0, tmp451) ;
/* tmp459 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ;
/* tmp460 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primvalist (arg0, tmp452) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst("))")) ;
break ;

/* branch: __ats_lab_96 */
__ats_lab_96_0:
if (((ats_sum_ptr_type)tmp385)->tag != 10) { goto __ats_lab_97_0 ; }
__ats_lab_96_1:
tmp461 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_0) ;
tmp462 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_1) ;
tmp463 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_2) ;
/* tmp464 = */ atspre_fprint_string (arg0, ATSstrcst("INScond(\n")) ;
/* tmp465 = */ atspre_fprint_string (arg0, ATSstrcst("**COND**\n")) ;
/* tmp466 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp461) ;
/* tmp467 = */ atspre_fprint_string (arg0, ATSstrcst("\n")) ;
/* tmp468 = */ atspre_fprint_string (arg0, ATSstrcst("**THEN**\n")) ;
/* tmp469 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instrlst (arg0, tmp462) ;
/* tmp470 = */ atspre_fprint_string (arg0, ATSstrcst("**ELSE**\n")) ;
/* tmp471 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instrlst (arg0, tmp463) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_97 */
__ats_lab_97_0:
if (((ats_sum_ptr_type)tmp385)->tag != 11) { goto __ats_lab_98_0 ; }
__ats_lab_97_1:
tmp472 = ats_caselptrlab_mac(anairiats_sum_1, tmp385, atslab_0) ;
/* tmp473 = */ atspre_fprint_string (arg0, ATSstrcst("INSfreecon(")) ;
/* tmp474 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp472) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_98 */
__ats_lab_98_0:
if (((ats_sum_ptr_type)tmp385)->tag != 12) { goto __ats_lab_99_0 ; }
__ats_lab_98_1:
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst("INSloop(...)")) ;
break ;

/* branch: __ats_lab_99 */
__ats_lab_99_0:
if (((ats_sum_ptr_type)tmp385)->tag != 13) { goto __ats_lab_100_0 ; }
__ats_lab_99_1:
tmp475 = ats_caselptrlab_mac(anairiats_sum_11, tmp385, atslab_0) ;
tmp476 = ats_caselptrlab_mac(anairiats_sum_11, tmp385, atslab_1) ;
/* tmp477 = */ atspre_fprint_string (arg0, ATSstrcst("INSloopexn(")) ;
/* tmp478 = */ atspre_fprint_int (arg0, tmp475) ;
/* tmp479 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ;
/* tmp480 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmplab (arg0, tmp476) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_100 */
__ats_lab_100_0:
if (((ats_sum_ptr_type)tmp385)->tag != 14) { goto __ats_lab_101_0 ; }
__ats_lab_100_1:
/* tmp481 = */ atspre_fprint_string (arg0, ATSstrcst("INScaseof(")) ;
/* tmp482 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_101 */
__ats_lab_101_0:
if (((ats_sum_ptr_type)tmp385)->tag != 15) { goto __ats_lab_102_0 ; }
__ats_lab_101_1:
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst("INSletpop()")) ;
break ;

/* branch: __ats_lab_102 */
__ats_lab_102_0:
if (((ats_sum_ptr_type)tmp385)->tag != 16) { goto __ats_lab_103_0 ; }
__ats_lab_102_1:
tmp483 = ats_caselptrlab_mac(anairiats_sum_1, tmp385, atslab_0) ;
/* tmp484 = */ atspre_fprint_string (arg0, ATSstrcst("INSletpush(\n")) ;
/* tmp485 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primdeclst (arg0, tmp483) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_103 */
__ats_lab_103_0:
if (((ats_sum_ptr_type)tmp385)->tag != 17) { goto __ats_lab_104_0 ; }
__ats_lab_103_1:
tmp486 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_0) ;
tmp487 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_1) ;
tmp488 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_2) ;
tmp489 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_3) ;
/* tmp490 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_con(")) ;
/* tmp491 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp486) ;
/* tmp492 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ;
/* tmp493 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp487) ;
/* tmp494 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ;
/* tmp495 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp488) ;
/* tmp496 = */ atspre_fprint_string (arg0, ATSstrcst(";")) ;
/* tmp497 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_labprimvalist (arg0, tmp489) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst("))")) ;
break ;

/* branch: __ats_lab_104 */
__ats_lab_104_0:
if (((ats_sum_ptr_type)tmp385)->tag != 19) { goto __ats_lab_105_0 ; }
__ats_lab_104_1:
/* tmp498 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_boxrec(")) ;
/* tmp499 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_105 */
__ats_lab_105_0:
if (((ats_sum_ptr_type)tmp385)->tag != 20) { goto __ats_lab_106_0 ; }
__ats_lab_105_1:
/* tmp500 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_fltrec(")) ;
/* tmp501 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_106 */
__ats_lab_106_0:
if (((ats_sum_ptr_type)tmp385)->tag != 21) { goto __ats_lab_107_0 ; }
__ats_lab_106_1:
tmp502 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_1) ;
tmp503 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_2) ;
/* tmp504 = */ atspre_fprint_string (arg0, ATSstrcst("INSpatck(")) ;
/* tmp505 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_patck (arg0, tmp502) ;
/* tmp506 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp507 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_patckont (arg0, tmp503) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_107 */
__ats_lab_107_0:
if (((ats_sum_ptr_type)tmp385)->tag != 22) { goto __ats_lab_108_0 ; }
__ats_lab_107_1:
tmp508 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_0) ;
tmp509 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_1) ;
tmp510 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_2) ;
tmp511 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_3) ;
/* tmp512 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_ptrofsel(")) ;
/* tmp513 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp508) ;
/* tmp514 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ;
/* tmp515 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp509) ;
/* tmp516 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp517 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp510) ;
/* tmp518 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp519 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlablst (arg0, tmp511) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_108 */
__ats_lab_108_0:
if (((ats_sum_ptr_type)tmp385)->tag != 23) { goto __ats_lab_109_0 ; }
__ats_lab_108_1:
tmp520 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_0) ;
tmp521 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_1) ;
tmp522 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_2) ;
tmp523 = ats_caselptrlab_mac(anairiats_sum_26, tmp385, atslab_3) ;
/* tmp524 = */ atspre_fprint_string (arg0, ATSstrcst("INSstore_ptrofs(")) ;
/* tmp525 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp520) ;
/* tmp526 = */ atspre_fprint_string (arg0, ATSstrcst("(")) ;
/* tmp527 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp521) ;
/* tmp528 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
/* tmp529 = */ atspre_fprint_string (arg0, ATSstrcst("[")) ;
/* tmp530 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primlablst (arg0, tmp522) ;
/* tmp531 = */ atspre_fprint_string (arg0, ATSstrcst("]")) ;
/* tmp532 = */ atspre_fprint_string (arg0, ATSstrcst(" := ")) ;
/* tmp533 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp523) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_109 */
__ats_lab_109_0:
if (((ats_sum_ptr_type)tmp385)->tag != 24) { goto __ats_lab_110_0 ; }
__ats_lab_109_1:
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst("INSxstore_ptrofs(...)")) ;
break ;

/* branch: __ats_lab_110 */
__ats_lab_110_0:
if (((ats_sum_ptr_type)tmp385)->tag != 25) { goto __ats_lab_111_0 ; }
__ats_lab_110_1:
tmp534 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_0) ;
tmp535 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_1) ;
/* tmp536 = */ atspre_fprint_string (arg0, ATSstrcst("INSraise(")) ;
/* tmp537 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp534) ;
/* tmp538 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp539 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp535) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_111 */
__ats_lab_111_0:
if (((ats_sum_ptr_type)tmp385)->tag != 26) { goto __ats_lab_112_0 ; }
__ats_lab_111_1:
tmp540 = ats_caselptrlab_mac(anairiats_sum_28, tmp385, atslab_0) ;
tmp541 = ats_caselptrlab_mac(anairiats_sum_28, tmp385, atslab_1) ;
tmp542 = ats_caselptrlab_mac(anairiats_sum_28, tmp385, atslab_2) ;
tmp543 = ats_caselptrlab_mac(anairiats_sum_28, tmp385, atslab_3) ;
/* tmp544 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_delay(")) ;
/* tmp545 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp540) ;
/* tmp546 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp547 = */ atspre_fprint_int (arg0, tmp541) ;
/* tmp548 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp549 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp542) ;
/* tmp550 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp551 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp543) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_112 */
__ats_lab_112_0:
if (((ats_sum_ptr_type)tmp385)->tag != 27) { goto __ats_lab_113_0 ; }
__ats_lab_112_1:
tmp552 = ats_caselptrlab_mac(anairiats_sum_28, tmp385, atslab_0) ;
tmp553 = ats_caselptrlab_mac(anairiats_sum_28, tmp385, atslab_1) ;
tmp554 = ats_caselptrlab_mac(anairiats_sum_28, tmp385, atslab_2) ;
tmp555 = ats_caselptrlab_mac(anairiats_sum_28, tmp385, atslab_3) ;
/* tmp556 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_lazyeval(")) ;
/* tmp557 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp552) ;
/* tmp558 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp559 = */ atspre_fprint_int (arg0, tmp553) ;
/* tmp560 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp561 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp554) ;
/* tmp562 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp563 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp555) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_113 */
__ats_lab_113_0:
if (((ats_sum_ptr_type)tmp385)->tag != 28) { goto __ats_lab_114_0 ; }
__ats_lab_113_1:
/* tmp564 = */ atspre_fprint_string (arg0, ATSstrcst("INStrywith(")) ;
/* tmp565 = */ atspre_fprint_string (arg0, ATSstrcst("...")) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_114 */
__ats_lab_114_0:
if (((ats_sum_ptr_type)tmp385)->tag != 29) { goto __ats_lab_115_0 ; }
__ats_lab_114_1:
tmp566 = ats_caselptrlab_mac(anairiats_sum_1, tmp385, atslab_0) ;
/* tmp567 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_list_nil(")) ;
/* tmp568 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp566) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_115 */
__ats_lab_115_0:
if (((ats_sum_ptr_type)tmp385)->tag != 30) { goto __ats_lab_116_0 ; }
__ats_lab_115_1:
tmp569 = ats_caselptrlab_mac(anairiats_sum_1, tmp385, atslab_0) ;
/* tmp570 = */ atspre_fprint_string (arg0, ATSstrcst("INSpmove_list_nil(")) ;
/* tmp571 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp569) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_116 */
__ats_lab_116_0:
if (((ats_sum_ptr_type)tmp385)->tag != 31) { goto __ats_lab_117_0 ; }
__ats_lab_116_1:
tmp572 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_0) ;
tmp573 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_1) ;
/* tmp574 = */ atspre_fprint_string (arg0, ATSstrcst("INSpmove_list_cons(")) ;
/* tmp575 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp572) ;
/* tmp576 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ;
/* tmp577 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp573) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_117 */
__ats_lab_117_0:
if (((ats_sum_ptr_type)tmp385)->tag != 32) { goto __ats_lab_118_0 ; }
__ats_lab_117_1:
tmp578 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_0) ;
tmp579 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_1) ;
tmp580 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_2) ;
/* tmp581 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_list_phead(")) ;
/* tmp582 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp578) ;
/* tmp583 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp584 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp579) ;
/* tmp585 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp586 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp580) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_118 */
__ats_lab_118_0:
if (((ats_sum_ptr_type)tmp385)->tag != 33) { goto __ats_lab_119_0 ; }
__ats_lab_118_1:
tmp587 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_0) ;
tmp588 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_1) ;
tmp589 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_2) ;
/* tmp590 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_list_ptail(")) ;
/* tmp591 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp587) ;
/* tmp592 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp593 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp588) ;
/* tmp594 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp595 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp589) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_119 */
__ats_lab_119_0:
if (((ats_sum_ptr_type)tmp385)->tag != 35) { goto __ats_lab_120_0 ; }
__ats_lab_119_1:
tmp596 = ats_caselptrlab_mac(anairiats_sum_24, tmp385, atslab_0) ;
tmp597 = ats_caselptrlab_mac(anairiats_sum_24, tmp385, atslab_1) ;
/* tmp598 = */ atspre_fprint_string (arg0, ATSstrcst("INSstore_arrpsz_asz(")) ;
/* tmp599 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp596) ;
/* tmp600 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp601 = */ atspre_fprint_int (arg0, tmp597) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_120 */
__ats_lab_120_0:
if (((ats_sum_ptr_type)tmp385)->tag != 36) { goto __ats_lab_121_0 ; }
__ats_lab_120_1:
tmp602 = ats_caselptrlab_mac(anairiats_sum_29, tmp385, atslab_0) ;
tmp603 = ats_caselptrlab_mac(anairiats_sum_29, tmp385, atslab_1) ;
tmp604 = ats_caselptrlab_mac(anairiats_sum_29, tmp385, atslab_2) ;
/* tmp605 = */ atspre_fprint_string (arg0, ATSstrcst("INSstore_arrpsz_ptr(")) ;
/* tmp606 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp602) ;
/* tmp607 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp608 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp603) ;
/* tmp609 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp610 = */ atspre_fprint_int (arg0, tmp604) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_121 */
__ats_lab_121_0:
if (((ats_sum_ptr_type)tmp385)->tag != 34) { goto __ats_lab_122_0 ; }
__ats_lab_121_1:
tmp611 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_0) ;
tmp612 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_1) ;
/* tmp613 = */ atspre_fprint_string (arg0, ATSstrcst("INSmove_arrpsz_ptr(")) ;
/* tmp614 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp611) ;
/* tmp615 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp616 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp612) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_122 */
__ats_lab_122_0:
if (((ats_sum_ptr_type)tmp385)->tag != 37) { goto __ats_lab_123_0 ; }
__ats_lab_122_1:
tmp617 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_0) ;
tmp618 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_1) ;
/* tmp619 = */ atspre_fprint_string (arg0, ATSstrcst("INSupdate_ptrinc(")) ;
/* tmp620 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp617) ;
/* tmp621 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp622 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp618) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_123 */
__ats_lab_123_0:
if (((ats_sum_ptr_type)tmp385)->tag != 38) { goto __ats_lab_124_0 ; }
__ats_lab_123_1:
tmp623 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_0) ;
tmp624 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_1) ;
/* tmp625 = */ atspre_fprint_string (arg0, ATSstrcst("INSupdate_ptrdec(")) ;
/* tmp626 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp623) ;
/* tmp627 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp628 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp624) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_124 */
__ats_lab_124_0:
if (((ats_sum_ptr_type)tmp385)->tag != 39) { goto __ats_lab_125_0 ; }
__ats_lab_124_1:
tmp629 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_0) ;
tmp630 = ats_caselptrlab_mac(anairiats_sum_7, tmp385, atslab_2) ;
/* tmp631 = */ atspre_fprint_string (arg0, ATSstrcst("INSclosure_initize(")) ;
/* tmp632 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp629) ;
/* tmp633 = */ atspre_fprint_string (arg0, ATSstrcst(" <- ")) ;
/* tmp634 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp630) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_125 */
__ats_lab_125_0:
if (((ats_sum_ptr_type)tmp385)->tag != 40) { goto __ats_lab_126_0 ; }
__ats_lab_125_1:
tmp635 = ats_caselptrlab_mac(anairiats_sum_1, tmp385, atslab_0) ;
/* tmp636 = */ atspre_fprint_string (arg0, ATSstrcst("INStmpdec(")) ;
/* tmp637 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvar (arg0, tmp635) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_126 */
__ats_lab_126_0:
if (((ats_sum_ptr_type)tmp385)->tag != 41) { goto __ats_lab_127_0 ; }
__ats_lab_126_1:
tmp638 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_0) ;
tmp639 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_1) ;
/* tmp640 = */ atspre_fprint_string (arg0, ATSstrcst("INSextvar(")) ;
/* tmp641 = */ atspre_fprint_string (arg0, tmp638) ;
/* tmp642 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ;
/* tmp643 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp639) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_127 */
__ats_lab_127_0:
if (((ats_sum_ptr_type)tmp385)->tag != 42) { goto __ats_lab_128_0 ; }
__ats_lab_127_1:
tmp644 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_0) ;
tmp645 = ats_caselptrlab_mac(anairiats_sum_4, tmp385, atslab_1) ;
/* tmp646 = */ atspre_fprint_string (arg0, ATSstrcst("INSdcstdef(")) ;
/* tmp647 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp644) ;
/* tmp648 = */ atspre_fprint_string (arg0, ATSstrcst(" = ")) ;
/* tmp649 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp645) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_128 */
__ats_lab_128_0:
if (((ats_sum_ptr_type)tmp385)->tag != 43) { goto __ats_lab_129_0 ; }
__ats_lab_128_1:
tmp650 = ats_caselptrlab_mac(anairiats_sum_1, tmp385, atslab_0) ;
/* tmp651 = */ atspre_fprint_string (arg0, ATSstrcst("INStempenver(")) ;
/* tmp652 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2varlst (arg0, tmp650) ;
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_129 */
__ats_lab_129_0:
__ats_lab_129_1:
/* tmp384 = */ atspre_fprint_string (arg0, ATSstrcst("INS...(...)")) ;
break ;
} while (0) ;
return /* (tmp384) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instr] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 29621(line=1313, offs=13) -- 29659(line=1313, offs=51)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_instr (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp653) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_instr:
/* tmp653 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instr (stdout, arg0) ;
return /* (tmp653) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__print_instr] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 29682(line=1315, offs=13) -- 29720(line=1315, offs=51)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_instr (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp654) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_instr:
/* tmp654 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instr (stderr, arg0) ;
return /* (tmp654) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_instr] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 29771(line=1321, offs=3) -- 29893(line=1327, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instrlst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp655) ;
// ATSlocal_void (tmp656) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instrlst:
/* tmp656 = */ fprintlst_01887_ats_ptr_type (arg0, arg1, ATSstrcst("\n"), &_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instr) ;
/* tmp655 = */ atspre_fprint_newline (arg0) ;
return /* (tmp655) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instrlst] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 29993(line=1335, offs=5) -- 30398(line=1357, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_36 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
// ATSlocal_void (tmp658) ;
ATSlocal (ats_ptr_type, tmp659) ;
ATSlocal (ats_ptr_type, tmp660) ;
ATSlocal (ats_ptr_type, tmp661) ;
// ATSlocal_void (tmp662) ;
ATSlocal (ats_bool_type, tmp663) ;
// ATSlocal_void (tmp664) ;
// ATSlocal_void (tmp665) ;
// ATSlocal_void (tmp666) ;
ATSlocal (ats_int_type, tmp667) ;

__ats_lab_loop_36:
do {
/* branch: __ats_lab_130 */
__ats_lab_130_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_131_0 ; }
__ats_lab_130_1:
tmp659 = ats_caselptrlab_mac(anairiats_sum_30, arg1, atslab_0) ;
tmp660 = ats_caselptrlab_mac(anairiats_sum_30, arg1, atslab_1) ;
tmp661 = ats_caselptrlab_mac(anairiats_sum_30, arg1, atslab_2) ;
tmp663 = atspre_gt_int_int (arg2, 0) ;
if (tmp663) {
/* tmp662 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp664 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp659) ;
/* tmp665 = */ atspre_fprint_string (arg0, ATSstrcst(" -> ")) ;
/* tmp666 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp660) ;
tmp667 = atspre_add_int_int (arg2, 1) ;
arg0 = arg0 ;
arg1 = tmp661 ;
arg2 = tmp667 ;
goto __ats_lab_loop_36 ; // tail call
break ;

/* branch: __ats_lab_131 */
__ats_lab_131_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_131_1:
break ;
} while (0) ;
return /* (tmp658) */ ;
} /* end of [loop_36] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 29970(line=1333, offs=3) -- 30445(line=1361, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpsub (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp657) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpsub:
/* tmp657 = */ loop_36 (arg0, arg1, 0) ;
return /* (tmp657) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpsub] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 30502(line=1365, offs=3) -- 30751(line=1380, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpsubopt (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp668) ;
ATSlocal (ats_ptr_type, tmp669) ;
// ATSlocal_void (tmp670) ;
// ATSlocal_void (tmp671) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpsubopt:
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:
tmp669 = ats_caselptrlab_mac(anairiats_sum_14, arg1, atslab_0) ;
/* tmp670 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ;
/* tmp671 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpsub (arg0, tmp669) ;
/* tmp668 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_133 */
__ats_lab_133_0:
if (arg1 != (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_print.dats: 30576(line=1372, offs=1) -- 30744(line=1378, offs=28)") ; }
__ats_lab_133_1:
/* tmp668 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ;
break ;
} while (0) ;
return /* (tmp668) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpsubopt] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 30832(line=1386, offs=3) -- 31096(line=1401, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_hifundec2 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp672) ;
ATSlocal (ats_ptr_type, tmp673) ;
ATSlocal (ats_ptr_type, tmp674) ;
// ATSlocal_void (tmp675) ;
// ATSlocal_void (tmp676) ;
// ATSlocal_void (tmp677) ;
// ATSlocal_void (tmp678) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_hifundec2:

tmp673 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp674 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ;
/* tmp675 = */ atspre_fprint_string (arg0, ATSstrcst("HIFUNDEC2(")) ;
/* tmp676 = */ _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__fprint_hifundec (arg0, tmp673) ;
/* tmp677 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp678 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpsub (arg0, tmp674) ;
/* tmp672 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
return /* (tmp672) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_hifundec2] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 31177(line=1407, offs=3) -- 31448(line=1422, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_hiimpdec2 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp679) ;
ATSlocal (ats_ptr_type, tmp680) ;
ATSlocal (ats_ptr_type, tmp681) ;
// ATSlocal_void (tmp682) ;
// ATSlocal_void (tmp683) ;
// ATSlocal_void (tmp684) ;
// ATSlocal_void (tmp685) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_hiimpdec2:

tmp680 = ats_caselptrlab_mac(anairiats_sum_30, arg1, atslab_0) ;
tmp681 = ats_caselptrlab_mac(anairiats_sum_30, arg1, atslab_1) ;
/* tmp682 = */ atspre_fprint_string (arg0, ATSstrcst("HIIMPDEC2(")) ;
/* tmp683 = */ _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__fprint_hiimpdec (arg0, tmp680) ;
/* tmp684 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp685 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpsub (arg0, tmp681) ;
/* tmp679 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
return /* (tmp679) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_hiimpdec2] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 31529(line=1428, offs=3) -- 32407(line=1461, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpcstmat (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp686) ;
ATSlocal (ats_ptr_type, tmp687) ;
ATSlocal (ats_ptr_type, tmp688) ;
// ATSlocal_void (tmp689) ;
// ATSlocal_void (tmp690) ;
ATSlocal (ats_ptr_type, tmp691) ;
// ATSlocal_void (tmp692) ;
// ATSlocal_void (tmp693) ;
ATSlocal (ats_ptr_type, tmp694) ;
// ATSlocal_void (tmp695) ;
// ATSlocal_void (tmp696) ;
ATSlocal (ats_ptr_type, tmp697) ;
// ATSlocal_void (tmp698) ;
// ATSlocal_void (tmp699) ;
ATSlocal (ats_ptr_type, tmp700) ;
ATSlocal (ats_ptr_type, tmp701) ;
// ATSlocal_void (tmp702) ;
// ATSlocal_void (tmp703) ;
// ATSlocal_void (tmp704) ;
// ATSlocal_void (tmp705) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpcstmat:
do {
/* branch: __ats_lab_134 */
__ats_lab_134_0:
if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_135_0 ; }
__ats_lab_134_1:
/* tmp686 = */ atspre_fprint_string (arg0, ATSstrcst("TMPCSTMATnone()")) ;
break ;

/* branch: __ats_lab_135 */
__ats_lab_135_0:
if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_136_0 ; }
__ats_lab_135_1:
tmp687 = ats_caselptrlab_mac(anairiats_sum_29, arg1, atslab_0) ;
tmp688 = ats_caselptrlab_mac(anairiats_sum_29, arg1, atslab_1) ;
/* tmp689 = */ atspre_fprint_string (arg0, ATSstrcst("TMPCSTMATsome(")) ;
tmp691 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp687), atslab_hiimpdec_cst) ;
/* tmp690 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2cst (arg0, tmp691) ;
/* tmp692 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
tmp694 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp687), atslab_hiimpdec_imparg) ;
/* tmp693 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp694) ;
/* tmp695 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
tmp697 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, tmp687), atslab_hiimpdec_tmparg) ;
/* tmp696 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2explstlst (arg0, tmp697) ;
/* tmp698 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp699 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpsub (arg0, tmp688) ;
/* tmp686 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_136 */
__ats_lab_136_0:
// if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_136_1:
tmp700 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_1) ;
tmp701 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_2) ;
/* tmp702 = */ atspre_fprint_string (arg0, ATSstrcst("TMPCSTMATsome2(")) ;
/* tmp703 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp701) ;
/* tmp704 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp705 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2explstlst (arg0, tmp700) ;
/* tmp686 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;
} while (0) ;
return /* (tmp686) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpcstmat] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 32470(line=1464, offs=23) -- 32646(line=1474, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpcstmat_kind (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp706) ;
ATSlocal (ats_int_type, tmp707) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpcstmat_kind:
do {
/* branch: __ats_lab_137 */
__ats_lab_137_0:
if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_138_0 ; }
__ats_lab_137_1:
tmp707 = 0 ;
break ;

/* branch: __ats_lab_138 */
__ats_lab_138_0:
if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_139_0 ; }
__ats_lab_138_1:
tmp707 = 1 ;
break ;

/* branch: __ats_lab_139 */
__ats_lab_139_0:
// if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_139_1:
tmp707 = 2 ;
break ;
} while (0) ;
/* tmp706 = */ atspre_fprint_int (arg0, tmp707) ;
return /* (tmp706) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpcstmat_kind] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 32732(line=1480, offs=3) -- 33527(line=1511, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvarmat (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp708) ;
ATSlocal (ats_ptr_type, tmp709) ;
ATSlocal (ats_ptr_type, tmp710) ;
// ATSlocal_void (tmp711) ;
// ATSlocal_void (tmp712) ;
ATSlocal (ats_ptr_type, tmp713) ;
// ATSlocal_void (tmp714) ;
// ATSlocal_void (tmp715) ;
ATSlocal (ats_ptr_type, tmp716) ;
// ATSlocal_void (tmp717) ;
// ATSlocal_void (tmp718) ;
ATSlocal (ats_ptr_type, tmp719) ;
ATSlocal (ats_ptr_type, tmp720) ;
// ATSlocal_void (tmp721) ;
// ATSlocal_void (tmp722) ;
// ATSlocal_void (tmp723) ;
// ATSlocal_void (tmp724) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvarmat:
do {
/* branch: __ats_lab_140 */
__ats_lab_140_0:
if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_141_0 ; }
__ats_lab_140_1:
/* tmp708 = */ atspre_fprint_string (arg0, ATSstrcst("TMPVARMATnone()")) ;
break ;

/* branch: __ats_lab_141 */
__ats_lab_141_0:
if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_142_0 ; }
__ats_lab_141_1:
tmp709 = ats_caselptrlab_mac(anairiats_sum_29, arg1, atslab_0) ;
tmp710 = ats_caselptrlab_mac(anairiats_sum_29, arg1, atslab_1) ;
/* tmp711 = */ atspre_fprint_string (arg0, ATSstrcst("TMPVARMATsome(")) ;
tmp713 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp709), atslab_hifundec_var) ;
/* tmp712 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp713) ;
/* tmp714 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
tmp716 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp709), atslab_hifundec_imparg) ;
/* tmp715 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2varlst (arg0, tmp716) ;
/* tmp717 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp718 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpsub (arg0, tmp710) ;
/* tmp708 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_142 */
__ats_lab_142_0:
// if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_142_1:
tmp719 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_1) ;
tmp720 = ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_2) ;
/* tmp721 = */ atspre_fprint_string (arg0, ATSstrcst("TMPVARMATsome2(")) ;
/* tmp722 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_funlab (arg0, tmp720) ;
/* tmp723 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp724 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2explstlst (arg0, tmp719) ;
/* tmp708 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;
} while (0) ;
return /* (tmp708) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvarmat] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 33590(line=1514, offs=23) -- 33766(line=1524, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvarmat_kind (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp725) ;
ATSlocal (ats_int_type, tmp726) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvarmat_kind:
do {
/* branch: __ats_lab_143 */
__ats_lab_143_0:
if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_144_0 ; }
__ats_lab_143_1:
tmp726 = 0 ;
break ;

/* branch: __ats_lab_144 */
__ats_lab_144_0:
if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_145_0 ; }
__ats_lab_144_1:
tmp726 = 1 ;
break ;

/* branch: __ats_lab_145 */
__ats_lab_145_0:
// if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_145_1:
tmp726 = 2 ;
break ;
} while (0) ;
/* tmp725 = */ atspre_fprint_int (arg0, tmp726) ;
return /* (tmp725) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_tmpvarmat_kind] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 33875(line=1531, offs=5) -- 34015(line=1537, offs=2)
*/
ATSstaticdec()
ats_void_type
fpr_45 (ats_ptr_type arg0, anairiats_rec_22 arg1) {
/* local vardec */
// ATSlocal_void (tmp728) ;
// ATSlocal_void (tmp729) ;
ATSlocal (ats_ptr_type, tmp730) ;
// ATSlocal_void (tmp731) ;
ATSlocal (ats_ptr_type, tmp732) ;

__ats_lab_fpr_45:
tmp730 = ats_select_mac(arg1, atslab_0) ;
/* tmp729 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2var (arg0, tmp730) ;
/* tmp731 = */ atspre_fprint_string (arg0, ATSstrcst("->")) ;
tmp732 = ats_select_mac(arg1, atslab_1) ;
/* tmp728 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, tmp732) ;
return /* (tmp728) */ ;
} /* end of [fpr_45] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73)
*/
ATSstaticdec()
ats_void_type
loop_47 (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp736) ;
ATSlocal (ats_ptr_type, tmp737) ;

__ats_lab_loop_47:
do {
/* branch: __ats_lab_146 */
__ats_lab_146_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_147_0 ; }
__ats_lab_146_1:
tmp737 = ats_caselptrlab_mac(anairiats_sum_23, arg0, atslab_1) ;
ATS_FREE(arg0) ;
arg0 = tmp737 ;
goto __ats_lab_loop_47 ; // tail call
break ;

/* branch: __ats_lab_147 */
__ats_lab_147_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_147_1:
break ;
} while (0) ;
return /* (tmp736) */ ;
} /* end of [loop_47] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4)
*/
ATSstaticdec()
ats_void_type
list_vt_free_01499_anairiats_rec_22 (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp735) ;

__ats_lab_list_vt_free_01499_anairiats_rec_22:
/* tmp735 = */ loop_47 (arg0) ;
return /* (tmp735) */ ;
} /* end of [list_vt_free_01499_anairiats_rec_22] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_print.dats: 33849(line=1529, offs=17) -- 34184(line=1545, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_vbindmap (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp727) ;
ATSlocal (ats_ptr_type, tmp733) ;
// ATSlocal_void (tmp734) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_vbindmap:
tmp733 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2varmap_listize (arg1) ;
/* tmp734 = */ fprintlst_01887_anairiats_rec_22 (arg0, ats_castfn_mac(ats_ptr_type, tmp733), ATSstrcst("; "), &fpr_45) ;
/* tmp727 = */ list_vt_free_01499_anairiats_rec_22 (tmp733) ;
return /* (tmp727) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_vbindmap] */

/* static load function */

// extern ats_void_type _2tmp_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 _2tmp_2ATS_2dPostiats_2src_2pats_utils_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_utils_2edats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_basics_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__staload (void) ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_print_2edats__staload () {
static int _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_print_2edats__staload_flag = 0 ;
if (_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_print_2edats__staload_flag) return ;
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_print_2edats__staload_flag = 1 ;

// _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload () ;
// ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_utils_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_utils_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_basics_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__staload () ;

return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_print_2edats__dynload_flag ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_print_2edats__dynload () {
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_print_2edats__dynload_flag = 1 ;
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_print_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 () ;
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_2libats_2ngc_2SATS_2deque_arr_2esats__lemma_deque_param_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_encode_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_decode_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_clear_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_insert_beg_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_insert_end_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_remove_beg_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_remove_end_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
_2tmp_2ATS_2dPostiats_2src_2pats_utils_2edats____assert_prfck () ;
_2tmp_2ATS_2dPostiats_2src_2pats_utils_2edats____assert_prfck () ;
#endif /* _ATS_PROOFCHECK */

/* marking static variables for GC */

/* marking external values for GC */

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

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

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

/* end of [pats_ccomp_print_dats.c] */
