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

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

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

typedef ats_ptr_type string ;
typedef ats_ptr_type symbol ;

/* type definitions */
typedef
struct {
string atslab_0 ;
symbol atslab_1 ;
} anairiats_rec_0 ;

typedef
struct {
ats_size_type atslab_sz ;
ats_size_type atslab_tot ;
ats_ptr_type atslab_pbeg ;
ats_clo_ref_type atslab_hash ;
ats_clo_ref_type atslab_eqfn ;
} anairiats_rec_1 ;

typedef
struct {
ats_ptr_type atslab_name ;
ats_uint_type atslab_stamp ;
} anairiats_rec_2 ;

typedef struct {
ats_ptr_type atslab_0 ;
} anairiats_sum_3 ;

/* external typedefs */
/* external dynamic constructor declarations */
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) ;

/* 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_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_double_type, atspre_double_of_size) (ats_size_type) ;
ATSextern_fun(ats_double_type, atspre_mul_int_double) (ats_int_type, ats_double_type) ;
ATSextern_fun(ats_bool_type, atspre_gte_double_double) (ats_double_type, ats_double_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_uint_uint) (ats_uint_type, ats_uint_type) ;
ATSextern_fun(ats_bool_type, atspre_neq_uint_uint) (ats_uint_type, ats_uint_type) ;
ATSextern_fun(ats_int_type, atspre_compare_uint_uint) (ats_uint_type, ats_uint_type) ;
ATSextern_fun(ats_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_add_size_int) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_sub_size_int) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_add_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_size_type, atspre_sub_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_sub_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_size_type, atspre_mul_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_size_type, atspre_mul2_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_size_type, atspre_mod1_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_int_type, atspre_compare_string_string) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ulint_type, atspre_string_hash_33) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbol) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atslib_hashtbl_free__linprb) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atslib_hashtbl_ptr_clear__linprb) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atslib_hashtbl_ptr_make__linprb) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atslib_hashtbl_ptr_free__linprb) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atslib_hashtbl_make_hint_tsz__linprb) (ats_clo_ref_type, ats_clo_ref_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_ptr_is_null) (ats_ptr_type) ;

/* external dynamic terminating constant declarations */
#ifdef _ATS_PROOFCHECK
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_none_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_some_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_encode_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_split_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_unsplit_prfck () ;
extern
ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2edats____assert_prfck () ;
extern
ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2edats____assert1_prfck () ;
extern
ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2edats____assert2_prfck () ;
#endif /* _ATS_PROOFCHECK */

/* assuming abstract types */
int _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__sasp__symbol_type = 0 ;

/* sum constructor declarations */
/* exn constructor declarations */
/* global dynamic (non-functional) constant declarations */
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_empty) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_NEG) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ADD) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_SUB) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_MUL) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_DIV) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_AMPERSAND) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_AMPERBANG) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_AMPERQMARK) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_AT) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_BACKSLASH) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_BANG) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_COLONEQ) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_COLONEQCOLON) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_GT) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_GTEQ) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LT) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LTEQ) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_EQ) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_EQEQ) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LTGT) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_BANGEQ) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_GTLT) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_GTGT) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LTLT) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LAND) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LOR) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LRBRACKETS) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_MINUSGT) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_QMARK) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_QMARKBANG) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TILDE) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_UNDERSCORE) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VBOX) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LAMAT) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LLAMAT) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_INT) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_BOOL) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ADDR) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_REAL) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_FLOAT) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_STRING) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_CLS) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_EFF) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TKIND) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PROP) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TYPE) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_T0YPE) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VIEW) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VTYPE) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VT0YPE) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VIEWTYPE) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VIEWT0YPE) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TYPES) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TRUE_BOOL) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_FALSE_BOOL) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_DEFINED) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_UNDEFINED) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_CAR) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_CDR) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ISNIL) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ISCONS) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ISLIST) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TUPZ) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol__STDIN__) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol__STRING__) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PATSHOME) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PATSCONTRIB) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PATSHOMELOCS) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PATSRELOCROOT) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_PACKNAME) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADFLAG) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADNAME) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_MAINATSFLAG) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_EXTERN_PREFIX) ;
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_STATIC_PREFIX) ;

/* internal function declarations */
static
ats_void_type keyitem_nullify_01807_anairiats_rec_0 (ats_ref_type arg0) ;
static
ats_bool_type keyitem_isnot_null_01808_anairiats_rec_0 (ats_ref_type arg0) ;
static
ats_ulint_type hash_key_01802_string (string arg0, ats_clo_ref_type arg1) ;
static
ats_bool_type equal_key_key_01803_string (string arg0, string arg1, ats_clo_ref_type arg2) ;
static
ats_ptr_type atslib_hashtbl_make_hint__linprb_string_2csymbol (ats_clo_ref_type arg0, ats_clo_ref_type arg1, ats_size_type arg2) ;
static
ats_ptr_type hashtbl_ptr_split_044_string_2csymbol (ats_ptr_type arg0, ats_size_type arg1) ;
static
ats_void_type loop_9 (string env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) ;
static
ats_clo_ptr_type loop_9_closure_make (string env0, ats_clo_ref_type env1) ;
static
ats_void_type loop_9_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) ;
static
ats_ptr_type hashtbl_ptr_probe_ofs_052_string_2csymbol (ats_ptr_type arg0, string arg1, ats_clo_ref_type arg2, ats_size_type arg3, ats_size_type arg4, ats_ref_type arg5) ;
static
ats_void_type hashtbl_ptr_relocate_0101_string_2csymbol (ats_size_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_clo_ref_type arg4, ats_clo_ref_type arg5) ;
static
ats_void_type hashtbl_resize_0122_string_2csymbol (ats_ptr_type arg0, ats_size_type arg1) ;
static
ats_bool_type hashtbl_insert_01814_string_2csymbol (ats_ptr_type arg0, string arg1, symbol arg2, ats_ref_type arg3) ;
static
ats_void_type symbol_insert_5 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_bool_type hashtbl_search_01813_string_2csymbol (ats_ptr_type arg0, string arg1, ats_ref_type arg2) ;
static
ats_ptr_type symbol_search_12 (ats_ptr_type arg0) ;
static
ats_uint_type stamp_getinc_16 () ;

