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

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

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

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

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

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

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

typedef
struct {
ats_ptr_type atslab_hipat_loc ;
ats_ptr_type atslab_hipat_type ;
ats_ptr_type atslab_hipat_node ;
ats_ptr_type atslab_hipat_asvar ;
} anairiats_rec_3 ;

typedef
struct {
ats_ptr_type atslab_hidexp_loc ;
ats_ptr_type atslab_hidexp_type ;
ats_ptr_type atslab_hidexp_node ;
} anairiats_rec_4 ;

typedef struct {
ats_ptr_type atslab_0 ;
} anairiats_sum_5 ;

typedef
struct {
ats_ptr_type atslab_p3at_loc ;
ats_ptr_type atslab_p3at_node ;
ats_ptr_type atslab_p3at_type ;
ats_ptr_type atslab_p3at_dvaropt ;
ats_ptr_type atslab_p3at_type_left ;
} anairiats_rec_6 ;

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

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

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

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

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

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

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

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

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

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

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

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

typedef
struct {
ats_ptr_type atslab_i3fcl_loc ;
ats_ptr_type atslab_i3fcl_test ;
ats_ptr_type atslab_i3fcl_body ;
} anairiats_rec_19 ;

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

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

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

typedef struct {
ats_int_type atslab_0 ;
} anairiats_sum_23 ;

typedef
struct {
ats_ptr_type atslab_l0ab_loc ;
ats_ptr_type atslab_l0ab_lab ;
} anairiats_rec_24 ;

typedef
struct {
ats_ptr_type atslab_d3lab_loc ;
ats_ptr_type atslab_d3lab_node ;
ats_ptr_type atslab_d3lab_overld ;
ats_ptr_type atslab_d3lab_overld_app ;
} anairiats_rec_25 ;

typedef
struct {
ats_ptr_type atslab_gm3at_loc ;
ats_ptr_type atslab_gm3at_exp ;
ats_ptr_type atslab_gm3at_pat ;
} anairiats_rec_26 ;

typedef
struct {
ats_ptr_type atslab_c3lau_loc ;
ats_ptr_type atslab_c3lau_pat ;
ats_ptr_type atslab_c3lau_gua ;
ats_int_type atslab_c3lau_seq ;
ats_int_type atslab_c3lau_neg ;
ats_ptr_type atslab_c3lau_body ;
} anairiats_rec_27 ;

/* external typedefs */
/* external dynamic constructor declarations */
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_vt_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_vt_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__DL0ABELED_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__TYRECKINDflt0_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__LABP3AT_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tany_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tvar_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tcon_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tint_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tintrep_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tbool_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tchar_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tstring_8) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Ti0nt_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tf0loat_10) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tempty_11) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Trec_12) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tlst_13) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Trefas_14) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Texist_15) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__P3Tann_17) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3LABlab_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3LABind_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Ecst_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Evar_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eint_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eintrep_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Ebool_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Echar_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Efloat_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Estring_7) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Ei0nt_8) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Ef0loat_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Ecstsp_10) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etyrep_11) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etop_13) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eempty_14) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eextval_15) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eextfcall_16) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eextmcall_17) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Econ_18) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etmpcst_19) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etmpvar_20) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Efoldat_21) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Efreeat_22) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Elet_24) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eapp_sta_25) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eapp_dyn_26) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eif_27) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Esif_28) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Ecase_29) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eifcase_31) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Elst_32) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etup_33) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Erec_34) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eseq_35) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eselab_36) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eptrofvar_37) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eptrofsel_38) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Erefarg_40) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Esel_var_41) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Esel_ptr_42) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Esel_ref_43) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eassgn_var_44) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eassgn_ptr_45) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eassgn_ref_46) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Exchng_var_47) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Exchng_ptr_48) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Exchng_ref_49) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eviewat_assgn_50) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Earrpsz_51) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Earrinit_52) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eraise_53) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eeffmask_54) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Evararg_55) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Evcopyenv_56) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etempenver_57) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eann_type_58) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Elam_dyn_59) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Elaminit_dyn_60) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Elam_sta_61) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Elam_met_62) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Efix_63) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Edelay_64) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eldelay_65) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Elazyeval_66) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eloop_67) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eloopexn_68) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Etrywith_69) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Esolverify_70) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__D3Eerrexp_71) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__HSLABELED_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__LABHIPAT_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__LABHIDEXP_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__T4E_p3at_tyer_isprf_0) ;

/* external dynamic constant declarations */
ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_print_newline) () ;
ATSextern_fun(ats_void_type, atspre_prerr_newline) () ;
ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ;
ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_gte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_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_print_string) (ats_ptr_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_val(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TRUE_BOOL) ;
ATSextern_val(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_FALSE_BOOL) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__eq_symbol_symbol) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__print_location) (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_label_2esats__label_make_int) (ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2exp2hnf) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__un_s2exp_intconst) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__un_s2exp_g1size_index_t0ype) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_loc) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_sym) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_type) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_loc) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_mastype) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_inc_utimes) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__print_p3at) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__prerr_p3at) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_get_type) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_prf) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_full) (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_is_prf) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__prerr_d3exp) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_void_t0ype) () ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_tyrec2) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_tysum) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__d2cst_set2_hisexp) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__d2var_set2_hisexp) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhipatlst_get_type) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhipatlst_is_unused) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_any) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con) (ats_ptr_type, 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_hidynexp_2esats__hipat_con_any) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_int) (ats_ptr_type, ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_intrep) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_bool) (ats_ptr_type, ats_ptr_type, ats_bool_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_char) (ats_ptr_type, ats_ptr_type, ats_char_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_string) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_i0nt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_f0loat) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_empty) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_lst) (ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_rec2) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_refas) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_ann) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhidexplst_get_type) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_is_value) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_var) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_cst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_int) (ats_ptr_type, ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_intrep) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_bool) (ats_ptr_type, ats_ptr_type, ats_bool_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_char) (ats_ptr_type, ats_ptr_type, ats_char_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_float) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_string) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_i0nt) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_f0loat) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_cstsp) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tyrep) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_top) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extval) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extfcall) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extmcall) (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_hidynexp_2esats__hidexp_con) (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_hidynexp_2esats__hidexp_tmpcst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tmpvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_foldat) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_freeat) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_let_simplify) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app2) (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_hidynexp_2esats__hidexp_if) (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_hidynexp_2esats__hidexp_sif) (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_hidynexp_2esats__hidexp_case) (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_hidynexp_2esats__hidexp_lst) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec2) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_seq_simplify) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selab) (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_hidynexp_2esats__hidexp_ptrofvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ptrofsel) (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_hidynexp_2esats__hidexp_refarg) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selvar) (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_hidynexp_2esats__hidexp_selptr) (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_hidynexp_2esats__hidexp_assgn_var) (ats_ptr_type, 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_hidynexp_2esats__hidexp_assgn_ptr) (ats_ptr_type, 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_hidynexp_2esats__hidexp_xchng_var) (ats_ptr_type, 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_hidynexp_2esats__hidexp_xchng_ptr) (ats_ptr_type, 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_hidynexp_2esats__hidexp_arrpsz) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_arrinit) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_raise) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_vararg) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_vcopyenv) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tempenver) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lam) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_fix) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_delay) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ldelay) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lazyeval) (ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loop) (ats_ptr_type, 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_hidynexp_2esats__hidexp_loopexn) (ats_ptr_type, ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_trywith) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_errexp) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hilab_lab) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hilab_ind) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__higmat_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hiclau_make) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__the_trans4errlst_add) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_shallow) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__t2mpmarglst_mhnfize) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d2var_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d2cst_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3at_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer2) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3explst_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3expopt_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lab_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3eclist_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3at_tyer_con) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer) (ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer_labize) (ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labp3atlst_npf_tyer) (ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labp3atlst_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__gm3at_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__gm3atlst_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3lau_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3lau_tyer2) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer2) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_cst) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpcst) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpvar) (ats_ptr_type, ats_ptr_type, ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer) (ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer_labize) (ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labd3explst_npf_tyer) (ats_int_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labd3explst_tyer) (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_02083_ () ;
static
ats_ptr_type fopr_2 (ats_ptr_type arg0) ;
static
ats_void_type loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) ;
static
ats_ptr_type list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_ptr_type list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type fopr_7 (ats_ptr_type arg0) ;
static
ats_void_type prerr_ERROR_beg_02081_ () ;
static
ats_void_type prerr_error4_loc_02090_ (ats_ptr_type arg0) ;
static
ats_void_type prerr_ERROR_end_02082_ () ;
static
ats_void_type auxerr_if_11 (ats_ptr_type arg0) ;
static
ats_ptr_type auxlst_19 (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
ats_ptr_type d3exp_tyer_type_23 (ats_ptr_type arg0) ;
static
ats_ptr_type auxlst_25 (ats_ptr_type env0, ats_ptr_type env1, ats_int_type env2, ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_clo_ptr_type auxlst_25_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_int_type env2) ;
static
ats_ptr_type auxlst_25_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type loop_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_void_type list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_void_type list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type prerr_warning4_loc_02095_ (ats_ptr_type arg0) ;
static
ats_void_type prerr_interror_loc_02085_ (ats_ptr_type arg0) ;
static
ats_ptr_type aux1_34 (ats_int_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type aux2_35 (ats_int_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_typerase_dynexp.dats: 1677(line=54, offs=18) -- 1710(line=54, offs=51)
*/
ATSstaticdec()
ats_void_type
prerr_FILENAME_02083_ () {
/* local vardec */
// ATSlocal_void (tmp0) ;

__ats_lab_prerr_FILENAME_02083_:
/* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_typerase_dynexp")) ;
return /* (tmp0) */ ;
} /* end of [prerr_FILENAME_02083_] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 2501(line=112, offs=1) -- 2643(line=127, offs=4)
*/
ATSstaticdec()
ats_ptr_type
fopr_2 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp2) ;
ATSlocal (ats_ptr_type, tmp3) ;
ATSlocal (ats_ptr_type, tmp4) ;
ATSlocal (ats_ptr_type, tmp5) ;
ATSlocal (ats_ptr_type, tmp6) ;

__ats_lab_fopr_2:

tmp3 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ;
tmp4 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ;
tmp5 = (ats_sum_ptr_type)0 ;
tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_3, tmp4), atslab_hipat_type) ;
tmp2 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp2, atslab_0, tmp3) ;
ats_selptrset_mac(anairiats_sum_2, tmp2, atslab_1, tmp5) ;
ats_selptrset_mac(anairiats_sum_2, tmp2, atslab_2, tmp6) ;
return (tmp2) ;
} /* end of [fopr_2] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list.dats: 52519(line=1874, offs=5) -- 52952(line=1891, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_5 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp10) ;
ATSlocal (ats_ptr_type, tmp11) ;
ATSlocal (ats_ptr_type, tmp12) ;
ATSlocal (ats_ptr_type, tmp13) ;
ATSlocal (ats_ptr_type, tmp14) ;
ATSlocal (ats_ptr_type, tmp15) ;
ATSlocal (ats_ptr_type, tmp16) ;

__ats_lab_loop_5:
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
tmp11 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ;
tmp12 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ;
tmp13 = ((ats_ptr_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp11, arg3) ;
tmp14 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp14, atslab_0, tmp13) ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp14 ;
// if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
tmp15 = &ats_caselptrlab_mac(anairiats_sum_1, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ;
arg0 = tmp12 ;
arg1 = arg1 ;
arg2 = tmp15 ;
arg3 = arg3 ;
goto __ats_lab_loop_5 ; // tail call
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_1_1:
tmp16 = (ats_sum_ptr_type)0 ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp16 ;
break ;
} while (0) ;
return /* (tmp10) */ ;
} /* end of [loop_5] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list.dats: 52444(line=1870, offs=3) -- 53099(line=1899, offs=4)
*/
ATSstaticdec()
ats_ptr_type
list_map_funenv_01412_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp9) ;
ATSlocal (ats_ptr_type, tmp17) ;
// ATSlocal_void (tmp18) ;

__ats_lab_list_map_funenv_01412_ats_ptr_type_ats_ptr_type:
/* ats_ptr_type tmp17 ; */
/* tmp18 = */ loop_5 (arg0, arg1, (&tmp17), arg2) ;
tmp9 = tmp17 ;
return (tmp9) ;
} /* end of [list_map_funenv_01412_ats_ptr_type_ats_ptr_type] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list.dats: 53173(line=1904, offs=3) -- 53424(line=1911, offs=2)
*/
ATSstaticdec()
ats_ptr_type
list_map_fun_01413_ats_ptr_type_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp8) ;

__ats_lab_list_map_fun_01413_ats_ptr_type_ats_ptr_type:
tmp8 = list_map_funenv_01412_ats_ptr_type_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ;
return (tmp8) ;
} /* end of [list_map_fun_01413_ats_ptr_type_ats_ptr_type] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 2482(line=109, offs=3) -- 2755(line=135, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhipatlst_get_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp1) ;
ATSlocal (ats_ptr_type, tmp7) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhipatlst_get_type:
tmp7 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &fopr_2) ;
tmp1 = ats_castfn_mac(ats_ptr_type, tmp7) ;
return (tmp1) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhipatlst_get_type] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 2843(line=142, offs=1) -- 2988(line=157, offs=4)
*/
ATSstaticdec()
ats_ptr_type
fopr_7 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp20) ;
ATSlocal (ats_ptr_type, tmp21) ;
ATSlocal (ats_ptr_type, tmp22) ;
ATSlocal (ats_ptr_type, tmp23) ;
ATSlocal (ats_ptr_type, tmp24) ;

__ats_lab_fopr_7:

