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

/* 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_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "libc/CATS/time.cats"

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

typedef
struct {
ats_ptr_type atslab_hisexp_name ;
ats_ptr_type atslab_hisexp_node ;
} anairiats_rec_1 ;

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

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

typedef struct {
ats_ptr_type atslab_0 ;
} anairiats_sum_4 ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* external typedefs */
/* external dynamic constructor declarations */
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__DCSTEXTDEFnone_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__DCSTEXTDEFsome_ext_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__DCSTEXTDEFsome_mac_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__DCSTEXTDEFsome_sta_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__S2Eint_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__S2Eintinf_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__HSLABELED_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__HSEtyarr_7) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__HSEtyrec_8) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__HSEtyrecsin_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__HSEtysum_10) ;
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__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__PMVlamfix_34) ;
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__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__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__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) ;

/* external dynamic constant declarations */
ATSextern_fun(ats_void_type, atspre_assert_errmsg) (ats_bool_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_prerr_newline) () ;
ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_bool) (ats_ptr_type, ats_bool_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ;
ATSextern_fun(ats_bool_type, atspre_char_isalnum) (ats_char_type) ;
ATSextern_fun(ats_bool_type, atspre_char_isprint) (ats_char_type) ;
ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_gte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_isucc) (ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_isub) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_idiv) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_igt) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_size1_of_int1) (ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_add_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_sub_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_mul2_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_lt_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_neq_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_ptr_alloc_tsz) (ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_ptr_zero_tsz) (ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_ref_make_elt_tsz) (ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_stropt_is_none) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ;
ATSextern_fun(ats_ptr_type, ListSubscriptException_make) () ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_alloc_tsz) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_free) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_funenv_tsz) (ats_ref_type, ats_size_type, ats_ptr_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_cloenv_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_split_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(anairiats_rec_0, atspre_array_ptr_takeout2_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_foreach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_iforeach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_array2_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atslib_qsort) (ats_ref_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_intinf_2esats__fprint_intinf) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_varet_type, _2tmp_2ATS_2dPostiats_2src_2pats_error_2esats__abort_interr) () ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_stamp_2esats__fprint_stamp) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_global_2esats__the_STATIC_PREFIX_get) () ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_global_2esats__the_DEBUGATS_dbgflag_get) () ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_global_2esats__the_DEBUGATS_dbgline_get) () ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_get_name) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__filename_get_fullname) (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__prerr_location) (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_location_2esats__fprint2_location) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_line_pragma) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__eq_label_label) (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_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_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_name) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_fil) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_pack) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_name) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_fil) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_tag) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_pack) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_con) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_exn) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_nullary) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_listlike) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_singular) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_linear) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_fil) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_name) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_pack) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_extdef) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_stamp) (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__d2var_get_sym) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__prerr_hisexp) (ats_ptr_type) ;
ATSextern_val(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_typtr) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_int_t0ype) () ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_get_boxknd) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_get_extknd) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_is_void) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_is_tyarr) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_is_tyrecsin) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__labhisexp_get_elt) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmplab_get_stamp) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_loc) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_type) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_isref) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_isret) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_topknd) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_origin) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_suffix) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_stamp) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__d2env_get_var) (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_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_name) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_tmpknd) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_d2copt) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_origin) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_suffix) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_tmparg) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_stamp) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_is_envful) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funent_eval_d2envlst) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_funent) (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__prerr_primlab) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_is_void) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_is_top) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_ptrof) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_instr) (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_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__the_funent_varbindmap_find) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_LPAREN) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_location) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_intinf) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_bool) (ats_ptr_type, ats_bool_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_char) (ats_ptr_type, ats_char_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_float) (ats_ptr_type, ats_double_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_string) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVint) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVintrep) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVbool) (ats_ptr_type, ats_bool_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVchar) (ats_ptr_type, ats_char_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVfloat) (ats_ptr_type, ats_double_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVstring) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_stamp) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_symbol) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_label) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_atslabel) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext) (ats_ptr_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_filename) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primcstsp) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2con) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2cst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_d2cst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2env) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2var_env) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2envlst) (ats_ptr_type, ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tyrep) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_sizeof) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funarg) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_funlab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdec) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdeclst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hisexp_typize) (ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hitype) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp_sel) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primvalist) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primlab) (ats_ptr_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_fcall) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_fcall2) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_extfcall) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_extmcall) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_patck) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ibranchlst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst_ln) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primdeclst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_int_type, atslib_tm_get_min) (ats_ref_type) ;
ATSextern_fun(ats_int_type, atslib_tm_get_hour) (ats_ref_type) ;
ATSextern_fun(ats_int_type, atslib_tm_get_mday) (ats_ref_type) ;
ATSextern_fun(ats_int_type, atslib_tm_get_mon) (ats_ref_type) ;
ATSextern_fun(ats_int_type, atslib_tm_get_year) (ats_ref_type) ;
ATSextern_fun(ats_time_type, atslib_time_get) () ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_arrdim) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_arg) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argref) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argenv) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmp) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmpref) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_env) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_d2cst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_castfn) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selcon) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select2) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selptr) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrofsel) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_vararg) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_refarg) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_funlab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_err) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_con) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_raise) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_val) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_pmove_val) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_ptralloc) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;

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

/* assuming abstract types */
/* sum constructor declarations */
/* exn constructor declarations */
/* global dynamic (non-functional) constant declarations */
/* internal function declarations */
static
ats_void_type prerr_FILENAME_02192_ () ;
static
ats_void_type auxch_14 (ats_ptr_type arg0, ats_char_type arg1) ;
static
ats_void_type auxch2_15 (ats_ptr_type arg0, ats_char_type arg1) ;
static
ats_char_type ptr0_get_01759_ats_char_type (ats_ptr_type arg0) ;
static
ats_char_type ptrget_01763_ats_char_type (ats_ptr_type arg0) ;
static
ats_void_type auxstr_18 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type emit_patsver_27 (ats_ptr_type arg0) ;
static
ats_void_type aux_29 (ats_ptr_type arg0, ats_char_type arg1) ;
static
ats_void_type aux_prfx_38 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type aux_prfx_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_ptr_type ref_01088_ats_int_type (ats_int_type arg0) ;
static
ats_ptr_type ref_make_elt_01089_ats_int_type (ats_int_type arg0) ;
static
ats_void_type emit_tmp_51 (ats_ptr_type arg0) ;
static
ats_void_type emit_statmp_52 (ats_ptr_type arg0) ;
static
ats_void_type auxtmp_53 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type auxmain_55 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type prerr_errccomp_loc_02200_ (ats_ptr_type arg0) ;
static
ats_void_type aux_59 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_void_type auxlst_61 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ;
static
ats_void_type loop_66 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
ats_int_type auxlst_75 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
ats_bool_type testselptr0_81 (ats_ptr_type arg0) ;
static
ats_bool_type list_is_nil_01294_ (ats_ptr_type arg0) ;
static
ats_void_type auxmain_87 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_bool_type list_is_cons_01295_ (ats_ptr_type arg0) ;
static
ats_void_type prerr_interror_loc_02194_ (ats_ptr_type arg0) ;
static
ats_void_type loop_98 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ;
static
ats_void_type auxcon0_100 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_void_type auxtag_101 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_void_type auxarg_102 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_void_type auxcon1_103 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ;
static
ats_void_type auxexn0_104 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_void_type auxexn1_105 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ;
static
ats_void_type loop_108 (ats_ptr_type env0, ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) ;
static
ats_clo_ptr_type loop_108_closure_make (ats_ptr_type env0) ;
static
ats_void_type loop_108_clofun (ats_clo_ptr_type cloptr, ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) ;
static
ats_void_type auxsel_109 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_ptr_type auxfnd_111 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type prerr_interror_02193_ () ;
static
ats_ptr_type auxsel_112 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type loop_115 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_ptr_type auxselist_114 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_bool_type list_vt_is_nil_01494_ (ats_ptr_type arg0) ;
static
ats_void_type auxmain_116 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) ;

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

/* external value variable declarations */

/* function implementations */

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

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

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

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

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_LPAREN:
/* tmp2 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ;
return /* (tmp2) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_LPAREN] */

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN:
/* tmp3 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ;
return /* (tmp3) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN] */

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

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

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_location:
/* tmp5 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_location (arg0, arg1) ;
return /* (tmp5) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_location] */

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

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

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_intinf:
/* tmp7 = */ _2tmp_2ATS_2dPostiats_2src_2pats_intinf_2esats__fprint_intinf (arg0, arg1) ;
return /* (tmp7) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_intinf] */

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVint:
/* tmp9 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVint(")) ;
/* tmp10 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, arg1) ;
/* tmp8 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp8) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVint] */

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVintrep:
/* tmp12 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVintrep(")) ;
/* tmp13 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, arg1) ;
/* tmp11 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp11) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVintrep] */

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

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

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVbool:
/* tmp16 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVbool_")) ;
/* tmp17 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_bool (arg0, arg1) ;
/* tmp15 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("()")) ;
return /* (tmp15) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVbool] */

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

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

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVfloat:
/* tmp20 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVfloat(")) ;
/* tmp21 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_float (arg0, arg1) ;
/* tmp19 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ;
return /* (tmp19) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVfloat] */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVchar:
/* tmp37 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVchar('")) ;
/* tmp38 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_char (arg0, arg1) ;
/* tmp36 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("')")) ;
return /* (tmp36) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVchar] */

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVstring:
/* tmp40 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVstring(\"")) ;
/* tmp41 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_string (arg0, arg1) ;
/* tmp39 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\")")) ;
return /* (tmp39) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVstring] */

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt:
/* tmp43 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVi0nt(")) ;
/* tmp44 = */ _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__fprint_i0nt (arg0, arg1) ;
/* tmp42 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp42) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt] */

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat:
/* tmp46 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVf0loat(")) ;
/* tmp47 = */ _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__fprint_f0loat (arg0, arg1) ;
/* tmp45 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp45) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat] */

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_stamp:
/* tmp48 = */ _2tmp_2ATS_2dPostiats_2src_2pats_stamp_2esats__fprint_stamp (arg0, arg1) ;
return /* (tmp48) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_stamp] */

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_symbol:
/* tmp49 = */ _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbol (arg0, arg1) ;
return /* (tmp49) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_symbol] */

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

__ats_lab_emit_patsver_27:
/* tmp51 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, 0) ;
/* tmp52 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("-")) ;
/* tmp53 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, 4) ;
/* tmp54 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("-")) ;
/* tmp50 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, 1) ;
return /* (tmp50) */ ;
} /* end of [emit_patsver_27] */

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

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

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

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

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

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

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

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

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

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_label:
/* tmp87 = */ _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__fprint_label (arg0, arg1) ;
return /* (tmp87) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_label] */

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_atslabel:
/* tmp89 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("atslab__")) ;
/* tmp88 = */ _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__fprint_label (arg0, arg1) ;
return /* (tmp88) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_atslabel] */

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext:
tmp91 = atspre_gt_int_int (arg1, 0) ;
if (tmp91) {
/* tmp90 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_label (arg0, arg2) ;
} else {
/* tmp90 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_atslabel (arg0, arg2) ;
} /* end of [if] */
return /* (tmp90) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext] */

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

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_filename:
tmp93 = _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__filename_get_fullname (arg1) ;
tmp94 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_get_name (tmp93) ;
/* tmp92 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp94) ;
return /* (tmp92) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_filename] */

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

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

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

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

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 10304(line=535, offs=3) -- 10452(line=546, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tyrep (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp105) ;
// ATSlocal_void (tmp106) ;
// ATSlocal_void (tmp107) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tyrep:
/* tmp106 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVtyrep(")) ;
/* tmp107 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, arg1) ;
/* tmp105 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp105) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tyrep] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 10522(line=552, offs=3) -- 10664(line=563, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_sizeof (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp108) ;
// ATSlocal_void (tmp109) ;
// ATSlocal_void (tmp110) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_sizeof:
/* tmp109 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVsizeof(")) ;
/* tmp110 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, arg1) ;
/* tmp108 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp108) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_sizeof] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 10725(line=570, offs=1) -- 11066(line=591, offs=4)
*/
ATSstaticdec()
ats_void_type
aux_prfx_38 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp111) ;
ATSlocal (ats_ptr_type, tmp112) ;
ATSlocal (ats_bool_type, tmp113) ;
ATSlocal (ats_ptr_type, tmp114) ;

__ats_lab_aux_prfx_38:
tmp112 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_pack (arg1) ;
tmp113 = atspre_stropt_is_some (tmp112) ;
if (tmp113) {
/* tmp111 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, ats_castfn_mac(ats_ptr_type, tmp112)) ;
} else {
tmp114 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_fil (arg1) ;
/* tmp111 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_filename (arg0, tmp114) ;
} /* end of [if] */
return /* (tmp111) */ ;
} /* end of [aux_prfx_38] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 11136(line=597, offs=3) -- 11309(line=604, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_s2cst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp115) ;
// ATSlocal_void (tmp116) ;
// ATSlocal_void (tmp117) ;
ATSlocal (ats_ptr_type, tmp118) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_s2cst:
/* tmp116 = */ aux_prfx_38 (arg0, arg1) ;
/* tmp117 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ;
tmp118 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_name (arg1) ;
/* tmp115 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp118) ;
return /* (tmp115) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_s2cst] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 11389(line=613, offs=1) -- 11671(line=632, offs=4)
*/
ATSstaticdec()
ats_void_type
aux_prfx_40 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp119) ;
ATSlocal (ats_bool_type, tmp120) ;

__ats_lab_aux_prfx_40:
tmp120 = atspre_stropt_is_none (arg2) ;
if (tmp120) {
/* tmp119 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_filename (arg0, arg1) ;
} else {
/* tmp119 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, ats_castfn_mac(ats_ptr_type, arg2)) ;
} /* end of [if] */
return /* (tmp119) */ ;
} /* end of [aux_prfx_40] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 11741(line=638, offs=3) -- 12211(line=664, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2con (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp121) ;
ATSlocal (ats_ptr_type, tmp122) ;
ATSlocal (ats_ptr_type, tmp123) ;
// ATSlocal_void (tmp124) ;
ATSlocal (ats_ptr_type, tmp125) ;
// ATSlocal_void (tmp126) ;
// ATSlocal_void (tmp127) ;
ATSlocal (ats_int_type, tmp128) ;
ATSlocal (ats_bool_type, tmp129) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2con:
tmp122 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_fil (arg1) ;
tmp123 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_pack (arg1) ;
/* tmp124 = */ aux_prfx_40 (arg0, tmp122, tmp123) ;
tmp125 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_name (arg1) ;
/* tmp126 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ;
/* tmp127 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp125) ;
tmp128 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_tag (arg1) ;
tmp129 = atspre_gte_int_int (tmp128, 0) ;
if (tmp129) {
/* tmp121 = */ atspre_fprintf_exn (arg0, ATSstrcst("__%i"), tmp128) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp121) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2con] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 12283(line=670, offs=3) -- 13087(line=706, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp130) ;
ATSlocal (ats_ptr_type, tmp131) ;
ATSlocal (ats_int_type, tmp132) ;
ATSlocal (ats_ptr_type, tmp133) ;
ATSlocal (ats_ptr_type, tmp134) ;
// ATSlocal_void (tmp135) ;
// ATSlocal_void (tmp136) ;
ATSlocal (ats_ptr_type, tmp137) ;
// ATSlocal_void (tmp138) ;
ATSlocal (ats_bool_type, tmp139) ;
// ATSlocal_void (tmp140) ;
ATSlocal (ats_int_type, tmp141) ;
ATSlocal (ats_ptr_type, tmp142) ;
ATSlocal (ats_ptr_type, tmp143) ;
ATSlocal (ats_ptr_type, tmp144) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2cst:
tmp131 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_extdef (arg1) ;
do {
/* branch: __ats_lab_17 */
__ats_lab_17_0:
if (((ats_sum_ptr_type)tmp131)->tag != 0) { goto __ats_lab_18_0 ; }
__ats_lab_17_1:
tmp132 = ats_caselptrlab_mac(anairiats_sum_3, tmp131, atslab_0) ;
tmp133 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_fil (arg1) ;
tmp134 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_pack (arg1) ;
/* tmp135 = */ aux_prfx_40 (arg0, tmp133, tmp134) ;
/* tmp136 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ;
tmp137 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_name (arg1) ;
/* tmp138 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp137) ;
tmp139 = atspre_eq_int_int (tmp132, 0) ;
if (tmp139) {
/* tmp140 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ;
tmp141 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_stamp (arg1) ;
/* tmp130 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_stamp (arg0, tmp141) ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_18 */
__ats_lab_18_0:
if (((ats_sum_ptr_type)tmp131)->tag != 1) { goto __ats_lab_19_0 ; }
__ats_lab_18_1:
tmp142 = ats_caselptrlab_mac(anairiats_sum_2, tmp131, atslab_0) ;
/* tmp130 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp142) ;
break ;

/* branch: __ats_lab_19 */
__ats_lab_19_0:
if (((ats_sum_ptr_type)tmp131)->tag != 2) { goto __ats_lab_20_0 ; }
__ats_lab_19_1:
tmp143 = ats_caselptrlab_mac(anairiats_sum_2, tmp131, atslab_0) ;
/* tmp130 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp143) ;
break ;

/* branch: __ats_lab_20 */
__ats_lab_20_0:
// if (((ats_sum_ptr_type)tmp131)->tag != 3) { ats_deadcode_failure_handle () ; }
__ats_lab_20_1:
tmp144 = ats_caselptrlab_mac(anairiats_sum_2, tmp131, atslab_0) ;
/* tmp130 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp144) ;
break ;
} while (0) ;
return /* (tmp130) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2cst] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 13180(line=714, offs=3) -- 13236(line=714, offs=59)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp145) ;
ATSlocal (ats_ptr_type, tmp146) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_d2cst:
tmp146 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_name (arg1) ;
/* tmp145 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp146) ;
return /* (tmp145) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_d2cst] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 13307(line=721, offs=3) -- 13429(line=727, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp147) ;
// ATSlocal_void (tmp148) ;
ATSlocal (ats_int_type, tmp149) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab:
/* tmp148 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__atstmplab")) ;
tmp149 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmplab_get_stamp (arg1) ;
/* tmp147 = */ _2tmp_2ATS_2dPostiats_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp149) ;
return /* (tmp147) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 13482(line=731, offs=3) -- 13596(line=736, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplabint (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
// ATSlocal_void (tmp150) ;
// ATSlocal_void (tmp151) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplabint:
/* tmp151 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, arg1) ;
/* tmp150 = */ atspre_fprintf_exn (arg0, ATSstrcst("__%i"), arg2) ;
return /* (tmp150) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplabint] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4)
*/
ATSstaticdec()
ats_ptr_type
ref_01088_ats_int_type (ats_int_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp154) ;
ATSlocal (ats_int_type, tmp155) ;

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

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/reference.dats: 1994(line=62, offs=27) -- 2009(line=62, offs=42)
*/
ATSstaticdec()
ats_ptr_type
ref_make_elt_01089_ats_int_type (ats_int_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp153) ;

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

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 13739(line=747, offs=15) -- 13766(line=747, offs=42)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_set_nfnx (ats_int_type arg0) {
/* local vardec */
// ATSlocal_void (tmp156) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_set_nfnx:
ats_ptrget_mac(ats_int_type, statmp152) = arg0 ;
return /* (tmp156) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_set_nfnx] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 13793(line=751, offs=3) -- 13963(line=758, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funarg (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp157) ;
ATSlocal (ats_int_type, tmp158) ;
ATSlocal (ats_bool_type, tmp159) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funarg:
tmp158 = ats_ptrget_mac(ats_int_type, statmp152) ;
tmp159 = atspre_lte_int_int (tmp158, 1) ;
if (tmp159) {
/* tmp157 = */ atspre_fprintf_exn (arg0, ATSstrcst("arg%i"), arg1) ;
} else {
/* tmp157 = */ atspre_fprintf_exn (arg0, ATSstrcst("a%irg%i"), tmp158, arg1) ;
} /* end of [if] */
return /* (tmp157) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funarg] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 14013(line=762, offs=3) -- 14169(line=772, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funapy (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp160) ;
ATSlocal (ats_int_type, tmp161) ;
ATSlocal (ats_bool_type, tmp162) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funapy:
tmp161 = ats_ptrget_mac(ats_int_type, statmp152) ;
tmp162 = atspre_lte_int_int (tmp161, 1) ;
if (tmp162) {
/* tmp160 = */ atspre_fprintf_exn (arg0, ATSstrcst("apy%i"), arg1) ;
} else {
/* tmp160 = */ atspre_fprintf_exn (arg0, ATSstrcst("a%ipy%i"), tmp161, arg1) ;
} /* end of [if] */
return /* (tmp160) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funapy] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 14245(line=779, offs=1) -- 14304(line=782, offs=34)
*/
ATSstaticdec()
ats_void_type
emit_tmp_51 (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp163) ;

