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

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

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

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

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

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

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

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

#include "pats_location.cats"

#include "pats_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_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"
/* 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_0 ;
ats_ptr_type atslab_1 ;
} anairiats_rec_1 ;

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

typedef struct {
ats_ptr_type atslab_0 ;
} anairiats_sum_3 ;

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

typedef struct {
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
ats_ptr_type atslab_2 ;
ats_ptr_type atslab_3 ;
} anairiats_sum_5 ;

typedef
struct {
ats_ptr_type atslab_d3exp_loc ;
ats_ptr_type atslab_d3exp_type ;
ats_ptr_type atslab_d3exp_node ;
} anairiats_rec_6 ;

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

typedef
struct {
ats_ptr_type atslab_d2exp_loc ;
ats_ptr_type atslab_d2exp_node ;
} anairiats_rec_8 ;

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

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

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

/* 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_dynexp2_2esats__D2EXPARGdyn_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2Eassgn_44) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2LVALderef_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2LVALvar_lin_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2LVALvar_mut_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2LVALarrsub_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__D2LVALviewat_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__T3E_d2exp_trup_wrt_32) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__T3E_d2exp_nonlval_51) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__T3E_d3exp_nonderef_53) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__T3E_pfobj_search_none_54) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__T3E_s2exp_assgn_tszeq_55) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_linsel_58) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_sharing_59) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_proof_60) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__T3E_s2addr_assgn_deref_context_61) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__T3E_d3exp_assgn_deref_reflinsel_66) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__T3E_d3exp_assgn_deref_refsharing_67) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__PFOBJ_0) ;

/* external dynamic constant declarations */
ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_prerr_newline) () ;
ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_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_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_prerr_string) (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_location_2esats__prerr_location) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_t0ype_err) () ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__prerr_s2exp) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_is_prf) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_is_lin) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2exp_hrepl) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2exp_hnfize) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2exp_tszeq) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype) () ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__un_s2exp_ref_vt0ype_type) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_inc_linval) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_addr) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_type) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_set_type) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_top) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lvalize) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_get_seloverld) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_get_seloverld_root) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_isnot_prf) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_ptr) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_ref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_errexp_void) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__the_trans3errlst_add) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d3exp_trdn) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2var_get_type_some) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup_applst_sym) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2lablst_trup) (ats_ptr_type) ;
ATSextern_fun(anairiats_rec_1, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__s2exp_get_dlablst_context) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup_assgn_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__s2addr_assgn_deref) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup_viewat_assgn) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_effenv_check_ref) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_effenv_check_wrt) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__d3exp_open_and_add) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__pfobj_search_atview) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin0) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin1) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin01) (ats_ptr_type, 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_02045_ () ;
static
ats_void_type prerr_error3_loc_02051_ (ats_ptr_type arg0) ;
static
ats_void_type auxerr_proof_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_void_type auxerr_linsel_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_void_type auxerr_context_4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_void_type auxerr_pfobj_8 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type auxerr_sharing_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_void_type auxerr_linsel_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_void_type auxck_tszeq_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_ptr_type auxmain_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) ;
static
ats_void_type auxerr_nonderef_14 (ats_ptr_type arg0) ;
static
ats_void_type auxerr_refsharing_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_void_type auxerr_reflinsel_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_ptr_type aux1_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ;
static
ats_ptr_type aux2_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ;
static
ats_ptr_type aux3_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ;
static
ats_void_type auxerr_wrt_if_21 (ats_ptr_type arg0) ;
static
ats_void_type loop_24 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;

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

/* function implementations */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 1555(line=44, offs=18) -- 1585(line=44, offs=48)
*/
ATSstaticdec()
ats_void_type
prerr_FILENAME_02045_ () {
/* local vardec */
// ATSlocal_void (tmp0) ;

__ats_lab_prerr_FILENAME_02045_:
/* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans3_assgn")) ;
return /* (tmp0) */ ;
} /* end of [prerr_FILENAME_02045_] */

/*
// /tmp/ATS-Postiats/src/pats_errmsg.dats: 2341(line=88, offs=17) -- 2399(line=91, offs=2)
*/
ATSstaticdec()
ats_void_type
prerr_error3_loc_02051_ (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp3) ;
// ATSlocal_void (tmp4) ;

__ats_lab_prerr_error3_loc_02051_:
/* tmp4 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location (arg0) ;
/* tmp3 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ;
return /* (tmp3) */ ;
} /* end of [prerr_error3_loc_02051_] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 2122(line=84, offs=1) -- 2431(line=93, offs=4)
*/
ATSstaticdec()
ats_void_type
auxerr_proof_1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp1) ;
// ATSlocal_void (tmp2) ;
// ATSlocal_void (tmp5) ;
// ATSlocal_void (tmp6) ;
// ATSlocal_void (tmp7) ;
// ATSlocal_void (tmp8) ;
// ATSlocal_void (tmp9) ;
ATSlocal (ats_ptr_type, tmp10) ;

__ats_lab_auxerr_proof_1:
/* tmp2 = */ prerr_error3_loc_02051_ (arg0) ;
/* tmp5 = */ atspre_prerr_string (ATSstrcst(": a non-proof component is replaced of the type")) ;
/* tmp6 = */ atspre_prerr_string (ATSstrcst(": [")) ;
/* tmp7 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__prerr_s2exp (arg3) ;
/* tmp8 = */ atspre_prerr_string (ATSstrcst("].")) ;
/* tmp9 = */ atspre_prerr_newline () ;
tmp10 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp10)->tag = 60 ;
ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_1, arg1) ;
ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_2, arg2) ;
/* tmp1 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp10) ;
return /* (tmp1) */ ;
} /* end of [auxerr_proof_1] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 2462(line=96, offs=1) -- 2771(line=105, offs=4)
*/
ATSstaticdec()
ats_void_type
auxerr_linsel_3 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp11) ;
// ATSlocal_void (tmp12) ;
// ATSlocal_void (tmp13) ;
// ATSlocal_void (tmp14) ;
// ATSlocal_void (tmp15) ;
// ATSlocal_void (tmp16) ;
// ATSlocal_void (tmp17) ;
ATSlocal (ats_ptr_type, tmp18) ;