/* partial value template declarations */
/* static temporary variable declarations */
ATSstatic (ats_ptr_type, statmp7) ;
ATSstatic (ats_uint_type, statmp95) ;
// ATSstatic_void (statmp96) ;
// ATSstatic_void (statmp97) ;
ATSstatic (ats_ptr_type, statmp107) ;
// ATSstatic_void (statmp108) ;
ATSstatic (ats_bool_type, statmp109) ;
ATSstatic (ats_uint_type, statmp110) ;
ATSstatic (ats_ptr_type, statmp111) ;
ATSstatic (ats_ptr_type, statmp112) ;
ATSstatic (ats_ptr_type, statmp113) ;
ATSstatic (ats_ptr_type, statmp114) ;
ATSstatic (ats_ptr_type, statmp115) ;
ATSstatic (ats_ptr_type, statmp116) ;
ATSstatic (ats_ptr_type, statmp117) ;
ATSstatic (ats_ptr_type, statmp118) ;
ATSstatic (ats_ptr_type, statmp119) ;
ATSstatic (ats_ptr_type, statmp120) ;
ATSstatic (ats_ptr_type, statmp121) ;
ATSstatic (ats_ptr_type, statmp122) ;
ATSstatic (ats_ptr_type, statmp123) ;
ATSstatic (ats_ptr_type, statmp124) ;
ATSstatic (ats_ptr_type, statmp125) ;
ATSstatic (ats_ptr_type, statmp126) ;
ATSstatic (ats_ptr_type, statmp127) ;
ATSstatic (ats_ptr_type, statmp128) ;
ATSstatic (ats_ptr_type, statmp129) ;
ATSstatic (ats_ptr_type, statmp130) ;
ATSstatic (ats_ptr_type, statmp131) ;
ATSstatic (ats_ptr_type, statmp132) ;
ATSstatic (ats_ptr_type, statmp133) ;
ATSstatic (ats_ptr_type, statmp134) ;
ATSstatic (ats_ptr_type, statmp135) ;
ATSstatic (ats_ptr_type, statmp136) ;
ATSstatic (ats_ptr_type, statmp137) ;
ATSstatic (ats_ptr_type, statmp138) ;
ATSstatic (ats_ptr_type, statmp139) ;
ATSstatic (ats_ptr_type, statmp140) ;
ATSstatic (ats_ptr_type, statmp141) ;
ATSstatic (ats_ptr_type, statmp142) ;
ATSstatic (ats_ptr_type, statmp143) ;
ATSstatic (ats_ptr_type, statmp144) ;
ATSstatic (ats_ptr_type, statmp145) ;
ATSstatic (ats_ptr_type, statmp146) ;
ATSstatic (ats_ptr_type, statmp147) ;
ATSstatic (ats_ptr_type, statmp148) ;
ATSstatic (ats_ptr_type, statmp149) ;
ATSstatic (ats_ptr_type, statmp150) ;
ATSstatic (ats_ptr_type, statmp151) ;
ATSstatic (ats_ptr_type, statmp152) ;
ATSstatic (ats_ptr_type, statmp153) ;
ATSstatic (ats_ptr_type, statmp154) ;
ATSstatic (ats_ptr_type, statmp155) ;
ATSstatic (ats_ptr_type, statmp156) ;
ATSstatic (ats_ptr_type, statmp157) ;
ATSstatic (ats_ptr_type, statmp158) ;
ATSstatic (ats_ptr_type, statmp159) ;
ATSstatic (ats_ptr_type, statmp160) ;
ATSstatic (ats_ptr_type, statmp161) ;
ATSstatic (ats_ptr_type, statmp162) ;
ATSstatic (ats_ptr_type, statmp163) ;
ATSstatic (ats_ptr_type, statmp164) ;
ATSstatic (ats_ptr_type, statmp165) ;
ATSstatic (ats_ptr_type, statmp166) ;
ATSstatic (ats_ptr_type, statmp167) ;
ATSstatic (ats_ptr_type, statmp168) ;
ATSstatic (ats_ptr_type, statmp169) ;
ATSstatic (ats_ptr_type, statmp170) ;
ATSstatic (ats_ptr_type, statmp171) ;
ATSstatic (ats_ptr_type, statmp172) ;
ATSstatic (ats_ptr_type, statmp173) ;
ATSstatic (ats_ptr_type, statmp174) ;
ATSstatic (ats_ptr_type, statmp175) ;
ATSstatic (ats_ptr_type, statmp176) ;
ATSstatic (ats_ptr_type, statmp177) ;
ATSstatic (ats_ptr_type, statmp178) ;
ATSstatic (ats_ptr_type, statmp179) ;
ATSstatic (ats_ptr_type, statmp180) ;
ATSstatic (ats_ptr_type, statmp181) ;
ATSstatic (ats_ptr_type, statmp182) ;
ATSstatic (ats_ptr_type, statmp183) ;
ATSstatic (ats_ptr_type, statmp184) ;
ATSstatic (ats_ptr_type, statmp185) ;
ATSstatic (ats_ptr_type, statmp186) ;

/* external value variable declarations */

/* function implementations */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 2302(line=89, offs=3) -- 2465(line=94, offs=2)
*/
ATSstaticdec()
ats_void_type
keyitem_nullify_01807_anairiats_rec_0 (ats_ref_type arg0) {
/* local vardec */
// ATSlocal_void (tmp0) ;

__ats_lab_keyitem_nullify_01807_anairiats_rec_0:
ats_select_mac(ats_ptrget_mac(anairiats_rec_0, arg0), atslab_0) = ats_castfn_mac(string, atspre_null_ptr) ;
return /* (tmp0) */ ;
} /* end of [keyitem_nullify_01807_anairiats_rec_0] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 2539(line=98, offs=3) -- 2807(line=105, offs=2)
*/
ATSstaticdec()
ats_bool_type
keyitem_isnot_null_01808_anairiats_rec_0 (ats_ref_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp1) ;
ATSlocal (ats_bool_type, tmp2) ;
ATSlocal (string, tmp3) ;