__ats_lab_emit_tmp_51:
/* tmp163 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("tmp")) ;
return /* (tmp163) */ ;
} /* end of [emit_tmp_51] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 14312(line=785, offs=1) -- 14537(line=799, offs=4)
*/
ATSstaticdec()
ats_void_type
emit_statmp_52 (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp164) ;
ATSlocal (ats_ptr_type, tmp165) ;
// ATSlocal_void (tmp166) ;
ATSlocal (ats_bool_type, tmp167) ;

__ats_lab_emit_statmp_52:
tmp165 = _2tmp_2ATS_2dPostiats_2src_2pats_global_2esats__the_STATIC_PREFIX_get () ;
tmp167 = atspre_stropt_is_some (tmp165) ;
if (tmp167) {
/* tmp166 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ats_castfn_mac(ats_ptr_type, tmp165)) ;
} else {
/* empty */
} /* end of [if] */
/* tmp164 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("statmp")) ;
return /* (tmp164) */ ;
} /* end of [emit_statmp_52] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 14600(line=805, offs=5) -- 15459(line=846, offs=4)
*/
ATSstaticdec()
ats_void_type
auxtmp_53 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp168) ;
ATSlocal (ats_int_type, tmp169) ;
// ATSlocal_void (tmp170) ;
ATSlocal (ats_bool_type, tmp171) ;
ATSlocal (ats_bool_type, tmp172) ;
// ATSlocal_void (tmp173) ;
ATSlocal (ats_bool_type, tmp174) ;
// ATSlocal_void (tmp175) ;
ATSlocal (ats_ptr_type, tmp176) ;
ATSlocal (ats_ptr_type, tmp177) ;
ATSlocal (ats_int_type, tmp178) ;
ATSlocal (ats_int_type, tmp179) ;
// ATSlocal_void (tmp180) ;
ATSlocal (ats_int_type, tmp181) ;

__ats_lab_auxtmp_53:
tmp169 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_topknd (arg1) ;
do {
/* branch: __ats_lab_21 */
__ats_lab_21_0:
__ats_lab_21_1:
tmp171 = atspre_eq_int_int (tmp169, 0) ;
if (!tmp171) { goto __ats_lab_22_1 ; }
/* tmp170 = */ emit_tmp_51 (arg0) ;
break ;

/* branch: __ats_lab_22 */
__ats_lab_22_0:
__ats_lab_22_1:
/* tmp170 = */ emit_statmp_52 (arg0) ;
break ;
} while (0) ;
tmp172 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_isref (arg1) ;
if (tmp172) {
/* tmp173 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ref")) ;
} else {
/* empty */
} /* end of [if] */
tmp174 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_isret (arg1) ;
if (tmp174) {
/* tmp175 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ret")) ;
} else {
/* empty */
} /* end of [if] */
tmp176 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_origin (arg1) ;
do {
/* branch: __ats_lab_23 */
__ats_lab_23_0:
if (tmp176 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; }
__ats_lab_23_1:
tmp177 = ats_caselptrlab_mac(anairiats_sum_4, tmp176, atslab_0) ;
tmp178 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_suffix (arg1) ;
tmp179 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_stamp (tmp177) ;
/* tmp180 = */ _2tmp_2ATS_2dPostiats_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp179) ;
/* tmp168 = */ atspre_fprintf_exn (arg0, ATSstrcst("__%i"), tmp178) ;
break ;

/* branch: __ats_lab_24 */
__ats_lab_24_0:
// if (tmp176 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_24_1:
tmp181 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_stamp (arg1) ;
/* tmp168 = */ _2tmp_2ATS_2dPostiats_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp181) ;
break ;
} while (0) ;
return /* (tmp168) */ ;
} /* end of [auxtmp_53] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 15526(line=851, offs=13) -- 15556(line=851, offs=43)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp182) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar:
/* tmp182 = */ auxtmp_53 (arg0, arg1) ;
return /* (tmp182) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 15613(line=859, offs=5) -- 16285(line=897, offs=4)
*/
ATSstaticdec()
ats_void_type
auxmain_55 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp183) ;
ATSlocal (ats_ptr_type, tmp184) ;
ATSlocal (ats_ptr_type, tmp185) ;
// ATSlocal_void (tmp186) ;
ATSlocal (ats_ptr_type, tmp187) ;
ATSlocal (ats_ptr_type, tmp188) ;
ATSlocal (ats_int_type, tmp189) ;
ATSlocal (ats_bool_type, tmp190) ;
// ATSlocal_void (tmp191) ;
ATSlocal (ats_int_type, tmp192) ;

__ats_lab_auxmain_55:
tmp184 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_d2copt (arg1) ;
tmp185 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_tmparg (arg1) ;
do {
/* branch: __ats_lab_25 */
__ats_lab_25_0:
if (tmp184 == (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; }
__ats_lab_25_1:
tmp187 = ats_caselptrlab_mac(anairiats_sum_4, tmp184, atslab_0) ;
/* tmp186 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2cst (arg0, tmp187) ;
break ;

/* branch: __ats_lab_26 */
__ats_lab_26_0:
// if (tmp184 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_26_1:
tmp188 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_name (arg1) ;
/* tmp186 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp188) ;
break ;
} while (0) ;
tmp189 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_tmpknd (arg1) ;
tmp190 = atspre_gt_int_int (tmp189, 0) ;
if (tmp190) {
/* tmp191 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__")) ;
tmp192 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_stamp (arg1) ;
/* tmp183 = */ _2tmp_2ATS_2dPostiats_2src_2pats_stamp_2esats__fprint_stamp (arg0, tmp192) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp183) */ ;
} /* end of [auxmain_55] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 16355(line=903, offs=3) -- 16681(line=922, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp193) ;
ATSlocal (ats_ptr_type, tmp194) ;
// ATSlocal_void (tmp195) ;
ATSlocal (ats_ptr_type, tmp196) ;
ATSlocal (ats_int_type, tmp197) ;
ATSlocal (ats_bool_type, tmp198) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab:
tmp194 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_origin (arg1) ;
do {
/* branch: __ats_lab_27 */
__ats_lab_27_0:
if (tmp194 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; }
__ats_lab_27_1:
tmp196 = ats_caselptrlab_mac(anairiats_sum_4, tmp194, atslab_0) ;
/* tmp195 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp196) ;
break ;

/* branch: __ats_lab_28 */
__ats_lab_28_0:
// if (tmp194 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_28_1:
/* tmp195 = */ auxmain_55 (arg0, arg1) ;
break ;
} while (0) ;
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_suffix (arg1) ;
tmp198 = atspre_gt_int_int (tmp197, 0) ;
if (tmp198) {
/* tmp193 = */ atspre_fprintf_exn (arg0, ATSstrcst("__%i"), tmp197) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp193) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 16732(line=926, offs=3) -- 16999(line=940, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_funlab (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp199) ;
ATSlocal (ats_ptr_type, tmp200) ;
ATSlocal (ats_ptr_type, tmp201) ;
ATSlocal (ats_ptr_type, tmp202) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_funlab:
tmp200 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_d2copt (arg1) ;
do {
/* branch: __ats_lab_29 */
__ats_lab_29_0:
if (tmp200 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; }
__ats_lab_29_1:
tmp202 = ats_caselptrlab_mac(anairiats_sum_4, tmp200, atslab_0) ;
tmp201 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_name (tmp202) ;
break ;

/* branch: __ats_lab_30 */
__ats_lab_30_0:
// if (tmp200 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_30_1:
tmp201 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_name (arg1) ;
break ;
} while (0) ;
/* tmp199 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ident (arg0, tmp201) ;
return /* (tmp199) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_funlab] */

/*
// /tmp/ATS-Postiats/src/pats_errmsg.dats: 2599(line=102, offs=20) -- 2662(line=105, offs=2)
*/
ATSstaticdec()
ats_void_type
prerr_errccomp_loc_02200_ (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp209) ;
// ATSlocal_void (tmp210) ;

__ats_lab_prerr_errccomp_loc_02200_:
/* tmp210 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location (arg0) ;
/* tmp209 = */ atspre_prerr_string (ATSstrcst(": error(ccomp)")) ;
return /* (tmp209) */ ;
} /* end of [prerr_errccomp_loc_02200_] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 17227(line=958, offs=5) -- 17703(line=982, offs=4)
*/
ATSstaticdec()
ats_void_type
aux_59 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp204) ;
ATSlocal (ats_ptr_type, tmp205) ;
ATSlocal (ats_int_type, tmp206) ;
ATSlocal (ats_ptr_type, tmp207) ;
// ATSlocal_void (tmp208) ;
ATSlocal (ats_ptr_type, tmp211) ;
// ATSlocal_void (tmp212) ;
// ATSlocal_void (tmp213) ;

__ats_lab_aux_59:
tmp205 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_5, arg2), atslab_s2exp_node) ;
do {
/* branch: __ats_lab_31 */
__ats_lab_31_0:
if (((ats_sum_ptr_type)tmp205)->tag != 0) { goto __ats_lab_32_0 ; }
__ats_lab_31_1:
tmp206 = ats_caselptrlab_mac(anairiats_sum_3, tmp205, atslab_0) ;
/* tmp204 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, tmp206) ;
break ;

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

/* branch: __ats_lab_33 */
__ats_lab_33_0:
__ats_lab_33_1:
tmp211 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_loc (arg1) ;
/* tmp208 = */ prerr_errccomp_loc_02200_ (tmp211) ;
/* tmp212 = */ atspre_prerr_string (ATSstrcst(": the size of a stack-allocated array cannot be determined. ")) ;
/* tmp213 = */ atspre_prerr_newline () ;
/* tmp204 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSERRORarrdim_unknown()")) ;
break ;
} while (0) ;
return /* (tmp204) */ ;
} /* end of [aux_59] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 17727(line=984, offs=5) -- 18063(line=1003, offs=4)
*/
ATSstaticdec()
ats_void_type
auxlst_61 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) {
/* local vardec */
// ATSlocal_void (tmp214) ;
ATSlocal (ats_ptr_type, tmp215) ;
ATSlocal (ats_ptr_type, tmp216) ;
// ATSlocal_void (tmp217) ;
ATSlocal (ats_bool_type, tmp218) ;
// ATSlocal_void (tmp219) ;
ATSlocal (ats_int_type, tmp220) ;

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

/* branch: __ats_lab_35 */
__ats_lab_35_0:
// if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_35_1:
tmp215 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ;
tmp216 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_1) ;
tmp218 = atspre_gt_int_int (arg3, 0) ;
if (tmp218) {
/* tmp217 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("][")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp219 = */ aux_59 (arg0, arg1, tmp215) ;
tmp220 = atspre_add_int_int (arg3, 1) ;
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = tmp216 ;
arg3 = tmp220 ;
goto __ats_lab_auxlst_61 ; // tail call
break ;
} while (0) ;
return /* (tmp214) */ ;
} /* end of [auxlst_61] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 17197(line=956, offs=3) -- 18168(line=1007, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_arrdim (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp203) ;
// ATSlocal_void (tmp221) ;
// ATSlocal_void (tmp222) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_arrdim:
/* tmp221 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("[")) ;
/* tmp222 = */ auxlst_61 (arg0, arg1, arg2, 0) ;
/* tmp203 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("]")) ;
return /* (tmp203) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_arrdim] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 18239(line=1013, offs=3) -- 19281(line=1076, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdec (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp223) ;
ATSlocal (ats_ptr_type, tmp224) ;
ATSlocal (ats_int_type, tmp225) ;
ATSlocal (ats_bool_type, tmp226) ;
// ATSlocal_void (tmp227) ;
// ATSlocal_void (tmp228) ;
ATSlocal (ats_bool_type, tmp229) ;
// ATSlocal_void (tmp230) ;
// ATSlocal_void (tmp231) ;
// ATSlocal_void (tmp232) ;
// ATSlocal_void (tmp233) ;
ATSlocal (ats_ptr_type, tmp234) ;
ATSlocal (ats_ptr_type, tmp235) ;
// ATSlocal_void (tmp236) ;
ATSlocal (ats_bool_type, tmp237) ;
// ATSlocal_void (tmp238) ;
ATSlocal (ats_ptr_type, tmp239) ;
ATSlocal (ats_ptr_type, tmp240) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdec:
tmp224 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_type (arg1) ;
tmp225 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmpvar_get_topknd (arg1) ;
tmp226 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_is_void (tmp224) ;
if (tmp226) {
/* tmp227 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("// ")) ;
} else {
/* empty */
} /* end of [if] */
tmp229 = atspre_eq_int_int (tmp225, 0) ;
if (tmp229) {
/* tmp228 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStmpdec")) ;
} else {
/* tmp228 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSstatmpdec")) ;
} /* end of [if] */
if (tmp226) {
/* tmp230 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_void")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp231 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ;
/* tmp232 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
tmp234 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp224), atslab_hisexp_node) ;
do {
/* branch: __ats_lab_36 */
__ats_lab_36_0:
if (((ats_sum_ptr_type)tmp234)->tag != 7) { goto __ats_lab_37_0 ; }
__ats_lab_36_1:
tmp235 = ats_caselptrlab_mac(anairiats_sum_7, tmp234, atslab_1) ;
/* tmp233 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_arrdim (arg0, arg1, tmp235) ;
break ;

/* branch: __ats_lab_37 */
__ats_lab_37_0:
__ats_lab_37_1:
break ;
} while (0) ;
tmp237 = atspre_neg_bool (tmp226) ;
if (tmp237) {
/* tmp238 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
tmp239 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp224), atslab_hisexp_node) ;
do {
/* branch: __ats_lab_38 */
__ats_lab_38_0:
if (((ats_sum_ptr_type)tmp239)->tag != 7) { goto __ats_lab_39_0 ; }
__ats_lab_38_1:
tmp240 = ats_caselptrlab_mac(anairiats_sum_7, tmp239, atslab_0) ;
/* tmp236 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp240) ;
break ;

/* branch: __ats_lab_39 */
__ats_lab_39_0:
__ats_lab_39_1:
/* tmp236 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp224) ;
break ;
} while (0) ;
} else {
/* empty */
} /* end of [if] */
/* tmp223 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
return /* (tmp223) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdec] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 19355(line=1082, offs=3) -- 19548(line=1092, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdeclst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp241) ;
ATSlocal (ats_ptr_type, tmp242) ;
ATSlocal (ats_ptr_type, tmp243) ;
// ATSlocal_void (tmp244) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdeclst:
do {
/* branch: __ats_lab_40 */
__ats_lab_40_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_41_0 ; }
__ats_lab_40_1:
tmp242 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp243 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ;
/* tmp244 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdec (arg0, tmp242) ;
arg0 = arg0 ;
arg1 = tmp243 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpdeclst ; // tail call
break ;

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

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 20769(line=1137, offs=3) -- 22809(line=1213, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp245) ;
ATSlocal (ats_ptr_type, tmp246) ;
ATSlocal (ats_ptr_type, tmp247) ;
ATSlocal (ats_int_type, tmp248) ;
ATSlocal (ats_ptr_type, tmp249) ;
ATSlocal (ats_bool_type, tmp250) ;
ATSlocal (ats_char_type, tmp251) ;
ATSlocal (ats_double_type, tmp252) ;
ATSlocal (ats_ptr_type, tmp253) ;
ATSlocal (ats_ptr_type, tmp254) ;
ATSlocal (ats_ptr_type, tmp255) ;
ATSlocal (ats_ptr_type, tmp256) ;
ATSlocal (ats_ptr_type, tmp257) ;
ATSlocal (ats_ptr_type, tmp258) ;
ATSlocal (ats_ptr_type, tmp259) ;
ATSlocal (ats_ptr_type, tmp260) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval:
tmp246 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_loc) ;
tmp247 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
do {
/* branch: __ats_lab_42 */
__ats_lab_42_0:
if (((ats_sum_ptr_type)tmp247)->tag != 0) { goto __ats_lab_43_0 ; }
__ats_lab_42_1:
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmp (arg0, arg1) ;
break ;

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

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

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

/* branch: __ats_lab_46 */
__ats_lab_46_0:
if (((ats_sum_ptr_type)tmp247)->tag != 4) { goto __ats_lab_47_0 ; }
__ats_lab_46_1:
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argenv (arg0, arg1) ;
break ;

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

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

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