__ats_lab_auxerr_linsel_3:
/* tmp12 = */ prerr_error3_loc_02051_ (arg0) ;
/* tmp13 = */ atspre_prerr_string (ATSstrcst(": a linear component is abandoned of the type")) ;
/* tmp14 = */ atspre_prerr_string (ATSstrcst(": [")) ;
/* tmp15 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__prerr_s2exp (arg3) ;
/* tmp16 = */ atspre_prerr_string (ATSstrcst("].")) ;
/* tmp17 = */ atspre_prerr_newline () ;
tmp18 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp18)->tag = 58 ;
ats_selptrset_mac(anairiats_sum_2, tmp18, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_2, tmp18, atslab_1, arg1) ;
ats_selptrset_mac(anairiats_sum_2, tmp18, atslab_2, arg2) ;
/* tmp11 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp18) ;
return /* (tmp11) */ ;
} /* end of [auxerr_linsel_3] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 2803(line=108, offs=1) -- 3125(line=117, offs=4)
*/
ATSstaticdec()
ats_void_type
auxerr_context_4 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp19) ;
// ATSlocal_void (tmp20) ;
// ATSlocal_void (tmp21) ;
// ATSlocal_void (tmp22) ;
// ATSlocal_void (tmp23) ;
// ATSlocal_void (tmp24) ;
// ATSlocal_void (tmp25) ;
ATSlocal (ats_ptr_type, tmp26) ;

__ats_lab_auxerr_context_4:
/* tmp20 = */ prerr_error3_loc_02051_ (arg0) ;
/* tmp21 = */ atspre_prerr_string (ATSstrcst(": the type of the selected component cannot be changed")) ;
/* tmp22 = */ atspre_prerr_string (ATSstrcst(": [")) ;
/* tmp23 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__prerr_s2exp (arg3) ;
/* tmp24 = */ atspre_prerr_string (ATSstrcst("].")) ;
/* tmp25 = */ atspre_prerr_newline () ;
tmp26 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp26)->tag = 61 ;
ats_selptrset_mac(anairiats_sum_2, tmp26, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_2, tmp26, atslab_1, arg1) ;
ats_selptrset_mac(anairiats_sum_2, tmp26, atslab_2, arg2) ;
/* tmp19 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp26) ;
return /* (tmp19) */ ;
} /* end of [auxerr_context_4] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 3572(line=139, offs=3) -- 4009(line=165, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin0 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp27) ;
ATSlocal (ats_ptr_type, tmp28) ;
ATSlocal (ats_ptr_type, tmp29) ;
ATSlocal (ats_ptr_type, tmp30) ;
ATSlocal (ats_bool_type, tmp31) ;
ATSlocal (ats_ptr_type, tmp32) ;
// ATSlocal_void (tmp33) ;
ATSlocal (ats_ptr_type, tmp34) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin0:
tmp28 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_type (arg1) ;
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (tmp28 != (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
tmp29 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
ats_selptrset_mac(anairiats_sum_3, tmp29, atslab_0, arg2) ;
/* tmp27 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp29) ;
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
// if (tmp28 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_1_1:
tmp30 = ats_caselptrlab_mac(anairiats_sum_3, tmp28, atslab_0) ;
tmp31 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp30) ;
tmp32 = (ats_sum_ptr_type)0 ;
if (tmp31) {
/* tmp33 = */ auxerr_linsel_3 (arg0, tmp30, tmp32, tmp30) ;
} else {
/* empty */
} /* end of [if] */
tmp34 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
ats_selptrset_mac(anairiats_sum_3, tmp34, atslab_0, arg2) ;
/* tmp27 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp34) ;
break ;
} while (0) ;
return /* (tmp27) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin0] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 4069(line=169, offs=3) -- 4830(line=207, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin1 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp35) ;
ATSlocal (ats_ptr_type, tmp36) ;
ATSlocal (ats_ptr_type, tmp37) ;
ATSlocal (ats_ptr_type, tmp38) ;
ATSlocal (ats_bool_type, tmp39) ;
// ATSlocal_void (tmp40) ;
ATSlocal (ats_bool_type, tmp41) ;
ATSlocal (ats_bool_type, tmp42) ;
// ATSlocal_void (tmp43) ;
ATSlocal (ats_bool_type, tmp44) ;
// ATSlocal_void (tmp45) ;
ATSlocal (ats_bool_type, tmp46) ;
ATSlocal (ats_ptr_type, tmp47) ;
ATSlocal (ats_ptr_type, tmp48) ;
ATSlocal (ats_ptr_type, tmp49) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin1:
tmp36 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2var_get_type_some (arg0, arg1) ;
/* ats_ptr_type tmp37 ; */
tmp37 = (ats_sum_ptr_type)0 ;
tmp38 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__s2exp_get_dlablst_context (arg0, tmp36, arg2, (&tmp37)) ;
tmp39 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_is_prf (tmp38) ;
tmp41 = atspre_neg_bool (tmp39) ;
if (tmp41) {
/* tmp40 = */ auxerr_proof_1 (arg0, tmp36, arg2, tmp38) ;
} else {
/* empty */
} /* end of [if] */
tmp42 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp38) ;
if (tmp42) {
/* tmp43 = */ auxerr_linsel_3 (arg0, tmp36, arg2, tmp38) ;
} else {
/* empty */
} /* end of [if] */
do {
/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (tmp37 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
tmp44 = ats_true_bool ;
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
// if (tmp37 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_3_1:
tmp44 = ats_false_bool ;
break ;
} while (0) ;
tmp46 = atspre_neg_bool (tmp44) ;
if (tmp46) {
/* tmp45 = */ auxerr_context_4 (arg0, tmp36, arg2, tmp38) ;
} else {
/* empty */
} /* end of [if] */
do {
/* branch: __ats_lab_4 */
__ats_lab_4_0:
if (tmp37 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; }
__ats_lab_4_1:
tmp48 = ats_caselptrlab_mac(anairiats_sum_3, tmp37, atslab_0) ;
tmp47 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl (tmp48, arg3) ;
break ;

/* branch: __ats_lab_5 */
__ats_lab_5_0:
// if (tmp37 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_5_1:
tmp47 = tmp36 ;
break ;
} while (0) ;
tmp49 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
ats_selptrset_mac(anairiats_sum_3, tmp49, atslab_0, tmp47) ;
/* tmp35 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_set_type (arg1, tmp49) ;
return /* (tmp35) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin1] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 4889(line=211, offs=1) -- 5161(line=223, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin01 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp50) ;
// ATSlocal_void (tmp51) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin01:
/* tmp51 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_inc_linval (arg1) ;
do {
/* branch: __ats_lab_6 */
__ats_lab_6_0:
if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_7_0 ; }
__ats_lab_6_1:
/* tmp50 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin0 (arg0, arg1, arg3) ;
break ;

/* branch: __ats_lab_7 */
__ats_lab_7_0:
// if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_7_1:
/* tmp50 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin1 (arg0, arg1, arg2, arg3) ;
break ;
} while (0) ;
return /* (tmp50) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin01] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 5248(line=232, offs=1) -- 5564(line=247, offs=4)
*/
ATSstaticdec()
ats_void_type
auxerr_pfobj_8 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp52) ;
// ATSlocal_void (tmp53) ;
// ATSlocal_void (tmp54) ;
// ATSlocal_void (tmp55) ;
// ATSlocal_void (tmp56) ;
// ATSlocal_void (tmp57) ;
// ATSlocal_void (tmp58) ;
ATSlocal (ats_ptr_type, tmp59) ;