__ats_lab_keyitem_isnot_null_01808_anairiats_rec_0:
tmp3 = ats_select_mac(ats_ptrget_mac(anairiats_rec_0, arg0), atslab_0) ;
tmp2 = atspre_pneq (ats_castfn_mac(ats_ptr_type, tmp3), atspre_null_ptr) ;
tmp1 = ats_castfn_mac(ats_bool_type, tmp2) ;
return (tmp1) ;
} /* end of [keyitem_isnot_null_01808_anairiats_rec_0] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 2869(line=108, offs=15) -- 2902(line=108, offs=48)
*/
ATSstaticdec()
ats_ulint_type
hash_key_01802_string (string arg0, ats_clo_ref_type arg1) {
/* local vardec */
ATSlocal (ats_ulint_type, tmp4) ;

__ats_lab_hash_key_01802_string:
tmp4 = atspre_string_hash_33 (ats_castfn_mac(ats_ptr_type, arg0)) ;
return (tmp4) ;
} /* end of [hash_key_01802_string] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 2936(line=111, offs=3) -- 2986(line=111, offs=53)
*/
ATSstaticdec()
ats_bool_type
equal_key_key_01803_string (string arg0, string arg1, ats_clo_ref_type arg2) {
/* local vardec */
ATSlocal (ats_bool_type, tmp5) ;
ATSlocal (ats_int_type, tmp6) ;

__ats_lab_equal_key_key_01803_string:
tmp6 = atspre_compare_string_string (ats_castfn_mac(ats_ptr_type, arg0), ats_castfn_mac(ats_ptr_type, arg1)) ;
tmp5 = atspre_ieq (tmp6, 0) ;
return (tmp5) ;
} /* end of [equal_key_key_01803_string] */

/*
// /home/ats-lang-anairiats-0.2.12/libats/DATS/hashtable_linprb.dats: 19885(line=623, offs=3) -- 20024(line=626, offs=4)
*/
ATSstaticdec()
ats_ptr_type
atslib_hashtbl_make_hint__linprb_string_2csymbol (ats_clo_ref_type arg0, ats_clo_ref_type arg1, ats_size_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp8) ;

__ats_lab_atslib_hashtbl_make_hint__linprb_string_2csymbol:
tmp8 = atslib_hashtbl_make_hint_tsz__linprb (arg0, arg1, arg2, sizeof(anairiats_rec_0)) ;
return (tmp8) ;
} /* end of [atslib_hashtbl_make_hint__linprb_string_2csymbol] */

/*
// /home/ats-lang-anairiats-0.2.12/libats/DATS/hashtable_linprb.dats: 5439(line=171, offs=47) -- 5885(line=184, offs=4)
*/
ATSstaticdec()
ats_ptr_type
hashtbl_ptr_split_044_string_2csymbol (ats_ptr_type arg0, ats_size_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp24) ;
ATSlocal (ats_size_type, tmp25) ;
ATSlocal (ats_size_type, tmp26) ;

__ats_lab_hashtbl_ptr_split_044_string_2csymbol:
tmp25 = atspre_mul2_size1_size1 (arg1, sizeof(anairiats_rec_0)) ;
tmp26 = ats_selsin_mac(tmp25, atslab_1) ;
tmp24 = atspre_padd_size (arg0, tmp26) ;
return (tmp24) ;
} /* end of [hashtbl_ptr_split_044_string_2csymbol] */

/*
// /home/ats-lang-anairiats-0.2.12/libats/DATS/hashtable_linprb.dats: 6608(line=211, offs=7) -- 7396(line=234, offs=8)
*/
ATSstaticdec()
ats_void_type
loop_9 (string env0, ats_clo_ref_type env1, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) {
/* local vardec */
// ATSlocal_void (tmp28) ;
ATSlocal (ats_bool_type, tmp29) ;
ATSlocal (ats_bool_type, tmp30) ;
ATSlocal (string, tmp31) ;
ATSlocal (ats_bool_type, tmp32) ;
ATSlocal (ats_ptr_type, tmp33) ;
ATSlocal (ats_size_type, tmp34) ;

__ats_lab_loop_9:
tmp29 = atspre_gt_size1_int1 (arg1, 0) ;
if (tmp29) {
tmp30 = keyitem_isnot_null_01808_anairiats_rec_0 (arg0) ;
if (tmp30) {
tmp31 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_0) ;
tmp32 = equal_key_key_01803_string (env0, tmp31, env1) ;
if (tmp32) {
ats_ptrget_mac(ats_ptr_type, arg2) = arg0 ;
ats_ptrget_mac(ats_bool_type, arg3) = ats_true_bool ;
} else {
tmp33 = atspre_padd_size (arg0, sizeof(anairiats_rec_0)) ;
tmp34 = atspre_sub_size1_int1 (arg1, 1) ;
arg0 = tmp33 ;
arg1 = tmp34 ;
arg2 = arg2 ;
arg3 = arg3 ;
goto __ats_lab_loop_9 ; // tail call
} /* end of [if] */
} else {
ats_ptrget_mac(ats_ptr_type, arg2) = arg0 ;
} /* end of [if] */
} else {
/* empty */
} /* end of [if] */
return /* (tmp28) */ ;
} /* end of [loop_9] */

typedef struct {
ats_fun_ptr_type closure_fun ;
string closure_env_0 ;
ats_clo_ref_type closure_env_1 ;
} loop_9_closure_type ;

ats_void_type
loop_9_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_size_type arg1, ats_ref_type arg2, ats_ref_type arg3) {
loop_9 (((loop_9_closure_type*)cloptr)->closure_env_0, ((loop_9_closure_type*)cloptr)->closure_env_1, arg0, arg1, arg2, arg3) ; return ;
} /* end of function */