/* branch: __ats_lab_50 */
__ats_lab_50_0:
if (((ats_sum_ptr_type)tmp247)->tag != 9) { goto __ats_lab_51_0 ; }
__ats_lab_50_1:
tmp249 = ats_caselptrlab_mac(anairiats_sum_2, tmp247, atslab_0) ;
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVintrep (arg0, tmp249) ;
break ;

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

/* branch: __ats_lab_52 */
__ats_lab_52_0:
if (((ats_sum_ptr_type)tmp247)->tag != 11) { goto __ats_lab_53_0 ; }
__ats_lab_52_1:
tmp251 = ats_caselptrlab_mac(anairiats_sum_10, tmp247, atslab_0) ;
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVchar (arg0, tmp251) ;
break ;

/* branch: __ats_lab_53 */
__ats_lab_53_0:
if (((ats_sum_ptr_type)tmp247)->tag != 12) { goto __ats_lab_54_0 ; }
__ats_lab_53_1:
tmp252 = ats_caselptrlab_mac(anairiats_sum_11, tmp247, atslab_0) ;
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVfloat (arg0, tmp252) ;
break ;

/* branch: __ats_lab_54 */
__ats_lab_54_0:
if (((ats_sum_ptr_type)tmp247)->tag != 13) { goto __ats_lab_55_0 ; }
__ats_lab_54_1:
tmp253 = ats_caselptrlab_mac(anairiats_sum_2, tmp247, atslab_0) ;
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVstring (arg0, tmp253) ;
break ;

/* branch: __ats_lab_55 */
__ats_lab_55_0:
if (((ats_sum_ptr_type)tmp247)->tag != 14) { goto __ats_lab_56_0 ; }
__ats_lab_55_1:
tmp254 = ats_caselptrlab_mac(anairiats_sum_2, tmp247, atslab_0) ;
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVi0nt (arg0, tmp254) ;
break ;

/* branch: __ats_lab_56 */
__ats_lab_56_0:
if (((ats_sum_ptr_type)tmp247)->tag != 15) { goto __ats_lab_57_0 ; }
__ats_lab_56_1:
tmp255 = ats_caselptrlab_mac(anairiats_sum_2, tmp247, atslab_0) ;
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ATSPMVf0loat (arg0, tmp255) ;
break ;

/* branch: __ats_lab_57 */
__ats_lab_57_0:
if (((ats_sum_ptr_type)tmp247)->tag != 16) { goto __ats_lab_58_0 ; }
__ats_lab_57_1:
tmp256 = ats_caselptrlab_mac(anairiats_sum_2, tmp247, atslab_0) ;
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primcstsp (arg0, tmp256) ;
break ;

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

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

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

/* branch: __ats_lab_61 */
__ats_lab_61_0:
if (((ats_sum_ptr_type)tmp247)->tag != 22) { goto __ats_lab_62_0 ; }
__ats_lab_61_1:
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_castfn (arg0, arg1) ;
break ;

/* branch: __ats_lab_62 */
__ats_lab_62_0:
if (((ats_sum_ptr_type)tmp247)->tag != 17) { goto __ats_lab_63_0 ; }
__ats_lab_62_1:
tmp258 = ats_caselptrlab_mac(anairiats_sum_2, tmp247, atslab_0) ;
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tyrep (arg0, tmp258) ;
break ;

/* branch: __ats_lab_63 */
__ats_lab_63_0:
if (((ats_sum_ptr_type)tmp247)->tag != 18) { goto __ats_lab_64_0 ; }
__ats_lab_63_1:
tmp259 = ats_caselptrlab_mac(anairiats_sum_2, tmp247, atslab_0) ;
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_sizeof (arg0, tmp259) ;
break ;

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

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

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

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

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

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

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

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

/* branch: __ats_lab_72 */
__ats_lab_72_0:
if (((ats_sum_ptr_type)tmp247)->tag != 31) { goto __ats_lab_73_0 ; }
__ats_lab_72_1:
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_funlab (arg0, arg1) ;
break ;

/* branch: __ats_lab_73 */
__ats_lab_73_0:
if (((ats_sum_ptr_type)tmp247)->tag != 32) { goto __ats_lab_74_0 ; }
__ats_lab_73_1:
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab (arg0, arg1) ;
break ;

/* branch: __ats_lab_74 */
__ats_lab_74_0:
if (((ats_sum_ptr_type)tmp247)->tag != 34) { goto __ats_lab_75_0 ; }
__ats_lab_74_1:
tmp260 = ats_caselptrlab_mac(anairiats_sum_7, tmp247, atslab_1) ;
arg0 = arg0 ;
arg1 = tmp260 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval ; // tail call
break ;

/* branch: __ats_lab_75 */
__ats_lab_75_0:
if (((ats_sum_ptr_type)tmp247)->tag != 39) { goto __ats_lab_76_0 ; }
__ats_lab_75_1:
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_err (arg0, arg1) ;
break ;

/* branch: __ats_lab_76 */
__ats_lab_76_0:
__ats_lab_76_1:
/* tmp245 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_primval (arg0, arg1) ;
break ;
} while (0) ;
return /* (tmp245) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 22910(line=1222, offs=1) -- 23236(line=1242, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_66 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
// ATSlocal_void (tmp262) ;
ATSlocal (ats_ptr_type, tmp263) ;
ATSlocal (ats_ptr_type, tmp264) ;
// ATSlocal_void (tmp265) ;
ATSlocal (ats_bool_type, tmp266) ;
// ATSlocal_void (tmp267) ;
ATSlocal (ats_int_type, tmp268) ;

__ats_lab_loop_66:
do {
/* branch: __ats_lab_77 */
__ats_lab_77_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_78_0 ; }
__ats_lab_77_1:
tmp263 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp264 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ;
tmp266 = atspre_gt_int_int (arg2, 0) ;
if (tmp266) {
/* tmp265 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp267 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp263) ;
tmp268 = atspre_add_int_int (arg2, 1) ;
arg0 = arg0 ;
arg1 = tmp264 ;
arg2 = tmp268 ;
goto __ats_lab_loop_66 ; // tail call
break ;

/* branch: __ats_lab_78 */
__ats_lab_78_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_78_1:
break ;
} while (0) ;
return /* (tmp262) */ ;
} /* end of [loop_66] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 22885(line=1219, offs=3) -- 23285(line=1246, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primvalist (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp261) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primvalist:
/* tmp261 = */ loop_66 (arg0, arg1, 0) ;
return /* (tmp261) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primvalist] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 23365(line=1252, offs=3) -- 23453(line=1258, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_arg (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp269) ;
ATSlocal (ats_ptr_type, tmp270) ;
ATSlocal (ats_int_type, tmp271) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_arg:
tmp270 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp270)->tag != 2) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 23390(line=1254, offs=5) -- 23420(line=1254, offs=35)") ; }
tmp271 = ats_caselptrlab_mac(anairiats_sum_3, tmp270, atslab_0) ;
/* tmp269 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funarg (arg0, tmp271) ;
return /* (tmp269) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_arg] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 23537(line=1264, offs=3) -- 23627(line=1270, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argref (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp272) ;
ATSlocal (ats_ptr_type, tmp273) ;
ATSlocal (ats_int_type, tmp274) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argref:
tmp273 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp273)->tag != 3) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 23562(line=1266, offs=5) -- 23594(line=1266, offs=37)") ; }
tmp274 = ats_caselptrlab_mac(anairiats_sum_3, tmp273, atslab_0) ;
/* tmp272 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funarg (arg0, tmp274) ;
return /* (tmp272) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argref] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 23714(line=1276, offs=3) -- 23818(line=1282, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argenv (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp275) ;
ATSlocal (ats_ptr_type, tmp276) ;
ATSlocal (ats_int_type, tmp277) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argenv:
tmp276 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp276)->tag != 4) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 23739(line=1278, offs=5) -- 23774(line=1278, offs=40)") ; }
tmp277 = ats_caselptrlab_mac(anairiats_sum_3, tmp276, atslab_0) ;
/* tmp275 = */ atspre_fprintf_exn (arg0, ATSstrcst("env%i"), tmp277) ;
return /* (tmp275) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_argenv] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 23902(line=1288, offs=3) -- 23994(line=1294, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmp (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp278) ;
ATSlocal (ats_ptr_type, tmp279) ;
ATSlocal (ats_ptr_type, tmp280) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmp:
tmp279 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp279)->tag != 0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 23927(line=1290, offs=5) -- 23959(line=1290, offs=37)") ; }
tmp280 = ats_caselptrlab_mac(anairiats_sum_2, tmp279, atslab_0) ;
/* tmp278 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp280) ;
return /* (tmp278) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmp] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 24057(line=1298, offs=3) -- 24152(line=1304, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmpref (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp281) ;
ATSlocal (ats_ptr_type, tmp282) ;
ATSlocal (ats_ptr_type, tmp283) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmpref:
tmp282 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp282)->tag != 1) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 24082(line=1300, offs=5) -- 24117(line=1300, offs=40)") ; }
tmp283 = ats_caselptrlab_mac(anairiats_sum_2, tmp282, atslab_0) ;
/* tmp281 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp283) ;
return /* (tmp281) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_tmpref] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 24230(line=1310, offs=3) -- 24317(line=1317, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2env (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp284) ;
ATSlocal (ats_ptr_type, tmp285) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2env:
tmp285 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__d2env_get_var (arg1) ;
/* tmp284 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2var_env (arg0, tmp285) ;
return /* (tmp284) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2env] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 24372(line=1321, offs=3) -- 24737(line=1341, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2var_env (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp286) ;
ATSlocal (ats_ptr_type, tmp287) ;
ATSlocal (ats_ptr_type, tmp288) ;
// ATSlocal_void (tmp289) ;
// ATSlocal_void (tmp290) ;
ATSlocal (ats_ptr_type, tmp291) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2var_env:
tmp287 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__the_funent_varbindmap_find (arg1) ;
do {
/* branch: __ats_lab_79 */
__ats_lab_79_0:
if (tmp287 == (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; }
__ats_lab_79_1:
tmp288 = ats_caselptrlab_mac(anairiats_sum_4, tmp287, atslab_0) ;
ATS_FREE(tmp287) ;
/* tmp286 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp288) ;
break ;

/* branch: __ats_lab_80 */
__ats_lab_80_0:
// if (tmp287 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_80_1:
/* tmp289 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVenv(")) ;
tmp291 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_sym (arg1) ;
/* tmp290 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_symbol (arg0, tmp291) ;
/* tmp286 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
break ;
} while (0) ;
return /* (tmp286) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2var_env] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 24844(line=1351, offs=5) -- 25208(line=1374, offs=4)
*/
ATSstaticdec()
ats_int_type
auxlst_75 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_int_type, tmp293) ;
ATSlocal (ats_ptr_type, tmp294) ;
ATSlocal (ats_ptr_type, tmp295) ;
// ATSlocal_void (tmp296) ;
ATSlocal (ats_bool_type, tmp297) ;
// ATSlocal_void (tmp298) ;
ATSlocal (ats_int_type, tmp299) ;

__ats_lab_auxlst_75:
do {
/* branch: __ats_lab_81 */
__ats_lab_81_0:
if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_82_0 ; }
__ats_lab_81_1:
tmp293 = arg2 ;
break ;

/* branch: __ats_lab_82 */
__ats_lab_82_0:
// if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_82_1:
tmp294 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp295 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ;
tmp297 = atspre_gt_int_int (arg2, 0) ;
if (tmp297) {
/* tmp296 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp298 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2env (arg0, tmp294) ;
tmp299 = atspre_add_int_int (arg2, 1) ;
arg0 = arg0 ;
arg1 = tmp295 ;
arg2 = tmp299 ;
goto __ats_lab_auxlst_75 ; // tail call
break ;
} while (0) ;
return (tmp293) ;
} /* end of [auxlst_75] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 24811(line=1347, offs=1) -- 25264(line=1378, offs=4)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2envlst (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_int_type, tmp292) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2envlst:
tmp292 = auxlst_75 (arg0, arg1, arg2) ;
return (tmp292) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2envlst] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 25342(line=1384, offs=3) -- 25437(line=1390, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_env (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp300) ;
ATSlocal (ats_ptr_type, tmp301) ;
ATSlocal (ats_ptr_type, tmp302) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_env:
tmp301 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp301)->tag != 7) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 25367(line=1386, offs=5) -- 25399(line=1386, offs=37)") ; }
tmp302 = ats_caselptrlab_mac(anairiats_sum_2, tmp301, atslab_0) ;
/* tmp300 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2var_env (arg0, tmp302) ;
return /* (tmp300) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_env] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 25523(line=1396, offs=3) -- 25614(line=1402, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_d2cst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp303) ;
ATSlocal (ats_ptr_type, tmp304) ;
ATSlocal (ats_ptr_type, tmp305) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_d2cst:
tmp304 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp304)->tag != 6) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 25548(line=1398, offs=5) -- 25580(line=1398, offs=37)") ; }
tmp305 = ats_caselptrlab_mac(anairiats_sum_2, tmp304, atslab_0) ;
/* tmp303 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2cst (arg0, tmp305) ;
return /* (tmp303) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_d2cst] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 25700(line=1408, offs=3) -- 26085(line=1428, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_castfn (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp306) ;
ATSlocal (ats_ptr_type, tmp307) ;
ATSlocal (ats_ptr_type, tmp308) ;
ATSlocal (ats_ptr_type, tmp309) ;
ATSlocal (ats_ptr_type, tmp310) ;
// ATSlocal_void (tmp311) ;
// ATSlocal_void (tmp312) ;
// ATSlocal_void (tmp313) ;
// ATSlocal_void (tmp314) ;
// ATSlocal_void (tmp315) ;
// ATSlocal_void (tmp316) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_castfn:
tmp307 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_type) ;
tmp308 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp308)->tag != 22) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 25754(line=1411, offs=5) -- 25796(line=1412, offs=33)") ; }
tmp309 = ats_caselptrlab_mac(anairiats_sum_7, tmp308, atslab_0) ;
tmp310 = ats_caselptrlab_mac(anairiats_sum_7, tmp308, atslab_1) ;
/* tmp311 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVcastfn(")) ;
/* tmp312 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_d2cst (arg0, tmp309) ;
/* tmp313 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp314 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp307) ;
/* tmp315 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp316 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp310) ;
/* tmp306 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp306) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_castfn] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 26171(line=1434, offs=3) -- 26273(line=1440, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp317) ;
ATSlocal (ats_ptr_type, tmp318) ;
ATSlocal (ats_ptr_type, tmp319) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof:
tmp318 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp318)->tag != 27) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 26196(line=1436, offs=5) -- 26230(line=1436, offs=39)") ; }
tmp319 = ats_caselptrlab_mac(anairiats_sum_2, tmp318, atslab_0) ;
/* tmp317 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2 (arg0, tmp319) ;
return /* (tmp317) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 26362(line=1446, offs=5) -- 26481(line=1451, offs=2)
*/
ATSstaticdec()
ats_bool_type
testselptr0_81 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp321) ;
ATSlocal (ats_ptr_type, tmp322) ;
ATSlocal (ats_ptr_type, tmp323) ;

__ats_lab_testselptr0_81:
tmp322 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_primval_node) ;
do {
/* branch: __ats_lab_83 */
__ats_lab_83_0:
if (((ats_sum_ptr_type)tmp322)->tag != 26) { goto __ats_lab_84_0 ; }
tmp323 = ats_caselptrlab_mac(anairiats_sum_12, tmp322, atslab_2) ;
if (tmp323 != (ats_sum_ptr_type)0) { goto __ats_lab_84_0 ; }
__ats_lab_83_1:
tmp321 = ats_true_bool ;
break ;

/* branch: __ats_lab_84 */
__ats_lab_84_0:
__ats_lab_84_1:
tmp321 = ats_false_bool ;
break ;
} while (0) ;
return (tmp321) ;
} /* end of [testselptr0_81] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 26338(line=1444, offs=3) -- 27008(line=1479, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp320) ;
ATSlocal (ats_bool_type, tmp324) ;
ATSlocal (ats_ptr_type, tmp325) ;
ATSlocal (ats_ptr_type, tmp326) ;
ATSlocal (ats_bool_type, tmp327) ;
ATSlocal (ats_bool_type, tmp328) ;
ATSlocal (ats_ptr_type, tmp329) ;
// ATSlocal_void (tmp330) ;
// ATSlocal_void (tmp331) ;
// ATSlocal_void (tmp332) ;
// ATSlocal_void (tmp333) ;
// ATSlocal_void (tmp334) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2:
tmp324 = testselptr0_81 (arg1) ;
if (tmp324) {
tmp325 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp325)->tag != 26) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 26547(line=1459, offs=5) -- 26591(line=1459, offs=49)") ; }
tmp326 = ats_caselptrlab_mac(anairiats_sum_12, tmp325, atslab_0) ;
/* tmp320 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp326) ;
} else {
tmp327 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_is_void (arg1) ;
tmp329 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_type) ;
tmp328 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_is_tyarr (tmp329) ;
/* tmp330 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVptrof")) ;
if (tmp327) {
/* tmp331 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_void")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp332 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_LPAREN (arg0) ;
/* tmp333 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ;
if (tmp328) {
/* tmp334 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("[0]")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp320 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
} /* end of [if] */
return /* (tmp320) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list.dats: 50443(line=1783, offs=17) -- 50505(line=1785, offs=4)
*/
ATSstaticdec()
ats_bool_type
list_is_nil_01294_ (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp340) ;

__ats_lab_list_is_nil_01294_:
do {
/* branch: __ats_lab_85 */
__ats_lab_85_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_86_0 ; }
__ats_lab_85_1:
tmp340 = ats_false_bool ;
break ;