tmp21 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ;
tmp22 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ;
tmp23 = (ats_sum_ptr_type)0 ;
tmp24 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_4, tmp22), atslab_hidexp_type) ;
tmp20 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp20, atslab_0, tmp21) ;
ats_selptrset_mac(anairiats_sum_2, tmp20, atslab_1, tmp23) ;
ats_selptrset_mac(anairiats_sum_2, tmp20, atslab_2, tmp24) ;
return (tmp20) ;
} /* end of [fopr_7] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 2824(line=139, offs=3) -- 3098(line=165, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhidexplst_get_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp19) ;
ATSlocal (ats_ptr_type, tmp25) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhidexplst_get_type:
tmp25 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &fopr_7) ;
tmp19 = ats_castfn_mac(ats_ptr_type, tmp25) ;
return (tmp19) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhidexplst_get_type] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 3564(line=190, offs=12) -- 3895(line=208, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d2var_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp26) ;
ATSlocal (ats_ptr_type, tmp27) ;
ATSlocal (ats_ptr_type, tmp28) ;
ATSlocal (ats_ptr_type, tmp29) ;
ATSlocal (ats_ptr_type, tmp30) ;
// ATSlocal_void (tmp31) ;
ATSlocal (ats_ptr_type, tmp32) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d2var_tyer:
tmp27 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_mastype (arg0) ;
do {
/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (tmp27 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
tmp28 = ats_caselptrlab_mac(anairiats_sum_5, tmp27, atslab_0) ;
tmp29 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_get_loc (arg0) ;
tmp30 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp29, tmp28) ;
tmp32 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
ats_selptrset_mac(anairiats_sum_5, tmp32, atslab_0, tmp30) ;
/* tmp31 = */ _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__d2var_set2_hisexp (arg0, tmp32) ;
tmp26 = arg0 ;
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
// if (tmp27 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_3_1:
tmp26 = arg0 ;
break ;
} while (0) ;
return (tmp26) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d2var_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 3962(line=213, offs=12) -- 4272(line=229, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d2cst_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp33) ;
ATSlocal (ats_ptr_type, tmp34) ;
ATSlocal (ats_ptr_type, tmp35) ;
ATSlocal (ats_ptr_type, tmp36) ;
ATSlocal (ats_ptr_type, tmp37) ;
// ATSlocal_void (tmp38) ;
ATSlocal (ats_ptr_type, tmp39) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d2cst_tyer:
tmp34 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__d2cst_get2_hisexp (arg0) ;
do {
/* branch: __ats_lab_4 */
__ats_lab_4_0:
if (tmp34 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; }
__ats_lab_4_1:
tmp33 = arg0 ;
break ;

/* branch: __ats_lab_5 */
__ats_lab_5_0:
// if (tmp34 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_5_1:
tmp35 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_loc (arg0) ;
tmp36 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_type (arg0) ;
tmp37 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp35, tmp36) ;
tmp39 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
ats_selptrset_mac(anairiats_sum_5, tmp39, atslab_0, tmp37) ;
/* tmp38 = */ _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__d2cst_set2_hisexp (arg0, tmp39) ;
tmp33 = arg0 ;
break ;
} while (0) ;
return (tmp33) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d2cst_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 4337(line=234, offs=10) -- 6652(line=335, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3at_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp40) ;
ATSlocal (ats_ptr_type, tmp41) ;
ATSlocal (ats_ptr_type, tmp42) ;
ATSlocal (ats_ptr_type, tmp43) ;
ATSlocal (ats_ptr_type, tmp44) ;
ATSlocal (ats_ptr_type, tmp45) ;
ATSlocal (ats_ptr_type, tmp46) ;
ATSlocal (ats_ptr_type, tmp47) ;
ATSlocal (ats_ptr_type, tmp48) ;
ATSlocal (ats_ptr_type, tmp49) ;
ATSlocal (ats_ptr_type, tmp50) ;
ATSlocal (ats_int_type, tmp51) ;
ATSlocal (ats_ptr_type, tmp52) ;
ATSlocal (ats_int_type, tmp53) ;
ATSlocal (ats_ptr_type, tmp54) ;
ATSlocal (ats_bool_type, tmp55) ;
ATSlocal (ats_char_type, tmp56) ;
ATSlocal (ats_ptr_type, tmp57) ;
ATSlocal (ats_ptr_type, tmp58) ;
ATSlocal (ats_ptr_type, tmp59) ;
ATSlocal (ats_int_type, tmp60) ;
ATSlocal (ats_ptr_type, tmp61) ;
ATSlocal (ats_ptr_type, tmp62) ;
ATSlocal (ats_ptr_type, tmp63) ;
ATSlocal (ats_ptr_type, tmp64) ;
ATSlocal (ats_int_type, tmp65) ;
ATSlocal (ats_int_type, tmp66) ;
ATSlocal (ats_ptr_type, tmp67) ;
ATSlocal (ats_ptr_type, tmp68) ;
ATSlocal (ats_ptr_type, tmp69) ;
ATSlocal (ats_ptr_type, tmp70) ;
ATSlocal (ats_ptr_type, tmp71) ;
ATSlocal (ats_bool_type, tmp72) ;
ATSlocal (ats_ptr_type, tmp73) ;
ATSlocal (ats_ptr_type, tmp74) ;
ATSlocal (ats_ptr_type, tmp75) ;
ATSlocal (ats_ptr_type, tmp76) ;
ATSlocal (ats_ptr_type, tmp77) ;
ATSlocal (ats_ptr_type, tmp78) ;
ATSlocal (ats_ptr_type, tmp79) ;
ATSlocal (ats_ptr_type, tmp80) ;
ATSlocal (ats_ptr_type, tmp81) ;
ATSlocal (ats_ptr_type, tmp82) ;
// ATSlocal_void (tmp83) ;
// ATSlocal_void (tmp84) ;
// ATSlocal_void (tmp85) ;
// ATSlocal_void (tmp86) ;
// ATSlocal_void (tmp87) ;
// ATSlocal_void (tmp88) ;
ATSlocal (ats_ptr_type, tmp89) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3at_tyer:
tmp41 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_p3at_loc) ;
tmp42 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_get_type (arg0) ;
tmp43 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp41, tmp42) ;
tmp44 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_p3at_node) ;
do {
/* branch: __ats_lab_6 */
__ats_lab_6_0:
if (((ats_sum_ptr_type)tmp44)->tag != 0) { goto __ats_lab_7_0 ; }
__ats_lab_6_1:
tmp45 = ats_caselptrlab_mac(anairiats_sum_7, tmp44, atslab_0) ;
tmp46 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d2var_tyer (tmp45) ;
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_any (tmp41, tmp43, tmp46) ;
break ;

/* branch: __ats_lab_7 */
__ats_lab_7_0:
if (((ats_sum_ptr_type)tmp44)->tag != 1) { goto __ats_lab_8_0 ; }
__ats_lab_7_1:
tmp47 = ats_caselptrlab_mac(anairiats_sum_7, tmp44, atslab_0) ;
tmp48 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d2var_tyer (tmp47) ;
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_var (tmp41, tmp43, tmp48) ;
break ;

/* branch: __ats_lab_8 */
__ats_lab_8_0:
if (((ats_sum_ptr_type)tmp44)->tag != 2) { goto __ats_lab_9_0 ; }
__ats_lab_8_1:
tmp49 = ats_caselptrlab_mac(anairiats_sum_8, tmp44, atslab_0) ;
tmp50 = ats_caselptrlab_mac(anairiats_sum_8, tmp44, atslab_1) ;
tmp51 = ats_caselptrlab_mac(anairiats_sum_8, tmp44, atslab_2) ;
tmp52 = ats_caselptrlab_mac(anairiats_sum_8, tmp44, atslab_3) ;
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3at_tyer_con (tmp41, tmp43, tmp49, tmp50, tmp51, tmp52) ;
break ;

/* branch: __ats_lab_9 */
__ats_lab_9_0:
if (((ats_sum_ptr_type)tmp44)->tag != 3) { goto __ats_lab_10_0 ; }
__ats_lab_9_1:
tmp53 = ats_caselptrlab_mac(anairiats_sum_9, tmp44, atslab_0) ;
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_int (tmp41, tmp43, tmp53) ;
break ;

/* branch: __ats_lab_10 */
__ats_lab_10_0:
if (((ats_sum_ptr_type)tmp44)->tag != 4) { goto __ats_lab_11_0 ; }
__ats_lab_10_1:
tmp54 = ats_caselptrlab_mac(anairiats_sum_7, tmp44, atslab_0) ;
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_intrep (tmp41, tmp43, tmp54) ;
break ;

/* branch: __ats_lab_11 */
__ats_lab_11_0:
if (((ats_sum_ptr_type)tmp44)->tag != 5) { goto __ats_lab_12_0 ; }
__ats_lab_11_1:
tmp55 = ats_caselptrlab_mac(anairiats_sum_10, tmp44, atslab_0) ;
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_bool (tmp41, tmp43, tmp55) ;
break ;

/* branch: __ats_lab_12 */
__ats_lab_12_0:
if (((ats_sum_ptr_type)tmp44)->tag != 6) { goto __ats_lab_13_0 ; }
__ats_lab_12_1:
tmp56 = ats_caselptrlab_mac(anairiats_sum_11, tmp44, atslab_0) ;
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_char (tmp41, tmp43, tmp56) ;
break ;

/* branch: __ats_lab_13 */
__ats_lab_13_0:
if (((ats_sum_ptr_type)tmp44)->tag != 8) { goto __ats_lab_14_0 ; }
__ats_lab_13_1:
tmp57 = ats_caselptrlab_mac(anairiats_sum_7, tmp44, atslab_0) ;
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_string (tmp41, tmp43, tmp57) ;
break ;

/* branch: __ats_lab_14 */
__ats_lab_14_0:
if (((ats_sum_ptr_type)tmp44)->tag != 9) { goto __ats_lab_15_0 ; }
__ats_lab_14_1:
tmp58 = ats_caselptrlab_mac(anairiats_sum_7, tmp44, atslab_0) ;
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_i0nt (tmp41, tmp43, tmp58) ;
break ;

/* branch: __ats_lab_15 */
__ats_lab_15_0:
if (((ats_sum_ptr_type)tmp44)->tag != 10) { goto __ats_lab_16_0 ; }
__ats_lab_15_1:
tmp59 = ats_caselptrlab_mac(anairiats_sum_7, tmp44, atslab_0) ;
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_f0loat (tmp41, tmp43, tmp59) ;
break ;

/* branch: __ats_lab_16 */
__ats_lab_16_0:
if (((ats_sum_ptr_type)tmp44)->tag != 11) { goto __ats_lab_17_0 ; }
__ats_lab_16_1:
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_empty (tmp41, tmp43) ;
break ;

/* branch: __ats_lab_17 */
__ats_lab_17_0:
if (((ats_sum_ptr_type)tmp44)->tag != 13) { goto __ats_lab_18_0 ; }
__ats_lab_17_1:
tmp60 = ats_caselptrlab_mac(anairiats_sum_12, tmp44, atslab_0) ;
tmp61 = ats_caselptrlab_mac(anairiats_sum_12, tmp44, atslab_1) ;
tmp62 = ats_caselptrlab_mac(anairiats_sum_12, tmp44, atslab_2) ;
tmp63 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp41, tmp61) ;
tmp64 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer (tmp62) ;
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_lst (tmp41, tmp60, tmp43, tmp63, tmp64) ;
break ;

/* branch: __ats_lab_18 */
__ats_lab_18_0:
if (((ats_sum_ptr_type)tmp44)->tag != 12) { goto __ats_lab_19_0 ; }
__ats_lab_18_1:
tmp65 = ats_caselptrlab_mac(anairiats_sum_13, tmp44, atslab_0) ;
tmp66 = ats_caselptrlab_mac(anairiats_sum_13, tmp44, atslab_1) ;
tmp67 = ats_caselptrlab_mac(anairiats_sum_13, tmp44, atslab_2) ;
tmp68 = ats_caselptrlab_mac(anairiats_sum_13, tmp44, atslab_3) ;
tmp69 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labp3atlst_npf_tyer (tmp66, tmp68) ;
tmp70 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhipatlst_get_type (tmp69) ;
tmp72 = atspre_gt_int_int (tmp65, 0) ;
if (tmp72) {
tmp71 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__TYRECKINDbox_0) ;
} else {
tmp71 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__TYRECKINDflt0_2) ;
} /* end of [if] */
tmp73 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_tyrec2 (tmp71, tmp70) ;
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_rec2 (tmp41, tmp43, tmp65, tmp67, tmp69, tmp73) ;
break ;

/* branch: __ats_lab_19 */
__ats_lab_19_0:
if (((ats_sum_ptr_type)tmp44)->tag != 14) { goto __ats_lab_20_0 ; }
__ats_lab_19_1:
tmp74 = ats_caselptrlab_mac(anairiats_sum_14, tmp44, atslab_0) ;
tmp75 = ats_caselptrlab_mac(anairiats_sum_14, tmp44, atslab_1) ;
tmp76 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d2var_tyer (tmp74) ;
tmp77 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3at_tyer (tmp75) ;
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_refas (tmp41, tmp43, tmp76, tmp77) ;
break ;

/* branch: __ats_lab_20 */
__ats_lab_20_0:
if (((ats_sum_ptr_type)tmp44)->tag != 15) { goto __ats_lab_21_0 ; }
__ats_lab_20_1:
tmp78 = ats_caselptrlab_mac(anairiats_sum_14, tmp44, atslab_1) ;
arg0 = tmp78 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3at_tyer ; // tail call
break ;

/* branch: __ats_lab_21 */
__ats_lab_21_0:
if (((ats_sum_ptr_type)tmp44)->tag != 17) { goto __ats_lab_22_0 ; }
__ats_lab_21_1:
tmp79 = ats_caselptrlab_mac(anairiats_sum_14, tmp44, atslab_0) ;
tmp80 = ats_caselptrlab_mac(anairiats_sum_14, tmp44, atslab_1) ;
tmp81 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3at_tyer (tmp79) ;
tmp82 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp41, tmp80) ;
tmp40 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_ann (tmp41, tmp43, tmp81, tmp82) ;
break ;

/* branch: __ats_lab_22 */
__ats_lab_22_0:
__ats_lab_22_1:
/* tmp83 = */ atspre_print_string (ATSstrcst("p3at_tyer: loc0 = ")) ;
/* tmp84 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__print_location (tmp41) ;
/* tmp85 = */ atspre_print_newline () ;
/* tmp86 = */ atspre_print_string (ATSstrcst("p3at_tyer: p3t0 = ")) ;
/* tmp87 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__print_p3at (arg0) ;
/* tmp88 = */ atspre_print_newline () ;
tmp89 = atspre_string_append ("/tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 6494(line=329, offs=5) -- 6503(line=329, offs=14)", ATSstrcst("\n")) ;
/* tmp40 = */ ats_exit_errmsg (1, tmp89) ;
break ;
} while (0) ;
return (tmp40) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3at_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_errmsg.dats: 1478(line=42, offs=16) -- 1514(line=43, offs=32)
*/
ATSstaticdec()
ats_void_type
prerr_ERROR_beg_02081_ () {
/* local vardec */
// ATSlocal_void (tmp94) ;

__ats_lab_prerr_ERROR_beg_02081_:
/* tmp94 = */ atspre_prerr_string (ATSstrcst("**ERROR(000000):beg**\n")) ;
return /* (tmp94) */ ;
} /* end of [prerr_ERROR_beg_02081_] */