ATSinline()
ats_void_type
loop_9_closure_init (loop_9_closure_type *p_clo, string env0, ats_clo_ref_type env1) {
p_clo->closure_fun = (ats_fun_ptr_type)&loop_9_clofun ;
p_clo->closure_env_0 = env0 ;
p_clo->closure_env_1 = env1 ;
return ;
} /* end of function */

ats_clo_ptr_type
loop_9_closure_make (string env0, ats_clo_ref_type env1) {
loop_9_closure_type *p_clo = ATS_MALLOC(sizeof(loop_9_closure_type)) ;
loop_9_closure_init (p_clo, env0, env1) ;
return (ats_clo_ptr_type)p_clo ;
} /* end of function */

/*
// /home/ats-lang-anairiats-0.2.12/libats/DATS/hashtable_linprb.dats: 6222(line=201, offs=22) -- 7691(line=244, offs=4)
*/
ATSstaticdec()
ats_ptr_type
hashtbl_ptr_probe_ofs_052_string_2csymbol (ats_ptr_type arg0, string arg1, ats_clo_ref_type arg2, ats_size_type arg3, ats_size_type arg4, ats_ref_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp22) ;
ATSlocal (ats_ptr_type, tmp23) ;
ATSlocal (ats_ptr_type, tmp27) ;
ATSlocal (ats_ptr_type, tmp35) ;
// ATSlocal_void (tmp36) ;
ATSlocal (ats_size_type, tmp37) ;
// ATSlocal_void (tmp38) ;
ATSlocal (ats_bool_type, tmp39) ;

__ats_lab_hashtbl_ptr_probe_ofs_052_string_2csymbol:
tmp23 = hashtbl_ptr_split_044_string_2csymbol (arg0, arg4) ;
tmp27 = ats_selsin_mac(tmp23, atslab_2) ;
/* ats_ptr_type tmp35 ; */
tmp35 = atspre_null_ptr ;
ats_ptrget_mac(ats_bool_type, arg5) = ats_false_bool ;
tmp37 = atspre_sub_size1_size1 (arg3, arg4) ;
/* tmp36 = */ loop_9 (arg1, arg2, tmp27, tmp37, (&tmp35), arg5) ;
tmp39 = atspre_peq (tmp35, atspre_null_ptr) ;
if (tmp39) {
/* tmp38 = */ loop_9 (arg1, arg2, arg0, arg4, (&tmp35), arg5) ;
} else {
/* empty */
} /* end of [if] */
tmp22 = tmp35 ;
return (tmp22) ;
} /* end of [hashtbl_ptr_probe_ofs_052_string_2csymbol] */

/*
// /home/ats-lang-anairiats-0.2.12/libats/DATS/hashtable_linprb.dats: 9389(line=302, offs=38) -- 10782(line=340, offs=4)
*/
ATSstaticdec()
ats_void_type
hashtbl_ptr_relocate_0101_string_2csymbol (ats_size_type arg0, ats_size_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_clo_ref_type arg4, ats_clo_ref_type arg5) {
/* local vardec */
// ATSlocal_void (tmp58) ;
ATSlocal (ats_bool_type, tmp59) ;
ATSlocal (ats_bool_type, tmp60) ;
ATSlocal (string, tmp62) ;
ATSlocal (symbol, tmp63) ;
ATSlocal (ats_ulint_type, tmp64) ;
ATSlocal (ats_size_type, tmp65) ;
ATSlocal (ats_bool_type, tmp66) ;
ATSlocal (ats_ptr_type, tmp67) ;
ATSlocal (ats_size_type, tmp68) ;
ATSlocal (ats_ptr_type, tmp69) ;

__ats_lab_hashtbl_ptr_relocate_0101_string_2csymbol:
tmp59 = atspre_gt_size1_int1 (arg0, 0) ;
if (tmp59) {
tmp60 = keyitem_isnot_null_01808_anairiats_rec_0 (arg2) ;
if (tmp60) {
tmp62 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_0) ;
tmp63 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_1) ;
tmp64 = hash_key_01802_string (tmp62, arg4) ;
tmp65 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp64), arg1) ;
/* ats_bool_type tmp66 ; */
tmp67 = hashtbl_ptr_probe_ofs_052_string_2csymbol (arg3, tmp62, arg5, arg1, tmp65, (&tmp66)) ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp67), atslab_0) = tmp62 ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp67), atslab_1) = tmp63 ;
} else {
/* empty */
} /* end of [if] */
tmp68 = atspre_sub_size1_int1 (arg0, 1) ;
tmp69 = atspre_padd_size (arg2, sizeof(anairiats_rec_0)) ;
arg0 = tmp68 ;
arg1 = arg1 ;
arg2 = tmp69 ;
arg3 = arg3 ;
arg4 = arg4 ;
arg5 = arg5 ;
goto __ats_lab_hashtbl_ptr_relocate_0101_string_2csymbol ; // tail call
} else {
/* empty */
} /* end of [if] */
return /* (tmp58) */ ;
} /* end of [hashtbl_ptr_relocate_0101_string_2csymbol] */