/* branch: __ats_lab_86 */
__ats_lab_86_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_86_1:
tmp340 = ats_true_bool ;
break ;
} while (0) ;
return (tmp340) ;
} /* end of [list_is_nil_01294_] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 27095(line=1485, offs=3) -- 27359(line=1502, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_vararg (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp335) ;
ATSlocal (ats_ptr_type, tmp336) ;
ATSlocal (ats_ptr_type, tmp337) ;
// ATSlocal_void (tmp338) ;
ATSlocal (ats_bool_type, tmp339) ;
// ATSlocal_void (tmp341) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_vararg:
tmp336 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp336)->tag != 29) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 27128(line=1489, offs=1) -- 27163(line=1489, offs=36)") ; }
tmp337 = ats_caselptrlab_mac(anairiats_sum_2, tmp336, atslab_0) ;
tmp339 = list_is_nil_01294_ (tmp337) ;
if (tmp339) {
/* tmp338 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVvararg0(")) ;
} else {
/* tmp338 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVvararg1(")) ;
} /* end of [if] */
/* tmp341 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primvalist (arg0, tmp337) ;
/* tmp335 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp335) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_vararg] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 27449(line=1508, offs=3) -- 27832(line=1535, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_refarg (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp342) ;
ATSlocal (ats_ptr_type, tmp343) ;
ATSlocal (ats_int_type, tmp344) ;
ATSlocal (ats_ptr_type, tmp345) ;
// ATSlocal_void (tmp346) ;
ATSlocal (ats_bool_type, tmp347) ;
// ATSlocal_void (tmp348) ;
ATSlocal (ats_bool_type, tmp349) ;
// ATSlocal_void (tmp350) ;
ATSlocal (ats_bool_type, tmp351) ;
// ATSlocal_void (tmp352) ;
ATSlocal (ats_bool_type, tmp353) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_refarg:
tmp343 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp343)->tag != 30) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 27475(line=1511, offs=1) -- 27524(line=1512, offs=40)") ; }
tmp344 = ats_caselptrlab_mac(anairiats_sum_13, tmp343, atslab_0) ;
tmp345 = ats_caselptrlab_mac(anairiats_sum_13, tmp343, atslab_2) ;
tmp347 = atspre_eq_int_int (tmp344, 0) ;
if (tmp347) {
/* tmp346 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVrefarg0(")) ;
} else {
/* empty */
} /* end of [if] */
tmp349 = atspre_gt_int_int (tmp344, 0) ;
if (tmp349) {
/* tmp348 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVrefarg1(")) ;
} else {
/* empty */
} /* end of [if] */
tmp351 = atspre_eq_int_int (tmp344, 0) ;
if (tmp351) {
/* tmp350 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp345) ;
} else {
/* empty */
} /* end of [if] */
tmp353 = atspre_gt_int_int (tmp344, 0) ;
if (tmp353) {
/* tmp352 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrof2 (arg0, tmp345) ;
} else {
/* empty */
} /* end of [if] */
/* tmp342 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp342) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_refarg] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 27919(line=1541, offs=3) -- 28569(line=1583, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_funlab (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp354) ;
ATSlocal (ats_ptr_type, tmp355) ;
ATSlocal (ats_ptr_type, tmp356) ;
ATSlocal (ats_bool_type, tmp357) ;
// ATSlocal_void (tmp358) ;
ATSlocal (ats_ptr_type, tmp359) ;
// ATSlocal_void (tmp360) ;
// ATSlocal_void (tmp361) ;
// ATSlocal_void (tmp362) ;
// ATSlocal_void (tmp363) ;
// ATSlocal_void (tmp364) ;
// ATSlocal_void (tmp365) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_funlab:
tmp355 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp355)->tag != 31) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 27944(line=1543, offs=5) -- 27982(line=1544, offs=29)") ; }
tmp356 = ats_caselptrlab_mac(anairiats_sum_2, tmp355, atslab_0) ;
tmp357 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_is_envful (tmp356) ;
if (tmp357) {
tmp359 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_loc) ;
/* tmp360 = */ prerr_errccomp_loc_02200_ (tmp359) ;
/* tmp361 = */ atspre_prerr_string (ATSstrcst(": the function is expected to be envless but it is not.")) ;
/* tmp358 = */ atspre_prerr_newline () ;
} else {
/* empty */
} /* end of [if] */
if (tmp357) {
/* tmp362 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSERRORnotenvless(")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp363 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVfunlab(")) ;
/* tmp364 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp356) ;
/* tmp365 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
if (tmp357) {
/* tmp354 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp354) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_funlab] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 28657(line=1589, offs=3) -- 29190(line=1616, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp366) ;
ATSlocal (ats_ptr_type, tmp367) ;
ATSlocal (ats_int_type, tmp368) ;
ATSlocal (ats_ptr_type, tmp369) ;
ATSlocal (ats_ptr_type, tmp370) ;
ATSlocal (ats_ptr_type, tmp371) ;
ATSlocal (ats_ptr_type, tmp372) ;
// ATSlocal_void (tmp373) ;
// ATSlocal_void (tmp374) ;
// ATSlocal_void (tmp375) ;
// ATSlocal_void (tmp376) ;
// ATSlocal_void (tmp377) ;
ATSlocal (ats_int_type, tmp378) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab:
tmp367 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp367)->tag != 32) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 28682(line=1591, offs=5) -- 28726(line=1592, offs=34)") ; }
tmp368 = ats_caselptrlab_mac(anairiats_sum_14, tmp367, atslab_0) ;
tmp369 = ats_caselptrlab_mac(anairiats_sum_14, tmp367, atslab_1) ;
tmp370 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_funent (tmp369) ;
do {
/* branch: __ats_lab_87 */
__ats_lab_87_0:
if (tmp370 != (ats_sum_ptr_type)0) { goto __ats_lab_88_0 ; }
__ats_lab_87_1:
tmp371 = (ats_sum_ptr_type)0 ;
break ;

/* branch: __ats_lab_88 */
__ats_lab_88_0:
// if (tmp370 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_88_1:
tmp372 = ats_caselptrlab_mac(anairiats_sum_4, tmp370, atslab_0) ;
tmp371 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funent_eval_d2envlst (tmp372) ;
break ;
} while (0) ;
/* tmp373 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVcfunlab(")) ;
/* tmp374 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, tmp368) ;
/* tmp375 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp376 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp369) ;
/* tmp377 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", (")) ;
tmp378 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2envlst (arg0, tmp371, 0) ;
/* tmp366 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("))")) ;
return /* (tmp366) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_cfunlab] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 29257(line=1623, offs=1) -- 29530(line=1640, offs=4)
*/
ATSstaticdec()
ats_void_type
auxmain_87 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp379) ;
// ATSlocal_void (tmp380) ;
// ATSlocal_void (tmp381) ;
// ATSlocal_void (tmp382) ;
// ATSlocal_void (tmp383) ;

__ats_lab_auxmain_87:
/* tmp380 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSderef(")) ;
/* tmp381 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ;
/* tmp382 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp383 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, arg2) ;
/* tmp379 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp379) */ ;
} /* end of [auxmain_87] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 29607(line=1646, offs=3) -- 29757(line=1653, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval_deref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp384) ;
ATSlocal (ats_ptr_type, tmp385) ;
ATSlocal (ats_ptr_type, tmp386) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval_deref:
tmp385 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
do {
/* branch: __ats_lab_89 */
__ats_lab_89_0:
if (((ats_sum_ptr_type)tmp385)->tag != 27) { goto __ats_lab_90_0 ; }
__ats_lab_89_1:
tmp386 = ats_caselptrlab_mac(anairiats_sum_2, tmp385, atslab_0) ;
/* tmp384 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp386) ;
break ;

/* branch: __ats_lab_90 */
__ats_lab_90_0:
__ats_lab_90_1:
/* tmp384 = */ auxmain_87 (arg0, arg1, arg2) ;
break ;
} while (0) ;
return /* (tmp384) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval_deref] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 29863(line=1661, offs=3) -- 30021(line=1669, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_err (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp387) ;
// ATSlocal_void (tmp388) ;
// ATSlocal_void (tmp389) ;
ATSlocal (ats_ptr_type, tmp390) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_err:
/* tmp388 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("PMVerr(\"")) ;
tmp390 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_loc) ;
/* tmp389 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_location (arg0, tmp390) ;
/* tmp387 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\")")) ;
return /* (tmp387) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_err] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 30499(line=1700, offs=3) -- 30814(line=1715, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primlab (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp391) ;
ATSlocal (ats_ptr_type, tmp392) ;
ATSlocal (ats_ptr_type, tmp393) ;
ATSlocal (ats_ptr_type, tmp394) ;
// ATSlocal_void (tmp395) ;
// ATSlocal_void (tmp396) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primlab:
tmp392 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg2), atslab_primlab_node) ;
do {
/* branch: __ats_lab_91 */
__ats_lab_91_0:
if (((ats_sum_ptr_type)tmp392)->tag != 0) { goto __ats_lab_92_0 ; }
__ats_lab_91_1:
tmp393 = ats_caselptrlab_mac(anairiats_sum_2, tmp392, atslab_0) ;
/* tmp391 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext (arg0, arg1, tmp393) ;
break ;

/* branch: __ats_lab_92 */
__ats_lab_92_0:
// if (((ats_sum_ptr_type)tmp392)->tag != 1) { ats_deadcode_failure_handle () ; }
__ats_lab_92_1:
tmp394 = ats_caselptrlab_mac(anairiats_sum_2, tmp392, atslab_0) ;
/* tmp395 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("[")) ;
/* tmp396 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primvalist (arg0, tmp394) ;
/* tmp391 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("]")) ;
break ;
} while (0) ;
return /* (tmp391) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primlab] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 31446(line=1744, offs=3) -- 31779(line=1765, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_val (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp397) ;
ATSlocal (ats_bool_type, tmp398) ;
// ATSlocal_void (tmp399) ;
// ATSlocal_void (tmp400) ;
// ATSlocal_void (tmp401) ;
// ATSlocal_void (tmp402) ;
// ATSlocal_void (tmp403) ;
// ATSlocal_void (tmp404) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_val:
tmp398 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_is_void (arg2) ;
/* tmp399 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove")) ;
if (tmp398) {
/* tmp400 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("_void")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp401 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ;
/* tmp402 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp403 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp404 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, arg2) ;
/* tmp397 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp397) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_val] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 31968(line=1778, offs=3) -- 32276(line=1791, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_pmove_val (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp405) ;
// ATSlocal_void (tmp406) ;
// ATSlocal_void (tmp407) ;
// ATSlocal_void (tmp408) ;
// ATSlocal_void (tmp409) ;
ATSlocal (ats_ptr_type, tmp410) ;
// ATSlocal_void (tmp411) ;
// ATSlocal_void (tmp412) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_pmove_val:
/* tmp406 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSpmove(")) ;
/* tmp407 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp408 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
tmp410 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg2), atslab_primval_type) ;
/* tmp409 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp410) ;
/* tmp411 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp412 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, arg2) ;
/* tmp405 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp405) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_pmove_val] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 32477(line=1804, offs=3) -- 32741(line=1819, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_ptralloc (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp413) ;
// ATSlocal_void (tmp414) ;
// ATSlocal_void (tmp415) ;
// ATSlocal_void (tmp416) ;
// ATSlocal_void (tmp417) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_ptralloc:
/* tmp414 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_ptralloc(")) ;
/* tmp415 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp416 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp417 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hitype (arg0, arg2) ;
/* tmp413 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp413) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_ptralloc] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list.dats: 50559(line=1787, offs=18) -- 50622(line=1789, offs=4)
*/
ATSstaticdec()
ats_bool_type
list_is_cons_01295_ (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp492) ;

__ats_lab_list_is_cons_01295_:
do {
/* branch: __ats_lab_105 */
__ats_lab_105_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_106_0 ; }
__ats_lab_105_1:
tmp492 = ats_true_bool ;
break ;

/* branch: __ats_lab_106 */
__ats_lab_106_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_106_1:
tmp492 = ats_false_bool ;
break ;
} while (0) ;
return (tmp492) ;
} /* end of [list_is_cons_01295_] */

/*
// /tmp/ATS-Postiats/src/pats_errmsg.dats: 1766(line=59, offs=19) -- 1906(line=65, offs=2)
*/
ATSstaticdec()
ats_void_type
prerr_interror_loc_02194_ (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp640) ;
// ATSlocal_void (tmp641) ;
// ATSlocal_void (tmp642) ;
// ATSlocal_void (tmp643) ;

__ats_lab_prerr_interror_loc_02194_:
/* tmp641 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location (arg0) ;
/* tmp642 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ;
/* tmp643 = */ prerr_FILENAME_02192_ () ;
/* tmp640 = */ atspre_prerr_string (ATSstrcst(")")) ;
return /* (tmp640) */ ;
} /* end of [prerr_interror_loc_02194_] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 32820(line=1825, offs=3) -- 44137(line=2246, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp418) ;
ATSlocal (ats_ptr_type, tmp419) ;
// ATSlocal_void (tmp420) ;
// ATSlocal_void (tmp421) ;
// ATSlocal_void (tmp422) ;
// ATSlocal_void (tmp423) ;
ATSlocal (ats_int_type, tmp424) ;
// ATSlocal_void (tmp425) ;
ATSlocal (ats_bool_type, tmp426) ;
ATSlocal (ats_int_type, tmp427) ;
// ATSlocal_void (tmp428) ;
ATSlocal (ats_bool_type, tmp429) ;
// ATSlocal_void (tmp430) ;
// ATSlocal_void (tmp431) ;
ATSlocal (ats_ptr_type, tmp432) ;
ATSlocal (ats_ptr_type, tmp433) ;
// ATSlocal_void (tmp434) ;
// ATSlocal_void (tmp435) ;
// ATSlocal_void (tmp436) ;
ATSlocal (ats_ptr_type, tmp437) ;
// ATSlocal_void (tmp438) ;
// ATSlocal_void (tmp439) ;
ATSlocal (ats_ptr_type, tmp440) ;
// ATSlocal_void (tmp441) ;
// ATSlocal_void (tmp442) ;
ATSlocal (ats_ptr_type, tmp443) ;
ATSlocal (ats_ptr_type, tmp444) ;
ATSlocal (ats_ptr_type, tmp445) ;
ATSlocal (ats_ptr_type, tmp446) ;
ATSlocal (ats_ptr_type, tmp447) ;
ATSlocal (ats_ptr_type, tmp448) ;
ATSlocal (ats_ptr_type, tmp449) ;
// ATSlocal_void (tmp450) ;
// ATSlocal_void (tmp451) ;
// ATSlocal_void (tmp452) ;
// ATSlocal_void (tmp453) ;
// ATSlocal_void (tmp454) ;
// ATSlocal_void (tmp455) ;
ATSlocal (ats_ptr_type, tmp456) ;
// ATSlocal_void (tmp457) ;
// ATSlocal_void (tmp458) ;
ATSlocal (ats_ptr_type, tmp459) ;
ATSlocal (ats_ptr_type, tmp460) ;
ATSlocal (ats_ptr_type, tmp461) ;
ATSlocal (ats_ptr_type, tmp462) ;
ATSlocal (ats_ptr_type, tmp463) ;
ATSlocal (ats_ptr_type, tmp464) ;
ATSlocal (ats_ptr_type, tmp465) ;
ATSlocal (ats_ptr_type, tmp466) ;
// ATSlocal_void (tmp467) ;
// ATSlocal_void (tmp468) ;
// ATSlocal_void (tmp469) ;
// ATSlocal_void (tmp470) ;
// ATSlocal_void (tmp471) ;
// ATSlocal_void (tmp472) ;
// ATSlocal_void (tmp473) ;
// ATSlocal_void (tmp474) ;
// ATSlocal_void (tmp475) ;
// ATSlocal_void (tmp476) ;
// ATSlocal_void (tmp477) ;
// ATSlocal_void (tmp478) ;
// ATSlocal_void (tmp479) ;
// ATSlocal_void (tmp480) ;
// ATSlocal_void (tmp481) ;
// ATSlocal_void (tmp482) ;
// ATSlocal_void (tmp483) ;
// ATSlocal_void (tmp484) ;
// ATSlocal_void (tmp485) ;
// ATSlocal_void (tmp486) ;
// ATSlocal_void (tmp487) ;
// ATSlocal_void (tmp488) ;
// ATSlocal_void (tmp489) ;
// ATSlocal_void (tmp490) ;
ATSlocal (ats_bool_type, tmp491) ;
// 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_void (tmp502) ;
// ATSlocal_void (tmp503) ;
// ATSlocal_void (tmp504) ;
// ATSlocal_void (tmp505) ;
// ATSlocal_void (tmp506) ;
ATSlocal (ats_int_type, tmp507) ;
ATSlocal (ats_ptr_type, tmp508) ;
// ATSlocal_void (tmp509) ;
ATSlocal (ats_bool_type, tmp510) ;
// ATSlocal_void (tmp511) ;
ATSlocal (ats_ptr_type, tmp512) ;
// ATSlocal_void (tmp513) ;
// ATSlocal_void (tmp514) ;
ATSlocal (ats_ptr_type, tmp515) ;
ATSlocal (ats_ptr_type, tmp516) ;
ATSlocal (ats_ptr_type, tmp517) ;
// ATSlocal_void (tmp518) ;
// ATSlocal_void (tmp519) ;
// ATSlocal_void (tmp520) ;
// ATSlocal_void (tmp521) ;
// ATSlocal_void (tmp522) ;
// ATSlocal_void (tmp523) ;
// ATSlocal_void (tmp524) ;
// ATSlocal_void (tmp525) ;
// ATSlocal_void (tmp526) ;
// ATSlocal_void (tmp527) ;
// ATSlocal_void (tmp528) ;
// ATSlocal_void (tmp529) ;
ATSlocal (ats_ptr_type, tmp530) ;
// ATSlocal_void (tmp531) ;
// ATSlocal_void (tmp532) ;
// ATSlocal_void (tmp533) ;
// ATSlocal_void (tmp534) ;
// ATSlocal_void (tmp535) ;
// ATSlocal_void (tmp536) ;
ATSlocal (ats_ptr_type, tmp537) ;
// ATSlocal_void (tmp538) ;
// ATSlocal_void (tmp539) ;
ATSlocal (ats_ptr_type, tmp540) ;
// ATSlocal_void (tmp541) ;
// ATSlocal_void (tmp542) ;
ATSlocal (ats_ptr_type, tmp543) ;
ATSlocal (ats_ptr_type, tmp544) ;
// ATSlocal_void (tmp545) ;
// ATSlocal_void (tmp546) ;
// ATSlocal_void (tmp547) ;
// ATSlocal_void (tmp548) ;
ATSlocal (ats_ptr_type, tmp549) ;
ATSlocal (ats_ptr_type, tmp550) ;
ATSlocal (ats_ptr_type, tmp551) ;
// ATSlocal_void (tmp552) ;
// ATSlocal_void (tmp553) ;
// ATSlocal_void (tmp554) ;
// ATSlocal_void (tmp555) ;
// ATSlocal_void (tmp556) ;
// ATSlocal_void (tmp557) ;
ATSlocal (ats_ptr_type, tmp558) ;
ATSlocal (ats_ptr_type, tmp559) ;
ATSlocal (ats_ptr_type, tmp560) ;
// ATSlocal_void (tmp561) ;
// ATSlocal_void (tmp562) ;
// ATSlocal_void (tmp563) ;
// ATSlocal_void (tmp564) ;
// ATSlocal_void (tmp565) ;
// ATSlocal_void (tmp566) ;
ATSlocal (ats_ptr_type, tmp567) ;
ATSlocal (ats_ptr_type, tmp568) ;
// ATSlocal_void (tmp569) ;
// ATSlocal_void (tmp570) ;
// ATSlocal_void (tmp571) ;
// ATSlocal_void (tmp572) ;
ATSlocal (ats_ptr_type, tmp573) ;
ATSlocal (ats_int_type, tmp574) ;
// ATSlocal_void (tmp575) ;
// ATSlocal_void (tmp576) ;
// ATSlocal_void (tmp577) ;
// ATSlocal_void (tmp578) ;
ATSlocal (ats_ptr_type, tmp579) ;
ATSlocal (ats_ptr_type, tmp580) ;
ATSlocal (ats_int_type, tmp581) ;
// ATSlocal_void (tmp582) ;
// ATSlocal_void (tmp583) ;
// ATSlocal_void (tmp584) ;
// ATSlocal_void (tmp585) ;
// ATSlocal_void (tmp586) ;
// ATSlocal_void (tmp587) ;
ATSlocal (ats_ptr_type, tmp588) ;
ATSlocal (ats_ptr_type, tmp589) ;
// ATSlocal_void (tmp590) ;
// ATSlocal_void (tmp591) ;
// ATSlocal_void (tmp592) ;
// ATSlocal_void (tmp593) ;
ATSlocal (ats_ptr_type, tmp594) ;
ATSlocal (ats_ptr_type, tmp595) ;
// ATSlocal_void (tmp596) ;
// ATSlocal_void (tmp597) ;
// ATSlocal_void (tmp598) ;
// ATSlocal_void (tmp599) ;
ATSlocal (ats_ptr_type, tmp600) ;
ATSlocal (ats_ptr_type, tmp601) ;
ATSlocal (ats_ptr_type, tmp602) ;
ATSlocal (ats_ptr_type, tmp603) ;
ATSlocal (ats_ptr_type, tmp604) ;
// ATSlocal_void (tmp605) ;
// ATSlocal_void (tmp606) ;
// ATSlocal_void (tmp607) ;
// ATSlocal_void (tmp608) ;
// ATSlocal_void (tmp609) ;
// ATSlocal_void (tmp610) ;
// ATSlocal_void (tmp611) ;
// ATSlocal_void (tmp612) ;
// ATSlocal_void (tmp613) ;
// ATSlocal_void (tmp614) ;
// ATSlocal_void (tmp615) ;
ATSlocal (ats_int_type, tmp616) ;
// ATSlocal_void (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_void (tmp638) ;
// ATSlocal_void (tmp639) ;
// ATSlocal_void (tmp644) ;
// ATSlocal_void (tmp645) ;
// ATSlocal_void (tmp646) ;
ATSlocal (ats_ptr_type, tmp647) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr:
tmp419 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_loc) ;
/* tmp420 = */ atspre_fprint_string (arg0, ATSstrcst("/*\n")) ;
/* tmp421 = */ atspre_fprint_string (arg0, ATSstrcst("emit_instr: loc0 = ")) ;
/* tmp422 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint2_location (arg0, tmp419) ;
/* tmp423 = */ atspre_fprint_string (arg0, ATSstrcst("\n*/\n")) ;
tmp424 = _2tmp_2ATS_2dPostiats_2src_2pats_global_2esats__the_DEBUGATS_dbgline_get () ;
tmp426 = atspre_gt_int_int (tmp424, 0) ;
if (tmp426) {
/* tmp425 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_line_pragma (arg0, tmp419) ;
} else {
/* empty */
} /* end of [if] */
tmp427 = _2tmp_2ATS_2dPostiats_2src_2pats_global_2esats__the_DEBUGATS_dbgflag_get () ;
tmp429 = atspre_gt_int_int (tmp427, 0) ;
if (tmp429) {
/* tmp430 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/* ")) ;
/* tmp431 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instr (arg0, arg1) ;
/* tmp428 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(" */\n")) ;
} else {
/* empty */
} /* end of [if] */
tmp432 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
do {
/* branch: __ats_lab_93 */
__ats_lab_93_0:
if (((ats_sum_ptr_type)tmp432)->tag != 0) { goto __ats_lab_94_0 ; }
__ats_lab_93_1:
tmp433 = ats_caselptrlab_mac(anairiats_sum_2, tmp432, atslab_0) ;
/* tmp434 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSflab(")) ;
/* tmp435 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__patsflab_")) ;
/* tmp436 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit2_funlab (arg0, tmp433) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("):")) ;
break ;

/* branch: __ats_lab_94 */
__ats_lab_94_0:
if (((ats_sum_ptr_type)tmp432)->tag != 1) { goto __ats_lab_95_0 ; }
__ats_lab_94_1:
tmp437 = ats_caselptrlab_mac(anairiats_sum_2, tmp432, atslab_0) ;
/* tmp438 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSlab(")) ;
/* tmp439 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp437) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("):")) ;
break ;

/* branch: __ats_lab_95 */
__ats_lab_95_0:
if (((ats_sum_ptr_type)tmp432)->tag != 2) { goto __ats_lab_96_0 ; }
__ats_lab_95_1:
tmp440 = ats_caselptrlab_mac(anairiats_sum_2, tmp432, atslab_0) ;
/* tmp441 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp442 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, tmp440) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/")) ;
break ;

/* branch: __ats_lab_96 */
__ats_lab_96_0:
if (((ats_sum_ptr_type)tmp432)->tag != 3) { goto __ats_lab_97_0 ; }
__ats_lab_96_1:
tmp443 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_0) ;
tmp444 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_1) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_move_val (arg0, tmp443, tmp444) ;
break ;