/*
// /tmp/ATS-Postiats/src/pats_errmsg.dats: 2458(line=94, offs=17) -- 2516(line=97, offs=2)
*/
ATSstaticdec()
ats_void_type
prerr_error4_loc_02090_ (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp96) ;
// ATSlocal_void (tmp97) ;

__ats_lab_prerr_error4_loc_02090_:
/* tmp97 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location (arg0) ;
/* tmp96 = */ atspre_prerr_string (ATSstrcst(": error(4)")) ;
return /* (tmp96) */ ;
} /* end of [prerr_error4_loc_02090_] */

/*
// /tmp/ATS-Postiats/src/pats_errmsg.dats: 1551(line=46, offs=16) -- 1587(line=47, offs=32)
*/
ATSstaticdec()
ats_void_type
prerr_ERROR_end_02082_ () {
/* local vardec */
// ATSlocal_void (tmp104) ;

__ats_lab_prerr_ERROR_end_02082_:
/* tmp104 = */ atspre_prerr_string (ATSstrcst("**ERROR(000000):end**\n")) ;
return /* (tmp104) */ ;
} /* end of [prerr_ERROR_end_02082_] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 6707(line=342, offs=1) -- 7100(line=370, offs=4)
*/
ATSstaticdec()
ats_void_type
auxerr_if_11 (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp90) ;
ATSlocal (ats_bool_type, tmp91) ;
ATSlocal (ats_bool_type, tmp92) ;
// ATSlocal_void (tmp93) ;
// ATSlocal_void (tmp95) ;
ATSlocal (ats_ptr_type, tmp98) ;
// ATSlocal_void (tmp99) ;
// ATSlocal_void (tmp100) ;
// ATSlocal_void (tmp101) ;
// ATSlocal_void (tmp102) ;
// ATSlocal_void (tmp103) ;
ATSlocal (ats_ptr_type, tmp105) ;

__ats_lab_auxerr_if_11:
tmp91 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_full (arg0) ;
tmp92 = atspre_neg_bool (tmp91) ;
if (tmp92) {
/* tmp93 = */ prerr_ERROR_beg_02081_ () ;
tmp98 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_6, arg0), atslab_p3at_loc) ;
/* tmp95 = */ prerr_error4_loc_02090_ (tmp98) ;
/* tmp99 = */ atspre_prerr_string (ATSstrcst(": partial proof pattern [")) ;
/* tmp100 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__prerr_p3at (arg0) ;
/* tmp101 = */ atspre_prerr_string (ATSstrcst("] is not allowed for erasure.")) ;
/* tmp102 = */ atspre_prerr_newline () ;
/* tmp103 = */ prerr_ERROR_end_02082_ () ;
tmp105 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp105)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_7, tmp105, atslab_0, arg0) ;
/* tmp90 = */ _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__the_trans4errlst_add (tmp105) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp90) */ ;
} /* end of [auxerr_if_11] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 7171(line=376, offs=3) -- 7624(line=401, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp106) ;
ATSlocal (ats_ptr_type, tmp107) ;
ATSlocal (ats_ptr_type, tmp108) ;
ATSlocal (ats_bool_type, tmp109) ;
// ATSlocal_void (tmp110) ;
ATSlocal (ats_ptr_type, tmp111) ;
ATSlocal (ats_ptr_type, tmp112) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer:
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:
tmp106 = (ats_sum_ptr_type)0 ;
break ;

/* branch: __ats_lab_24 */
__ats_lab_24_0:
// if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_24_1:
tmp107 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ;
tmp108 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ;
tmp109 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_prf (tmp107) ;
if (tmp109) {
/* tmp110 = */ auxerr_if_11 (tmp107) ;
arg0 = tmp108 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer ; // tail call
} else {
tmp111 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3at_tyer (tmp107) ;
tmp112 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer (tmp108) ;
tmp106 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp106, atslab_0, tmp111) ;
ats_selptrset_mac(anairiats_sum_1, tmp106, atslab_1, tmp112) ;
} /* end of [if] */
break ;
} while (0) ;
return (tmp106) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 7698(line=407, offs=3) -- 8339(line=440, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer2 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp113) ;
ATSlocal (ats_ptr_type, tmp114) ;
ATSlocal (ats_ptr_type, tmp115) ;
ATSlocal (ats_ptr_type, tmp116) ;
ATSlocal (ats_ptr_type, tmp117) ;
ATSlocal (ats_bool_type, tmp118) ;
ATSlocal (ats_bool_type, tmp119) ;
// ATSlocal_void (tmp120) ;
ATSlocal (ats_ptr_type, tmp121) ;
ATSlocal (ats_ptr_type, tmp122) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer2:
do {
/* branch: __ats_lab_25 */
__ats_lab_25_0:
if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_26_0 ; }
__ats_lab_25_1:
tmp113 = (ats_sum_ptr_type)0 ;
break ;

/* branch: __ats_lab_26 */
__ats_lab_26_0:
// if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_26_1:
tmp114 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ;
tmp115 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ;
if (arg0 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 7824(line=418, offs=5) -- 7851(line=418, offs=32)") ; }
tmp116 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ;
tmp117 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ;
tmp118 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_prf (tmp114) ;
if (tmp118) {
tmp119 = ats_true_bool ;
} else {
tmp119 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_is_prf (tmp116) ;
} /* end of [if] */
if (tmp119) {
/* tmp120 = */ auxerr_if_11 (tmp114) ;
arg0 = tmp117 ;
arg1 = tmp115 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer2 ; // tail call
} else {
tmp121 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3at_tyer (tmp114) ;
tmp122 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer2 (tmp117, tmp115) ;
tmp113 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp113, atslab_0, tmp121) ;
ats_selptrset_mac(anairiats_sum_1, tmp113, atslab_1, tmp122) ;
} /* end of [if] */
break ;
} while (0) ;
return (tmp113) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer2] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 8440(line=448, offs=3) -- 8618(line=458, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer (ats_int_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp123) ;
ATSlocal (ats_bool_type, tmp124) ;
ATSlocal (ats_ptr_type, tmp125) ;
ATSlocal (ats_int_type, tmp126) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer:
tmp124 = atspre_gt_int_int (arg0, 0) ;
if (tmp124) {
if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 8496(line=452, offs=5) -- 8522(line=452, offs=31)") ; }
tmp125 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ;
tmp126 = atspre_sub_int_int (arg0, 1) ;
arg0 = tmp126 ;
arg1 = tmp125 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer ; // tail call
} else {
tmp123 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer (arg1) ;
} /* end of [if] */
return (tmp123) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 8731(line=466, offs=5) -- 9377(line=498, offs=4)
*/
ATSstaticdec()
ats_ptr_type
auxlst_19 (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp128) ;
ATSlocal (ats_bool_type, tmp129) ;
ATSlocal (ats_ptr_type, tmp130) ;
ATSlocal (ats_int_type, tmp131) ;
ATSlocal (ats_int_type, tmp132) ;
ATSlocal (ats_ptr_type, tmp133) ;
ATSlocal (ats_ptr_type, tmp134) ;
ATSlocal (ats_bool_type, tmp135) ;
ATSlocal (ats_int_type, tmp136) ;
ATSlocal (ats_ptr_type, tmp137) ;
ATSlocal (ats_ptr_type, tmp138) ;
ATSlocal (ats_ptr_type, tmp139) ;
ATSlocal (ats_ptr_type, tmp140) ;
ATSlocal (ats_int_type, tmp141) ;

__ats_lab_auxlst_19:
tmp129 = atspre_gt_int_int (arg0, 0) ;
if (tmp129) {
if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 8828(line=472, offs=7) -- 8854(line=472, offs=33)") ; }
tmp130 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ;
tmp131 = atspre_sub_int_int (arg0, 1) ;
tmp132 = atspre_add_int_int (arg2, 1) ;
arg0 = tmp131 ;
arg1 = tmp130 ;
arg2 = tmp132 ;
goto __ats_lab_auxlst_19 ; // tail call
} else {
do {
/* branch: __ats_lab_27 */
__ats_lab_27_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_28_0 ; }
__ats_lab_27_1:
tmp133 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ;
tmp134 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ;
tmp135 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_prf (tmp133) ;
if (tmp135) {
tmp136 = atspre_add_int_int (arg2, 1) ;
arg0 = arg0 ;
arg1 = tmp134 ;
arg2 = tmp136 ;
goto __ats_lab_auxlst_19 ; // tail call
} else {
tmp137 = _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_int (arg2) ;
tmp138 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3at_tyer (tmp133) ;
tmp139 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp139, atslab_0, tmp137) ;
ats_selptrset_mac(anairiats_sum_1, tmp139, atslab_1, tmp138) ;
tmp141 = atspre_add_int_int (arg2, 1) ;
tmp140 = auxlst_19 (arg0, tmp134, tmp141) ;
tmp128 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp128, atslab_0, tmp139) ;
ats_selptrset_mac(anairiats_sum_1, tmp128, atslab_1, tmp140) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_28 */
__ats_lab_28_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_28_1:
tmp128 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
} /* end of [if] */
return (tmp128) ;
} /* end of [auxlst_19] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 8706(line=464, offs=3) -- 9430(line=502, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer_labize (ats_int_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp127) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer_labize:
tmp127 = auxlst_19 (arg0, arg1, 0) ;
return (tmp127) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer_labize] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 9580(line=512, offs=17) -- 9987(line=534, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labp3atlst_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp142) ;
ATSlocal (ats_ptr_type, tmp143) ;
ATSlocal (ats_ptr_type, tmp144) ;
ATSlocal (ats_ptr_type, tmp145) ;
ATSlocal (ats_ptr_type, tmp146) ;
ATSlocal (ats_bool_type, tmp147) ;
ATSlocal (ats_ptr_type, tmp148) ;
ATSlocal (ats_ptr_type, tmp149) ;
ATSlocal (ats_ptr_type, tmp150) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labp3atlst_tyer:
do {
/* branch: __ats_lab_29 */
__ats_lab_29_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_30_0 ; }
__ats_lab_29_1:
tmp143 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ;
tmp144 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ;
// 
tmp145 = ats_caselptrlab_mac(anairiats_sum_1, tmp143, atslab_0) ;
tmp146 = ats_caselptrlab_mac(anairiats_sum_1, tmp143, atslab_1) ;
tmp147 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__p3at_is_prf (tmp146) ;
if (tmp147) {
arg0 = tmp144 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labp3atlst_tyer ; // tail call
} else {
tmp148 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3at_tyer (tmp146) ;
tmp149 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp149, atslab_0, tmp145) ;
ats_selptrset_mac(anairiats_sum_1, tmp149, atslab_1, tmp148) ;
tmp150 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labp3atlst_tyer (tmp144) ;
tmp142 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp142, atslab_0, tmp149) ;
ats_selptrset_mac(anairiats_sum_1, tmp142, atslab_1, tmp150) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_30 */
__ats_lab_30_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_30_1:
tmp142 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp142) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labp3atlst_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 10070(line=540, offs=3) -- 10264(line=556, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labp3atlst_npf_tyer (ats_int_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp151) ;
ATSlocal (ats_bool_type, tmp152) ;
ATSlocal (ats_ptr_type, tmp153) ;
ATSlocal (ats_int_type, tmp154) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labp3atlst_npf_tyer:
tmp152 = atspre_gt_int_int (arg0, 0) ;
if (tmp152) {
if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 10122(line=547, offs=5) -- 10150(line=547, offs=33)") ; }
tmp153 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ;
tmp154 = atspre_sub_int_int (arg0, 1) ;
arg0 = tmp154 ;
arg1 = tmp153 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labp3atlst_npf_tyer ; // tail call
} else {
tmp151 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labp3atlst_tyer (arg1) ;
} /* end of [if] */
return (tmp151) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labp3atlst_npf_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 10343(line=562, offs=1) -- 10805(line=587, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3at_tyer_con (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ptr_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp155) ;
ATSlocal (ats_ptr_type, tmp156) ;
ATSlocal (ats_bool_type, tmp157) ;
ATSlocal (ats_ptr_type, tmp158) ;
ATSlocal (ats_ptr_type, tmp159) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3at_tyer_con:
tmp156 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer_labize (arg4, arg5) ;
tmp157 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhipatlst_is_unused (tmp156) ;
do {
/* branch: __ats_lab_31 */
__ats_lab_31_0:
__ats_lab_31_1:
if (!tmp157) { goto __ats_lab_32_1 ; }
tmp155 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con_any (arg0, arg1, arg2, arg3) ;
break ;

/* branch: __ats_lab_32 */
__ats_lab_32_0:
__ats_lab_32_1:
tmp158 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhipatlst_get_type (tmp156) ;
tmp159 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_tysum (arg3, tmp158) ;
tmp155 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hipat_con (arg0, arg1, arg2, arg3, tmp159, tmp156) ;
break ;
} while (0) ;
return (tmp155) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3at_tyer_con] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 11843(line=647, offs=1) -- 11984(line=655, offs=4)
*/
ATSstaticdec()
ats_ptr_type
d3exp_tyer_type_23 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp160) ;
ATSlocal (ats_ptr_type, tmp161) ;
ATSlocal (ats_ptr_type, tmp162) ;