/*
// /home/ats-lang-anairiats-0.2.12/libats/DATS/hashtable_linprb.dats: 10895(line=345, offs=37) -- 11621(line=364, offs=2)
*/
ATSstaticdec()
ats_void_type
hashtbl_resize_0122_string_2csymbol (ats_ptr_type arg0, ats_size_type arg1) {
/* local vardec */
// ATSlocal_void (tmp53) ;
ATSlocal (ats_ptr_type, tmp54) ;
ATSlocal (ats_ptr_type, tmp55) ;
ATSlocal (ats_ptr_type, tmp56) ;
// ATSlocal_void (tmp57) ;
ATSlocal (ats_size_type, tmp70) ;
ATSlocal (ats_ptr_type, tmp71) ;
ATSlocal (ats_clo_ref_type, tmp72) ;
ATSlocal (ats_clo_ref_type, tmp73) ;
// ATSlocal_void (tmp74) ;
ATSlocal (ats_ptr_type, tmp75) ;

__ats_lab_hashtbl_resize_0122_string_2csymbol:
tmp54 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ;
tmp55 = atslib_hashtbl_ptr_make__linprb (arg1, sizeof(anairiats_rec_0)) ;
tmp56 = ats_selsin_mac(tmp55, atslab_2) ;
tmp70 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp54), atslab_sz) ;
tmp71 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp54), atslab_pbeg) ;
tmp72 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp54), atslab_hash) ;
tmp73 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp54), atslab_eqfn) ;
/* tmp57 = */ hashtbl_ptr_relocate_0101_string_2csymbol (tmp70, arg1, tmp71, tmp56, tmp72, tmp73) ;
tmp75 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp54), atslab_pbeg) ;
/* tmp74 = */ atslib_hashtbl_ptr_free__linprb (tmp75) ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp54), atslab_sz) = arg1 ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp54), atslab_pbeg) = tmp56 ;
return /* (tmp53) */ ;
} /* end of [hashtbl_resize_0122_string_2csymbol] */

/*
// /home/ats-lang-anairiats-0.2.12/libats/DATS/hashtable_linprb.dats: 14588(line=454, offs=3) -- 15998(line=498, offs=2)
*/
ATSstaticdec()
ats_bool_type
hashtbl_insert_01814_string_2csymbol (ats_ptr_type arg0, string arg1, symbol arg2, ats_ref_type arg3) {
/* local vardec */
ATSlocal (ats_bool_type, tmp13) ;
ATSlocal (ats_ptr_type, tmp14) ;
ATSlocal (ats_ulint_type, tmp15) ;
ATSlocal (ats_clo_ref_type, tmp16) ;
ATSlocal (ats_size_type, tmp17) ;
ATSlocal (ats_size_type, tmp18) ;
ATSlocal (ats_bool_type, tmp19) ;
ATSlocal (ats_int_type, tmp20) ;
ATSlocal (ats_ptr_type, tmp21) ;
ATSlocal (ats_ptr_type, tmp40) ;
ATSlocal (ats_clo_ref_type, tmp41) ;
ATSlocal (ats_bool_type, tmp42) ;
ATSlocal (symbol, tmp44) ;
ATSlocal (ats_size_type, tmp45) ;
ATSlocal (ats_size_type, tmp46) ;
ATSlocal (ats_bool_type, tmp47) ;
ATSlocal (ats_double_type, tmp48) ;
ATSlocal (ats_double_type, tmp49) ;
ATSlocal (ats_double_type, tmp50) ;
// ATSlocal_void (tmp51) ;
ATSlocal (ats_bool_type, tmp52) ;
ATSlocal (ats_size_type, tmp76) ;

__ats_lab_hashtbl_insert_01814_string_2csymbol:
tmp14 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ;
tmp16 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_hash) ;
tmp15 = hash_key_01802_string (arg1, tmp16) ;
tmp17 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_sz) ;
tmp18 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp15), tmp17) ;
/* ats_bool_type tmp19 ; */
/* ats_int_type tmp20 ; */
tmp20 = 0 ;
tmp40 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_pbeg) ;
tmp41 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_eqfn) ;
tmp21 = hashtbl_ptr_probe_ofs_052_string_2csymbol (tmp40, arg1, tmp41, tmp17, tmp18, (&tmp19)) ;
tmp42 = ats_castfn_mac(ats_bool_type, tmp19) ;
if (tmp42) {
tmp44 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp21), atslab_1) ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp21), atslab_1) = arg2 ;
ats_ptrget_mac(symbol, arg3) = tmp44 ;
} else {
tmp45 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_tot) ;
tmp46 = atspre_add_size_int (tmp45, 1) ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp14), atslab_tot) = tmp46 ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp21), atslab_0) = arg1 ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp21), atslab_1) = arg2 ;
tmp49 = atspre_double_of_size (tmp45) ;
tmp48 = atspre_mul_int_double (2, tmp49) ;
tmp50 = atspre_double_of_size (tmp17) ;
tmp47 = atspre_gte_double_double (tmp48, tmp50) ;
if (tmp47) {
tmp20 = 1 ;
} else {
/* empty */
} /* end of [if] */
} /* end of [if] */
tmp52 = atspre_gt_int_int (tmp20, 0) ;
if (tmp52) {
tmp76 = atspre_add_size1_size1 (tmp17, tmp17) ;
/* tmp51 = */ hashtbl_resize_0122_string_2csymbol (arg0, tmp76) ;
} else {
/* empty */
} /* end of [if] */
tmp13 = tmp42 ;
return (tmp13) ;
} /* end of [hashtbl_insert_01814_string_2csymbol] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 3305(line=123, offs=5) -- 3664(line=135, offs=2)
*/
ATSstaticdec()
ats_void_type
symbol_insert_5 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp9) ;
ATSlocal (ats_ptr_type, tmp10) ;
ATSlocal (symbol, tmp11) ;
ATSlocal (ats_bool_type, tmp12) ;

__ats_lab_symbol_insert_5:
tmp10 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, statmp7)), atslab_1) ;
/* symbol tmp11 ; */
tmp12 = hashtbl_insert_01814_string_2csymbol (tmp10, ats_castfn_mac(string, arg0), ats_castfn_mac(symbol, arg1), (&tmp11)) ;
return /* (tmp9) */ ;
} /* end of [symbol_insert_5] */