/* branch: __ats_lab_97 */
__ats_lab_97_0:
if (((ats_sum_ptr_type)tmp432)->tag != 4) { goto __ats_lab_98_0 ; }
__ats_lab_97_1:
tmp445 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_0) ;
tmp446 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_1) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_pmove_val (arg0, tmp445, tmp446) ;
break ;

/* branch: __ats_lab_98 */
__ats_lab_98_0:
if (((ats_sum_ptr_type)tmp432)->tag != 6) { goto __ats_lab_99_0 ; }
__ats_lab_98_1:
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_fcall (arg0, arg1) ;
break ;

/* branch: __ats_lab_99 */
__ats_lab_99_0:
if (((ats_sum_ptr_type)tmp432)->tag != 7) { goto __ats_lab_100_0 ; }
__ats_lab_99_1:
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_fcall2 (arg0, arg1) ;
break ;

/* branch: __ats_lab_100 */
__ats_lab_100_0:
if (((ats_sum_ptr_type)tmp432)->tag != 8) { goto __ats_lab_101_0 ; }
__ats_lab_100_1:
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_extfcall (arg0, arg1) ;
break ;

/* branch: __ats_lab_101 */
__ats_lab_101_0:
if (((ats_sum_ptr_type)tmp432)->tag != 9) { goto __ats_lab_102_0 ; }
__ats_lab_101_1:
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_extmcall (arg0, arg1) ;
break ;

/* branch: __ats_lab_102 */
__ats_lab_102_0:
if (((ats_sum_ptr_type)tmp432)->tag != 10) { goto __ats_lab_103_0 ; }
__ats_lab_102_1:
tmp447 = ats_caselptrlab_mac(anairiats_sum_12, tmp432, atslab_0) ;
tmp448 = ats_caselptrlab_mac(anairiats_sum_12, tmp432, atslab_1) ;
tmp449 = ats_caselptrlab_mac(anairiats_sum_12, tmp432, atslab_2) ;
/* tmp450 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSif(\n")) ;
/* tmp451 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp447) ;
/* tmp452 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n) ATSthen() {\n")) ;
/* tmp453 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp448) ;
/* tmp454 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n} ATSelse() {\n")) ;
/* tmp455 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp449) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n} /* ATSendif */")) ;
break ;

/* branch: __ats_lab_103 */
__ats_lab_103_0:
if (((ats_sum_ptr_type)tmp432)->tag != 11) { goto __ats_lab_104_0 ; }
__ats_lab_103_1:
tmp456 = ats_caselptrlab_mac(anairiats_sum_2, tmp432, atslab_0) ;
/* tmp457 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSfreecon(")) ;
/* tmp458 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp456) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_104 */
__ats_lab_104_0:
if (((ats_sum_ptr_type)tmp432)->tag != 12) { goto __ats_lab_107_0 ; }
__ats_lab_104_1:
tmp459 = ats_caselptrlab_mac(anairiats_sum_17, tmp432, atslab_0) ;
tmp460 = ats_caselptrlab_mac(anairiats_sum_17, tmp432, atslab_1) ;
tmp461 = ats_caselptrlab_mac(anairiats_sum_17, tmp432, atslab_2) ;
tmp462 = ats_caselptrlab_mac(anairiats_sum_17, tmp432, atslab_3) ;
tmp463 = ats_caselptrlab_mac(anairiats_sum_17, tmp432, atslab_4) ;
tmp464 = ats_caselptrlab_mac(anairiats_sum_17, tmp432, atslab_5) ;
tmp465 = ats_caselptrlab_mac(anairiats_sum_17, tmp432, atslab_6) ;
tmp466 = ats_caselptrlab_mac(anairiats_sum_17, tmp432, atslab_7) ;
/* tmp467 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp468 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** loop-init(beg)\n")) ;
/* tmp469 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ;
/* tmp470 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp462) ;
/* tmp471 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
/* tmp472 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp473 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** loop-init(end)\n")) ;
/* tmp474 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ;
/* tmp475 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSloop_open(")) ;
/* tmp476 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp459) ;
/* tmp477 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp478 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp460) ;
/* tmp479 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp480 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp461) ;
/* tmp481 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")\n")) ;
/* tmp482 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp464) ;
/* tmp483 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
/* tmp484 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSif(")) ;
/* tmp485 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSCKnot(")) ;
/* tmp486 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp463) ;
/* tmp487 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")) ATSbreak() ;")) ;
/* tmp488 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
/* tmp489 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp466) ;
/* tmp490 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
tmp491 = list_is_cons_01295_ (tmp465) ;
if (tmp491) {
/* tmp494 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp495 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("** continue after post-update\n")) ;
/* tmp496 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("*/\n")) ;
/* tmp497 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp461) ;
/* tmp498 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(":\n")) ;
/* tmp499 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (arg0, tmp465) ;
/* tmp493 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
} else {
/* empty */
} /* end of [if] */
/* tmp500 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSloop_close(")) ;
/* tmp501 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp459) ;
/* tmp502 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp503 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp460) ;
/* tmp504 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp505 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp461) ;
/* tmp506 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
break ;

/* branch: __ats_lab_107 */
__ats_lab_107_0:
if (((ats_sum_ptr_type)tmp432)->tag != 13) { goto __ats_lab_108_0 ; }
__ats_lab_107_1:
tmp507 = ats_caselptrlab_mac(anairiats_sum_14, tmp432, atslab_0) ;
tmp508 = ats_caselptrlab_mac(anairiats_sum_14, tmp432, atslab_1) ;
tmp510 = atspre_eq_int_int (tmp507, 0) ;
if (tmp510) {
/* tmp509 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSbreak2(")) ;
} else {
/* tmp509 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScontinue2(")) ;
} /* end of [if] */
/* tmp511 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmplab (arg0, tmp508) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_108 */
__ats_lab_108_0:
if (((ats_sum_ptr_type)tmp432)->tag != 14) { goto __ats_lab_109_0 ; }
__ats_lab_108_1:
tmp512 = ats_caselptrlab_mac(anairiats_sum_2, tmp432, atslab_0) ;
/* tmp513 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScaseof_beg()\n")) ;
/* tmp514 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ibranchlst (arg0, tmp512) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScaseof_end()\n")) ;
break ;

/* branch: __ats_lab_109 */
__ats_lab_109_0:
if (((ats_sum_ptr_type)tmp432)->tag != 28) { goto __ats_lab_110_0 ; }
__ats_lab_109_1:
tmp515 = ats_caselptrlab_mac(anairiats_sum_12, tmp432, atslab_0) ;
tmp516 = ats_caselptrlab_mac(anairiats_sum_12, tmp432, atslab_1) ;
tmp517 = ats_caselptrlab_mac(anairiats_sum_12, tmp432, atslab_2) ;
/* tmp518 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStrywith_try(")) ;
/* tmp519 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp515) ;
/* tmp520 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")\n")) ;
/* tmp521 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst_ln (arg0, tmp516) ;
/* tmp522 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStrywith_with(")) ;
/* tmp523 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp515) ;
/* tmp524 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")\n")) ;
/* tmp525 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScaseof_beg()\n")) ;
/* tmp526 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_ibranchlst (arg0, tmp517) ;
/* tmp527 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATScaseof_end()\n")) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATStrywith_end()")) ;
break ;

/* branch: __ats_lab_110 */
__ats_lab_110_0:
if (((ats_sum_ptr_type)tmp432)->tag != 15) { goto __ats_lab_111_0 ; }
__ats_lab_110_1:
/* tmp528 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp529 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__fprint_instr (arg0, arg1) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/")) ;
break ;

/* branch: __ats_lab_111 */
__ats_lab_111_0:
if (((ats_sum_ptr_type)tmp432)->tag != 16) { goto __ats_lab_112_0 ; }
__ats_lab_111_1:
tmp530 = ats_caselptrlab_mac(anairiats_sum_2, tmp432, atslab_0) ;
/* tmp531 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp532 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("letpush(beg)")) ;
/* tmp533 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/\n")) ;
/* tmp534 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primdeclst (arg0, tmp530) ;
/* tmp535 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp536 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("letpush(end)")) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/\n")) ;
break ;

/* branch: __ats_lab_112 */
__ats_lab_112_0:
if (((ats_sum_ptr_type)tmp432)->tag != 17) { goto __ats_lab_113_0 ; }
__ats_lab_112_1:
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_con (arg0, arg1) ;
break ;

/* branch: __ats_lab_113 */
__ats_lab_113_0:
if (((ats_sum_ptr_type)tmp432)->tag != 20) { goto __ats_lab_114_0 ; }
__ats_lab_113_1:
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec (arg0, arg1) ;
break ;

/* branch: __ats_lab_114 */
__ats_lab_114_0:
if (((ats_sum_ptr_type)tmp432)->tag != 19) { goto __ats_lab_115_0 ; }
__ats_lab_114_1:
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec (arg0, arg1) ;
break ;

/* branch: __ats_lab_115 */
__ats_lab_115_0:
if (((ats_sum_ptr_type)tmp432)->tag != 21) { goto __ats_lab_116_0 ; }
__ats_lab_115_1:
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr_patck (arg0, arg1) ;
break ;

/* branch: __ats_lab_116 */
__ats_lab_116_0:
if (((ats_sum_ptr_type)tmp432)->tag != 23) { goto __ats_lab_117_0 ; }
__ats_lab_116_1:
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs (arg0, arg1) ;
break ;

/* branch: __ats_lab_117 */
__ats_lab_117_0:
if (((ats_sum_ptr_type)tmp432)->tag != 24) { goto __ats_lab_118_0 ; }
__ats_lab_117_1:
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs (arg0, arg1) ;
break ;

/* branch: __ats_lab_118 */
__ats_lab_118_0:
if (((ats_sum_ptr_type)tmp432)->tag != 25) { goto __ats_lab_119_0 ; }
__ats_lab_118_1:
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_raise (arg0, arg1) ;
break ;

/* branch: __ats_lab_119 */
__ats_lab_119_0:
if (((ats_sum_ptr_type)tmp432)->tag != 26) { goto __ats_lab_120_0 ; }
__ats_lab_119_1:
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay (arg0, arg1) ;
break ;

/* branch: __ats_lab_120 */
__ats_lab_120_0:
if (((ats_sum_ptr_type)tmp432)->tag != 27) { goto __ats_lab_121_0 ; }
__ats_lab_120_1:
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval (arg0, arg1) ;
break ;

/* branch: __ats_lab_121 */
__ats_lab_121_0:
if (((ats_sum_ptr_type)tmp432)->tag != 29) { goto __ats_lab_122_0 ; }
__ats_lab_121_1:
tmp537 = ats_caselptrlab_mac(anairiats_sum_2, tmp432, atslab_0) ;
/* tmp538 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_list_nil(")) ;
/* tmp539 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp537) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_122 */
__ats_lab_122_0:
if (((ats_sum_ptr_type)tmp432)->tag != 30) { goto __ats_lab_123_0 ; }
__ats_lab_122_1:
tmp540 = ats_caselptrlab_mac(anairiats_sum_2, tmp432, atslab_0) ;
/* tmp541 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSpmove_list_nil(")) ;
/* tmp542 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp540) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_123 */
__ats_lab_123_0:
if (((ats_sum_ptr_type)tmp432)->tag != 31) { goto __ats_lab_124_0 ; }
__ats_lab_123_1:
tmp543 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_0) ;
tmp544 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_1) ;
/* tmp545 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSpmove_list_cons(")) ;
/* tmp546 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp543) ;
/* tmp547 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp548 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp544) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_124 */
__ats_lab_124_0:
if (((ats_sum_ptr_type)tmp432)->tag != 32) { goto __ats_lab_125_0 ; }
__ats_lab_124_1:
tmp549 = ats_caselptrlab_mac(anairiats_sum_12, tmp432, atslab_0) ;
tmp550 = ats_caselptrlab_mac(anairiats_sum_12, tmp432, atslab_1) ;
tmp551 = ats_caselptrlab_mac(anairiats_sum_12, tmp432, atslab_2) ;
/* tmp552 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_list_phead(")) ;
/* tmp553 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp549) ;
/* tmp554 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp555 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp550) ;
/* tmp556 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp557 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp551) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_125 */
__ats_lab_125_0:
if (((ats_sum_ptr_type)tmp432)->tag != 33) { goto __ats_lab_126_0 ; }
__ats_lab_125_1:
tmp558 = ats_caselptrlab_mac(anairiats_sum_12, tmp432, atslab_0) ;
tmp559 = ats_caselptrlab_mac(anairiats_sum_12, tmp432, atslab_1) ;
tmp560 = ats_caselptrlab_mac(anairiats_sum_12, tmp432, atslab_2) ;
/* tmp561 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_list_ptail(")) ;
/* tmp562 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp558) ;
/* tmp563 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp564 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp559) ;
/* tmp565 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp566 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp560) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_126 */
__ats_lab_126_0:
if (((ats_sum_ptr_type)tmp432)->tag != 34) { goto __ats_lab_127_0 ; }
__ats_lab_126_1:
tmp567 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_0) ;
tmp568 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_1) ;
/* tmp569 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_arrpsz_ptr(")) ;
/* tmp570 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp567) ;
/* tmp571 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp572 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp568) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_127 */
__ats_lab_127_0:
if (((ats_sum_ptr_type)tmp432)->tag != 35) { goto __ats_lab_128_0 ; }
__ats_lab_127_1:
tmp573 = ats_caselptrlab_mac(anairiats_sum_18, tmp432, atslab_0) ;
tmp574 = ats_caselptrlab_mac(anairiats_sum_18, tmp432, atslab_1) ;
/* tmp575 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_arrpsz_asz(")) ;
/* tmp576 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp573) ;
/* tmp577 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp578 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, tmp574) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_128 */
__ats_lab_128_0:
if (((ats_sum_ptr_type)tmp432)->tag != 36) { goto __ats_lab_129_0 ; }
__ats_lab_128_1:
tmp579 = ats_caselptrlab_mac(anairiats_sum_19, tmp432, atslab_0) ;
tmp580 = ats_caselptrlab_mac(anairiats_sum_19, tmp432, atslab_1) ;
tmp581 = ats_caselptrlab_mac(anairiats_sum_19, tmp432, atslab_2) ;
/* tmp582 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_arrpsz_ptr(")) ;
/* tmp583 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp579) ;
/* tmp584 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp585 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp580) ;
/* tmp586 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp587 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, tmp581) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_129 */
__ats_lab_129_0:
if (((ats_sum_ptr_type)tmp432)->tag != 37) { goto __ats_lab_130_0 ; }
__ats_lab_129_1:
tmp588 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_0) ;
tmp589 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_1) ;
/* tmp590 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSupdate_ptrinc(")) ;
/* tmp591 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp588) ;
/* tmp592 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp593 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp589) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_130 */
__ats_lab_130_0:
if (((ats_sum_ptr_type)tmp432)->tag != 38) { goto __ats_lab_131_0 ; }
__ats_lab_130_1:
tmp594 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_0) ;
tmp595 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_1) ;
/* tmp596 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSupdate_ptrdec(")) ;
/* tmp597 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp594) ;
/* tmp598 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp599 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp595) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_131 */
__ats_lab_131_0:
if (((ats_sum_ptr_type)tmp432)->tag != 39) { goto __ats_lab_132_0 ; }
__ats_lab_131_1:
tmp600 = ats_caselptrlab_mac(anairiats_sum_12, tmp432, atslab_0) ;
tmp601 = ats_caselptrlab_mac(anairiats_sum_12, tmp432, atslab_2) ;
tmp602 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funlab_get_funent (tmp601) ;
if (tmp602 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 42085(line=2169, offs=9) -- 42128(line=2170, offs=31)") ; }
tmp603 = ats_caselptrlab_mac(anairiats_sum_4, tmp602, atslab_0) ;
tmp604 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__funent_eval_d2envlst (tmp603) ;
/* tmp605 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSclosure_initize(")) ;
/* tmp606 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp601) ;
/* tmp607 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp608 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ;
/* tmp609 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ;
/* tmp610 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_funlab (arg0, tmp601) ;
/* tmp611 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("__closure_t0ype*)")) ;
/* tmp612 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("(")) ;
/* tmp613 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("&")) ;
/* tmp614 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp600) ;
/* tmp615 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ;
tmp616 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2envlst (arg0, tmp604, 1) ;
/* tmp617 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(")")) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_132 */
__ats_lab_132_0:
if (((ats_sum_ptr_type)tmp432)->tag != 40) { goto __ats_lab_133_0 ; }
__ats_lab_132_1:
tmp618 = ats_caselptrlab_mac(anairiats_sum_2, tmp432, atslab_0) ;
/* tmp619 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/*\n")) ;
/* tmp620 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINStmpdec(")) ;
/* tmp621 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp618) ;
/* tmp622 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n*/")) ;
break ;

/* branch: __ats_lab_133 */
__ats_lab_133_0:
if (((ats_sum_ptr_type)tmp432)->tag != 41) { goto __ats_lab_134_0 ; }
__ats_lab_133_1:
tmp623 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_0) ;
tmp624 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_1) ;
/* tmp625 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSextvar_assign(")) ;
/* tmp626 = */ atspre_fprintf_exn (arg0, ATSstrcst("ATSPMVextval(%s)"), tmp623) ;
/* tmp627 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp628 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp624) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_134 */
__ats_lab_134_0:
if (((ats_sum_ptr_type)tmp432)->tag != 42) { goto __ats_lab_135_0 ; }
__ats_lab_134_1:
tmp629 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_0) ;
tmp630 = ats_caselptrlab_mac(anairiats_sum_7, tmp432, atslab_1) ;
/* tmp631 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSdyncst_valbind(")) ;
/* tmp632 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2cst (arg0, tmp629) ;
/* tmp633 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp634 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp630) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
break ;

/* branch: __ats_lab_135 */
__ats_lab_135_0:
if (((ats_sum_ptr_type)tmp432)->tag != 43) { goto __ats_lab_136_0 ; }
__ats_lab_135_1:
tmp635 = ats_caselptrlab_mac(anairiats_sum_2, tmp432, atslab_0) ;
/* tmp636 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("// ")) ;
/* tmp637 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("$tempenver(")) ;
/* tmp638 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__fprint_d2varlst (arg0, tmp635) ;
/* tmp418 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
break ;

/* branch: __ats_lab_136 */
__ats_lab_136_0:
__ats_lab_136_1:
/* tmp639 = */ prerr_interror_loc_02194_ (tmp419) ;
/* tmp644 = */ atspre_prerr_string (ATSstrcst(": pats_ccomp_emit: emit_instr: ins = ")) ;
/* tmp645 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_instr (arg1) ;
/* tmp646 = */ atspre_prerr_newline () ;
tmp647 = atspre_string_append ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 44079(line=2244, offs=22) -- 44095(line=2244, offs=38)", ATSstrcst("\n")) ;
/* tmp418 = */ atspre_assert_errmsg (ats_false_bool, tmp647) ;
break ;
} while (0) ;
return /* (tmp418) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 44234(line=2254, offs=5) -- 44709(line=2278, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_98 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) {
/* local vardec */
// ATSlocal_void (tmp649) ;
ATSlocal (ats_ptr_type, tmp650) ;
ATSlocal (ats_ptr_type, tmp651) ;
// ATSlocal_void (tmp652) ;
ATSlocal (ats_bool_type, tmp653) ;
// ATSlocal_void (tmp654) ;
ATSlocal (ats_int_type, tmp655) ;
ATSlocal (ats_bool_type, tmp656) ;