__ats_lab_d3exp_tyer_type_23:
tmp161 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_d3exp_loc) ;
tmp162 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type (arg0) ;
tmp160 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp161, tmp162) ;
return (tmp160) ;
} /* end of [d3exp_tyer_type_23] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 15390(line=809, offs=5) -- 16269(line=840, offs=6)
*/
ATSstaticdec()
ats_ptr_type
auxlst_25 (ats_ptr_type env0, ats_ptr_type env1, ats_int_type env2, ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp228) ;
ATSlocal (ats_bool_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 (ats_ptr_type, tmp237) ;
ATSlocal (ats_ptr_type, tmp238) ;
ATSlocal (ats_ptr_type, tmp239) ;
ATSlocal (ats_ptr_type, tmp240) ;
ATSlocal (ats_ptr_type, tmp241) ;
ATSlocal (ats_ptr_type, tmp242) ;

__ats_lab_auxlst_25:
do {
/* branch: __ats_lab_61 */
__ats_lab_61_0:
if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_62_0 ; }
__ats_lab_61_1:
tmp229 = atspre_gt_int_int (env2, 0) ;
if (tmp229) {
tmp230 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_i3fcl_body) ;
tmp228 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp230) ;
} else {
tmp232 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_i3fcl_test) ;
tmp231 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp232) ;
tmp234 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_i3fcl_body) ;
tmp233 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp234) ;
tmp235 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty (env0, env1) ;
tmp228 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_if (env0, env1, tmp231, tmp233, tmp235) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_62 */
__ats_lab_62_0:
// if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_62_1:
tmp236 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ;
tmp237 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ;
tmp239 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_i3fcl_test) ;
tmp238 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp239) ;
tmp241 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_19, arg0), atslab_i3fcl_body) ;
tmp240 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp241) ;
tmp242 = auxlst_25 (env0, env1, env2, tmp236, tmp237) ;
tmp228 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_if (env0, env1, tmp238, tmp240, tmp242) ;
break ;
} while (0) ;
return (tmp228) ;
} /* end of [auxlst_25] */

typedef struct {
ats_fun_ptr_type closure_fun ;
ats_ptr_type closure_env_0 ;
ats_ptr_type closure_env_1 ;
ats_int_type closure_env_2 ;
} auxlst_25_closure_type ;

ats_ptr_type
auxlst_25_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_ptr_type arg1) {
return auxlst_25 (((auxlst_25_closure_type*)cloptr)->closure_env_0, ((auxlst_25_closure_type*)cloptr)->closure_env_1, ((auxlst_25_closure_type*)cloptr)->closure_env_2, arg0, arg1) ;
} /* end of function */

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

ats_clo_ptr_type
auxlst_25_closure_make (ats_ptr_type env0, ats_ptr_type env1, ats_int_type env2) {
auxlst_25_closure_type *p_clo = ATS_MALLOC(sizeof(auxlst_25_closure_type)) ;
auxlst_25_closure_init (p_clo, env0, env1, env2) ;
return (ats_clo_ptr_type)p_clo ;
} /* end of function */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list.dats: 2457(line=87, offs=7) -- 2708(line=97, offs=6)
*/
ATSstaticdec()
ats_void_type
loop_28 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp383) ;
ATSlocal (ats_ptr_type, tmp384) ;
ATSlocal (ats_ptr_type, tmp385) ;
// ATSlocal_void (tmp386) ;

__ats_lab_loop_28:
do {
/* branch: __ats_lab_95 */
__ats_lab_95_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_96_0 ; }
__ats_lab_95_1:
tmp384 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ;
tmp385 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ;
/* tmp386 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))arg1) (tmp384, arg2) ;
arg0 = tmp385 ;
arg1 = arg1 ;
arg2 = arg2 ;
goto __ats_lab_loop_28 ; // tail call
break ;

/* branch: __ats_lab_96 */
__ats_lab_96_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_96_1:
break ;
} while (0) ;
return /* (tmp383) */ ;
} /* end of [loop_28] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list.dats: 2381(line=85, offs=20) -- 2757(line=100, offs=4)
*/
ATSstaticdec()
ats_void_type
list_app_funenv_01300_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp382) ;

__ats_lab_list_app_funenv_01300_ats_ptr_type:
/* tmp382 = */ loop_28 (arg0, arg1, arg2) ;
return /* (tmp382) */ ;
} /* end of [list_app_funenv_01300_ats_ptr_type] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/list.dats: 2821(line=103, offs=22) -- 3078(line=112, offs=4)
*/
ATSstaticdec()
ats_void_type
list_app_fun_01301_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp381) ;

__ats_lab_list_app_fun_01301_ats_ptr_type:
/* tmp381 = */ list_app_funenv_01300_ats_ptr_type (arg0, ats_castfn_mac(ats_ptr_type, arg1), atspre_null_ptr) ;
return /* (tmp381) */ ;
} /* end of [list_app_fun_01301_ats_ptr_type] */

/*
// /tmp/ATS-Postiats/src/pats_errmsg.dats: 3122(line=128, offs=20) -- 3183(line=131, offs=2)
*/
ATSstaticdec()
ats_void_type
prerr_warning4_loc_02095_ (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp406) ;
// ATSlocal_void (tmp407) ;

__ats_lab_prerr_warning4_loc_02095_:
/* tmp407 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location (arg0) ;
/* tmp406 = */ atspre_prerr_string (ATSstrcst(": warning(4)")) ;
return /* (tmp406) */ ;
} /* end of [prerr_warning4_loc_02095_] */

/*
// /tmp/ATS-Postiats/src/pats_errmsg.dats: 1766(line=59, offs=19) -- 1906(line=65, offs=2)
*/
ATSstaticdec()
ats_void_type
prerr_interror_loc_02085_ (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp438) ;
// ATSlocal_void (tmp439) ;
// ATSlocal_void (tmp440) ;
// ATSlocal_void (tmp441) ;

__ats_lab_prerr_interror_loc_02085_:
/* tmp439 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location (arg0) ;
/* tmp440 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ;
/* tmp441 = */ prerr_FILENAME_02083_ () ;
/* tmp438 = */ atspre_prerr_string (ATSstrcst(")")) ;
return /* (tmp438) */ ;
} /* end of [prerr_interror_loc_02085_] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 12060(line=661, offs=3) -- 26049(line=1239, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp163) ;
ATSlocal (ats_ptr_type, tmp164) ;
ATSlocal (ats_ptr_type, tmp165) ;
ATSlocal (ats_ptr_type, tmp166) ;
ATSlocal (ats_ptr_type, tmp167) ;
ATSlocal (ats_ptr_type, tmp168) ;
// ATSlocal_void (tmp169) ;
ATSlocal (ats_ptr_type, tmp170) ;
ATSlocal (ats_int_type, tmp171) ;
ATSlocal (ats_ptr_type, tmp172) ;
ATSlocal (ats_bool_type, tmp173) ;
ATSlocal (ats_char_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 (ats_ptr_type, tmp186) ;
ATSlocal (ats_ptr_type, tmp187) ;
ATSlocal (ats_ptr_type, tmp188) ;
ATSlocal (ats_ptr_type, tmp189) ;
ATSlocal (ats_ptr_type, tmp190) ;
ATSlocal (ats_ptr_type, tmp191) ;
ATSlocal (ats_int_type, tmp192) ;
ATSlocal (ats_ptr_type, tmp193) ;
ATSlocal (ats_ptr_type, tmp194) ;
ATSlocal (ats_ptr_type, tmp195) ;
ATSlocal (ats_ptr_type, tmp196) ;
ATSlocal (ats_ptr_type, tmp197) ;
ATSlocal (ats_ptr_type, tmp198) ;
ATSlocal (ats_ptr_type, tmp199) ;
ATSlocal (ats_ptr_type, tmp200) ;
ATSlocal (ats_ptr_type, tmp201) ;
ATSlocal (ats_ptr_type, tmp202) ;
ATSlocal (ats_ptr_type, tmp203) ;
ATSlocal (ats_ptr_type, tmp204) ;
ATSlocal (ats_ptr_type, tmp205) ;
ATSlocal (ats_ptr_type, tmp206) ;
ATSlocal (ats_ptr_type, tmp207) ;
ATSlocal (ats_int_type, tmp208) ;
ATSlocal (ats_ptr_type, tmp209) ;
ATSlocal (ats_ptr_type, tmp210) ;
ATSlocal (ats_ptr_type, 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) ;
ATSlocal (ats_ptr_type, tmp218) ;
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_int_type, tmp226) ;
ATSlocal (ats_ptr_type, tmp227) ;
ATSlocal (ats_ptr_type, tmp243) ;
ATSlocal (ats_ptr_type, tmp244) ;
ATSlocal (ats_ptr_type, tmp245) ;
ATSlocal (ats_ptr_type, tmp246) ;
ATSlocal (ats_ptr_type, tmp247) ;
ATSlocal (ats_ptr_type, tmp248) ;
ATSlocal (ats_ptr_type, tmp249) ;
ATSlocal (ats_int_type, tmp250) ;
ATSlocal (ats_ptr_type, tmp251) ;
ATSlocal (ats_ptr_type, tmp252) ;
ATSlocal (ats_ptr_type, tmp253) ;
ATSlocal (ats_ptr_type, tmp254) ;
ATSlocal (ats_int_type, tmp255) ;
ATSlocal (ats_int_type, tmp256) ;
ATSlocal (ats_ptr_type, tmp257) ;
ATSlocal (ats_ptr_type, tmp258) ;
ATSlocal (ats_ptr_type, tmp259) ;
ATSlocal (ats_int_type, tmp260) ;
ATSlocal (ats_int_type, tmp261) ;
ATSlocal (ats_ptr_type, tmp262) ;
ATSlocal (ats_ptr_type, tmp263) ;
ATSlocal (ats_ptr_type, tmp264) ;
ATSlocal (ats_ptr_type, tmp265) ;
ATSlocal (ats_ptr_type, tmp266) ;
ATSlocal (ats_ptr_type, tmp267) ;
ATSlocal (ats_ptr_type, tmp268) ;
ATSlocal (ats_ptr_type, tmp269) ;
ATSlocal (ats_ptr_type, tmp270) ;
ATSlocal (ats_ptr_type, tmp271) ;
ATSlocal (ats_ptr_type, tmp272) ;
// ATSlocal_void (tmp273) ;
ATSlocal (ats_ptr_type, tmp274) ;
ATSlocal (ats_ptr_type, tmp275) ;
ATSlocal (ats_ptr_type, tmp276) ;
ATSlocal (ats_ptr_type, tmp277) ;
ATSlocal (ats_ptr_type, tmp278) ;
ATSlocal (ats_ptr_type, tmp279) ;
ATSlocal (ats_int_type, tmp280) ;
ATSlocal (ats_int_type, tmp281) ;
ATSlocal (ats_ptr_type, tmp282) ;
ATSlocal (ats_ptr_type, tmp283) ;
ATSlocal (ats_ptr_type, tmp284) ;
ATSlocal (ats_ptr_type, tmp285) ;
ATSlocal (ats_ptr_type, tmp286) ;
// ATSlocal_void (tmp287) ;
ATSlocal (ats_ptr_type, tmp288) ;
ATSlocal (ats_ptr_type, tmp289) ;
ATSlocal (ats_ptr_type, tmp290) ;
ATSlocal (ats_ptr_type, tmp291) ;
ATSlocal (ats_ptr_type, tmp292) ;
ATSlocal (ats_ptr_type, tmp293) ;
ATSlocal (ats_ptr_type, tmp294) ;
ATSlocal (ats_ptr_type, tmp295) ;
ATSlocal (ats_ptr_type, tmp296) ;
ATSlocal (ats_ptr_type, tmp297) ;
ATSlocal (ats_ptr_type, tmp298) ;
ATSlocal (ats_ptr_type, tmp299) ;
ATSlocal (ats_ptr_type, tmp300) ;
ATSlocal (ats_ptr_type, tmp301) ;
ATSlocal (ats_ptr_type, tmp302) ;
ATSlocal (ats_bool_type, tmp303) ;
ATSlocal (ats_ptr_type, tmp304) ;
ATSlocal (ats_ptr_type, tmp305) ;
ATSlocal (ats_ptr_type, tmp306) ;
ATSlocal (ats_ptr_type, tmp307) ;
// ATSlocal_void (tmp308) ;
ATSlocal (ats_ptr_type, tmp309) ;
ATSlocal (ats_ptr_type, tmp310) ;
ATSlocal (ats_ptr_type, tmp311) ;
ATSlocal (ats_ptr_type, tmp312) ;
ATSlocal (ats_bool_type, tmp313) ;
ATSlocal (ats_ptr_type, tmp314) ;
ATSlocal (ats_ptr_type, tmp315) ;
ATSlocal (ats_ptr_type, tmp316) ;
ATSlocal (ats_ptr_type, tmp317) ;
ATSlocal (ats_ptr_type, tmp318) ;
ATSlocal (ats_ptr_type, tmp319) ;
ATSlocal (ats_ptr_type, tmp320) ;
ATSlocal (ats_ptr_type, tmp321) ;
ATSlocal (ats_ptr_type, tmp322) ;
ATSlocal (ats_ptr_type, tmp323) ;
ATSlocal (ats_ptr_type, tmp324) ;
ATSlocal (ats_ptr_type, tmp325) ;
ATSlocal (ats_ptr_type, tmp326) ;
ATSlocal (ats_ptr_type, tmp327) ;
ATSlocal (ats_ptr_type, tmp328) ;
ATSlocal (ats_ptr_type, tmp329) ;
ATSlocal (ats_ptr_type, tmp330) ;
ATSlocal (ats_ptr_type, tmp331) ;
ATSlocal (ats_ptr_type, tmp332) ;
ATSlocal (ats_ptr_type, tmp333) ;
// ATSlocal_void (tmp334) ;
ATSlocal (ats_ptr_type, tmp335) ;
ATSlocal (ats_ptr_type, tmp336) ;
ATSlocal (ats_ptr_type, tmp337) ;
ATSlocal (ats_ptr_type, tmp338) ;
ATSlocal (ats_ptr_type, tmp339) ;
ATSlocal (ats_ptr_type, tmp340) ;
ATSlocal (ats_ptr_type, tmp341) ;
ATSlocal (ats_ptr_type, tmp342) ;
ATSlocal (ats_ptr_type, tmp343) ;
ATSlocal (ats_ptr_type, tmp344) ;
ATSlocal (ats_ptr_type, tmp345) ;
ATSlocal (ats_ptr_type, tmp346) ;
ATSlocal (ats_ptr_type, tmp347) ;
ATSlocal (ats_ptr_type, tmp348) ;
ATSlocal (ats_ptr_type, tmp349) ;
ATSlocal (ats_ptr_type, tmp350) ;
ATSlocal (ats_ptr_type, tmp351) ;
ATSlocal (ats_ptr_type, tmp352) ;
ATSlocal (ats_ptr_type, tmp353) ;
ATSlocal (ats_ptr_type, tmp354) ;
ATSlocal (ats_ptr_type, tmp355) ;
ATSlocal (ats_int_type, tmp356) ;
ATSlocal (ats_ptr_type, tmp357) ;
ATSlocal (ats_ptr_type, tmp358) ;
ATSlocal (ats_ptr_type, tmp359) ;
ATSlocal (ats_ptr_type, tmp360) ;
ATSlocal (ats_ptr_type, tmp361) ;
ATSlocal (ats_ptr_type, tmp362) ;
ATSlocal (ats_ptr_type, tmp363) ;
ATSlocal (ats_ptr_type, tmp364) ;
ATSlocal (ats_ptr_type, tmp365) ;
ATSlocal (ats_ptr_type, tmp366) ;
ATSlocal (ats_ptr_type, tmp367) ;
ATSlocal (ats_ptr_type, tmp368) ;
ATSlocal (ats_int_type, tmp369) ;
ATSlocal (ats_int_type, tmp370) ;
ATSlocal (ats_ptr_type, tmp371) ;
ATSlocal (ats_ptr_type, tmp372) ;
ATSlocal (ats_ptr_type, tmp373) ;
ATSlocal (ats_ptr_type, tmp374) ;
ATSlocal (ats_ptr_type, tmp375) ;
ATSlocal (ats_ptr_type, tmp376) ;
ATSlocal (ats_ptr_type, tmp377) ;
// ATSlocal_void (tmp378) ;
ATSlocal (ats_ptr_type, tmp379) ;
// ATSlocal_void (tmp380) ;
ATSlocal (ats_ptr_type, tmp387) ;
ATSlocal (ats_int_type, tmp388) ;
ATSlocal (ats_ptr_type, tmp389) ;
ATSlocal (ats_ptr_type, tmp390) ;
ATSlocal (ats_ptr_type, tmp391) ;
ATSlocal (ats_ptr_type, tmp392) ;
ATSlocal (ats_ptr_type, tmp393) ;
ATSlocal (ats_int_type, tmp394) ;
ATSlocal (ats_ptr_type, tmp395) ;
ATSlocal (ats_ptr_type, tmp396) ;
ATSlocal (ats_ptr_type, tmp397) ;
ATSlocal (ats_ptr_type, tmp398) ;
ATSlocal (ats_ptr_type, tmp399) ;
ATSlocal (ats_ptr_type, tmp400) ;
ATSlocal (ats_ptr_type, tmp401) ;
ATSlocal (ats_bool_type, tmp402) ;
// ATSlocal_void (tmp403) ;
ATSlocal (ats_bool_type, tmp404) ;
// ATSlocal_void (tmp405) ;
// ATSlocal_void (tmp408) ;
ATSlocal (ats_ptr_type, tmp409) ;
ATSlocal (ats_int_type, tmp410) ;
ATSlocal (ats_ptr_type, tmp411) ;
ATSlocal (ats_ptr_type, tmp412) ;
ATSlocal (ats_ptr_type, tmp413) ;
ATSlocal (ats_ptr_type, tmp414) ;
ATSlocal (ats_ptr_type, tmp415) ;
ATSlocal (ats_ptr_type, tmp416) ;
ATSlocal (ats_ptr_type, tmp417) ;
ATSlocal (ats_ptr_type, tmp418) ;
ATSlocal (ats_ptr_type, tmp419) ;
ATSlocal (ats_int_type, tmp420) ;
ATSlocal (ats_ptr_type, tmp421) ;
ATSlocal (ats_ptr_type, tmp422) ;
ATSlocal (ats_ptr_type, tmp423) ;
ATSlocal (ats_ptr_type, tmp424) ;
ATSlocal (ats_ptr_type, tmp425) ;
ATSlocal (ats_ptr_type, tmp426) ;
ATSlocal (ats_ptr_type, tmp427) ;
ATSlocal (ats_ptr_type, tmp428) ;
ATSlocal (ats_ptr_type, tmp429) ;
ATSlocal (ats_ptr_type, tmp430) ;
ATSlocal (ats_int_type, tmp431) ;
ATSlocal (ats_ptr_type, tmp432) ;
ATSlocal (ats_ptr_type, tmp433) ;
ATSlocal (ats_ptr_type, tmp434) ;
ATSlocal (ats_ptr_type, tmp435) ;
ATSlocal (ats_ptr_type, tmp436) ;
// ATSlocal_void (tmp437) ;
// ATSlocal_void (tmp442) ;
// ATSlocal_void (tmp443) ;
// ATSlocal_void (tmp444) ;
ATSlocal (ats_ptr_type, tmp445) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer:
tmp164 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_d3exp_loc) ;
tmp165 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type (arg0) ;
tmp166 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp164, tmp165) ;
tmp167 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_15, arg0), atslab_d3exp_node) ;
do {
/* branch: __ats_lab_33 */
__ats_lab_33_0:
if (((ats_sum_ptr_type)tmp167)->tag != 1) { goto __ats_lab_34_0 ; }
__ats_lab_33_1:
tmp168 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
/* tmp169 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_inc_utimes (tmp168) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_var (tmp164, tmp166, tmp168) ;
break ;

/* branch: __ats_lab_34 */
__ats_lab_34_0:
if (((ats_sum_ptr_type)tmp167)->tag != 0) { goto __ats_lab_35_0 ; }
__ats_lab_34_1:
tmp170 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_cst (tmp164, tmp166, tmp170) ;
break ;