/*
// /home/ats-lang-anairiats-0.2.12/libats/DATS/hashtable_linprb.dats: 8459(line=270, offs=16) -- 9173(line=291, offs=4)
*/
ATSstaticdec()
ats_bool_type
hashtbl_search_01813_string_2csymbol (ats_ptr_type arg0, string arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_bool_type, tmp81) ;
ATSlocal (ats_ptr_type, tmp82) ;
ATSlocal (ats_ulint_type, tmp83) ;
ATSlocal (ats_clo_ref_type, tmp84) ;
ATSlocal (ats_size_type, tmp85) ;
ATSlocal (ats_size_type, tmp86) ;
ATSlocal (ats_bool_type, tmp87) ;
ATSlocal (ats_ptr_type, tmp88) ;
ATSlocal (ats_ptr_type, tmp89) ;
ATSlocal (ats_clo_ref_type, tmp90) ;
ATSlocal (ats_size_type, tmp91) ;
ATSlocal (symbol, tmp92) ;

__ats_lab_hashtbl_search_01813_string_2csymbol:
tmp82 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ;
tmp84 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp82), atslab_hash) ;
tmp83 = hash_key_01802_string (arg1, tmp84) ;
tmp86 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp82), atslab_sz) ;
tmp85 = atspre_mod1_size1_size1 (ats_castfn_mac(ats_size_type, tmp83), tmp86) ;
/* ats_bool_type tmp87 ; */
tmp89 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp82), atslab_pbeg) ;
tmp90 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp82), atslab_eqfn) ;
tmp91 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp82), atslab_sz) ;
tmp88 = hashtbl_ptr_probe_ofs_052_string_2csymbol (tmp89, arg1, tmp90, tmp91, tmp85, (&tmp87)) ;
if (tmp87) {
tmp92 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp88), atslab_1) ;
ats_ptrget_mac(symbol, arg2) = tmp92 ;
tmp81 = ats_true_bool ;
} else {
tmp81 = ats_false_bool ;
} /* end of [if] */
return (tmp81) ;
} /* end of [hashtbl_search_01813_string_2csymbol] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 3696(line=137, offs=5) -- 4055(line=149, offs=4)
*/
ATSstaticdec()
ats_ptr_type
symbol_search_12 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp77) ;
ATSlocal (ats_ptr_type, tmp78) ;
ATSlocal (symbol, tmp79) ;
ATSlocal (ats_bool_type, tmp80) ;

__ats_lab_symbol_search_12:
tmp78 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, statmp7)), atslab_1) ;
/* symbol tmp79 ; */
tmp80 = hashtbl_search_01813_string_2csymbol (tmp78, ats_castfn_mac(string, arg0), (&tmp79)) ;
if (tmp80) {
tmp77 = ats_castfn_mac(ats_ptr_type, tmp79) ;
} else {
tmp77 = ats_castfn_mac(ats_ptr_type, atspre_null_ptr) ;
} /* end of [if] */
return (tmp77) ;
} /* end of [symbol_search_12] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 4253(line=163, offs=17) -- 4265(line=163, offs=29)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_get_name (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp93) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_get_name:
tmp93 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_name) ;
return (tmp93) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_get_name] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 4293(line=165, offs=18) -- 4306(line=165, offs=31)
*/
ATSglobaldec()
ats_uint_type
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_get_stamp (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_uint_type, tmp94) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_get_stamp:
tmp94 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_stamp) ;
return (tmp94) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_get_stamp] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 4496(line=175, offs=5) -- 4637(line=180, offs=2)
*/
ATSstaticdec()
ats_uint_type
stamp_getinc_16 () {
/* local vardec */
ATSlocal (ats_uint_type, tmp98) ;
ATSlocal (ats_uint_type, tmp99) ;
ATSlocal (ats_uint_type, tmp100) ;

__ats_lab_stamp_getinc_16:
tmp99 = statmp95 ;
tmp100 = atspre_add_uint_uint (tmp99, 1u) ;
statmp95 = tmp100 ;
tmp98 = tmp99 ;
return (tmp98) ;
} /* end of [stamp_getinc_16] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 4718(line=186, offs=3) -- 5280(line=210, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp101) ;
ATSlocal (ats_ptr_type, tmp102) ;
ATSlocal (ats_bool_type, tmp103) ;
ATSlocal (ats_uint_type, tmp104) ;
ATSlocal (ats_ptr_type, tmp105) ;
// ATSlocal_void (tmp106) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string:
tmp102 = symbol_search_12 (arg0) ;
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
__ats_lab_0_1:
tmp103 = atspre_ptr_is_null (tmp102) ;
if (!tmp103) { goto __ats_lab_1_1 ; }
tmp104 = stamp_getinc_16 () ;
tmp105 = ATS_MALLOC(sizeof(anairiats_rec_2)) ;
ats_selptrset_mac(anairiats_rec_2, tmp105, atslab_name, arg0) ;
ats_selptrset_mac(anairiats_rec_2, tmp105, atslab_stamp, tmp104) ;

/* tmp106 = */ symbol_insert_5 (arg0, tmp105) ;
tmp101 = tmp105 ;
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
__ats_lab_1_1:
tmp101 = tmp102 ;
break ;
} while (0) ;
return (tmp101) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 10311(line=396, offs=18) -- 10341(line=396, offs=48)
*/
ATSglobaldec()
ats_bool_type
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__eq_symbol_symbol (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp187) ;
ATSlocal (ats_uint_type, tmp188) ;
ATSlocal (ats_uint_type, tmp189) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__eq_symbol_symbol:
tmp188 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_stamp) ;
tmp189 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_stamp) ;
tmp187 = atspre_eq_uint_uint (tmp188, tmp189) ;
return (tmp187) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__eq_symbol_symbol] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 10370(line=398, offs=19) -- 10401(line=398, offs=50)
*/
ATSglobaldec()
ats_bool_type
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__neq_symbol_symbol (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp190) ;
ATSlocal (ats_uint_type, tmp191) ;
ATSlocal (ats_uint_type, tmp192) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__neq_symbol_symbol:
tmp191 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_stamp) ;
tmp192 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_stamp) ;
tmp190 = atspre_neq_uint_uint (tmp191, tmp192) ;
return (tmp190) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__neq_symbol_symbol] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 10456(line=403, offs=23) -- 10495(line=403, offs=62)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__compare_symbol_symbol (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_int_type, tmp193) ;
ATSlocal (ats_uint_type, tmp194) ;
ATSlocal (ats_uint_type, tmp195) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__compare_symbol_symbol:
tmp194 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_stamp) ;
tmp195 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_stamp) ;
tmp193 = atspre_compare_uint_uint (tmp194, tmp195) ;
return (tmp193) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__compare_symbol_symbol] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 10541(line=408, offs=14) -- 10576(line=408, offs=49)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__print_symbol (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp196) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__print_symbol:
/* tmp196 = */ _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbol (stdout, arg0) ;
return /* (tmp196) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__print_symbol] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 10600(line=410, offs=14) -- 10635(line=410, offs=49)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__prerr_symbol (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp197) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__prerr_symbol:
/* tmp197 = */ _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbol (stderr, arg0) ;
return /* (tmp197) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__prerr_symbol] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 10686(line=416, offs=3) -- 10724(line=416, offs=41)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbol (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp198) ;
ATSlocal (ats_ptr_type, tmp199) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbol:
tmp199 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_name) ;
/* tmp198 = */ atspre_fprint_string (arg0, tmp199) ;
return /* (tmp198) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbol] */