__ats_lab_loop_98:
do {
/* branch: __ats_lab_137 */
__ats_lab_137_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_138_0 ; }
__ats_lab_137_1:
tmp650 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp651 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ;
tmp653 = atspre_gt_int_int (arg3, 0) ;
if (tmp653) {
/* tmp652 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, arg2) ;
} else {
/* empty */
} /* end of [if] */
/* tmp654 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instr (arg0, tmp650) ;
tmp655 = atspre_add_int_int (arg3, 1) ;
arg0 = arg0 ;
arg1 = tmp651 ;
arg2 = arg2 ;
arg3 = tmp655 ;
goto __ats_lab_loop_98 ; // tail call
break ;

/* branch: __ats_lab_138 */
__ats_lab_138_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_138_1:
tmp656 = atspre_eq_int_int (arg3, 0) ;
if (tmp656) {
/* tmp649 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("/* (*nothing*) */")) ;
} else {
/* empty */
} /* end of [if] */
break ;
} while (0) ;
return /* (tmp649) */ ;
} /* end of [loop_98] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 44209(line=2252, offs=3) -- 44764(line=2282, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp648) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst:
/* tmp648 = */ loop_98 (arg0, arg1, ATSstrcst("\n"), 0) ;
return /* (tmp648) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 44825(line=2286, offs=3) -- 44930(line=2290, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst_ln (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp657) ;
// ATSlocal_void (tmp658) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst_ln:
/* tmp658 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst (arg0, arg1) ;
/* tmp657 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\n")) ;
return /* (tmp657) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_instrlst_ln] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 44993(line=2296, offs=5) -- 45593(line=2327, offs=4)
*/
ATSstaticdec()
ats_void_type
auxcon0_100 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp659) ;
ATSlocal (ats_bool_type, tmp660) ;
// ATSlocal_void (tmp661) ;
// ATSlocal_void (tmp662) ;
ATSlocal (ats_int_type, tmp663) ;
// ATSlocal_void (tmp664) ;
// ATSlocal_void (tmp665) ;
// ATSlocal_void (tmp666) ;
// ATSlocal_void (tmp667) ;

__ats_lab_auxcon0_100:
tmp660 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_listlike (arg2) ;
if (tmp660) {
/* tmp661 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_nil(")) ;
/* tmp662 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp659 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
} else {
tmp663 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_tag (arg2) ;
/* tmp664 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_con0(")) ;
/* tmp665 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp666 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp667 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, tmp663) ;
/* tmp659 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
} /* end of [if] */
return /* (tmp659) */ ;
} /* end of [auxcon0_100] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 45640(line=2331, offs=5) -- 46366(line=2365, offs=4)
*/
ATSstaticdec()
ats_void_type
auxtag_101 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp668) ;
ATSlocal (ats_int_type, tmp669) ;
ATSlocal (ats_bool_type, tmp670) ;
ATSlocal (ats_bool_type, tmp671) ;
ATSlocal (ats_int_type, tmp672) ;
// ATSlocal_void (tmp673) ;
ATSlocal (ats_bool_type, tmp674) ;
// ATSlocal_void (tmp675) ;
// ATSlocal_void (tmp676) ;
// ATSlocal_void (tmp677) ;
// ATSlocal_void (tmp678) ;
// ATSlocal_void (tmp679) ;
// ATSlocal_void (tmp680) ;
// ATSlocal_void (tmp681) ;
ATSlocal (ats_bool_type, tmp682) ;

__ats_lab_auxtag_101:
do {
/* branch: __ats_lab_139 */
__ats_lab_139_0:
__ats_lab_139_1:
tmp670 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_listlike (arg2) ;
if (!tmp670) { goto __ats_lab_140_1 ; }
tmp669 = 0 ;
break ;

/* branch: __ats_lab_140 */
__ats_lab_140_0:
__ats_lab_140_1:
tmp671 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_singular (arg2) ;
if (!tmp671) { goto __ats_lab_141_1 ; }
tmp669 = 0 ;
break ;

/* branch: __ats_lab_141 */
__ats_lab_141_0:
__ats_lab_141_1:
tmp669 = 1 ;
break ;
} while (0) ;
tmp672 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_get_tag (arg2) ;
tmp674 = atspre_gt_int_int (tmp669, 0) ;
if (tmp674) {
/* tmp673 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("// ")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp675 = */ atspre_fprintf_exn (arg0, ATSstrcst("#if(%i)\n"), tmp669) ;
/* tmp676 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_con1_tag(")) ;
/* tmp677 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp678 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp679 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_int (arg0, tmp672) ;
/* tmp680 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
tmp682 = atspre_gt_int_int (tmp669, 0) ;
if (tmp682) {
/* tmp681 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("// ")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp668 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif\n")) ;
return /* (tmp668) */ ;
} /* end of [auxtag_101] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 46391(line=2367, offs=5) -- 47205(line=2400, offs=4)
*/
ATSstaticdec()
ats_void_type
auxarg_102 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp683) ;
ATSlocal (ats_ptr_type, tmp684) ;
ATSlocal (ats_ptr_type, tmp685) ;
ATSlocal (ats_ptr_type, tmp686) ;
ATSlocal (ats_ptr_type, tmp687) ;
ATSlocal (ats_bool_type, tmp688) ;
// ATSlocal_void (tmp689) ;
// ATSlocal_void (tmp690) ;
// ATSlocal_void (tmp691) ;
// ATSlocal_void (tmp692) ;
// ATSlocal_void (tmp693) ;
// ATSlocal_void (tmp694) ;
// ATSlocal_void (tmp695) ;
// ATSlocal_void (tmp696) ;
// ATSlocal_void (tmp697) ;
// ATSlocal_void (tmp698) ;
// ATSlocal_void (tmp699) ;

__ats_lab_auxarg_102:
do {
/* branch: __ats_lab_142 */
__ats_lab_142_0:
if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_143_0 ; }
__ats_lab_142_1:
break ;

/* branch: __ats_lab_143 */
__ats_lab_143_0:
// if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_143_1:
tmp684 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ;
tmp685 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_1) ;
// 
tmp686 = ats_caselptrlab_mac(anairiats_sum_6, tmp684, atslab_0) ;
tmp687 = ats_caselptrlab_mac(anairiats_sum_6, tmp684, atslab_1) ;
tmp688 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_is_top (tmp687) ;
if (tmp688) {
/* tmp689 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#if(0)\n")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp690 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_con1_ofs(")) ;
/* tmp691 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp692 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp693 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hitype (arg0, arg2) ;
/* tmp694 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp695 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext (arg0, 0, tmp686) ;
/* tmp696 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp697 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp687) ;
/* tmp698 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
if (tmp688) {
/* tmp699 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("#endif\n")) ;
} else {
/* empty */
} /* end of [if] */
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = tmp685 ;
goto __ats_lab_auxarg_102 ; // tail call
break ;
} while (0) ;
return /* (tmp683) */ ;
} /* end of [auxarg_102] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 47230(line=2402, offs=5) -- 47927(line=2439, offs=4)
*/
ATSstaticdec()
ats_void_type
auxcon1_103 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
// ATSlocal_void (tmp700) ;
ATSlocal (ats_int_type, tmp701) ;
ATSlocal (ats_bool_type, tmp702) ;
// ATSlocal_void (tmp703) ;
// ATSlocal_void (tmp704) ;
// ATSlocal_void (tmp705) ;
// ATSlocal_void (tmp706) ;
// ATSlocal_void (tmp707) ;
// ATSlocal_void (tmp708) ;
// ATSlocal_void (tmp709) ;
// ATSlocal_void (tmp710) ;
// ATSlocal_void (tmp711) ;

__ats_lab_auxcon1_103:
tmp702 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_linear (arg2) ;
if (tmp702) {
tmp701 = 0 ;
} else {
tmp701 = 1 ;
} /* end of [if] */
/* tmp703 = */ atspre_fprintf_exn (arg0, ATSstrcst("/*\n#LINCONSTATUS==%i\n*/\n"), tmp701) ;
/* tmp704 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_con1_beg()\n")) ;
/* tmp705 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_con1_new(")) ;
/* tmp706 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp707 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp708 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hitype (arg0, arg3) ;
/* tmp709 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
/* tmp710 = */ auxtag_101 (arg0, arg1, arg2) ;
/* tmp711 = */ auxarg_102 (arg0, arg1, arg3, arg4) ;
/* tmp700 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_con1_end()")) ;
return /* (tmp700) */ ;
} /* end of [auxcon1_103] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 47974(line=2444, offs=1) -- 48239(line=2461, offs=4)
*/
ATSstaticdec()
ats_void_type
auxexn0_104 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp712) ;
// ATSlocal_void (tmp713) ;
// ATSlocal_void (tmp714) ;
// ATSlocal_void (tmp715) ;
// ATSlocal_void (tmp716) ;

__ats_lab_auxexn0_104:
/* tmp713 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_exn0(")) ;
/* tmp714 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp715 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp716 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2con (arg0, arg2) ;
/* tmp712 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
return /* (tmp712) */ ;
} /* end of [auxexn0_104] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 48265(line=2464, offs=1) -- 49159(line=2504, offs=4)
*/
ATSstaticdec()
ats_void_type
auxexn1_105 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
// ATSlocal_void (tmp717) ;
// ATSlocal_void (tmp718) ;
// ATSlocal_void (tmp719) ;
// ATSlocal_void (tmp720) ;
// ATSlocal_void (tmp721) ;
// ATSlocal_void (tmp722) ;
// ATSlocal_void (tmp723) ;
// ATSlocal_void (tmp724) ;
// ATSlocal_void (tmp725) ;
// ATSlocal_void (tmp726) ;
// ATSlocal_void (tmp727) ;
// ATSlocal_void (tmp728) ;
// ATSlocal_void (tmp729) ;
// ATSlocal_void (tmp730) ;
// ATSlocal_void (tmp731) ;
// ATSlocal_void (tmp732) ;
// ATSlocal_void (tmp733) ;
// ATSlocal_void (tmp734) ;

__ats_lab_auxexn1_105:
/* tmp718 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_exn1_beg()\n")) ;
/* tmp719 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_exn1_new(")) ;
/* tmp720 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp721 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp722 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hitype (arg0, arg3) ;
/* tmp723 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
/* tmp724 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_exn1_tag(")) ;
/* tmp725 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp726 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp727 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2con (arg0, arg2) ;
/* tmp728 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
/* tmp729 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore_exn1_msg(")) ;
/* tmp730 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, arg1) ;
/* tmp731 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp732 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_d2con (arg0, arg2) ;
/* tmp733 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
/* tmp734 = */ auxarg_102 (arg0, arg1, arg3, arg4) ;
/* tmp717 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_exn1_end()")) ;
return /* (tmp717) */ ;
} /* end of [auxexn1_105] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 49237(line=2510, offs=3) -- 49895(line=2540, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_con (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp735) ;
ATSlocal (ats_ptr_type, tmp736) ;
ATSlocal (ats_ptr_type, tmp737) ;
ATSlocal (ats_ptr_type, tmp738) ;
ATSlocal (ats_ptr_type, tmp739) ;
ATSlocal (ats_ptr_type, tmp740) ;
// ATSlocal_void (tmp741) ;
ATSlocal (ats_bool_type, tmp742) ;
ATSlocal (ats_bool_type, tmp743) ;
ATSlocal (ats_bool_type, tmp744) ;
// ATSlocal_void (tmp745) ;
ATSlocal (ats_ptr_type, tmp746) ;
// ATSlocal_void (tmp747) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_con:
tmp736 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
if (((ats_sum_ptr_type)tmp736)->tag != 17) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 49262(line=2512, offs=6) -- 49317(line=2513, offs=44)") ; }
tmp737 = ats_caselptrlab_mac(anairiats_sum_20, tmp736, atslab_0) ;
tmp738 = ats_caselptrlab_mac(anairiats_sum_20, tmp736, atslab_1) ;
tmp739 = ats_caselptrlab_mac(anairiats_sum_20, tmp736, atslab_2) ;
tmp740 = ats_caselptrlab_mac(anairiats_sum_20, tmp736, atslab_3) ;
/* tmp741 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_newline (arg0) ;
tmp742 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_con (tmp738) ;
tmp743 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_exn (tmp738) ;
tmp744 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__d2con_is_nullary (tmp738) ;
if (tmp744) {
if (tmp742) {
/* tmp745 = */ auxcon0_100 (arg0, tmp737, tmp738) ;
} else {
/* empty */
} /* end of [if] */
if (tmp743) {
/* tmp735 = */ auxexn0_104 (arg0, tmp737, tmp738) ;
} else {
/* empty */
} /* end of [if] */
} else {
tmp746 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hisexp_typize (0, tmp739) ;
if (tmp742) {
/* tmp747 = */ auxcon1_103 (arg0, tmp737, tmp738, tmp746, tmp740) ;
} else {
/* empty */
} /* end of [if] */
if (tmp743) {
/* tmp735 = */ auxexn1_105 (arg0, tmp737, tmp738, tmp746, tmp740) ;
} else {
/* empty */
} /* end of [if] */
} /* end of [if] */
return /* (tmp735) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_con] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 50029(line=2550, offs=5) -- 50869(line=2586, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_108 (ats_ptr_type env0, ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) {
/* local vardec */
// ATSlocal_void (tmp749) ;
ATSlocal (ats_ptr_type, tmp750) ;
ATSlocal (ats_ptr_type, tmp751) ;
ATSlocal (ats_ptr_type, tmp752) ;
ATSlocal (ats_ptr_type, tmp753) ;
// ATSlocal_void (tmp754) ;
ATSlocal (ats_bool_type, tmp755) ;
// ATSlocal_void (tmp756) ;
ATSlocal (ats_bool_type, tmp757) ;
// ATSlocal_void (tmp758) ;
ATSlocal (ats_bool_type, tmp759) ;
// ATSlocal_void (tmp760) ;
// ATSlocal_void (tmp761) ;
// ATSlocal_void (tmp762) ;
// ATSlocal_void (tmp763) ;
// ATSlocal_void (tmp764) ;
// ATSlocal_void (tmp765) ;
// ATSlocal_void (tmp766) ;
// ATSlocal_void (tmp767) ;
ATSlocal (ats_int_type, tmp768) ;