/* branch: __ats_lab_35 */
__ats_lab_35_0:
if (((ats_sum_ptr_type)tmp167)->tag != 2) { goto __ats_lab_36_0 ; }
__ats_lab_35_1:
tmp171 = ats_caselptrlab_mac(anairiats_sum_9, tmp167, atslab_0) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_int (tmp164, tmp166, tmp171) ;
break ;

/* branch: __ats_lab_36 */
__ats_lab_36_0:
if (((ats_sum_ptr_type)tmp167)->tag != 3) { goto __ats_lab_37_0 ; }
__ats_lab_36_1:
tmp172 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_intrep (tmp164, tmp166, tmp172) ;
break ;

/* branch: __ats_lab_37 */
__ats_lab_37_0:
if (((ats_sum_ptr_type)tmp167)->tag != 4) { goto __ats_lab_38_0 ; }
__ats_lab_37_1:
tmp173 = ats_caselptrlab_mac(anairiats_sum_10, tmp167, atslab_0) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_bool (tmp164, tmp166, tmp173) ;
break ;

/* branch: __ats_lab_38 */
__ats_lab_38_0:
if (((ats_sum_ptr_type)tmp167)->tag != 5) { goto __ats_lab_39_0 ; }
__ats_lab_38_1:
tmp174 = ats_caselptrlab_mac(anairiats_sum_11, tmp167, atslab_0) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_char (tmp164, tmp166, tmp174) ;
break ;

/* branch: __ats_lab_39 */
__ats_lab_39_0:
if (((ats_sum_ptr_type)tmp167)->tag != 7) { goto __ats_lab_40_0 ; }
__ats_lab_39_1:
tmp175 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_string (tmp164, tmp166, tmp175) ;
break ;

/* branch: __ats_lab_40 */
__ats_lab_40_0:
if (((ats_sum_ptr_type)tmp167)->tag != 8) { goto __ats_lab_41_0 ; }
__ats_lab_40_1:
tmp176 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_i0nt (tmp164, tmp166, tmp176) ;
break ;

/* branch: __ats_lab_41 */
__ats_lab_41_0:
if (((ats_sum_ptr_type)tmp167)->tag != 9) { goto __ats_lab_42_0 ; }
__ats_lab_41_1:
tmp177 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_f0loat (tmp164, tmp166, tmp177) ;
break ;

/* branch: __ats_lab_42 */
__ats_lab_42_0:
if (((ats_sum_ptr_type)tmp167)->tag != 6) { goto __ats_lab_43_0 ; }
__ats_lab_42_1:
tmp178 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_float (tmp164, tmp166, tmp178) ;
break ;

/* branch: __ats_lab_43 */
__ats_lab_43_0:
if (((ats_sum_ptr_type)tmp167)->tag != 10) { goto __ats_lab_44_0 ; }
__ats_lab_43_1:
tmp179 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_cstsp (tmp164, tmp166, tmp179) ;
break ;

/* branch: __ats_lab_44 */
__ats_lab_44_0:
if (((ats_sum_ptr_type)tmp167)->tag != 11) { goto __ats_lab_45_0 ; }
__ats_lab_44_1:
tmp180 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
tmp181 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp164, tmp180) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tyrep (tmp164, tmp166, tmp181) ;
break ;

/* branch: __ats_lab_45 */
__ats_lab_45_0:
if (((ats_sum_ptr_type)tmp167)->tag != 13) { goto __ats_lab_46_0 ; }
__ats_lab_45_1:
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_top (tmp164, tmp166) ;
break ;

/* branch: __ats_lab_46 */
__ats_lab_46_0:
if (((ats_sum_ptr_type)tmp167)->tag != 14) { goto __ats_lab_47_0 ; }
__ats_lab_46_1:
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty (tmp164, tmp166) ;
break ;

/* branch: __ats_lab_47 */
__ats_lab_47_0:
if (((ats_sum_ptr_type)tmp167)->tag != 15) { goto __ats_lab_48_0 ; }
__ats_lab_47_1:
tmp182 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extval (tmp164, tmp166, tmp182) ;
break ;

/* branch: __ats_lab_48 */
__ats_lab_48_0:
if (((ats_sum_ptr_type)tmp167)->tag != 16) { goto __ats_lab_49_0 ; }
__ats_lab_48_1:
tmp183 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_0) ;
tmp184 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_1) ;
tmp185 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3explst_tyer (tmp184) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extfcall (tmp164, tmp166, tmp183, tmp185) ;
break ;

/* branch: __ats_lab_49 */
__ats_lab_49_0:
if (((ats_sum_ptr_type)tmp167)->tag != 17) { goto __ats_lab_50_0 ; }
__ats_lab_49_1:
tmp186 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_0) ;
tmp187 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_1) ;
tmp188 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_2) ;
tmp189 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp186) ;
tmp190 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3explst_tyer (tmp188) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_extmcall (tmp164, tmp166, tmp189, tmp187, tmp190) ;
break ;

/* branch: __ats_lab_50 */
__ats_lab_50_0:
if (((ats_sum_ptr_type)tmp167)->tag != 18) { goto __ats_lab_51_0 ; }
__ats_lab_50_1:
tmp191 = ats_caselptrlab_mac(anairiats_sum_17, tmp167, atslab_0) ;
tmp192 = ats_caselptrlab_mac(anairiats_sum_17, tmp167, atslab_1) ;
tmp193 = ats_caselptrlab_mac(anairiats_sum_17, tmp167, atslab_2) ;
tmp194 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer_labize (tmp192, tmp193) ;
tmp195 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__labhidexplst_get_type (tmp194) ;
tmp196 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_tysum (tmp191, tmp195) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_con (tmp164, tmp166, tmp191, tmp196, tmp194) ;
break ;

/* branch: __ats_lab_51 */
__ats_lab_51_0:
if (((ats_sum_ptr_type)tmp167)->tag != 19) { goto __ats_lab_52_0 ; }
__ats_lab_51_1:
tmp197 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_0) ;
tmp198 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_1) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpcst (tmp164, tmp166, tmp197, tmp198) ;
break ;

/* branch: __ats_lab_52 */
__ats_lab_52_0:
if (((ats_sum_ptr_type)tmp167)->tag != 20) { goto __ats_lab_53_0 ; }
__ats_lab_52_1:
tmp199 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_0) ;
tmp200 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_1) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpvar (tmp164, tmp166, tmp199, tmp200) ;
break ;

/* branch: __ats_lab_53 */
__ats_lab_53_0:
if (((ats_sum_ptr_type)tmp167)->tag != 21) { goto __ats_lab_54_0 ; }
__ats_lab_53_1:
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_foldat (tmp164, tmp166) ;
break ;

/* branch: __ats_lab_54 */
__ats_lab_54_0:
if (((ats_sum_ptr_type)tmp167)->tag != 22) { goto __ats_lab_55_0 ; }
__ats_lab_54_1:
tmp201 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
tmp202 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp201) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_freeat (tmp164, tmp166, tmp202) ;
break ;

/* branch: __ats_lab_55 */
__ats_lab_55_0:
if (((ats_sum_ptr_type)tmp167)->tag != 24) { goto __ats_lab_56_0 ; }
__ats_lab_55_1:
tmp203 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_0) ;
tmp204 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_1) ;
tmp205 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3eclist_tyer (tmp203) ;
tmp206 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp204) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_let_simplify (tmp164, tmp166, tmp205, tmp206) ;
break ;

/* branch: __ats_lab_56 */
__ats_lab_56_0:
if (((ats_sum_ptr_type)tmp167)->tag != 26) { goto __ats_lab_57_0 ; }
__ats_lab_56_1:
tmp207 = ats_caselptrlab_mac(anairiats_sum_17, tmp167, atslab_0) ;
tmp208 = ats_caselptrlab_mac(anairiats_sum_17, tmp167, atslab_1) ;
tmp209 = ats_caselptrlab_mac(anairiats_sum_17, tmp167, atslab_2) ;
tmp210 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp207) ;
tmp211 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp164, tmp210) ;
tmp212 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp207) ;
tmp213 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer (tmp208, tmp209) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_app2 (tmp164, tmp166, tmp211, tmp212, tmp213) ;
break ;

/* branch: __ats_lab_57 */
__ats_lab_57_0:
if (((ats_sum_ptr_type)tmp167)->tag != 25) { goto __ats_lab_58_0 ; }
__ats_lab_57_1:
tmp214 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
arg0 = tmp214 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer ; // tail call
break ;

/* branch: __ats_lab_58 */
__ats_lab_58_0:
if (((ats_sum_ptr_type)tmp167)->tag != 27) { goto __ats_lab_59_0 ; }
__ats_lab_58_1:
tmp215 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_0) ;
tmp216 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_1) ;
tmp217 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_2) ;
tmp218 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp215) ;
tmp219 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp216) ;
tmp220 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp217) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_if (tmp164, tmp166, tmp218, tmp219, tmp220) ;
break ;

/* branch: __ats_lab_59 */
__ats_lab_59_0:
if (((ats_sum_ptr_type)tmp167)->tag != 28) { goto __ats_lab_60_0 ; }
__ats_lab_59_1:
tmp221 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_0) ;
tmp222 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_1) ;
tmp223 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_2) ;
tmp224 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp222) ;
tmp225 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp223) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_sif (tmp164, tmp166, tmp221, tmp224, tmp225) ;
break ;