__ats_lab_auxerr_pfobj_8:
/* tmp53 = */ prerr_error3_loc_02051_ (arg0) ;
/* tmp54 = */ atspre_prerr_string (ATSstrcst(": assignment cannot be performed")) ;
/* tmp55 = */ atspre_prerr_string (ATSstrcst(": proof search for the view at [")) ;
/* tmp56 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__prerr_s2exp (arg1) ;
/* tmp57 = */ atspre_prerr_string (ATSstrcst("] failed.")) ;
/* tmp58 = */ atspre_prerr_newline () ;
tmp59 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp59)->tag = 54 ;
ats_selptrset_mac(anairiats_sum_4, tmp59, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_4, tmp59, atslab_1, arg1) ;
/* tmp52 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp59) ;
return /* (tmp52) */ ;
} /* end of [auxerr_pfobj_8] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 5595(line=250, offs=1) -- 5910(line=266, offs=4)
*/
ATSstaticdec()
ats_void_type
auxerr_sharing_9 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp60) ;
// ATSlocal_void (tmp61) ;
// ATSlocal_void (tmp62) ;
// ATSlocal_void (tmp63) ;
ATSlocal (ats_ptr_type, tmp64) ;

__ats_lab_auxerr_sharing_9:
/* tmp61 = */ prerr_error3_loc_02051_ (arg0) ;
/* tmp62 = */ atspre_prerr_string (ATSstrcst(": a boxed non-linear record is selected for field-update.")) ;
/* tmp63 = */ atspre_prerr_newline () ;
tmp64 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp64)->tag = 59 ;
ats_selptrset_mac(anairiats_sum_2, tmp64, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_2, tmp64, atslab_1, arg1) ;
ats_selptrset_mac(anairiats_sum_2, tmp64, atslab_2, arg2) ;
/* tmp60 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp64) ;
return /* (tmp60) */ ;
} /* end of [auxerr_sharing_9] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 5943(line=269, offs=1) -- 6326(line=284, offs=4)
*/
ATSstaticdec()
ats_void_type
auxerr_linsel_10 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp65) ;
// ATSlocal_void (tmp66) ;
// ATSlocal_void (tmp67) ;
// ATSlocal_void (tmp68) ;
// ATSlocal_void (tmp69) ;
// ATSlocal_void (tmp70) ;
// ATSlocal_void (tmp71) ;
ATSlocal (ats_ptr_type, tmp72) ;

__ats_lab_auxerr_linsel_10:
/* tmp66 = */ prerr_error3_loc_02051_ (arg0) ;
/* tmp67 = */ atspre_prerr_string (ATSstrcst(": a linear component of the following type is abandoned: ")) ;
/* tmp68 = */ atspre_prerr_string (ATSstrcst("[")) ;
/* tmp69 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__prerr_s2exp (arg3) ;
/* tmp70 = */ atspre_prerr_string (ATSstrcst("].")) ;
/* tmp71 = */ atspre_prerr_newline () ;
tmp72 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp72)->tag = 58 ;
ats_selptrset_mac(anairiats_sum_2, tmp72, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_2, tmp72, atslab_1, arg1) ;
ats_selptrset_mac(anairiats_sum_2, tmp72, atslab_2, arg2) ;
/* tmp65 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp72) ;
return /* (tmp65) */ ;
} /* end of [auxerr_linsel_10] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 6358(line=287, offs=1) -- 6946(line=314, offs=4)
*/
ATSstaticdec()
ats_void_type
auxck_tszeq_11 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp73) ;
ATSlocal (ats_bool_type, tmp74) ;
ATSlocal (ats_bool_type, tmp75) ;
// ATSlocal_void (tmp76) ;
// ATSlocal_void (tmp77) ;
// ATSlocal_void (tmp78) ;
// ATSlocal_void (tmp79) ;
// ATSlocal_void (tmp80) ;
// ATSlocal_void (tmp81) ;
// ATSlocal_void (tmp82) ;
// ATSlocal_void (tmp83) ;
// ATSlocal_void (tmp84) ;
// ATSlocal_void (tmp85) ;
// ATSlocal_void (tmp86) ;
ATSlocal (ats_ptr_type, tmp87) ;