__ats_lab_loop_108:
do {
/* branch: __ats_lab_144 */
__ats_lab_144_0:
if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_145_0 ; }
__ats_lab_144_1:
tmp750 = ats_caselptrlab_mac(anairiats_sum_6, arg4, atslab_0) ;
tmp751 = ats_caselptrlab_mac(anairiats_sum_6, arg4, atslab_1) ;

tmp752 = ats_caselptrlab_mac(anairiats_sum_6, tmp750, atslab_0) ;
tmp753 = ats_caselptrlab_mac(anairiats_sum_6, tmp750, atslab_1) ;
tmp755 = atspre_gt_int_int (arg5, 0) ;
if (tmp755) {
/* tmp754 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst("\n")) ;
} else {
/* empty */
} /* end of [if] */
tmp757 = atspre_eq_int_int (arg0, 0) ;
if (tmp757) {
/* tmp756 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst("ATSINSstore_fltrec_ofs(")) ;
} else {
/* empty */
} /* end of [if] */
tmp759 = atspre_gt_int_int (arg0, 0) ;
if (tmp759) {
/* tmp758 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst("ATSINSstore_boxrec_ofs(")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp760 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (env0, arg2) ;
/* tmp761 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst(", ")) ;
/* tmp762 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hitype (env0, arg3) ;
/* tmp763 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst(", ")) ;
/* tmp764 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext (env0, arg1, tmp752) ;
/* tmp765 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst(", ")) ;
/* tmp766 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (env0, tmp753) ;
/* tmp767 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (env0, ATSstrcst(") ;")) ;
tmp768 = atspre_add_int_int (arg5, 1) ;
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = arg3 ;
arg4 = tmp751 ;
arg5 = tmp768 ;
goto __ats_lab_loop_108 ; // tail call
break ;

/* branch: __ats_lab_145 */
__ats_lab_145_0:
// if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_145_1:
break ;
} while (0) ;
return /* (tmp749) */ ;
} /* end of [loop_108] */

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

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

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

ats_clo_ptr_type
loop_108_closure_make (ats_ptr_type env0) {
loop_108_closure_type *p_clo = ATS_MALLOC(sizeof(loop_108_closure_type)) ;
loop_108_closure_init (p_clo, env0) ;
return (ats_clo_ptr_type)p_clo ;
} /* end of function */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 50005(line=2548, offs=3) -- 52061(line=2641, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp748) ;
ATSlocal (ats_ptr_type, tmp769) ;
ATSlocal (ats_ptr_type, tmp770) ;
ATSlocal (ats_ptr_type, tmp771) ;
ATSlocal (ats_ptr_type, tmp772) ;
ATSlocal (ats_ptr_type, tmp773) ;
ATSlocal (ats_int_type, tmp774) ;
// ATSlocal_void (tmp775) ;
// ATSlocal_void (tmp776) ;
ATSlocal (ats_ptr_type, tmp777) ;
ATSlocal (ats_ptr_type, tmp778) ;
ATSlocal (ats_ptr_type, tmp779) ;
ATSlocal (ats_ptr_type, tmp780) ;
ATSlocal (ats_int_type, tmp781) ;
// ATSlocal_void (tmp782) ;
// ATSlocal_void (tmp783) ;
// ATSlocal_void (tmp784) ;
// ATSlocal_void (tmp785) ;
// ATSlocal_void (tmp786) ;
// ATSlocal_void (tmp787) ;
// ATSlocal_void (tmp788) ;
// ATSlocal_void (tmp789) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec:
tmp769 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
do {
/* branch: __ats_lab_146 */
__ats_lab_146_0:
if (((ats_sum_ptr_type)tmp769)->tag != 20) { goto __ats_lab_147_0 ; }
__ats_lab_146_1:
tmp770 = ats_caselptrlab_mac(anairiats_sum_12, tmp769, atslab_0) ;
tmp771 = ats_caselptrlab_mac(anairiats_sum_12, tmp769, atslab_1) ;
tmp772 = ats_caselptrlab_mac(anairiats_sum_12, tmp769, atslab_2) ;
tmp773 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hisexp_typize (1, tmp772) ;
tmp774 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_get_extknd (tmp772) ;
/* tmp775 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_fltrec_beg()\n")) ;
/* tmp776 = */ loop_108 (arg0, 0, tmp774, tmp770, tmp773, tmp771, 0) ;
/* tmp748 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\nATSINSmove_fltrec_end()")) ;
break ;

/* branch: __ats_lab_147 */
__ats_lab_147_0:
if (((ats_sum_ptr_type)tmp769)->tag != 19) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 50896(line=2590, offs=1) -- 52027(line=2639, offs=6)") ; }
__ats_lab_147_1:
tmp777 = ats_caselptrlab_mac(anairiats_sum_12, tmp769, atslab_0) ;
tmp778 = ats_caselptrlab_mac(anairiats_sum_12, tmp769, atslab_1) ;
tmp779 = ats_caselptrlab_mac(anairiats_sum_12, tmp769, atslab_2) ;
tmp780 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hisexp_typize (0, tmp779) ;
tmp781 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_get_extknd (tmp779) ;
/* tmp782 = */ atspre_fprint_string (arg0, ATSstrcst("/*\n#LINCONSTATUS==2\n*/\n")) ;
/* tmp783 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_boxrec_beg()\n")) ;
/* tmp784 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_boxrec_new(")) ;
/* tmp785 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp777) ;
/* tmp786 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp787 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hitype (arg0, tmp780) ;
/* tmp788 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;\n")) ;
/* tmp789 = */ loop_108 (arg0, 1, tmp781, tmp777, tmp780, tmp778, 0) ;
/* tmp748 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("\nATSINSmove_boxrec_end()")) ;
break ;
} while (0) ;
return /* (tmp748) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_rec] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 52127(line=2647, offs=5) -- 52499(line=2668, offs=4)
*/
ATSstaticdec()
ats_void_type
auxsel_109 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp790) ;
// ATSlocal_void (tmp791) ;
// ATSlocal_void (tmp792) ;
// ATSlocal_void (tmp793) ;
// ATSlocal_void (tmp794) ;
// ATSlocal_void (tmp795) ;
// ATSlocal_void (tmp796) ;

__ats_lab_auxsel_109:
/* tmp791 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELcon(")) ;
/* tmp792 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, arg1) ;
/* tmp793 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp794 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp_sel (arg0, arg2) ;
/* tmp795 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp796 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_labelext (arg0, 0, arg3) ;
/* tmp790 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp790) */ ;
} /* end of [auxsel_109] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 52576(line=2674, offs=3) -- 52696(line=2681, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selcon (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp797) ;
ATSlocal (ats_ptr_type, tmp798) ;
ATSlocal (ats_ptr_type, tmp799) ;
ATSlocal (ats_ptr_type, tmp800) ;
ATSlocal (ats_ptr_type, tmp801) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selcon:
tmp798 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp798)->tag != 23) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 52601(line=2676, offs=5) -- 52652(line=2677, offs=42)") ; }
tmp799 = ats_caselptrlab_mac(anairiats_sum_12, tmp798, atslab_0) ;
tmp800 = ats_caselptrlab_mac(anairiats_sum_12, tmp798, atslab_1) ;
tmp801 = ats_caselptrlab_mac(anairiats_sum_12, tmp798, atslab_2) ;
/* tmp797 = */ auxsel_109 (arg0, tmp799, tmp800, tmp801) ;
return /* (tmp797) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selcon] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 52783(line=2690, offs=1) -- 52952(line=2698, offs=4)
*/
ATSstaticdec()
ats_ptr_type
auxfnd_111 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp802) ;
ATSlocal (ats_ptr_type, tmp803) ;
ATSlocal (ats_ptr_type, tmp804) ;
ATSlocal (ats_ptr_type, tmp805) ;
ATSlocal (ats_ptr_type, tmp806) ;
ATSlocal (ats_bool_type, tmp807) ;

__ats_lab_auxfnd_111:
if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 52846(line=2694, offs=7) -- 52871(line=2694, offs=32)") ; }
tmp803 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp804 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ;

tmp805 = ats_caselptrlab_mac(anairiats_sum_21, tmp803, atslab_0) ;
tmp806 = ats_caselptrlab_mac(anairiats_sum_21, tmp803, atslab_2) ;
tmp807 = _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__eq_label_label (arg0, tmp805) ;
if (tmp807) {
tmp802 = tmp806 ;
} else {
arg0 = arg0 ;
arg1 = tmp804 ;
goto __ats_lab_auxfnd_111 ; // tail call
} /* end of [if] */
return (tmp802) ;
} /* end of [auxfnd_111] */

/*
// /tmp/ATS-Postiats/src/pats_errmsg.dats: 1637(line=52, offs=15) -- 1735(line=57, offs=2)
*/
ATSstaticdec()
ats_void_type
prerr_interror_02193_ () {
/* local vardec */
// ATSlocal_void (tmp816) ;
// ATSlocal_void (tmp817) ;
// ATSlocal_void (tmp818) ;

__ats_lab_prerr_interror_02193_:
/* tmp817 = */ atspre_prerr_string (ATSstrcst("INTERROR(")) ;
/* tmp818 = */ prerr_FILENAME_02192_ () ;
/* tmp816 = */ atspre_prerr_string (ATSstrcst(")")) ;
return /* (tmp816) */ ;
} /* end of [prerr_interror_02193_] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 52977(line=2701, offs=1) -- 53902(line=2745, offs=4)
*/
ATSstaticdec()
ats_ptr_type
auxsel_112 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp808) ;
ATSlocal (ats_ptr_type, tmp809) ;
ATSlocal (ats_ptr_type, tmp810) ;
ATSlocal (ats_ptr_type, tmp811) ;
ATSlocal (ats_ptr_type, tmp812) ;
ATSlocal (ats_ptr_type, tmp813) ;
ATSlocal (ats_ptr_type, tmp814) ;
// ATSlocal_void (tmp815) ;
// ATSlocal_void (tmp819) ;
// ATSlocal_void (tmp820) ;
// ATSlocal_void (tmp821) ;
// ATSlocal_void (tmp822) ;
// ATSlocal_void (tmp823) ;
// ATSlocal_void (tmp824) ;
// ATSlocal_void (tmp825) ;
// ATSlocal_void (tmp826) ;
ATSlocal (ats_ptr_type, tmp827) ;
ATSlocal (ats_ptr_type, tmp828) ;
ATSlocal (ats_ptr_type, tmp829) ;

__ats_lab_auxsel_112:
tmp809 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg1), atslab_primlab_node) ;
do {
/* branch: __ats_lab_148 */
__ats_lab_148_0:
if (((ats_sum_ptr_type)tmp809)->tag != 0) { goto __ats_lab_153_0 ; }
__ats_lab_148_1:
tmp810 = ats_caselptrlab_mac(anairiats_sum_2, tmp809, atslab_0) ;
tmp811 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_node) ;
do {
/* branch: __ats_lab_149 */
__ats_lab_149_0:
if (((ats_sum_ptr_type)tmp811)->tag != 8) { goto __ats_lab_150_0 ; }
__ats_lab_149_1:
tmp812 = ats_caselptrlab_mac(anairiats_sum_7, tmp811, atslab_1) ;
tmp808 = auxfnd_111 (tmp810, tmp812) ;
break ;

/* branch: __ats_lab_150 */
__ats_lab_150_0:
if (((ats_sum_ptr_type)tmp811)->tag != 9) { goto __ats_lab_151_0 ; }
__ats_lab_150_1:
tmp813 = ats_caselptrlab_mac(anairiats_sum_2, tmp811, atslab_0) ;
tmp808 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__labhisexp_get_elt (tmp813) ;
break ;

/* branch: __ats_lab_151 */
__ats_lab_151_0:
if (((ats_sum_ptr_type)tmp811)->tag != 10) { goto __ats_lab_152_0 ; }
__ats_lab_151_1:
tmp814 = ats_caselptrlab_mac(anairiats_sum_7, tmp811, atslab_1) ;
tmp808 = auxfnd_111 (tmp810, tmp814) ;
break ;

/* branch: __ats_lab_152 */
__ats_lab_152_0:
__ats_lab_152_1:
/* tmp815 = */ prerr_interror_02193_ () ;
/* tmp819 = */ atspre_prerr_string (ATSstrcst(": auxsel: pml = ")) ;
/* tmp820 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__prerr_primlab (arg1) ;
/* tmp821 = */ atspre_prerr_newline () ;
/* tmp822 = */ prerr_interror_02193_ () ;
/* tmp823 = */ atspre_prerr_string (ATSstrcst(": auxsel: hse0 = ")) ;
/* tmp824 = */ _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__prerr_hisexp (arg0) ;
/* tmp825 = */ atspre_prerr_newline () ;
tmp827 = atspre_string_append ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 53638(line=2733, offs=24) -- 53654(line=2733, offs=40)", ATSstrcst("\n")) ;
/* tmp826 = */ atspre_assert_errmsg (ats_false_bool, tmp827) ;
/* tmp808 = */ _2tmp_2ATS_2dPostiats_2src_2pats_error_2esats__abort_interr () ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_153 */
__ats_lab_153_0:
// if (((ats_sum_ptr_type)tmp809)->tag != 1) { ats_deadcode_failure_handle () ; }
__ats_lab_153_1:
tmp828 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_hisexp_node) ;
if (((ats_sum_ptr_type)tmp828)->tag != 7) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 53790(line=2740, offs=9) -- 53839(line=2741, offs=41)") ; }
tmp829 = ats_caselptrlab_mac(anairiats_sum_7, tmp828, atslab_0) ;
tmp808 = tmp829 ;
break ;
} while (0) ;
return (tmp808) ;
} /* end of [auxsel_112] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 54058(line=2755, offs=5) -- 54354(line=2768, offs=2)
*/
ATSstaticdec()
ats_ptr_type
loop_115 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp831) ;
ATSlocal (ats_ptr_type, tmp832) ;
ATSlocal (ats_ptr_type, tmp833) ;
ATSlocal (ats_ptr_type, tmp834) ;
ATSlocal (ats_ptr_type, tmp835) ;
ATSlocal (anairiats_rec_22, tmp836) ;

__ats_lab_loop_115:
do {
/* branch: __ats_lab_154 */
__ats_lab_154_0:
if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_155_0 ; }
__ats_lab_154_1:
tmp831 = arg2 ;
break ;

/* branch: __ats_lab_155 */
__ats_lab_155_0:
// if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_155_1:
tmp832 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp833 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_1) ;
tmp834 = auxsel_112 (arg0, tmp832) ;
tmp836.atslab_0 = arg0 ;
tmp836.atslab_1 = tmp832 ;

tmp835 = ATS_MALLOC(sizeof(anairiats_sum_23)) ;
ats_selptrset_mac(anairiats_sum_23, tmp835, atslab_0, tmp836) ;
ats_selptrset_mac(anairiats_sum_23, tmp835, atslab_1, arg2) ;
arg0 = tmp834 ;
arg1 = tmp833 ;
arg2 = tmp835 ;
goto __ats_lab_loop_115 ; // tail call
break ;
} while (0) ;
return (tmp831) ;
} /* end of [loop_115] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 53927(line=2748, offs=1) -- 54420(line=2772, offs=4)
*/
ATSstaticdec()
ats_ptr_type
auxselist_114 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp830) ;
ATSlocal (ats_ptr_type, tmp837) ;

__ats_lab_auxselist_114:
tmp837 = (ats_sum_ptr_type)0 ;
tmp830 = loop_115 (arg0, arg1, tmp837) ;
return (tmp830) ;
} /* end of [auxselist_114] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list_vt.dats: 1961(line=59, offs=16) -- 2054(line=60, offs=87)
*/
ATSstaticdec()
ats_bool_type
list_vt_is_nil_01494_ (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp849) ;

__ats_lab_list_vt_is_nil_01494_:
do {
/* branch: __ats_lab_158 */
__ats_lab_158_0:
if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_159_0 ; }
__ats_lab_158_1:
tmp849 = ats_true_bool ;
break ;