/* branch: __ats_lab_60 */
__ats_lab_60_0:
if (((ats_sum_ptr_type)tmp167)->tag != 31) { goto __ats_lab_65_0 ; }
__ats_lab_60_1:
tmp226 = ats_caselptrlab_mac(anairiats_sum_18, tmp167, atslab_0) ;
tmp227 = ats_caselptrlab_mac(anairiats_sum_18, tmp167, atslab_1) ;
do {
/* branch: __ats_lab_63 */
__ats_lab_63_0:
if (tmp227 != (ats_sum_ptr_type)0) { goto __ats_lab_64_0 ; }
__ats_lab_63_1:
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty (tmp164, tmp166) ;
break ;

/* branch: __ats_lab_64 */
__ats_lab_64_0:
// if (tmp227 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_64_1:
tmp243 = ats_caselptrlab_mac(anairiats_sum_1, tmp227, atslab_0) ;
tmp244 = ats_caselptrlab_mac(anairiats_sum_1, tmp227, atslab_1) ;
tmp163 = auxlst_25 (tmp164, tmp166, tmp226, tmp243, tmp244) ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_65 */
__ats_lab_65_0:
if (((ats_sum_ptr_type)tmp167)->tag != 29) { goto __ats_lab_66_0 ; }
__ats_lab_65_1:
tmp245 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_0) ;
tmp246 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_1) ;
tmp247 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_2) ;
tmp248 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3explst_tyer (tmp246) ;
tmp249 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer2 (tmp246, tmp247) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_case (tmp164, tmp166, tmp245, tmp248, tmp249) ;
break ;

/* branch: __ats_lab_66 */
__ats_lab_66_0:
if (((ats_sum_ptr_type)tmp167)->tag != 32) { goto __ats_lab_67_0 ; }
__ats_lab_66_1:
tmp250 = ats_caselptrlab_mac(anairiats_sum_12, tmp167, atslab_0) ;
tmp251 = ats_caselptrlab_mac(anairiats_sum_12, tmp167, atslab_1) ;
tmp252 = ats_caselptrlab_mac(anairiats_sum_12, tmp167, atslab_2) ;
tmp253 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp164, tmp251) ;
tmp254 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp252, &_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lst (tmp164, tmp166, tmp250, tmp253, ats_castfn_mac(ats_ptr_type, tmp254)) ;
break ;

/* branch: __ats_lab_67 */
__ats_lab_67_0:
if (((ats_sum_ptr_type)tmp167)->tag != 33) { goto __ats_lab_68_0 ; }
__ats_lab_67_1:
tmp255 = ats_caselptrlab_mac(anairiats_sum_20, tmp167, atslab_0) ;
tmp256 = ats_caselptrlab_mac(anairiats_sum_20, tmp167, atslab_1) ;
tmp257 = ats_caselptrlab_mac(anairiats_sum_20, tmp167, atslab_2) ;
tmp258 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp164, tmp165) ;
tmp259 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer_labize (tmp256, tmp257) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec2 (tmp164, tmp166, tmp255, tmp259, tmp258) ;
break ;

/* branch: __ats_lab_68 */
__ats_lab_68_0:
if (((ats_sum_ptr_type)tmp167)->tag != 34) { goto __ats_lab_69_0 ; }
__ats_lab_68_1:
tmp260 = ats_caselptrlab_mac(anairiats_sum_20, tmp167, atslab_0) ;
tmp261 = ats_caselptrlab_mac(anairiats_sum_20, tmp167, atslab_1) ;
tmp262 = ats_caselptrlab_mac(anairiats_sum_20, tmp167, atslab_2) ;
tmp263 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp164, tmp165) ;
tmp264 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labd3explst_npf_tyer (tmp261, tmp262) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_rec2 (tmp164, tmp166, tmp260, tmp264, tmp263) ;
break ;

/* branch: __ats_lab_69 */
__ats_lab_69_0:
if (((ats_sum_ptr_type)tmp167)->tag != 35) { goto __ats_lab_70_0 ; }
__ats_lab_69_1:
tmp265 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
tmp266 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp265, &_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_seq_simplify (tmp164, tmp166, ats_castfn_mac(ats_ptr_type, tmp266)) ;
break ;

/* branch: __ats_lab_70 */
__ats_lab_70_0:
if (((ats_sum_ptr_type)tmp167)->tag != 36) { goto __ats_lab_71_0 ; }
__ats_lab_70_1:
tmp267 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_0) ;
tmp268 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_1) ;
tmp269 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp267) ;
tmp270 = d3exp_tyer_type_23 (tmp267) ;
tmp271 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer (tmp268) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selab (tmp164, tmp166, tmp269, tmp270, tmp271) ;
break ;

/* branch: __ats_lab_71 */
__ats_lab_71_0:
if (((ats_sum_ptr_type)tmp167)->tag != 37) { goto __ats_lab_72_0 ; }
__ats_lab_71_1:
tmp272 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
/* tmp273 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_inc_utimes (tmp272) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ptrofvar (tmp164, tmp166, tmp272) ;
break ;

/* branch: __ats_lab_72 */
__ats_lab_72_0:
if (((ats_sum_ptr_type)tmp167)->tag != 38) { goto __ats_lab_73_0 ; }
__ats_lab_72_1:
tmp274 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_0) ;
tmp275 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_1) ;
tmp276 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_2) ;
tmp277 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp274) ;
tmp278 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp164, tmp275) ;
tmp279 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer (tmp276) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ptrofsel (tmp164, tmp166, tmp277, tmp278, tmp279) ;
break ;

/* branch: __ats_lab_73 */
__ats_lab_73_0:
if (((ats_sum_ptr_type)tmp167)->tag != 40) { goto __ats_lab_74_0 ; }
__ats_lab_73_1:
tmp280 = ats_caselptrlab_mac(anairiats_sum_20, tmp167, atslab_0) ;
tmp281 = ats_caselptrlab_mac(anairiats_sum_20, tmp167, atslab_1) ;
tmp282 = ats_caselptrlab_mac(anairiats_sum_20, tmp167, atslab_2) ;
tmp283 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp282) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_refarg (tmp164, tmp166, tmp280, tmp281, tmp283) ;
break ;

/* branch: __ats_lab_74 */
__ats_lab_74_0:
if (((ats_sum_ptr_type)tmp167)->tag != 41) { goto __ats_lab_75_0 ; }
__ats_lab_74_1:
tmp284 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_0) ;
tmp285 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_1) ;
tmp286 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_2) ;
/* tmp287 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_inc_utimes (tmp284) ;
tmp288 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp164, tmp285) ;
tmp289 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer (tmp286) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selvar (tmp164, tmp166, tmp284, tmp288, tmp289) ;
break ;

/* branch: __ats_lab_75 */
__ats_lab_75_0:
if (((ats_sum_ptr_type)tmp167)->tag != 42) { goto __ats_lab_76_0 ; }
__ats_lab_75_1:
tmp290 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_0) ;
tmp291 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_1) ;
tmp292 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_2) ;
tmp293 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp290) ;
tmp294 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp164, tmp291) ;
tmp295 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer (tmp292) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selptr (tmp164, tmp166, tmp293, tmp294, tmp295) ;
break ;

/* branch: __ats_lab_76 */
__ats_lab_76_0:
if (((ats_sum_ptr_type)tmp167)->tag != 43) { goto __ats_lab_77_0 ; }
__ats_lab_76_1:
tmp296 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_0) ;
tmp297 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_1) ;
tmp298 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_2) ;
tmp299 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp296) ;
tmp300 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp164, tmp297) ;
tmp301 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer (tmp298) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_selptr (tmp164, tmp166, tmp299, tmp300, tmp301) ;
break ;

/* branch: __ats_lab_77 */
__ats_lab_77_0:
if (((ats_sum_ptr_type)tmp167)->tag != 44) { goto __ats_lab_78_0 ; }
__ats_lab_77_1:
tmp302 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_3) ;
tmp303 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_is_prf (tmp302) ;
if (!tmp303) { goto __ats_lab_78_1 ; }
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty (tmp164, tmp166) ;
break ;

/* branch: __ats_lab_78 */
__ats_lab_78_0:
if (((ats_sum_ptr_type)tmp167)->tag != 44) { goto __ats_lab_79_0 ; }
__ats_lab_78_1:
tmp304 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_0) ;
tmp305 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_1) ;
tmp306 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_2) ;
tmp307 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_3) ;
/* tmp308 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_inc_utimes (tmp304) ;
tmp309 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp164, tmp305) ;
tmp310 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer (tmp306) ;
tmp311 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp307) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_assgn_var (tmp164, tmp166, tmp304, tmp309, tmp310, tmp311) ;
break ;

/* branch: __ats_lab_79 */
__ats_lab_79_0:
if (((ats_sum_ptr_type)tmp167)->tag != 45) { goto __ats_lab_80_0 ; }
__ats_lab_79_1:
tmp312 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_3) ;
tmp313 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_is_prf (tmp312) ;
if (!tmp313) { goto __ats_lab_80_1 ; }
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty (tmp164, tmp166) ;
break ;

/* branch: __ats_lab_80 */
__ats_lab_80_0:
if (((ats_sum_ptr_type)tmp167)->tag != 45) { goto __ats_lab_81_0 ; }
__ats_lab_80_1:
tmp314 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_0) ;
tmp315 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_1) ;
tmp316 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_2) ;
tmp317 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_3) ;
tmp318 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp314) ;
tmp319 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp164, tmp315) ;
tmp320 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer (tmp316) ;
tmp321 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp317) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_assgn_ptr (tmp164, tmp166, tmp318, tmp319, tmp320, tmp321) ;
break ;

/* branch: __ats_lab_81 */
__ats_lab_81_0:
if (((ats_sum_ptr_type)tmp167)->tag != 46) { goto __ats_lab_82_0 ; }
__ats_lab_81_1:
tmp322 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_0) ;
tmp323 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_1) ;
tmp324 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_2) ;
tmp325 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_3) ;
tmp326 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp322) ;
tmp327 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp164, tmp323) ;
tmp328 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer (tmp324) ;
tmp329 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp325) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_assgn_ptr (tmp164, tmp166, tmp326, tmp327, tmp328, tmp329) ;
break ;

/* branch: __ats_lab_82 */
__ats_lab_82_0:
if (((ats_sum_ptr_type)tmp167)->tag != 47) { goto __ats_lab_83_0 ; }
__ats_lab_82_1:
tmp330 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_0) ;
tmp331 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_1) ;
tmp332 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_2) ;
tmp333 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_3) ;
/* tmp334 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_inc_utimes (tmp330) ;
tmp335 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp164, tmp331) ;
tmp336 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer (tmp332) ;
tmp337 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp333) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_xchng_var (tmp164, tmp166, tmp330, tmp335, tmp336, tmp337) ;
break ;

/* branch: __ats_lab_83 */
__ats_lab_83_0:
if (((ats_sum_ptr_type)tmp167)->tag != 48) { goto __ats_lab_84_0 ; }
__ats_lab_83_1:
tmp338 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_0) ;
tmp339 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_1) ;
tmp340 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_2) ;
tmp341 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_3) ;
tmp342 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp338) ;
tmp343 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp164, tmp339) ;
tmp344 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer (tmp340) ;
tmp345 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp341) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_xchng_ptr (tmp164, tmp166, tmp342, tmp343, tmp344, tmp345) ;
break ;

/* branch: __ats_lab_84 */
__ats_lab_84_0:
if (((ats_sum_ptr_type)tmp167)->tag != 49) { goto __ats_lab_85_0 ; }
__ats_lab_84_1:
tmp346 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_0) ;
tmp347 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_1) ;
tmp348 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_2) ;
tmp349 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_3) ;
tmp350 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp346) ;
tmp351 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp164, tmp347) ;
tmp352 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer (tmp348) ;
tmp353 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp349) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_xchng_ptr (tmp164, tmp166, tmp350, tmp351, tmp352, tmp353) ;
break ;

/* branch: __ats_lab_85 */
__ats_lab_85_0:
if (((ats_sum_ptr_type)tmp167)->tag != 50) { goto __ats_lab_86_0 ; }
__ats_lab_85_1:
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty (tmp164, tmp166) ;
break ;

/* branch: __ats_lab_86 */
__ats_lab_86_0:
if (((ats_sum_ptr_type)tmp167)->tag != 51) { goto __ats_lab_87_0 ; }
__ats_lab_86_1:
tmp354 = ats_caselptrlab_mac(anairiats_sum_22, tmp167, atslab_0) ;
tmp355 = ats_caselptrlab_mac(anairiats_sum_22, tmp167, atslab_1) ;
tmp356 = ats_caselptrlab_mac(anairiats_sum_22, tmp167, atslab_2) ;
tmp357 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp164, tmp354) ;
tmp358 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp355, &_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_arrpsz (tmp164, tmp166, tmp357, ats_castfn_mac(ats_ptr_type, tmp358), tmp356) ;
break ;

/* branch: __ats_lab_87 */
__ats_lab_87_0:
if (((ats_sum_ptr_type)tmp167)->tag != 52) { goto __ats_lab_90_0 ; }
__ats_lab_87_1:
tmp359 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_0) ;
tmp360 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_1) ;
tmp361 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_2) ;
tmp362 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_shallow (tmp164, tmp359) ;
tmp363 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp360) ;
tmp364 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_get_type (tmp360) ;
tmp365 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2exp2hnf (tmp364) ;
tmp366 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__un_s2exp_g1size_index_t0ype (tmp365) ;
if (tmp366 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 22041(line=1070, offs=5) -- 22099(line=1071, offs=43)") ; }
tmp367 = ats_caselptrlab_mac(anairiats_sum_5, tmp366, atslab_0) ;
ATS_FREE(tmp366) ;
tmp368 = _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__un_s2exp_intconst (tmp367) ;
do {
/* branch: __ats_lab_88 */
__ats_lab_88_0:
if (tmp368 == (ats_sum_ptr_type)0) { goto __ats_lab_89_0 ; }
__ats_lab_88_1:
tmp370 = ats_caselptrlab_mac(anairiats_sum_23, tmp368, atslab_0) ;
ATS_FREE(tmp368) ;
tmp369 = tmp370 ;
break ;

/* branch: __ats_lab_89 */
__ats_lab_89_0:
// if (tmp368 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_89_1:
tmp369 = -1 ;
break ;
} while (0) ;
tmp371 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp361, &_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_arrinit (tmp164, tmp166, tmp362, tmp363, ats_castfn_mac(ats_ptr_type, tmp371), tmp369) ;
break ;

/* branch: __ats_lab_90 */
__ats_lab_90_0:
if (((ats_sum_ptr_type)tmp167)->tag != 53) { goto __ats_lab_91_0 ; }
__ats_lab_90_1:
tmp372 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
tmp373 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp372) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_raise (tmp164, tmp166, tmp373) ;
break ;