__ats_lab_auxck_tszeq_11:
tmp74 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2exp_tszeq (arg1, arg2) ;
tmp75 = atspre_neg_bool (tmp74) ;
if (tmp75) {
/* tmp76 = */ prerr_error3_loc_02051_ (arg0) ;
/* tmp77 = */ atspre_prerr_string (ATSstrcst(": assignment cannot be performed")) ;
/* tmp78 = */ atspre_prerr_string (ATSstrcst(": mismatch of bef/aft type-sizes:\n")) ;
/* tmp79 = */ atspre_prerr_string (ATSstrcst("bef: [")) ;
/* tmp80 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__prerr_s2exp (arg1) ;
/* tmp81 = */ atspre_prerr_string (ATSstrcst("]")) ;
/* tmp82 = */ atspre_prerr_newline () ;
/* tmp83 = */ atspre_prerr_string (ATSstrcst("aft: [")) ;
/* tmp84 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__prerr_s2exp (arg2) ;
/* tmp85 = */ atspre_prerr_string (ATSstrcst("]")) ;
/* tmp86 = */ atspre_prerr_newline () ;
tmp87 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp87)->tag = 55 ;
ats_selptrset_mac(anairiats_sum_2, tmp87, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_2, tmp87, atslab_1, arg1) ;
ats_selptrset_mac(anairiats_sum_2, tmp87, atslab_2, arg2) ;
/* tmp73 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp87) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp73) */ ;
} /* end of [auxck_tszeq_11] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 6976(line=317, offs=1) -- 8455(line=388, offs=4)
*/
ATSstaticdec()
ats_ptr_type
auxmain_12 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp88) ;
ATSlocal (ats_ptr_type, tmp89) ;
ATSlocal (ats_ptr_type, tmp90) ;
ATSlocal (ats_ptr_type, tmp91) ;
ATSlocal (ats_int_type, tmp92) ;
ATSlocal (ats_int_type, tmp93) ;
ATSlocal (anairiats_rec_1, tmp94) ;
ATSlocal (ats_ptr_type, tmp95) ;
ATSlocal (ats_ptr_type, tmp96) ;
// ATSlocal_void (tmp97) ;
ATSlocal (ats_bool_type, tmp98) ;
ATSlocal (ats_ptr_type, tmp99) ;
// ATSlocal_void (tmp100) ;
ATSlocal (ats_bool_type, tmp101) ;
// ATSlocal_void (tmp102) ;
ATSlocal (ats_ptr_type, tmp103) ;
ATSlocal (ats_ptr_type, tmp104) ;
ATSlocal (ats_ptr_type, tmp105) ;
// ATSlocal_void (tmp106) ;
ATSlocal (ats_ptr_type, tmp107) ;
// ATSlocal_void (tmp108) ;
// ATSlocal_void (tmp109) ;
ATSlocal (ats_ptr_type, tmp110) ;
ATSlocal (ats_ptr_type, tmp111) ;
// ATSlocal_void (tmp112) ;
ATSlocal (ats_ptr_type, tmp113) ;

__ats_lab_auxmain_12:
// 
tmp89 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_0) ;
tmp90 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_1) ;
tmp91 = ats_caselptrlab_mac(anairiats_sum_5, arg1, atslab_2) ;
ATS_FREE(arg1) ;
ats_ptrget_mac(ats_ptr_type, arg4) = tmp91 ;
/* ats_int_type tmp92 ; */
tmp92 = 0 ;
/* ats_int_type tmp93 ; */
tmp93 = 0 ;
tmp94 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing (arg0, tmp91, arg2, (&tmp92), (&tmp93)) ;
tmp95 = ats_select_mac(tmp94, atslab_0) ;
tmp96 = ats_select_mac(tmp94, atslab_1) ;
tmp98 = atspre_gt_int_int (tmp93, 0) ;
if (tmp98) {
/* tmp97 = */ auxerr_sharing_9 (arg0, tmp91, arg2) ;
} else {
/* empty */
} /* end of [if] */
tmp99 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp95) ;
/* tmp100 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp96) ;
tmp101 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp99) ;
if (tmp101) {
/* tmp102 = */ auxerr_linsel_10 (arg0, tmp91, arg2, tmp99) ;
} else {
/* empty */
} /* end of [if] */
/* ats_ptr_type tmp103 ; */
tmp103 = (ats_sum_ptr_type)0 ;
tmp104 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__s2exp_get_dlablst_context (arg0, tmp91, arg2, (&tmp103)) ;
do {
/* branch: __ats_lab_8 */
__ats_lab_8_0:
if (tmp103 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; }
__ats_lab_8_1:
tmp105 = ats_caselptrlab_mac(anairiats_sum_3, tmp103, atslab_0) ;
/* tmp106 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__d3exp_open_and_add (arg3) ;
tmp107 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type (arg3) ;
/* tmp108 = */ auxck_tszeq_11 (arg0, tmp99, tmp107) ;
/* tmp109 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_inc_linval (tmp89) ;
tmp110 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2ctxt_hrepl (tmp105, tmp107) ;
tmp111 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2exp_hrepl (tmp90, tmp110) ;
tmp113 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
ats_selptrset_mac(anairiats_sum_3, tmp113, atslab_0, tmp111) ;
/* tmp112 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_set_type (tmp89, tmp113) ;
tmp88 = arg3 ;
break ;

/* branch: __ats_lab_9 */
__ats_lab_9_0:
// if (tmp103 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_9_1:
tmp88 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d3exp_trdn (arg3, tmp99) ;
break ;
} while (0) ;
return (tmp88) ;
} /* end of [auxmain_12] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 8530(line=394, offs=1) -- 8906(line=411, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__s2addr_assgn_deref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp114) ;
ATSlocal (ats_ptr_type, tmp115) ;
ATSlocal (ats_ptr_type, tmp116) ;
ATSlocal (ats_ptr_type, tmp117) ;
// ATSlocal_void (tmp118) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__s2addr_assgn_deref:
tmp115 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__pfobj_search_atview (arg1) ;
do {
/* branch: __ats_lab_10 */
__ats_lab_10_0:
if (tmp115 == (ats_sum_ptr_type)0) { goto __ats_lab_11_0 ; }
__ats_lab_10_1:
tmp116 = ats_caselptrlab_mac(anairiats_sum_3, tmp115, atslab_0) ;
ATS_FREE(tmp115) ;
tmp114 = auxmain_12 (arg0, tmp116, arg2, arg3, arg4) ;
break ;

/* branch: __ats_lab_11 */
__ats_lab_11_0:
// if (tmp115 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_11_1:
tmp117 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_t0ype_err () ;
ats_ptrget_mac(ats_ptr_type, arg4) = tmp117 ;
/* tmp118 = */ auxerr_pfobj_8 (arg0, arg1) ;
tmp114 = arg3 ;
break ;
} while (0) ;
return (tmp114) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__s2addr_assgn_deref] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 8994(line=420, offs=1) -- 9261(line=434, offs=4)
*/
ATSstaticdec()
ats_void_type
auxerr_nonderef_14 (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp119) ;
ATSlocal (ats_ptr_type, tmp120) ;
// ATSlocal_void (tmp121) ;
// ATSlocal_void (tmp122) ;
// ATSlocal_void (tmp123) ;
ATSlocal (ats_ptr_type, tmp124) ;