/* branch: __ats_lab_159 */
__ats_lab_159_0:
// if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_159_1:
tmp849 = ats_false_bool ;
break ;
} while (0) ;
return (tmp849) ;
} /* end of [list_vt_is_nil_01494_] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 54448(line=2775, offs=1) -- 56587(line=2860, offs=4)
*/
ATSstaticdec()
ats_void_type
auxmain_116 (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4, ats_int_type arg5) {
/* local vardec */
// ATSlocal_void (tmp838) ;
ATSlocal (anairiats_rec_22, tmp839) ;
ATSlocal (ats_ptr_type, tmp840) ;
ATSlocal (ats_ptr_type, tmp841) ;
ATSlocal (ats_ptr_type, tmp842) ;
ATSlocal (ats_ptr_type, tmp843) ;
ATSlocal (ats_ptr_type, tmp844) ;
ATSlocal (ats_ptr_type, tmp846) ;
ATSlocal (ats_ptr_type, tmp847) ;
ATSlocal (ats_bool_type, tmp848) ;
ATSlocal (ats_ptr_type, tmp850) ;
ATSlocal (ats_ptr_type, tmp851) ;
ATSlocal (ats_bool_type, tmp852) ;
ATSlocal (ats_int_type, tmp853) ;
// ATSlocal_void (tmp854) ;
ATSlocal (ats_bool_type, tmp855) ;
ATSlocal (ats_bool_type, tmp856) ;
ATSlocal (ats_bool_type, tmp857) ;
// ATSlocal_void (tmp858) ;
ATSlocal (ats_int_type, tmp859) ;
// ATSlocal_void (tmp860) ;
// ATSlocal_void (tmp861) ;
// ATSlocal_void (tmp862) ;
ATSlocal (ats_int_type, tmp863) ;
// ATSlocal_void (tmp864) ;

__ats_lab_auxmain_116:
do {
/* branch: __ats_lab_156 */
__ats_lab_156_0:
if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_161_0 ; }
__ats_lab_156_1:
tmp839 = ats_caselptrlab_mac(anairiats_sum_23, arg4, atslab_0) ;
tmp840 = ats_caselptrlab_mac(anairiats_sum_23, arg4, atslab_1) ;
ATS_FREE(arg4) ;
tmp841 = ats_select_mac(tmp839, atslab_0) ;
tmp842 = ats_select_mac(tmp839, atslab_1) ;
/* ats_ptr_type tmp843 ; */
tmp843 = tmp841 ;
/* ats_ptr_type tmp844 ; */
tmp844 = arg2 ;
tmp846 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, tmp841), atslab_hisexp_node) ;
do {
/* branch: __ats_lab_157 */
__ats_lab_157_0:
if (((ats_sum_ptr_type)tmp846)->tag != 7) { goto __ats_lab_160_0 ; }
__ats_lab_157_1:
tmp847 = ats_caselptrlab_mac(anairiats_sum_7, tmp846, atslab_0) ;
tmp843 = tmp847 ;
tmp848 = list_vt_is_nil_01494_ (tmp840) ;
if (tmp848) {
tmp851 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg2), atslab_primval_loc) ;
tmp850 = _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_ptrof (tmp851, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_typtr, arg2) ;
tmp844 = tmp850 ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_160 */
__ats_lab_160_0:
__ats_lab_160_1:
break ;
} while (0) ;
/* ats_bool_type tmp852 ; */
tmp852 = ats_false_bool ;
tmp853 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_get_boxknd (tmp841) ;
tmp855 = atspre_lte_int_int (tmp853, 0) ;
if (tmp855) {
tmp856 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_is_tyrecsin (tmp841) ;
tmp852 = tmp856 ;
if (tmp852) {
/* tmp854 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELrecsin(")) ;
} else {
tmp857 = atspre_gte_int_int (tmp853, 0) ;
if (tmp857) {
/* tmp854 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELfltrec(")) ;
} else {
/* tmp854 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELarrptrind(")) ;
} /* end of [if] */
} /* end of [if] */
} else {
/* tmp854 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSSELboxrec(")) ;
} /* end of [if] */
tmp859 = atspre_add_int_int (arg5, 1) ;
/* tmp858 = */ auxmain_116 (arg0, arg1, tmp844, arg3, tmp840, tmp859) ;
/* tmp860 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp861 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp_sel (arg0, tmp843) ;
/* tmp862 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
tmp863 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_get_extknd (tmp841) ;
/* tmp864 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primlab (arg0, tmp863, tmp842) ;
/* tmp838 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
break ;

/* branch: __ats_lab_161 */
__ats_lab_161_0:
// if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_161_1:
do {
/* branch: __ats_lab_162 */
__ats_lab_162_0:
if (arg1 != 0) { goto __ats_lab_163_0 ; }
__ats_lab_162_1:
/* tmp838 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, arg2) ;
break ;

/* branch: __ats_lab_163 */
__ats_lab_163_0:
__ats_lab_163_1:
/* tmp838 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval_deref (arg0, arg2, arg3) ;
break ;
} while (0) ;
break ;
} while (0) ;
return /* (tmp838) */ ;
} /* end of [auxmain_116] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 56707(line=2870, offs=3) -- 56880(line=2879, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp865) ;
ATSlocal (ats_ptr_type, tmp866) ;
ATSlocal (ats_ptr_type, tmp867) ;
ATSlocal (ats_ptr_type, tmp868) ;
ATSlocal (ats_ptr_type, tmp869) ;
ATSlocal (ats_ptr_type, tmp870) ;
ATSlocal (anairiats_rec_22, tmp871) ;
ATSlocal (ats_ptr_type, tmp872) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select:
tmp866 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp866)->tag != 24) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 56732(line=2872, offs=5) -- 56782(line=2873, offs=41)") ; }
tmp867 = ats_caselptrlab_mac(anairiats_sum_12, tmp866, atslab_0) ;
tmp868 = ats_caselptrlab_mac(anairiats_sum_12, tmp866, atslab_1) ;
tmp869 = ats_caselptrlab_mac(anairiats_sum_12, tmp866, atslab_2) ;
tmp871.atslab_0 = tmp868 ;
tmp871.atslab_1 = tmp869 ;

tmp872 = (ats_sum_ptr_type)0 ;
tmp870 = ATS_MALLOC(sizeof(anairiats_sum_23)) ;
ats_selptrset_mac(anairiats_sum_23, tmp870, atslab_0, tmp871) ;
ats_selptrset_mac(anairiats_sum_23, tmp870, atslab_1, tmp872) ;
/* tmp865 = */ auxmain_116 (arg0, 0, tmp867, tmp868, tmp870, 0) ;
return /* (tmp865) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 56968(line=2885, offs=3) -- 57207(line=2898, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select2 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp873) ;
ATSlocal (ats_ptr_type, tmp874) ;
ATSlocal (ats_ptr_type, tmp875) ;
ATSlocal (ats_ptr_type, tmp876) ;
ATSlocal (ats_ptr_type, tmp877) ;
ATSlocal (ats_ptr_type, tmp878) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select2:
tmp874 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp874)->tag != 25) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 56993(line=2887, offs=5) -- 57045(line=2888, offs=42)") ; }
tmp875 = ats_caselptrlab_mac(anairiats_sum_12, tmp874, atslab_0) ;
tmp876 = ats_caselptrlab_mac(anairiats_sum_12, tmp874, atslab_1) ;
tmp877 = ats_caselptrlab_mac(anairiats_sum_12, tmp874, atslab_2) ;
tmp878 = auxselist_114 (tmp876, tmp877) ;
/* tmp873 = */ auxmain_116 (arg0, 0, tmp875, tmp876, tmp878, 0) ;
return /* (tmp873) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_select2] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 57295(line=2904, offs=3) -- 57517(line=2917, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selptr (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp879) ;
ATSlocal (ats_ptr_type, tmp880) ;
ATSlocal (ats_ptr_type, tmp881) ;
ATSlocal (ats_ptr_type, tmp882) ;
ATSlocal (ats_ptr_type, tmp883) ;
ATSlocal (ats_ptr_type, tmp884) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selptr:
tmp880 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp880)->tag != 26) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 57320(line=2906, offs=5) -- 57371(line=2907, offs=42)") ; }
tmp881 = ats_caselptrlab_mac(anairiats_sum_12, tmp880, atslab_0) ;
tmp882 = ats_caselptrlab_mac(anairiats_sum_12, tmp880, atslab_1) ;
tmp883 = ats_caselptrlab_mac(anairiats_sum_12, tmp880, atslab_2) ;
tmp884 = auxselist_114 (tmp882, tmp883) ;
/* tmp879 = */ auxmain_116 (arg0, 1, tmp881, tmp882, tmp884, 0) ;
return /* (tmp879) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_selptr] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 57606(line=2923, offs=3) -- 57917(line=2941, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrofsel (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp885) ;
ATSlocal (ats_ptr_type, tmp886) ;
ATSlocal (ats_ptr_type, tmp887) ;
ATSlocal (ats_ptr_type, tmp888) ;
ATSlocal (ats_ptr_type, tmp889) ;
// ATSlocal_void (tmp890) ;
ATSlocal (ats_ptr_type, tmp891) ;
// ATSlocal_void (tmp892) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrofsel:
tmp886 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg1), atslab_primval_node) ;
if (((ats_sum_ptr_type)tmp886)->tag != 28) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 57631(line=2925, offs=5) -- 57684(line=2926, offs=42)") ; }
tmp887 = ats_caselptrlab_mac(anairiats_sum_12, tmp886, atslab_0) ;
tmp888 = ats_caselptrlab_mac(anairiats_sum_12, tmp886, atslab_1) ;
tmp889 = ats_caselptrlab_mac(anairiats_sum_12, tmp886, atslab_2) ;
/* tmp890 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSPMVptrof(")) ;
tmp891 = auxselist_114 (tmp888, tmp889) ;
/* tmp892 = */ auxmain_116 (arg0, 1, tmp887, tmp888, tmp891, 0) ;
/* tmp885 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_RPAREN (arg0) ;
return /* (tmp885) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_primval_ptrofsel] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 58010(line=2947, offs=3) -- 58390(line=2966, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp893) ;
ATSlocal (ats_ptr_type, tmp894) ;
ATSlocal (ats_ptr_type, tmp895) ;
ATSlocal (ats_ptr_type, tmp896) ;
ATSlocal (ats_ptr_type, tmp897) ;
ATSlocal (ats_ptr_type, tmp898) ;
// ATSlocal_void (tmp899) ;
ATSlocal (ats_ptr_type, tmp900) ;
// ATSlocal_void (tmp901) ;
// ATSlocal_void (tmp902) ;
// ATSlocal_void (tmp903) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs:
tmp894 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
if (((ats_sum_ptr_type)tmp894)->tag != 23) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 58034(line=2949, offs=5) -- 58097(line=2950, offs=48)") ; }
tmp895 = ats_caselptrlab_mac(anairiats_sum_20, tmp894, atslab_0) ;
tmp896 = ats_caselptrlab_mac(anairiats_sum_20, tmp894, atslab_1) ;
tmp897 = ats_caselptrlab_mac(anairiats_sum_20, tmp894, atslab_2) ;
tmp898 = ats_caselptrlab_mac(anairiats_sum_20, tmp894, atslab_3) ;
/* tmp899 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSstore(")) ;
tmp900 = auxselist_114 (tmp896, tmp897) ;
/* tmp901 = */ auxmain_116 (arg0, 1, tmp895, tmp896, tmp900, 0) ;
/* tmp902 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp903 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp898) ;
/* tmp893 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp893) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_store_ptrofs] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 58486(line=2972, offs=3) -- 58899(line=2988, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp904) ;
ATSlocal (ats_ptr_type, tmp905) ;
ATSlocal (ats_ptr_type, tmp906) ;
ATSlocal (ats_ptr_type, tmp907) ;
ATSlocal (ats_ptr_type, tmp908) ;
ATSlocal (ats_ptr_type, tmp909) ;
ATSlocal (ats_ptr_type, tmp910) ;
ATSlocal (ats_ptr_type, tmp911) ;
// ATSlocal_void (tmp912) ;
// ATSlocal_void (tmp913) ;
// ATSlocal_void (tmp914) ;
// ATSlocal_void (tmp915) ;
// ATSlocal_void (tmp916) ;
// ATSlocal_void (tmp917) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs:
tmp905 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
if (((ats_sum_ptr_type)tmp905)->tag != 24) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 58510(line=2974, offs=5) -- 58579(line=2975, offs=53)") ; }
tmp906 = ats_caselptrlab_mac(anairiats_sum_24, tmp905, atslab_0) ;
tmp907 = ats_caselptrlab_mac(anairiats_sum_24, tmp905, atslab_1) ;
tmp908 = ats_caselptrlab_mac(anairiats_sum_24, tmp905, atslab_2) ;
tmp909 = ats_caselptrlab_mac(anairiats_sum_24, tmp905, atslab_3) ;
tmp910 = ats_caselptrlab_mac(anairiats_sum_24, tmp905, atslab_4) ;
tmp911 = auxselist_114 (tmp908, tmp909) ;
/* tmp912 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSxstore(")) ;
/* tmp913 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp906) ;
/* tmp914 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp915 = */ auxmain_116 (arg0, 1, tmp907, tmp908, tmp911, 0) ;
/* tmp916 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp917 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp910) ;
/* tmp904 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp904) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_xstore_ptrofs] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 59032(line=2998, offs=3) -- 59304(line=3012, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_raise (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp918) ;
ATSlocal (ats_ptr_type, tmp919) ;
ATSlocal (ats_ptr_type, tmp920) ;
ATSlocal (ats_ptr_type, tmp921) ;
// ATSlocal_void (tmp922) ;
// ATSlocal_void (tmp923) ;
// ATSlocal_void (tmp924) ;
// ATSlocal_void (tmp925) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_raise:
tmp919 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
if (((ats_sum_ptr_type)tmp919)->tag != 25) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 59056(line=3000, offs=5) -- 59098(line=3001, offs=34)") ; }
tmp920 = ats_caselptrlab_mac(anairiats_sum_7, tmp919, atslab_0) ;
tmp921 = ats_caselptrlab_mac(anairiats_sum_7, tmp919, atslab_1) ;
/* tmp922 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSraise_exn(")) ;
/* tmp923 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp920) ;
/* tmp924 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp925 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp921) ;
/* tmp918 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp918) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_raise] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 59390(line=3018, offs=3) -- 59927(line=3045, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp926) ;
ATSlocal (ats_ptr_type, tmp927) ;
ATSlocal (ats_ptr_type, tmp928) ;
ATSlocal (ats_int_type, tmp929) ;
ATSlocal (ats_ptr_type, tmp930) ;
ATSlocal (ats_ptr_type, tmp931) ;
// ATSlocal_void (tmp932) ;
ATSlocal (ats_bool_type, tmp933) ;
// ATSlocal_void (tmp934) ;
ATSlocal (ats_bool_type, tmp935) ;
ATSlocal (ats_ptr_type, tmp936) ;
ATSlocal (ats_bool_type, tmp937) ;
// ATSlocal_void (tmp938) ;
// ATSlocal_void (tmp939) ;
// ATSlocal_void (tmp940) ;
// ATSlocal_void (tmp941) ;
// ATSlocal_void (tmp942) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay:
tmp927 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
if (((ats_sum_ptr_type)tmp927)->tag != 26) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 59414(line=3020, offs=5) -- 59469(line=3021, offs=42)") ; }
tmp928 = ats_caselptrlab_mac(anairiats_sum_25, tmp927, atslab_0) ;
tmp929 = ats_caselptrlab_mac(anairiats_sum_25, tmp927, atslab_1) ;
tmp930 = ats_caselptrlab_mac(anairiats_sum_25, tmp927, atslab_2) ;
tmp931 = ats_caselptrlab_mac(anairiats_sum_25, tmp927, atslab_3) ;
tmp933 = atspre_eq_int_int (tmp929, 0) ;
if (tmp933) {
/* tmp932 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_delay(")) ;
} else {
/* empty */
} /* end of [if] */
tmp935 = atspre_gt_int_int (tmp929, 0) ;
if (tmp935) {
/* tmp934 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_ldelay(")) ;
} else {
/* empty */
} /* end of [if] */
tmp937 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_is_void (tmp930) ;
if (tmp937) {
tmp936 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_int_t0ype () ;
} else {
tmp936 = tmp930 ;
} /* end of [if] */
/* tmp938 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp928) ;
/* tmp939 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp940 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp936) ;
/* tmp941 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp942 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp931) ;
/* tmp926 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp926) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_delay] */

/*
// /tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 60021(line=3051, offs=3) -- 60468(line=3070, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp943) ;
ATSlocal (ats_ptr_type, tmp944) ;
ATSlocal (ats_ptr_type, tmp945) ;
ATSlocal (ats_int_type, tmp946) ;
ATSlocal (ats_ptr_type, tmp947) ;
ATSlocal (ats_ptr_type, tmp948) ;
// ATSlocal_void (tmp949) ;
ATSlocal (ats_bool_type, tmp950) ;
// ATSlocal_void (tmp951) ;
ATSlocal (ats_bool_type, tmp952) ;
// ATSlocal_void (tmp953) ;
// ATSlocal_void (tmp954) ;
// ATSlocal_void (tmp955) ;
// ATSlocal_void (tmp956) ;
// ATSlocal_void (tmp957) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval:
tmp944 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_16, arg1), atslab_instr_node) ;
if (((ats_sum_ptr_type)tmp944)->tag != 27) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_ccomp_emit.dats: 60045(line=3053, offs=5) -- 60106(line=3054, offs=45)") ; }
tmp945 = ats_caselptrlab_mac(anairiats_sum_25, tmp944, atslab_0) ;
tmp946 = ats_caselptrlab_mac(anairiats_sum_25, tmp944, atslab_1) ;
tmp947 = ats_caselptrlab_mac(anairiats_sum_25, tmp944, atslab_2) ;
tmp948 = ats_caselptrlab_mac(anairiats_sum_25, tmp944, atslab_3) ;
tmp950 = atspre_eq_int_int (tmp946, 0) ;
if (tmp950) {
/* tmp949 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_lazyeval(")) ;
} else {
/* empty */
} /* end of [if] */
tmp952 = atspre_gt_int_int (tmp946, 0) ;
if (tmp952) {
/* tmp951 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst("ATSINSmove_llazyeval(")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp953 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_tmpvar (arg0, tmp945) ;
/* tmp954 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp955 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_hisexp (arg0, tmp947) ;
/* tmp956 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(", ")) ;
/* tmp957 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_primval (arg0, tmp948) ;
/* tmp943 = */ _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_2esats__emit_text (arg0, ATSstrcst(") ;")) ;
return /* (tmp943) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__emit_instr_move_lazyeval] */

/* 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 ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_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_intinf_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_error_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_stamp_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_global_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_errmsg_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_errmsg_2edats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_label_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_location_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_staexp2_util_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) ;
extern ats_void_type ATS_2d0_2e2_2e12_2libc_2SATS_2time_2esats__staload (void) ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__staload () {
static int _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__staload_flag = 0 ;
if (_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__staload_flag) return ;
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__staload_flag = 1 ;

// _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload () ;
// ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2unsafe_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_basics_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_intinf_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_error_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_stamp_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_global_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_errmsg_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_errmsg_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_location_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_staexp2_util_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 () ;
ATS_2d0_2e2_2e12_2libc_2SATS_2time_2esats__staload () ;

return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__dynload_flag ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__dynload () {
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__dynload_flag = 1 ;
_2tmp_2ATS_2dPostiats_2src_2pats_ccomp_emit_2edats__staload () ;

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

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

/* marking external values for GC */

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

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

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

/* end of [pats_ccomp_emit_dats.c] */