/* branch: __ats_lab_91 */
__ats_lab_91_0:
if (((ats_sum_ptr_type)tmp167)->tag != 54) { goto __ats_lab_92_0 ; }
__ats_lab_91_1:
tmp374 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_1) ;
arg0 = tmp374 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer ; // tail call
break ;

/* branch: __ats_lab_92 */
__ats_lab_92_0:
if (((ats_sum_ptr_type)tmp167)->tag != 55) { goto __ats_lab_93_0 ; }
__ats_lab_92_1:
tmp375 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
tmp376 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3explst_tyer (tmp375) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_vararg (tmp164, tmp166, tmp376) ;
break ;

/* branch: __ats_lab_93 */
__ats_lab_93_0:
if (((ats_sum_ptr_type)tmp167)->tag != 56) { goto __ats_lab_94_0 ; }
__ats_lab_93_1:
tmp377 = ats_caselptrlab_mac(anairiats_sum_18, tmp167, atslab_1) ;
/* tmp378 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_inc_utimes (tmp377) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_vcopyenv (tmp164, tmp166, tmp377) ;
break ;

/* branch: __ats_lab_94 */
__ats_lab_94_0:
if (((ats_sum_ptr_type)tmp167)->tag != 57) { goto __ats_lab_97_0 ; }
__ats_lab_94_1:
tmp379 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
/* tmp380 = */ list_app_fun_01301_ats_ptr_type (tmp379, &_2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2var_inc_utimes) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tempenver (tmp164, tmp166, tmp379) ;
break ;

/* branch: __ats_lab_97 */
__ats_lab_97_0:
if (((ats_sum_ptr_type)tmp167)->tag != 58) { goto __ats_lab_98_0 ; }
__ats_lab_97_1:
tmp387 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_0) ;
arg0 = tmp387 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer ; // tail call
break ;

/* branch: __ats_lab_98 */
__ats_lab_98_0:
if (((ats_sum_ptr_type)tmp167)->tag != 59) { goto __ats_lab_99_0 ; }
__ats_lab_98_1:
tmp388 = ats_caselptrlab_mac(anairiats_sum_13, tmp167, atslab_1) ;
tmp389 = ats_caselptrlab_mac(anairiats_sum_13, tmp167, atslab_2) ;
tmp390 = ats_caselptrlab_mac(anairiats_sum_13, tmp167, atslab_3) ;
tmp391 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp164, tmp165) ;
tmp392 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer (tmp388, tmp389) ;
tmp393 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp390) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lam (tmp164, tmp391, 1, tmp392, tmp393) ;
break ;

/* branch: __ats_lab_99 */
__ats_lab_99_0:
if (((ats_sum_ptr_type)tmp167)->tag != 60) { goto __ats_lab_100_0 ; }
__ats_lab_99_1:
tmp394 = ats_caselptrlab_mac(anairiats_sum_13, tmp167, atslab_1) ;
tmp395 = ats_caselptrlab_mac(anairiats_sum_13, tmp167, atslab_2) ;
tmp396 = ats_caselptrlab_mac(anairiats_sum_13, tmp167, atslab_3) ;
tmp397 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__s2exp_tyer_deep (tmp164, tmp165) ;
tmp398 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__p3atlst_npf_tyer (tmp394, tmp395) ;
tmp399 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp396) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lam (tmp164, tmp397, 0, tmp398, tmp399) ;
break ;

/* branch: __ats_lab_100 */
__ats_lab_100_0:
if (((ats_sum_ptr_type)tmp167)->tag != 61) { goto __ats_lab_101_0 ; }
__ats_lab_100_1:
tmp400 = ats_caselptrlab_mac(anairiats_sum_16, tmp167, atslab_2) ;
tmp401 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp400) ;
tmp402 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_is_value (tmp401) ;
tmp404 = atspre_neg_bool (tmp402) ;
if (tmp404) {
/* tmp405 = */ prerr_warning4_loc_02095_ (tmp164) ;
/* tmp408 = */ atspre_prerr_string (ATSstrcst(": a non-value body for static lam-abstraction is not supported.")) ;
/* tmp403 = */ atspre_prerr_newline () ;
} else {
/* empty */
} /* end of [if] */
tmp163 = tmp401 ;
break ;

/* branch: __ats_lab_101 */
__ats_lab_101_0:
if (((ats_sum_ptr_type)tmp167)->tag != 62) { goto __ats_lab_102_0 ; }
__ats_lab_101_1:
tmp409 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_1) ;
arg0 = tmp409 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer ; // tail call
break ;

/* branch: __ats_lab_102 */
__ats_lab_102_0:
if (((ats_sum_ptr_type)tmp167)->tag != 63) { goto __ats_lab_103_0 ; }
__ats_lab_102_1:
tmp410 = ats_caselptrlab_mac(anairiats_sum_12, tmp167, atslab_0) ;
tmp411 = ats_caselptrlab_mac(anairiats_sum_12, tmp167, atslab_1) ;
tmp412 = ats_caselptrlab_mac(anairiats_sum_12, tmp167, atslab_2) ;
tmp413 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp412) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_fix (tmp164, tmp166, tmp410, tmp411, tmp413) ;
break ;

/* branch: __ats_lab_103 */
__ats_lab_103_0:
if (((ats_sum_ptr_type)tmp167)->tag != 64) { goto __ats_lab_104_0 ; }
__ats_lab_103_1:
tmp414 = ats_caselptrlab_mac(anairiats_sum_7, tmp167, atslab_0) ;
tmp415 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp414) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_delay (tmp164, tmp166, tmp415) ;
break ;

/* branch: __ats_lab_104 */
__ats_lab_104_0:
if (((ats_sum_ptr_type)tmp167)->tag != 65) { goto __ats_lab_105_0 ; }
__ats_lab_104_1:
tmp416 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_0) ;
tmp417 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_1) ;
tmp418 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp416) ;
tmp419 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp417) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_ldelay (tmp164, tmp166, tmp418, tmp419) ;
break ;

/* branch: __ats_lab_105 */
__ats_lab_105_0:
if (((ats_sum_ptr_type)tmp167)->tag != 66) { goto __ats_lab_106_0 ; }
__ats_lab_105_1:
tmp420 = ats_caselptrlab_mac(anairiats_sum_18, tmp167, atslab_0) ;
tmp421 = ats_caselptrlab_mac(anairiats_sum_18, tmp167, atslab_1) ;
tmp422 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp421) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_lazyeval (tmp164, tmp166, tmp420, tmp422) ;
break ;

/* branch: __ats_lab_106 */
__ats_lab_106_0:
if (((ats_sum_ptr_type)tmp167)->tag != 67) { goto __ats_lab_107_0 ; }
__ats_lab_106_1:
tmp423 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_0) ;
tmp424 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_1) ;
tmp425 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_2) ;
tmp426 = ats_caselptrlab_mac(anairiats_sum_21, tmp167, atslab_3) ;
tmp427 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3expopt_tyer (tmp423) ;
tmp428 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp424) ;
tmp429 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3expopt_tyer (tmp425) ;
tmp430 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp426) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loop (tmp164, tmp166, tmp427, tmp428, tmp429, tmp430) ;
break ;

/* branch: __ats_lab_107 */
__ats_lab_107_0:
if (((ats_sum_ptr_type)tmp167)->tag != 68) { goto __ats_lab_108_0 ; }
__ats_lab_107_1:
tmp431 = ats_caselptrlab_mac(anairiats_sum_9, tmp167, atslab_0) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_loopexn (tmp164, tmp166, tmp431) ;
break ;

/* branch: __ats_lab_108 */
__ats_lab_108_0:
if (((ats_sum_ptr_type)tmp167)->tag != 69) { goto __ats_lab_109_0 ; }
__ats_lab_108_1:
tmp432 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_0) ;
tmp433 = ats_caselptrlab_mac(anairiats_sum_14, tmp167, atslab_1) ;
tmp434 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp432) ;
tmp435 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer (tmp433) ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_trywith (tmp164, tmp166, tmp434, tmp435) ;
break ;

/* branch: __ats_lab_109 */
__ats_lab_109_0:
if (((ats_sum_ptr_type)tmp167)->tag != 70) { goto __ats_lab_110_0 ; }
__ats_lab_109_1:
tmp436 = _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__hisexp_void_t0ype () ;
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_empty (tmp164, tmp436) ;
break ;

/* branch: __ats_lab_110 */
__ats_lab_110_0:
if (((ats_sum_ptr_type)tmp167)->tag != 71) { goto __ats_lab_111_0 ; }
__ats_lab_110_1:
tmp163 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_errexp (tmp164, tmp166) ;
break ;

/* branch: __ats_lab_111 */
__ats_lab_111_0:
__ats_lab_111_1:
/* tmp437 = */ prerr_interror_loc_02085_ (tmp164) ;
/* tmp442 = */ atspre_prerr_string (ATSstrcst(": d3exp_tyer: d3e0 = ")) ;
/* tmp443 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__prerr_d3exp (arg0) ;
/* tmp444 = */ atspre_prerr_newline () ;
tmp445 = atspre_string_append ("/tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 25973(line=1235, offs=51) -- 25982(line=1235, offs=60)", ATSstrcst("\n")) ;
/* tmp163 = */ ats_exit_errmsg (1, tmp445) ;
break ;
} while (0) ;
return (tmp163) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 26137(line=1245, offs=3) -- 26476(line=1265, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3explst_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp446) ;
ATSlocal (ats_ptr_type, tmp447) ;
ATSlocal (ats_ptr_type, tmp448) ;
ATSlocal (ats_bool_type, tmp449) ;
ATSlocal (ats_ptr_type, tmp450) ;
ATSlocal (ats_ptr_type, tmp451) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3explst_tyer:
do {
/* branch: __ats_lab_112 */
__ats_lab_112_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_113_0 ; }
__ats_lab_112_1:
tmp447 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ;
tmp448 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ;
tmp449 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_is_prf (tmp447) ;
if (tmp449) {
arg0 = tmp448 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3explst_tyer ; // tail call
} else {
tmp450 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp447) ;
tmp451 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3explst_tyer (tmp448) ;
tmp446 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp446, atslab_0, tmp450) ;
ats_selptrset_mac(anairiats_sum_1, tmp446, atslab_1, tmp451) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_113 */
__ats_lab_113_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_113_1:
tmp446 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp446) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3explst_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 26534(line=1269, offs=3) -- 26717(line=1286, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer (ats_int_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp452) ;
ATSlocal (ats_bool_type, tmp453) ;
ATSlocal (ats_ptr_type, tmp454) ;
ATSlocal (ats_int_type, tmp455) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer:
tmp453 = atspre_gt_int_int (arg0, 0) ;
if (tmp453) {
if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 26586(line=1277, offs=1) -- 26611(line=1277, offs=26)") ; }
tmp454 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ;
tmp455 = atspre_sub_int_int (arg0, 1) ;
arg0 = tmp455 ;
arg1 = tmp454 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer ; // tail call
} else {
tmp452 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3explst_tyer (arg1) ;
} /* end of [if] */
return (tmp452) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 26811(line=1292, offs=5) -- 26954(line=1297, offs=16)
*/
ATSstaticdec()
ats_ptr_type
aux1_34 (ats_int_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp457) ;
ATSlocal (ats_bool_type, tmp458) ;
ATSlocal (ats_ptr_type, tmp459) ;
ATSlocal (ats_int_type, tmp460) ;

__ats_lab_aux1_34:
tmp458 = atspre_gt_int_int (arg0, 0) ;
if (tmp458) {
if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 26890(line=1296, offs=9) -- 26916(line=1296, offs=35)") ; }
tmp459 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ;
tmp460 = atspre_sub_int_int (arg0, 1) ;
arg0 = tmp460 ;
arg1 = tmp459 ;
goto __ats_lab_aux1_34 ; // tail call
} else {
tmp457 = arg1 ;
} /* end of [if] */
return (tmp457) ;
} /* end of [aux1_34] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 26979(line=1299, offs=5) -- 27410(line=1322, offs=4)
*/
ATSstaticdec()
ats_ptr_type
aux2_35 (ats_int_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp461) ;
ATSlocal (ats_ptr_type, tmp462) ;
ATSlocal (ats_ptr_type, tmp463) ;
ATSlocal (ats_bool_type, tmp464) ;
ATSlocal (ats_int_type, tmp465) ;
ATSlocal (ats_ptr_type, tmp466) ;
ATSlocal (ats_ptr_type, tmp467) ;
ATSlocal (ats_ptr_type, tmp468) ;
ATSlocal (ats_ptr_type, tmp469) ;
ATSlocal (ats_int_type, tmp470) ;

__ats_lab_aux2_35:
do {
/* branch: __ats_lab_114 */
__ats_lab_114_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_115_0 ; }
__ats_lab_114_1:
tmp462 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ;
tmp463 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ;
tmp464 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_is_prf (tmp462) ;
if (tmp464) {
tmp465 = atspre_add_int_int (arg0, 1) ;
arg0 = tmp465 ;
arg1 = tmp463 ;
goto __ats_lab_aux2_35 ; // tail call
} else {
tmp466 = _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_int (arg0) ;
tmp467 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp462) ;
tmp468 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp468, atslab_0, tmp466) ;
ats_selptrset_mac(anairiats_sum_1, tmp468, atslab_1, tmp467) ;
tmp470 = atspre_add_int_int (arg0, 1) ;
tmp469 = aux2_35 (tmp470, tmp463) ;
tmp461 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp461, atslab_0, tmp468) ;
ats_selptrset_mac(anairiats_sum_1, tmp461, atslab_1, tmp469) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_115 */
__ats_lab_115_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_115_1:
tmp461 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp461) ;
} /* end of [aux2_35] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 26786(line=1290, offs=3) -- 27514(line=1328, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer_labize (ats_int_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp456) ;
ATSlocal (ats_int_type, tmp471) ;
ATSlocal (ats_bool_type, tmp472) ;
ATSlocal (ats_ptr_type, tmp473) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer_labize:
tmp472 = atspre_gte_int_int (arg0, 0) ;
if (tmp472) {
tmp471 = arg0 ;
} else {
tmp471 = 0 ;
} /* end of [if] */
tmp473 = aux1_34 (arg0, arg1) ;
tmp456 = aux2_35 (tmp471, tmp473) ;
return (tmp456) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3explst_npf_tyer_labize] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 27598(line=1333, offs=15) -- 27685(line=1335, offs=63)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3expopt_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp474) ;
ATSlocal (ats_ptr_type, tmp475) ;
ATSlocal (ats_ptr_type, tmp476) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3expopt_tyer:
do {
/* branch: __ats_lab_116 */
__ats_lab_116_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_117_0 ; }
__ats_lab_116_1:
tmp475 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ;
tmp476 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp475) ;
tmp474 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
ats_selptrset_mac(anairiats_sum_5, tmp474, atslab_0, tmp476) ;
break ;