__ats_lab_auxerr_nonderef_14:
tmp120 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_d3exp_loc) ;
/* tmp121 = */ prerr_error3_loc_02051_ (tmp120) ;
/* tmp122 = */ atspre_prerr_string (ATSstrcst(": the dynamic expression cannot be dereferenced.")) ;
/* tmp123 = */ atspre_prerr_newline () ;
tmp124 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp124)->tag = 53 ;
ats_selptrset_mac(anairiats_sum_7, tmp124, atslab_0, arg0) ;
/* tmp119 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp124) ;
return /* (tmp119) */ ;
} /* end of [auxerr_nonderef_14] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 9295(line=437, offs=1) -- 9619(line=452, offs=4)
*/
ATSstaticdec()
ats_void_type
auxerr_refsharing_15 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp125) ;
// ATSlocal_void (tmp126) ;
// ATSlocal_void (tmp127) ;
// ATSlocal_void (tmp128) ;
ATSlocal (ats_ptr_type, tmp129) ;

__ats_lab_auxerr_refsharing_15:
/* tmp126 = */ prerr_error3_loc_02051_ (arg0) ;
/* tmp127 = */ atspre_prerr_string (ATSstrcst(": a boxed non-linear record is selected for field-update.")) ;
/* tmp128 = */ atspre_prerr_newline () ;
tmp129 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp129)->tag = 67 ;
ats_selptrset_mac(anairiats_sum_4, tmp129, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_4, tmp129, atslab_1, arg2) ;
/* tmp125 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp129) ;
return /* (tmp125) */ ;
} /* end of [auxerr_refsharing_15] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 9655(line=455, offs=1) -- 10013(line=472, offs=4)
*/
ATSstaticdec()
ats_void_type
auxerr_reflinsel_16 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp130) ;
// ATSlocal_void (tmp131) ;
// ATSlocal_void (tmp132) ;
// ATSlocal_void (tmp133) ;
// ATSlocal_void (tmp134) ;
// ATSlocal_void (tmp135) ;
// ATSlocal_void (tmp136) ;
ATSlocal (ats_ptr_type, tmp137) ;

__ats_lab_auxerr_reflinsel_16:
/* tmp131 = */ prerr_error3_loc_02051_ (arg0) ;
/* tmp132 = */ atspre_prerr_string (ATSstrcst(": a linear component of the following type is abandoned: ")) ;
/* tmp133 = */ atspre_prerr_string (ATSstrcst("[")) ;
/* tmp134 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__prerr_s2exp (arg3) ;
/* tmp135 = */ atspre_prerr_string (ATSstrcst("]")) ;
/* tmp136 = */ atspre_prerr_newline () ;
tmp137 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp137)->tag = 66 ;
ats_selptrset_mac(anairiats_sum_4, tmp137, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_4, tmp137, atslab_1, arg2) ;
/* tmp130 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp137) ;
return /* (tmp130) */ ;
} /* end of [auxerr_reflinsel_16] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 10048(line=474, offs=5) -- 10533(line=506, offs=4)
*/
ATSstaticdec()
ats_ptr_type
aux1_17 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp138) ;
ATSlocal (ats_ptr_type, tmp139) ;
ATSlocal (ats_ptr_type, tmp140) ;
ATSlocal (ats_ptr_type, tmp141) ;
ATSlocal (ats_ptr_type, tmp142) ;

__ats_lab_aux1_17:
tmp139 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__un_s2exp_ptr_addr_type (arg1) ;
do {
/* branch: __ats_lab_12 */
__ats_lab_12_0:
if (tmp139 != (ats_sum_ptr_type)0) { goto __ats_lab_13_0 ; }
__ats_lab_12_1:
tmp138 = aux2_18 (arg0, arg1, arg2, arg3, arg4) ;
break ;

/* branch: __ats_lab_13 */
__ats_lab_13_0:
// if (tmp139 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_13_1:
tmp140 = ats_caselptrlab_mac(anairiats_sum_3, tmp139, atslab_0) ;
ATS_FREE(tmp139) ;
/* ats_ptr_type tmp141 ; */
tmp142 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__s2addr_assgn_deref (arg0, tmp140, arg3, arg4, (&tmp141)) ;
tmp138 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_ptr (arg0, arg2, tmp141, arg3, tmp142) ;
break ;
} while (0) ;
return (tmp138) ;
} /* end of [aux1_17] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 10556(line=508, offs=5) -- 11571(line=551, offs=4)
*/
ATSstaticdec()
ats_ptr_type
aux2_18 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp143) ;
ATSlocal (ats_ptr_type, tmp144) ;
ATSlocal (ats_ptr_type, tmp145) ;
ATSlocal (ats_int_type, tmp146) ;
ATSlocal (ats_int_type, tmp147) ;
ATSlocal (anairiats_rec_1, tmp148) ;
ATSlocal (ats_ptr_type, tmp149) ;
ATSlocal (ats_ptr_type, tmp150) ;
// ATSlocal_void (tmp151) ;
ATSlocal (ats_bool_type, tmp152) ;
ATSlocal (ats_ptr_type, tmp153) ;
// ATSlocal_void (tmp154) ;
ATSlocal (ats_bool_type, tmp155) ;
// ATSlocal_void (tmp156) ;
ATSlocal (ats_ptr_type, tmp157) ;
ATSlocal (ats_int_type, tmp158) ;

__ats_lab_aux2_18:
tmp144 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__un_s2exp_ref_vt0ype_type (arg1) ;
do {
/* branch: __ats_lab_14 */
__ats_lab_14_0:
if (tmp144 == (ats_sum_ptr_type)0) { goto __ats_lab_15_0 ; }
__ats_lab_14_1:
tmp145 = ats_caselptrlab_mac(anairiats_sum_3, tmp144, atslab_0) ;
ATS_FREE(tmp144) ;
/* ats_int_type tmp146 ; */
tmp146 = 0 ;
/* ats_int_type tmp147 ; */
tmp147 = 0 ;
tmp148 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__s2exp_get_dlablst_linrest_sharing (arg0, tmp145, arg3, (&tmp146), (&tmp147)) ;
tmp149 = ats_select_mac(tmp148, atslab_0) ;
tmp150 = ats_select_mac(tmp148, atslab_1) ;
tmp152 = atspre_gt_int_int (tmp147, 0) ;
if (tmp152) {
/* tmp151 = */ auxerr_refsharing_15 (arg0, arg2, arg3) ;
} else {
/* empty */
} /* end of [if] */
tmp153 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2exp_hnfize (tmp149) ;
/* tmp154 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__trans3_env_add_proplst_vt (arg0, tmp150) ;
tmp155 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2exp_is_lin (tmp153) ;
if (tmp155) {
/* tmp156 = */ auxerr_reflinsel_16 (arg0, arg2, arg3, tmp153) ;
} else {
/* empty */
} /* end of [if] */
tmp157 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d3exp_trdn (arg4, tmp153) ;
tmp158 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_effenv_check_ref (arg0) ;
tmp143 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_ref (arg0, arg2, tmp145, arg3, tmp157) ;
break ;