/*
// /tmp/ATS-Postiats/src/pats_symbol.dats: 10757(line=420, offs=3) -- 11004(line=432, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbolopt (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp200) ;
ATSlocal (ats_ptr_type, tmp201) ;
// ATSlocal_void (tmp202) ;
// ATSlocal_void (tmp203) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbolopt:
do {
/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
tmp201 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ;
/* tmp202 = */ atspre_fprint_string (arg0, ATSstrcst("Some(")) ;
/* tmp203 = */ _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp201) ;
/* tmp200 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_3_1:
/* tmp200 = */ atspre_fprint_string (arg0, ATSstrcst("None()")) ;
break ;
} while (0) ;
return /* (tmp200) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__fprint_symbolopt] */

/* static load function */

// extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__staload (void) ;
// extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__staload (void) ;
extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__staload (void) ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2edats__staload () {
static int _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2edats__staload_flag = 0 ;
if (_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2edats__staload_flag) return ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2edats__staload_flag = 1 ;

// ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__staload () ;
// ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__staload () ;
ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__staload () ;

return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2edats__dynload_flag ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2edats__dynload () {
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2edats__dynload_flag = 1 ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2edats__staload () ;

#ifdef _ATS_PROOFCHECK
ATS_2d0_2e2_2e12_2prelude_2SATS_2extern_2esats__minus_addback_prfck () ;
ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_none_prfck () ;
ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_some_prfck () ;
ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__Opt_encode_prfck () ;
ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_split_prfck () ;
ATS_2d0_2e2_2e12_2libats_2DATS_2hashtable_linprb_2edats__hashtbl_v_unsplit_prfck () ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2edats____assert_prfck () ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2edats____assert1_prfck () ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2edats____assert2_prfck () ;
#endif /* _ATS_PROOFCHECK */

/* marking static variables for GC */
ATS_GC_MARKROOT(&statmp7, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp95, sizeof(ats_uint_type)) ;
ATS_GC_MARKROOT(&statmp107, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp109, sizeof(ats_bool_type)) ;
ATS_GC_MARKROOT(&statmp110, sizeof(ats_uint_type)) ;
ATS_GC_MARKROOT(&statmp111, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp112, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp113, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp114, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp115, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp116, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp117, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp118, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp119, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp120, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp121, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp122, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp123, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp124, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp125, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp126, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp127, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp128, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp129, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp130, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp131, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp132, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp133, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp134, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp135, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp136, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp137, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp138, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp139, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp140, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp141, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp142, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp143, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp144, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp145, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp146, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp147, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp148, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp149, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp150, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp151, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp152, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp153, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp154, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp155, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp156, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp157, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp158, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp159, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp160, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp161, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp162, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp163, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp164, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp165, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp166, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp167, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp168, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp169, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp170, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp171, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp172, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp173, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp174, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp175, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp176, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp177, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp178, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp179, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp180, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp181, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp182, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp183, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp184, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp185, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp186, sizeof(ats_ptr_type)) ;

/* marking external values for GC */

/* code for dynamic loading */
statmp7 = atslib_hashtbl_make_hint__linprb_string_2csymbol (ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr), ats_castfn_mac(ats_clo_ref_type, atspre_null_ptr), 1024) ;
/* ats_uint_type statmp95 ; */
statmp95 = 0u ;
/* statmp96 = */ atspre_vbox_make_view_ptr ((&statmp95)) ;
/* statmp97 = ats_selsin_mac(statmp96, atslab_1) */ ;
statmp107 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("")) ;
statmp110 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, statmp107), atslab_stamp) ;
statmp109 = atspre_eq_uint_uint (statmp110, 0u) ;
statmp111 = atspre_string_append ("/tmp/ATS-Postiats/src/pats_symbol.dats: 5503(line=223, offs=12) -- 5526(line=223, offs=35)", ATSstrcst("\n")) ;
/* statmp108 = */ atspre_assert_errmsg (statmp109, statmp111) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_empty, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_empty = statmp107 ;
statmp112 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("~")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_NEG, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_NEG = statmp112 ;
statmp113 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("+")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ADD, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ADD = statmp113 ;
statmp114 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("-")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_SUB, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_SUB = statmp114 ;
statmp115 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("*")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_MUL, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_MUL = statmp115 ;
statmp116 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("/")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_DIV, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_DIV = statmp116 ;
statmp117 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("&")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_AMPERSAND, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_AMPERSAND = statmp117 ;
statmp118 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("&!")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_AMPERBANG, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_AMPERBANG = statmp118 ;
statmp119 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("&?")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_AMPERQMARK, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_AMPERQMARK = statmp119 ;
statmp120 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("@")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_AT, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_AT = statmp120 ;
statmp121 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("\\")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_BACKSLASH, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_BACKSLASH = statmp121 ;
statmp122 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("!")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_BANG, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_BANG = statmp122 ;
statmp123 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst(":=")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_COLONEQ, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_COLONEQ = statmp123 ;
statmp124 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst(":=:")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_COLONEQCOLON, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_COLONEQCOLON = statmp124 ;
statmp125 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst(">")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_GT, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_GT = statmp125 ;
statmp126 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst(">=")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_GTEQ, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_GTEQ = statmp126 ;
statmp127 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("<")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LT, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LT = statmp127 ;
statmp128 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("<=")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LTEQ, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LTEQ = statmp128 ;
statmp129 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("=")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_EQ, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_EQ = statmp129 ;
statmp130 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("==")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_EQEQ, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_EQEQ = statmp130 ;
statmp131 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("<>")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LTGT, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LTGT = statmp131 ;
statmp132 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("!=")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_BANGEQ, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_BANGEQ = statmp132 ;
statmp133 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("><")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_GTLT, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_GTLT = statmp133 ;
statmp134 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst(">>")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_GTGT, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_GTGT = statmp134 ;
statmp135 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("<<")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LTLT, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LTLT = statmp135 ;
statmp136 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("&&")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LAND, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LAND = statmp136 ;
statmp137 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("||")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LOR, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LOR = statmp137 ;
statmp138 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("[]")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LRBRACKETS, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LRBRACKETS = statmp138 ;
statmp139 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("->")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_MINUSGT, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_MINUSGT = statmp139 ;
statmp140 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("?")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_QMARK, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_QMARK = statmp140 ;
statmp141 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("?!")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_QMARKBANG, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_QMARKBANG = statmp141 ;
statmp142 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("~")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TILDE, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TILDE = statmp142 ;
statmp143 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("_")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_UNDERSCORE, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_UNDERSCORE = statmp143 ;
statmp144 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("vbox")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VBOX, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VBOX = statmp144 ;
statmp145 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("lam@")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LAMAT, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LAMAT = statmp145 ;
statmp146 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("llam@")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LLAMAT, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_LLAMAT = statmp146 ;
statmp147 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("int")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_INT, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_INT = statmp147 ;
statmp148 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("bool")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_BOOL, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_BOOL = statmp148 ;
statmp149 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("addr")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ADDR, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ADDR = statmp149 ;
statmp150 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("real")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_REAL, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_REAL = statmp150 ;
statmp151 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("float")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_FLOAT, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_FLOAT = statmp151 ;
statmp152 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("string")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_STRING, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_STRING = statmp152 ;
statmp153 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("cls")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_CLS, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_CLS = statmp153 ;
statmp154 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("eff")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_EFF, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_EFF = statmp154 ;
statmp155 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("tkind")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TKIND, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TKIND = statmp155 ;
statmp156 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("prop")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PROP, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PROP = statmp156 ;
statmp157 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("type")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TYPE, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TYPE = statmp157 ;
statmp158 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("t@ype")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_T0YPE, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_T0YPE = statmp158 ;
statmp159 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("view")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VIEW, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VIEW = statmp159 ;
statmp160 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("vtype")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VTYPE, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VTYPE = statmp160 ;
statmp161 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("vt0ype")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VT0YPE, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VT0YPE = statmp161 ;
statmp162 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("viewtype")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VIEWTYPE, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VIEWTYPE = statmp162 ;
statmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("viewt0ype")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VIEWT0YPE, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_VIEWT0YPE = statmp163 ;
statmp164 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("types")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TYPES, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TYPES = statmp164 ;
statmp165 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("true_bool")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TRUE_BOOL, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TRUE_BOOL = statmp165 ;
statmp166 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("false_bool")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_FALSE_BOOL, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_FALSE_BOOL = statmp166 ;
statmp167 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("defined")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_DEFINED, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_DEFINED = statmp167 ;
statmp168 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("undefined")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_UNDEFINED, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_UNDEFINED = statmp168 ;
statmp169 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("car")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_CAR, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_CAR = statmp169 ;
statmp170 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("cdr")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_CDR, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_CDR = statmp170 ;
statmp171 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("isnil")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ISNIL, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ISNIL = statmp171 ;
statmp172 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("iscons")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ISCONS, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ISCONS = statmp172 ;
statmp173 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("islist")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ISLIST, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ISLIST = statmp173 ;
statmp174 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("tupz")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TUPZ, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TUPZ = statmp174 ;
statmp175 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("__STDIN__")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol__STDIN__, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol__STDIN__ = statmp175 ;
statmp176 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("__STRING__")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol__STRING__, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol__STRING__ = statmp176 ;
statmp177 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("PATSHOME")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PATSHOME, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PATSHOME = statmp177 ;
statmp178 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("PATSCONTRIB")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PATSCONTRIB, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PATSCONTRIB = statmp178 ;
statmp179 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("PATSHOMELOCS")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PATSHOMELOCS, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PATSHOMELOCS = statmp179 ;
statmp180 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("PATSRELOCROOT")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PATSRELOCROOT, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_PATSRELOCROOT = statmp180 ;
statmp181 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("ATS_PACKNAME")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_PACKNAME, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_PACKNAME = statmp181 ;
statmp182 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("ATS_DYNLOADFLAG")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADFLAG, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADFLAG = statmp182 ;
statmp183 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("ATS_DYNLOADNAME")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADNAME, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_DYNLOADNAME = statmp183 ;
statmp184 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("ATS_MAINATSFLAG")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_MAINATSFLAG, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_MAINATSFLAG = statmp184 ;
statmp185 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("ATS_EXTERN_PREFIX")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_EXTERN_PREFIX, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_EXTERN_PREFIX = statmp185 ;
statmp186 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (ATSstrcst("ATS_STATIC_PREFIX")) ;
ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_STATIC_PREFIX, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_ATS_STATIC_PREFIX = statmp186 ;
return ;
} /* end of [dynload function] */

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

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

/* end of [pats_symbol_dats.c] */