/* branch: __ats_lab_117 */
__ats_lab_117_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_117_1:
tmp474 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp474) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3expopt_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 27826(line=1344, offs=3) -- 28197(line=1363, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labd3explst_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp477) ;
ATSlocal (ats_ptr_type, tmp478) ;
ATSlocal (ats_ptr_type, tmp479) ;
ATSlocal (ats_ptr_type, tmp480) ;
ATSlocal (ats_ptr_type, tmp481) ;
ATSlocal (ats_bool_type, tmp482) ;
ATSlocal (ats_ptr_type, tmp483) ;
ATSlocal (ats_ptr_type, tmp484) ;
ATSlocal (ats_ptr_type, tmp485) ;
ATSlocal (ats_ptr_type, tmp486) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labd3explst_tyer:
do {
/* branch: __ats_lab_118 */
__ats_lab_118_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_119_0 ; }
__ats_lab_118_1:
tmp478 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ;
tmp479 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ;

tmp480 = ats_caselptrlab_mac(anairiats_sum_1, tmp478, atslab_0) ;
tmp481 = ats_caselptrlab_mac(anairiats_sum_1, tmp478, atslab_1) ;
tmp482 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__d3exp_is_prf (tmp481) ;
if (tmp482) {
arg0 = tmp479 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labd3explst_tyer ; // tail call
} else {
tmp483 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp481) ;
tmp485 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_24, tmp480), atslab_l0ab_lab) ;
tmp484 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp484, atslab_0, tmp485) ;
ats_selptrset_mac(anairiats_sum_1, tmp484, atslab_1, tmp483) ;
tmp486 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labd3explst_tyer (tmp479) ;
tmp477 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp477, atslab_0, tmp484) ;
ats_selptrset_mac(anairiats_sum_1, tmp477, atslab_1, tmp486) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_119 */
__ats_lab_119_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_119_1:
tmp477 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp477) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labd3explst_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 28261(line=1367, offs=3) -- 28429(line=1378, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labd3explst_npf_tyer (ats_int_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp487) ;
ATSlocal (ats_bool_type, tmp488) ;
ATSlocal (ats_ptr_type, tmp489) ;
ATSlocal (ats_int_type, tmp490) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labd3explst_npf_tyer:
tmp488 = atspre_gt_int_int (arg0, 0) ;
if (tmp488) {
if (arg1 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 28310(line=1371, offs=7) -- 28334(line=1371, offs=31)") ; }
tmp489 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ;
tmp490 = atspre_sub_int_int (arg0, 1) ;
arg0 = tmp490 ;
arg1 = tmp489 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labd3explst_npf_tyer ; // tail call
} else {
tmp487 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labd3explst_tyer (arg1) ;
} /* end of [if] */
return (tmp487) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__labd3explst_npf_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 28508(line=1384, offs=3) -- 28880(line=1405, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lab_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp491) ;
ATSlocal (ats_ptr_type, tmp492) ;
ATSlocal (ats_ptr_type, tmp493) ;
ATSlocal (ats_ptr_type, tmp494) ;
ATSlocal (ats_ptr_type, tmp495) ;
ATSlocal (ats_ptr_type, tmp496) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lab_tyer:
tmp492 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg0), atslab_d3lab_loc) ;
tmp493 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_25, arg0), atslab_d3lab_node) ;
do {
/* branch: __ats_lab_120 */
__ats_lab_120_0:
if (((ats_sum_ptr_type)tmp493)->tag != 0) { goto __ats_lab_121_0 ; }
__ats_lab_120_1:
tmp494 = ats_caselptrlab_mac(anairiats_sum_7, tmp493, atslab_0) ;
tmp491 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hilab_lab (tmp492, tmp494) ;
break ;

/* branch: __ats_lab_121 */
__ats_lab_121_0:
// if (((ats_sum_ptr_type)tmp493)->tag != 1) { ats_deadcode_failure_handle () ; }
__ats_lab_121_1:
tmp495 = ats_caselptrlab_mac(anairiats_sum_7, tmp493, atslab_0) ;
tmp496 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (tmp495, &_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer) ;
tmp491 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hilab_ind (tmp492, ats_castfn_mac(ats_ptr_type, tmp496)) ;
break ;
} while (0) ;
return (tmp491) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lab_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 28928(line=1408, offs=14) -- 28987(line=1410, offs=49)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp497) ;
ATSlocal (ats_ptr_type, tmp498) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer:
tmp498 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lab_tyer) ;
tmp497 = ats_castfn_mac(ats_ptr_type, tmp498) ;
return (tmp497) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3lablst_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 29069(line=1417, offs=3) -- 29408(line=1434, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_cst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp499) ;
ATSlocal (ats_ptr_type, tmp500) ;
ATSlocal (ats_bool_type, tmp501) ;
ATSlocal (ats_bool_type, tmp502) ;
ATSlocal (ats_ptr_type, tmp503) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_cst:
tmp500 = _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__d2cst_get_sym (arg2) ;
do {
/* branch: __ats_lab_122 */
__ats_lab_122_0:
__ats_lab_122_1:
tmp501 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp500, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_TRUE_BOOL) ;
if (!tmp501) { goto __ats_lab_123_1 ; }
tmp499 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_bool (arg0, arg1, ats_true_bool) ;
break ;

/* branch: __ats_lab_123 */
__ats_lab_123_0:
__ats_lab_123_1:
tmp502 = _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__eq_symbol_symbol (tmp500, _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_FALSE_BOOL) ;
if (!tmp502) { goto __ats_lab_124_1 ; }
tmp499 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_bool (arg0, arg1, ats_false_bool) ;
break ;

/* branch: __ats_lab_124 */
__ats_lab_124_0:
__ats_lab_124_1:
tmp503 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d2cst_tyer (arg2) ;
tmp499 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_cst (arg0, arg1, tmp503) ;
break ;
} while (0) ;
return (tmp499) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_cst] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 29486(line=1440, offs=1) -- 29634(line=1448, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpcst (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp504) ;
ATSlocal (ats_ptr_type, tmp505) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpcst:
tmp505 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__t2mpmarglst_mhnfize (arg3) ;
tmp504 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tmpcst (arg0, arg1, arg2, tmp505) ;
return (tmp504) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpcst] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 29697(line=1452, offs=1) -- 29845(line=1460, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpvar (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp506) ;
ATSlocal (ats_ptr_type, tmp507) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpvar:
tmp507 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__t2mpmarglst_mhnfize (arg3) ;
tmp506 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hidexp_tmpvar (arg0, arg1, arg2, tmp507) ;
return (tmp506) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__d3exp_tyer_tmpvar] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 29924(line=1466, offs=3) -- 30174(line=1480, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__gm3at_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp508) ;
ATSlocal (ats_ptr_type, tmp509) ;
ATSlocal (ats_ptr_type, tmp510) ;
ATSlocal (ats_ptr_type, tmp511) ;
ATSlocal (ats_ptr_type, tmp512) ;
ATSlocal (ats_ptr_type, tmp513) ;
ATSlocal (ats_ptr_type, tmp514) ;
ATSlocal (ats_ptr_type, tmp515) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__gm3at_tyer:
tmp509 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_gm3at_loc) ;
tmp511 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_gm3at_exp) ;
tmp510 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp511) ;
tmp513 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_26, arg0), atslab_gm3at_pat) ;
do {
/* branch: __ats_lab_125 */
__ats_lab_125_0:
if (tmp513 == (ats_sum_ptr_type)0) { goto __ats_lab_126_0 ; }
__ats_lab_125_1:
tmp514 = ats_caselptrlab_mac(anairiats_sum_5, tmp513, atslab_0) ;
tmp515 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3at_tyer (tmp514) ;
tmp512 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
ats_selptrset_mac(anairiats_sum_5, tmp512, atslab_0, tmp515) ;
break ;

/* branch: __ats_lab_126 */
__ats_lab_126_0:
// if (tmp513 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_126_1:
tmp512 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
tmp508 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__higmat_make (tmp509, tmp510, tmp512) ;
return (tmp508) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__gm3at_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 30225(line=1483, offs=14) -- 30322(line=1488, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__gm3atlst_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp516) ;
ATSlocal (ats_ptr_type, tmp517) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__gm3atlst_tyer:
tmp517 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__gm3at_tyer) ;
tmp516 = ats_castfn_mac(ats_ptr_type, tmp517) ;
return (tmp516) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__gm3atlst_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 30391(line=1493, offs=11) -- 30676(line=1508, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3lau_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp518) ;
ATSlocal (ats_ptr_type, tmp519) ;
ATSlocal (ats_ptr_type, tmp520) ;
ATSlocal (ats_ptr_type, tmp521) ;
ATSlocal (ats_ptr_type, tmp522) ;
ATSlocal (ats_ptr_type, tmp523) ;
ATSlocal (ats_int_type, tmp524) ;
ATSlocal (ats_int_type, tmp525) ;
ATSlocal (ats_ptr_type, tmp526) ;
ATSlocal (ats_ptr_type, tmp527) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3lau_tyer:
tmp519 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg0), atslab_c3lau_loc) ;
tmp521 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg0), atslab_c3lau_pat) ;
tmp520 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer (tmp521) ;
tmp523 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg0), atslab_c3lau_gua) ;
tmp522 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__gm3atlst_tyer (tmp523) ;
tmp524 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg0), atslab_c3lau_seq) ;
tmp525 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg0), atslab_c3lau_neg) ;
tmp527 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg0), atslab_c3lau_body) ;
tmp526 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp527) ;
tmp518 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hiclau_make (tmp519, tmp520, tmp522, tmp524, tmp525, tmp526) ;
return (tmp518) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3lau_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 30724(line=1511, offs=14) -- 30815(line=1516, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp528) ;
ATSlocal (ats_ptr_type, tmp529) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer:
tmp529 = list_map_fun_01413_ats_ptr_type_ats_ptr_type (arg0, &_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3lau_tyer) ;
tmp528 = ats_castfn_mac(ats_ptr_type, tmp529) ;
return (tmp528) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 30888(line=1522, offs=3) -- 31173(line=1537, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3lau_tyer2 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp530) ;
ATSlocal (ats_ptr_type, tmp531) ;
ATSlocal (ats_ptr_type, tmp532) ;
ATSlocal (ats_ptr_type, tmp533) ;
ATSlocal (ats_ptr_type, tmp534) ;
ATSlocal (ats_ptr_type, tmp535) ;
ATSlocal (ats_int_type, tmp536) ;
ATSlocal (ats_int_type, tmp537) ;
ATSlocal (ats_ptr_type, tmp538) ;
ATSlocal (ats_ptr_type, tmp539) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3lau_tyer2:
tmp531 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg1), atslab_c3lau_loc) ;
tmp533 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg1), atslab_c3lau_pat) ;
tmp532 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__p3atlst_tyer2 (arg0, tmp533) ;
tmp535 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg1), atslab_c3lau_gua) ;
tmp534 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__gm3atlst_tyer (tmp535) ;
tmp536 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg1), atslab_c3lau_seq) ;
tmp537 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg1), atslab_c3lau_neg) ;
tmp539 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_27, arg1), atslab_c3lau_body) ;
tmp538 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__d3exp_tyer (tmp539) ;
tmp530 = _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__hiclau_make (tmp531, tmp532, tmp534, tmp536, tmp537, tmp538) ;
return (tmp530) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3lau_tyer2] */

/*
// /tmp/ATS-Postiats/src/pats_typerase_dynexp.dats: 31226(line=1541, offs=3) -- 31487(line=1555, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer2 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp540) ;
ATSlocal (ats_ptr_type, tmp541) ;
ATSlocal (ats_ptr_type, tmp542) ;
ATSlocal (ats_ptr_type, tmp543) ;
ATSlocal (ats_ptr_type, tmp544) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer2:
do {
/* branch: __ats_lab_127 */
__ats_lab_127_0:
if (arg1 != (ats_sum_ptr_type)0) { goto __ats_lab_128_0 ; }
__ats_lab_127_1:
tmp540 = (ats_sum_ptr_type)0 ;
break ;

/* branch: __ats_lab_128 */
__ats_lab_128_0:
// if (arg1 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_128_1:
tmp541 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_0) ;
tmp542 = ats_caselptrlab_mac(anairiats_sum_1, arg1, atslab_1) ;
tmp543 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3lau_tyer2 (arg0, tmp541) ;
tmp544 = _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer2 (arg0, tmp542) ;
tmp540 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp540, atslab_0, tmp543) ;
ats_selptrset_mac(anairiats_sum_1, tmp540, atslab_1, tmp544) ;
break ;
} while (0) ;
return (tmp540) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__c3laulst_tyer2] */

/* static load function */

// extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload (void) ;
// extern ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_basics_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_errmsg_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_errmsg_2edats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__staload (void) ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__staload () {
static int _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__staload_flag = 0 ;
if (_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__staload_flag) return ;
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__staload_flag = 1 ;

// _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload () ;
// ATS_2d0_2e2_2e12_2prelude_2SATS_2unsafe_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_basics_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_errmsg_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_errmsg_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_label_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_symbol_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_syntax_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_stacst2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp3_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_histaexp_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_hidynexp_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_2esats__staload () ;

return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__dynload_flag ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__dynload () {
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_2edats__dynload_flag = 1 ;
_2tmp_2ATS_2dPostiats_2src_2pats_typerase_dynexp_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_typerase_dynexp_dats.c] */