/* branch: __ats_lab_15 */
__ats_lab_15_0:
// if (tmp144 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_15_1:
tmp143 = aux3_19 (arg0, arg1, arg2, arg3, arg4) ;
break ;
} while (0) ;
return (tmp143) ;
} /* end of [aux2_18] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 11594(line=553, offs=5) -- 11758(line=562, offs=4)
*/
ATSstaticdec()
ats_ptr_type
aux3_19 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp159) ;
// ATSlocal_void (tmp160) ;

__ats_lab_aux3_19:
/* tmp160 = */ auxerr_nonderef_14 (arg2) ;
tmp159 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_errexp_void (arg0) ;
return (tmp159) ;
} /* end of [aux3_19] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 11836(line=568, offs=3) -- 12329(line=589, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup_assgn_deref (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp161) ;
ATSlocal (ats_ptr_type, tmp162) ;
// ATSlocal_void (tmp163) ;
ATSlocal (ats_ptr_type, tmp164) ;
ATSlocal (ats_ptr_type, tmp165) ;
ATSlocal (ats_ptr_type, tmp166) ;
ATSlocal (ats_ptr_type, tmp167) ;
// ATSlocal_void (tmp168) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup_assgn_deref:
tmp162 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup (arg1) ;
/* tmp163 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp162) ;
tmp164 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2lablst_trup (arg2) ;
tmp165 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp162) ;
tmp166 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2exp2hnf_cast (tmp165) ;
tmp167 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup (arg3) ;
/* tmp168 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp167) ;
tmp161 = aux1_17 (arg0, tmp166, tmp162, tmp164, tmp167) ;
return (tmp161) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup_assgn_deref] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 12421(line=598, offs=1) -- 12608(line=609, offs=4)
*/
ATSstaticdec()
ats_void_type
auxerr_wrt_if_21 (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp169) ;
ATSlocal (ats_int_type, tmp170) ;
ATSlocal (ats_bool_type, tmp171) ;
ATSlocal (ats_ptr_type, tmp172) ;

__ats_lab_auxerr_wrt_if_21:
tmp170 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_effenv_check_wrt (arg0) ;
tmp171 = atspre_gt_int_int (tmp170, 0) ;
if (tmp171) {
tmp172 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp172)->tag = 32 ;
ats_selptrset_mac(anairiats_sum_7, tmp172, atslab_0, arg0) ;
/* tmp169 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp172) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp169) */ ;
} /* end of [auxerr_wrt_if_21] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list.dats: 19194(line=690, offs=7) -- 19604(line=704, offs=6)
*/
ATSstaticdec()
ats_void_type
loop_24 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) {
/* local vardec */
// ATSlocal_void (tmp211) ;
ATSlocal (ats_ptr_type, tmp212) ;
ATSlocal (ats_ptr_type, tmp213) ;
ATSlocal (ats_ptr_type, tmp214) ;
ATSlocal (ats_ptr_type, tmp215) ;
ATSlocal (ats_ptr_type, tmp216) ;
ATSlocal (ats_ptr_type, tmp217) ;

__ats_lab_loop_24:
do {
/* branch: __ats_lab_23 */
__ats_lab_23_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_24_0 ; }
__ats_lab_23_1:
tmp212 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_0) ;
tmp213 = ats_caselptrlab_mac(anairiats_sum_10, arg0, atslab_1) ;
tmp214 = ATS_MALLOC(sizeof(anairiats_sum_10)) ;
ats_selptrset_mac(anairiats_sum_10, tmp214, atslab_0, tmp212) ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp214 ;
if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/home/ats-lang-anairiats-0.2.12/prelude/DATS/list.dats: 19444(line=699, offs=13) -- 19470(line=699, offs=39)") ; }
tmp215 = &ats_caselptrlab_mac(anairiats_sum_10, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ;
arg0 = tmp213 ;
arg1 = arg1 ;
arg2 = tmp215 ;
goto __ats_lab_loop_24 ; // tail call
break ;

/* branch: __ats_lab_24 */
__ats_lab_24_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_24_1:
tmp217 = (ats_sum_ptr_type)0 ;
tmp216 = ATS_MALLOC(sizeof(anairiats_sum_10)) ;
ats_selptrset_mac(anairiats_sum_10, tmp216, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_10, tmp216, atslab_1, tmp217) ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp216 ;
break ;
} while (0) ;
return /* (tmp211) */ ;
} /* end of [loop_24] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list.dats: 19136(line=688, offs=13) -- 19698(line=708, offs=4)
*/
ATSstaticdec()
ats_ptr_type
list_extend_01337_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp209) ;
ATSlocal (ats_ptr_type, tmp210) ;
// ATSlocal_void (tmp218) ;

__ats_lab_list_extend_01337_ats_ptr_type:
/* ats_ptr_type tmp210 ; */
/* tmp218 = */ loop_24 (arg0, arg1, (&tmp210)) ;
tmp209 = tmp210 ;
return (tmp209) ;
} /* end of [list_extend_01337_ats_ptr_type] */

/*
// /tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 12686(line=615, offs=3) -- 15541(line=728, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup_assgn (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp173) ;
ATSlocal (ats_ptr_type, tmp174) ;
ATSlocal (ats_ptr_type, tmp175) ;
ATSlocal (ats_ptr_type, tmp176) ;
ATSlocal (ats_ptr_type, tmp177) ;
ATSlocal (ats_ptr_type, tmp178) ;
ATSlocal (ats_ptr_type, tmp179) ;
ATSlocal (ats_ptr_type, tmp180) ;
ATSlocal (ats_ptr_type, tmp181) ;
ATSlocal (ats_ptr_type, tmp182) ;
ATSlocal (ats_ptr_type, tmp183) ;
ATSlocal (ats_ptr_type, tmp184) ;
ATSlocal (ats_ptr_type, tmp185) ;
// ATSlocal_void (tmp186) ;
ATSlocal (ats_ptr_type, tmp187) ;
// ATSlocal_void (tmp188) ;
ATSlocal (ats_bool_type, tmp189) ;
ATSlocal (ats_ptr_type, tmp190) ;
ATSlocal (ats_ptr_type, tmp191) ;
ATSlocal (ats_ptr_type, tmp192) ;
ATSlocal (ats_ptr_type, tmp193) ;
ATSlocal (ats_ptr_type, tmp194) ;
// ATSlocal_void (tmp195) ;
ATSlocal (ats_ptr_type, tmp196) ;
ATSlocal (ats_ptr_type, tmp197) ;
ATSlocal (ats_ptr_type, tmp198) ;
ATSlocal (ats_ptr_type, tmp199) ;
// ATSlocal_void (tmp200) ;
ATSlocal (ats_ptr_type, tmp201) ;
ATSlocal (ats_ptr_type, tmp202) ;
// ATSlocal_void (tmp203) ;
ATSlocal (ats_ptr_type, tmp204) ;
ATSlocal (ats_ptr_type, tmp205) ;
ATSlocal (ats_ptr_type, tmp206) ;
ATSlocal (ats_ptr_type, tmp207) ;
ATSlocal (ats_ptr_type, tmp208) ;
ATSlocal (ats_ptr_type, tmp219) ;
ATSlocal (ats_ptr_type, tmp220) ;
ATSlocal (ats_ptr_type, tmp221) ;
ATSlocal (ats_ptr_type, tmp222) ;
ATSlocal (ats_ptr_type, tmp223) ;
ATSlocal (ats_ptr_type, tmp224) ;
ATSlocal (ats_ptr_type, tmp225) ;
ATSlocal (ats_ptr_type, tmp226) ;
ATSlocal (ats_ptr_type, tmp227) ;
ATSlocal (ats_ptr_type, tmp228) ;
ATSlocal (ats_ptr_type, tmp229) ;
ATSlocal (ats_ptr_type, tmp230) ;
ATSlocal (ats_ptr_type, tmp231) ;
ATSlocal (ats_ptr_type, tmp232) ;
ATSlocal (ats_ptr_type, tmp233) ;
ATSlocal (ats_ptr_type, tmp234) ;
ATSlocal (ats_ptr_type, tmp235) ;
ATSlocal (ats_ptr_type, tmp236) ;
// ATSlocal_void (tmp237) ;
// ATSlocal_void (tmp238) ;
// ATSlocal_void (tmp239) ;
// ATSlocal_void (tmp240) ;
ATSlocal (ats_ptr_type, tmp241) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup_assgn:
tmp174 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_d2exp_loc) ;
tmp175 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_d2exp_node) ;
if (((ats_sum_ptr_type)tmp175)->tag != 44) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 12732(line=618, offs=5) -- 12772(line=618, offs=45)") ; }
tmp176 = ats_caselptrlab_mac(anairiats_sum_4, tmp175, atslab_0) ;
tmp177 = ats_caselptrlab_mac(anairiats_sum_4, tmp175, atslab_1) ;
tmp178 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_lvalize (tmp176) ;
do {
/* branch: __ats_lab_16 */
__ats_lab_16_0:
if (((ats_sum_ptr_type)tmp178)->tag != 2) { goto __ats_lab_17_0 ; }
__ats_lab_16_1:
tmp179 = ats_caselptrlab_mac(anairiats_sum_4, tmp178, atslab_0) ;
tmp180 = ats_caselptrlab_mac(anairiats_sum_4, tmp178, atslab_1) ;
tmp181 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_addr (tmp179) ;
if (tmp181 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_trans3_assgn.dats: 12971(line=634, offs=5) -- 13008(line=635, offs=26)") ; }
tmp182 = ats_caselptrlab_mac(anairiats_sum_3, tmp181, atslab_0) ;
tmp183 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2lablst_trup (tmp180) ;
/* ats_ptr_type tmp184 ; */
tmp185 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup (tmp177) ;
/* tmp186 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp185) ;
tmp187 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__s2addr_assgn_deref (tmp174, tmp182, tmp183, tmp185, (&tmp184)) ;
tmp189 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_isnot_prf (tmp187) ;
if (tmp189) {
/* tmp188 = */ auxerr_wrt_if_21 (tmp174) ;
} else {
/* empty */
} /* end of [if] */
tmp173 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_var (tmp174, tmp179, tmp184, tmp183, tmp187) ;
break ;

/* branch: __ats_lab_17 */
__ats_lab_17_0:
if (((ats_sum_ptr_type)tmp178)->tag != 1) { goto __ats_lab_20_0 ; }
__ats_lab_17_1:
tmp190 = ats_caselptrlab_mac(anairiats_sum_4, tmp178, atslab_0) ;
tmp191 = ats_caselptrlab_mac(anairiats_sum_4, tmp178, atslab_1) ;
tmp192 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp176), atslab_d2exp_loc) ;
tmp193 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2lablst_trup (tmp191) ;
tmp194 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup (tmp177) ;
/* tmp195 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__d3exp_open_and_add (tmp194) ;
tmp196 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp194) ;
tmp197 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_type (tmp190) ;
do {
/* branch: __ats_lab_18 */
__ats_lab_18_0:
if (tmp197 == (ats_sum_ptr_type)0) { goto __ats_lab_19_0 ; }
__ats_lab_18_1:
tmp199 = ats_caselptrlab_mac(anairiats_sum_3, tmp197, atslab_0) ;
tmp198 = tmp199 ;
break ;

/* branch: __ats_lab_19 */
__ats_lab_19_0:
// if (tmp197 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_19_1:
tmp198 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
break ;
} while (0) ;
/* tmp200 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__d2var_assgn_lin01 (tmp192, tmp190, tmp193, tmp196) ;
tmp173 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_assgn_var (tmp174, tmp190, tmp198, tmp193, tmp194) ;
break ;

/* branch: __ats_lab_20 */
__ats_lab_20_0:
if (((ats_sum_ptr_type)tmp178)->tag != 0) { goto __ats_lab_21_0 ; }
__ats_lab_20_1:
tmp201 = ats_caselptrlab_mac(anairiats_sum_4, tmp178, atslab_0) ;
tmp202 = ats_caselptrlab_mac(anairiats_sum_4, tmp178, atslab_1) ;
/* tmp203 = */ auxerr_wrt_if_21 (tmp174) ;
tmp173 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup_assgn_deref (tmp174, tmp201, tmp202, tmp177) ;
break ;

/* branch: __ats_lab_21 */
__ats_lab_21_0:
if (((ats_sum_ptr_type)tmp178)->tag != 4) { goto __ats_lab_22_0 ; }
__ats_lab_21_1:
tmp173 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup_viewat_assgn (arg0) ;
break ;

/* branch: __ats_lab_22 */
__ats_lab_22_0:
if (((ats_sum_ptr_type)tmp178)->tag != 3) { goto __ats_lab_25_0 ; }
__ats_lab_22_1:
tmp204 = ats_caselptrlab_mac(anairiats_sum_9, tmp178, atslab_0) ;
tmp205 = ats_caselptrlab_mac(anairiats_sum_9, tmp178, atslab_1) ;
tmp206 = ats_caselptrlab_mac(anairiats_sum_9, tmp178, atslab_3) ;
tmp208 = list_extend_01337_ats_ptr_type (tmp206, tmp177) ;
tmp207 = ATS_MALLOC(sizeof(anairiats_sum_10)) ;
ats_selptrset_mac(anairiats_sum_10, tmp207, atslab_0, tmp205) ;
ats_selptrset_mac(anairiats_sum_10, tmp207, atslab_1, tmp208) ;
tmp219 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
((ats_sum_ptr_type)tmp219)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_11, tmp219, atslab_0, -1) ;
ats_selptrset_mac(anairiats_sum_11, tmp219, atslab_1, tmp174) ;
ats_selptrset_mac(anairiats_sum_11, tmp219, atslab_2, ats_castfn_mac(ats_ptr_type, tmp207)) ;
tmp222 = (ats_sum_ptr_type)0 ;
tmp221 = ATS_MALLOC(sizeof(anairiats_sum_10)) ;
ats_selptrset_mac(anairiats_sum_10, tmp221, atslab_0, tmp219) ;
ats_selptrset_mac(anairiats_sum_10, tmp221, atslab_1, tmp222) ;
tmp220 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup_applst_sym (arg0, tmp204, tmp221) ;
tmp223 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
tmp173 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d3exp_trdn (tmp220, tmp223) ;
break ;

/* branch: __ats_lab_25 */
__ats_lab_25_0:
__ats_lab_25_1:
tmp224 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_get_seloverld (tmp176) ;
do {
/* branch: __ats_lab_26 */
__ats_lab_26_0:
if (tmp224 == (ats_sum_ptr_type)0) { goto __ats_lab_27_0 ; }
__ats_lab_26_1:
tmp225 = ats_caselptrlab_mac(anairiats_sum_3, tmp224, atslab_0) ;
tmp226 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_top (tmp174) ;
tmp227 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2exp_get_seloverld_root (tmp176) ;
tmp231 = (ats_sum_ptr_type)0 ;
tmp230 = ATS_MALLOC(sizeof(anairiats_sum_10)) ;
ats_selptrset_mac(anairiats_sum_10, tmp230, atslab_0, tmp177) ;
ats_selptrset_mac(anairiats_sum_10, tmp230, atslab_1, tmp231) ;
tmp229 = ATS_MALLOC(sizeof(anairiats_sum_10)) ;
ats_selptrset_mac(anairiats_sum_10, tmp229, atslab_0, tmp227) ;
ats_selptrset_mac(anairiats_sum_10, tmp229, atslab_1, tmp230) ;
tmp228 = ATS_MALLOC(sizeof(anairiats_sum_11)) ;
((ats_sum_ptr_type)tmp228)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_11, tmp228, atslab_0, -1) ;
ats_selptrset_mac(anairiats_sum_11, tmp228, atslab_1, tmp174) ;
ats_selptrset_mac(anairiats_sum_11, tmp228, atslab_2, tmp229) ;
tmp234 = (ats_sum_ptr_type)0 ;
tmp233 = ATS_MALLOC(sizeof(anairiats_sum_10)) ;
ats_selptrset_mac(anairiats_sum_10, tmp233, atslab_0, tmp228) ;
ats_selptrset_mac(anairiats_sum_10, tmp233, atslab_1, tmp234) ;
tmp232 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup_applst_sym (tmp226, tmp225, tmp233) ;
tmp235 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__s2exp_void_t0ype () ;
tmp173 = _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d3exp_trdn (tmp232, tmp235) ;
break ;

/* branch: __ats_lab_27 */
__ats_lab_27_0:
// if (tmp224 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_27_1:
tmp236 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, tmp176), atslab_d2exp_loc) ;
/* tmp237 = */ prerr_error3_loc_02051_ (tmp236) ;
/* tmp238 = */ atspre_prerr_string (ATSstrcst(": a left-value is required but a non-left-value is given.")) ;
/* tmp239 = */ atspre_prerr_newline () ;
tmp241 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp241)->tag = 51 ;
ats_selptrset_mac(anairiats_sum_7, tmp241, atslab_0, tmp176) ;
/* tmp240 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__the_trans3errlst_add (tmp241) ;
tmp173 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_errexp_void (tmp174) ;
break ;
} while (0) ;
break ;
} while (0) ;
return (tmp173) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__d2exp_trup_assgn] */

/* static load function */

// extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_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_location_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_stacst2_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__staload (void) ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__staload () {
static int _2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__staload_flag = 0 ;
if (_2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__staload_flag) return ;
_2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__staload_flag = 1 ;

// _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_errmsg_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_errmsg_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_trans3_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__staload () ;

return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__dynload_flag ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__dynload () {
_2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__dynload_flag = 1 ;
_2tmp_2ATS_2dPostiats_2src_2pats_trans3_assgn_2edats__staload () ;

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

/* marking static variables for GC */

/* marking external values for GC */

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

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

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

/* end of [pats_trans3_assgn_dats.c] */
