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

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

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

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"

#include "pats_location.cats"

#include "pats_location.cats"
/* external codes at top */

#include "pats_lintprgm_myint.cats"

/* type definitions */
typedef
struct {
ats_ptr_type atslab_3 ;
ats_ptr_type atslab_4 ;
} anairiats_rec_0 ;

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

typedef
struct {
ats_ptr_type atslab_0 ;
ats_int_type atslab_1 ;
} anairiats_rec_2 ;

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

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

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

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

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

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

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

typedef
struct {
ats_ptr_type atslab_c3nstr_loc ;
ats_ptr_type atslab_c3nstr_kind ;
ats_ptr_type atslab_c3nstr_node ;
} anairiats_rec_10 ;

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

typedef
struct {
ats_ptr_type atslab_c3nstroptref_loc ;
ats_ptr_type atslab_c3nstroptref_ref ;
} anairiats_rec_12 ;

typedef struct {
ats_ptr_type atslab_0 ;
} anairiats_sum_13 ;

/* external typedefs */
/* external dynamic constructor declarations */
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__None_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__Some_1) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_cons_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_vt_nil_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_basics_2esats__CK_case_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_basics_2esats__CK_case_pos_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_basics_2esats__CK_case_neg_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__C3TKmain_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__C3TKcase_exhaustiveness_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__C3TKtermet_isnat_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__C3TKtermet_isdec_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__C3TKsome_fin_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__C3TKsome_lvar_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__C3TKsome_vbox_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__C3TKlstate_7) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__C3TKlstate_var_8) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__C3TKloop_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__C3TKsolverify_10) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__C3NSTRprop_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__C3NSTRitmlst_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__C3NSTRsolverify_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__S3ITMsvar_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__S3ITMhypo_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__S3ITMsVar_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__S3ITMcnstr_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__S3ITMcnstr_ref_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__S3ITMdisj_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__S3ITMsolassert_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__ICvec_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__ICveclst_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__ICerr_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Evar_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Enull_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Eunit_3) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Ebool_4) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Ebvar_5) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Ebneg_6) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Ebadd_7) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Ebmul_8) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Ebeq_9) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Ebneq_10) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Ebineq_11) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Ebdom_12) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Eicff_14) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Eisum_15) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__S3Eerr_19) ;
ATSextern_val(ats_exn_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2edats__Finished) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__MYIVLSTnil_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__MYIVLSTcons_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__MYIVLSTmark_2) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTnil_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTcons_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTmark_2) ;

/* external dynamic constant declarations */
ATSextern_fun(ats_void_type, atspre_assert_errmsg) (ats_bool_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_newline) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_prerr_newline) () ;
ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_neg_bool) (ats_bool_type) ;
ATSextern_fun(ats_bool_type, atspre_lt_char_char) (ats_char_type, ats_char_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_char_char) (ats_char_type, ats_char_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ;
ATSextern_fun(ats_bool_type, atspre_neq_char_char) (ats_char_type, ats_char_type) ;
ATSextern_fun(ats_int_type, atspre_compare_char_char) (ats_char_type, ats_char_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_char) (ats_ptr_type, ats_char_type) ;
ATSextern_fun(ats_bool_type, atspre_char_isdigit) (ats_char_type) ;
ATSextern_fun(ats_char_type, atspre_char_toupper) (ats_char_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_char_char) (ats_char_type, ats_char_type) ;
ATSextern_fun(ats_int_type, atspre_neg_int) (ats_int_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_int_type, atspre_mul_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_div_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_mod_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_gcd_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_lt_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_gte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_neq_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_compare_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_uint_type, atspre_add_uint_uint) (ats_uint_type, ats_uint_type) ;
ATSextern_fun(ats_bool_type, atspre_lte_uint_uint) (ats_uint_type, ats_uint_type) ;
ATSextern_fun(ats_bool_type, atspre_gte_uint_uint) (ats_uint_type, ats_uint_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_uint_uint) (ats_uint_type, ats_uint_type) ;
ATSextern_fun(ats_int_type, atspre_ineg) (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_ilte) (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_bool_type, atspre_ieq) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_ineq) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_imax) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_llint_type, atspre_llint_of_int) (ats_int_type) ;
ATSextern_fun(ats_llint_type, atspre_mul_llint_llint) (ats_llint_type, ats_llint_type) ;
ATSextern_fun(ats_size_type, atspre_size_of_int1) (ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_add_size_size) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_size_type, atspre_sub_size_size) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_gte_size_size) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_size_type, atspre_size1_of_int1) (ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_add_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_sub_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_sub_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_size_type, atspre_mul_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_size_type, atspre_mul2_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_lt_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_neq_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, ats_malloc_gc) (ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_ptr_alloc_tsz) (ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_ptr_zero_tsz) (ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_ref_make_elt_tsz) (ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_bytes_strbuf_trans) (ats_ptr_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_string_string) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_prerr_string) (ats_ptr_type) ;
ATSextern_fun(ats_char_type, atspre_string_get_char_at) (ats_ptr_type, ats_size_type) ;
ATSextern_fun(ats_char_type, atspre_string_get_char_at__intsz) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_ptr_type, atspre_string_copy) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_string_contains) (ats_ptr_type, ats_char_type) ;
ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ;
ATSextern_fun(ats_size_type, atspre_string_length) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_string_isnot_empty) (ats_ptr_type) ;
ATSextern_fun(ats_bool_type, atspre_string_isnot_atend) (ats_ptr_type, ats_size_type) ;
ATSextern_val(ats_ptr_type, atspre_stropt_none) ;
ATSextern_fun(ats_bool_type, atspre_stropt_is_some) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_strptr_free) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_tostringf) (ats_ptr_type, ...) ;
ATSextern_fun(ats_ptr_type, ListSubscriptException_make) () ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_alloc_tsz) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_free) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_funenv_tsz) (ats_ref_type, ats_size_type, ats_ptr_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_cloenv_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_split_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(anairiats_rec_0, atspre_array_ptr_takeout2_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_foreach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_iforeach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_array2_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atslib_qsort) (ats_ref_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_utils_2esats__fprint_stropt) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_utils_2esats__charset_listize) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, patsopt_file2strptr) (ats_int_type) ;
ATSextern_fun(ats_size_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_cap) (ats_ref_type) ;
ATSextern_fun(ats_size_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_size) (ats_ref_type) ;
ATSextern_fun(ats_bool_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_is_empty) (ats_ref_type) ;
ATSextern_fun(ats_bool_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_isnot_empty) (ats_ref_type) ;
ATSextern_fun(ats_bool_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_is_full) (ats_ref_type) ;
ATSextern_fun(ats_bool_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_isnot_full) (ats_ref_type) ;
ATSextern_fun(ats_void_type, atslib_ngc_deque_arr_deque_initialize_tsz) (ats_ref_type, ats_size_type, ats_ptr_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atslib_ngc_deque_arr_deque_uninitialize) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_uninitialize_vt) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, atslib_ngc_deque_arr_deque_takeout_tsz) (ats_ref_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atslib_ngc_deque_arr_deque_insert_end_many_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atslib_ngc_deque_arr_deque_remove_beg_many_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_void_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_clear_all) (ats_ref_type) ;
ATSextern_fun(ats_void_type, atslib_ngc_deque_arr_deque_copyout_tsz) (ats_ref_type, ats_size_type, ats_size_type, ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atslib_ngc_deque_arr_deque_update_capacity_tsz) (ats_ref_type, ats_size_type, ats_ptr_type, ats_size_type) ;
ATSextern_fun(ats_varet_type, _2tmp_2ATS_2dPostiats_2src_2pats_error_2esats__abort) () ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_intinf_2esats__intinf_get_int) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__compare_s2var_s2var) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2varset_vt_listize_free) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__pprerr_s2exp) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__prerr_d2var) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_patcst2_2esats__fprint_p2atcst) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__prerr_c3nstr) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2varbindmap_freetop) () ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2varbindmap_pop) () ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2varbindmap_push) () ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__myintvec0_free) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__indexset_nil) () ;
ATSextern_fun(ats_bool_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__indexset_is_member) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__indexset_add) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3exp_get_fvs) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__prerr_s3exp) (ats_ptr_type) ;
ATSextern_val(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3exp_false) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_nil) () ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_free) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_pop) (ats_ref_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_push) (ats_ref_type) ;
ATSextern_fun(anairiats_rec_1, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_extract) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_add_svar) (ats_ref_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_add_sbexp) (ats_ref_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3exp_make) (ats_ref_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3exp_make_h3ypo) (ats_ref_type, ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3explst_solve_s2exp) (ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3exp_lintize) (ats_ref_type, ats_ptr_type) ;
ATSextern_fun(anairiats_rec_2, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2varindmap_make) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2varindmap_free) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2varindmap_find) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__indexlst_make) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__indexlst_free) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__indexlst_choose) (ats_ref_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_errmsg) (ats_ptr_type, ats_uint_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_main) (ats_ref_type, ats_ptr_type, ats_ref_type, ats_ref_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_prop) (ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ref_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst) (ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ref_type, ats_ref_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_cnstr) (ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_disj) (ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ptr_type, ats_ref_type, ats_ref_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_solverify) (ats_ptr_type, ats_ref_type, ats_ptr_type, ats_ref_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__prerr_case_exhaustiveness_errmsg) (ats_ptr_type, ats_ptr_type, ats_ptr_type) ;

/* external dynamic terminating constant declarations */
#ifdef _ATS_PROOFCHECK
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_v_takeout2_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____copy_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____free_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__lemma_deque_param_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_encode_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_decode_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_clear_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_insert_beg_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_insert_end_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_remove_beg_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_remove_end_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_utils_2edats____assert_prfck () ;
extern
ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_utils_2edats____assert_prfck () ;
extern
ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__myintvecout_addback_prfck () ;
extern
ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__myintvecout0_addback_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_02435_ () ;
static
intknd myint_make_int_04721_intknd (ats_int_type arg0) ;
static
intknd myint_make_intinf_04722_intknd (ats_ptr_type arg0) ;
static
ats_void_type myint_free_04723_intknd (intknd arg0) ;
static
intknd myint_copy_04724_intknd (intknd arg0) ;
static
intknd neg_myint_04725_intknd (intknd arg0) ;
static
intknd neg1_myint_04726_intknd (intknd arg0) ;
static
intknd add_myint_int_04727_intknd (intknd arg0, ats_int_type arg1) ;
static
intknd add01_myint_myint_04728_intknd (intknd arg0, intknd arg1) ;
static
intknd sub01_myint_myint_04729_intknd (intknd arg0, intknd arg1) ;
static
intknd mul01_myint_myint_04730_intknd (intknd arg0, intknd arg1) ;
static
intknd mul10_myint_myint_04731_intknd (intknd arg0, intknd arg1) ;
static
intknd mul11_myint_myint_04732_intknd (intknd arg0, intknd arg1) ;
static
intknd div01_myint_myint_04733_intknd (intknd arg0, intknd arg1) ;
static
intknd div11_myint_myint_04734_intknd (intknd arg0, intknd arg1) ;
static
intknd ediv01_myint_myint_04735_intknd (intknd arg0, intknd arg1) ;
static
intknd mod01_myint_myint_04736_intknd (intknd arg0, intknd arg1) ;
static
intknd mod11_myint_myint_04737_intknd (intknd arg0, intknd arg1) ;
static
intknd gcd01_myint_myint_04738_intknd (intknd arg0, intknd arg1) ;
static
ats_bool_type lt_myint_int_04739_intknd (intknd arg0, ats_int_type arg1) ;
static
ats_bool_type lte_myint_int_04740_intknd (intknd arg0, ats_int_type arg1) ;
static
ats_bool_type gt_myint_int_04741_intknd (intknd arg0, ats_int_type arg1) ;
static
ats_bool_type gte_myint_int_04742_intknd (intknd arg0, ats_int_type arg1) ;
static
ats_bool_type eq_myint_int_04743_intknd (intknd arg0, ats_int_type arg1) ;
static
ats_bool_type neq_myint_int_04744_intknd (intknd arg0, ats_int_type arg1) ;
static
ats_int_type compare_myint_int_04745_intknd (intknd arg0, ats_int_type arg1) ;
static
ats_bool_type lt_myint_myint_04746_intknd (intknd arg0, intknd arg1) ;
static
ats_bool_type lte_myint_myint_04747_intknd (intknd arg0, intknd arg1) ;
static
ats_bool_type gt_myint_myint_04748_intknd (intknd arg0, intknd arg1) ;
static
ats_bool_type gte_myint_myint_04749_intknd (intknd arg0, intknd arg1) ;
static
ats_void_type fprint_myint_04718_intknd (ats_ptr_type arg0, intknd arg1) ;
static
ats_void_type myintvec_free_04765_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_void_type prerr_warning3_loc_02446_ (ats_ptr_type arg0) ;
static
ats_void_type loop_38 (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_ptr_type array_ptr_alloc_01563_intknd (ats_size_type arg0) ;
static
ats_ptr_type myintvec0_make_04762_intknd (ats_int_type arg0) ;
static
ats_ptr_type myintvec_make_04764_intknd (ats_int_type arg0) ;
static
ats_ptr_type array_ptr_takeout_01586_intknd (ats_ptr_type arg0, ats_size_type arg1) ;
static
ats_void_type myintvec_addby_cffvar_04963_intknd (ats_ptr_type arg0, ats_ptr_type arg1, intknd arg2, ats_ptr_type arg3, ats_ref_type arg4) ;
static
ats_void_type myintvec_add_int_04760_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_ptr_type icnstrlst_negate_04776_intknd (ats_ptr_type arg0) ;
static
ats_ptr_type icnstr_negate_04775_intknd (ats_ptr_type arg0) ;
static
ats_void_type loop_48 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
ats_ptr_type myintvec_copy_04788_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_ptr_type icnstrlst_copy_04774_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_ptr_type icnstr_copy_04773_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_void_type myintvec_addby_const_04962_intknd (ats_ptr_type arg0, intknd arg1) ;
static
ats_void_type myintvec_addby_s3exp_05002_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ;
static
ats_void_type myintvec_addby_s3explst_05015_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ;
static
ats_ptr_type s3exp2myintvec_04875_intknd (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3) ;
static
ats_void_type prerr_error3_loc_02441_ (ats_ptr_type arg0) ;
static
ats_ptr_type s3exp2icnstr_04874_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) ;
static
ats_ptr_type loop_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ;
static
ats_ptr_type loop_56 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) ;
static
ats_ptr_type indexset_make_s3exp_05036_ats_abs_type (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type loop_62 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type myiveqlst_get_last_04920_intknd (ats_ptr_type arg0) ;
static
ats_int_type myintvec_compare_at_04761_intknd (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) ;
static
intknd myintvec_get_at_04758_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_void_type loop_68 (intknd arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
ats_void_type myintvec_scale_04792_intknd (intknd arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
ats_void_type loop_70 (ats_ptr_type arg0, intknd arg1, ats_ptr_type arg2, ats_int_type arg3) ;
static
ats_void_type myintvec_addby_cff_04795_intknd (ats_ptr_type arg0, intknd arg1, ats_ptr_type arg2, ats_int_type arg3) ;
static
ats_void_type myintvec_elimeq_at_04909_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) ;
static
ats_void_type myintvec_elimeqlst_rev_04523_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ;
static
ats_void_type myintvec_elimeqlst_04921_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ;
static
ats_bool_type loop_73 (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_int_type myintvec_inspect_04779_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
ats_int_type myintvec_inspect_lt_04780_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_void_type loop_75 (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_void_type myintvec_negate_04791_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_void_type loop_78 (intknd arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
intknd ptr0_get_01759_intknd (ats_ptr_type arg0) ;
static
ats_void_type loop_81 (ats_int_type env0, ats_ptr_type env1, ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_clo_ptr_type loop_81_closure_make (ats_int_type env0, ats_ptr_type env1) ;
static
ats_void_type loop_81_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_void_type myintvec_cffgcd_main_04083_intknd (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) ;
static
intknd myintvec_cffgcd_04785_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_int_type myintvec_normalize_04889_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
ats_void_type myintvec_normalize_gte_04786_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_int_type auxlt_04556_intknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4) ;
static
ats_void_type loop_85 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ref_type arg3) ;
static
ats_ptr_type myivlst_elimeqlst_04926_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
ats_int_type myintvec_inspect_gte_04781_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_int_type myintveclst_inspect_gte_04784_intknd (ats_ref_type arg0, ats_int_type arg1) ;
static
ats_void_type myintveclst_normalize_gte_04787_intknd (ats_ref_type arg0, ats_int_type arg1) ;
static
ats_void_type auxbeg_92 (ats_ptr_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4) ;
static
ats_void_type loop_96 (intknd arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) ;
static
ats_ptr_type myintvec_copy_cff_04789_intknd (intknd arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
ats_ptr_type myintvec_combine_at_04902_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) ;
static
ats_int_type auxcomb_93 (ats_int_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ptr_type arg4) ;
static
ats_void_type myintveclst_free_04768_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_int_type auxcomblst_97 (ats_int_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ptr_type arg4) ;
static
ats_int_type myintveclst_split_at_04903_intknd (ats_ref_type arg0, ats_int_type arg1, ats_int_type arg2) ;
static
ats_int_type solve_90 (ats_ref_type arg0, ats_ref_type arg1, ats_int_type arg2) ;
static
ats_int_type myintveclst_solve_04908_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) ;
static
ats_int_type auxcont_04578_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5, ats_int_type arg6) ;
static
ats_int_type auxgte_04563_intknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4) ;
static
ats_int_type myintvec_inspect_eq_04782_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_void_type loop_103 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_bool_type arg3, ats_ref_type arg4, ats_ref_type arg5) ;
static
ats_int_type myintvec_get_index_of_absmincff_04904_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_ptr_type myiveqlst_get_prev_04494_intknd (ats_ptr_type arg0) ;
static
ats_void_type ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type myiveqlst_cons_04917_intknd (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) ;
static
ats_int_type auxeq_04570_intknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4) ;
static
ats_int_type myintvec_inspect_neq_04783_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_ptr_type auxneq_04588_intknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ref_type arg5) ;
static
ats_int_type loop_112 (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_int_type list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) ;
static
ats_void_type loop_114 (ats_ref_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_void_type loop_116 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type list_vt_split_at_01505_ats_ptr_type (ats_ref_type arg0, ats_int_type arg1) ;
static
ats_int_type auxmain_conj_04928_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5, ats_ref_type arg6) ;
static
ats_ptr_type myivlst_mark_04912_intknd (ats_ptr_type arg0) ;
static
ats_ptr_type myiveqlst_mark_04918_intknd (ats_ptr_type arg0) ;
static
ats_ptr_type myivlst_unmark_04913_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_ptr_type myiveqlst_unmark_04919_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_void_type icnstr_free_04777_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_void_type icnstrlst_free_04778_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_ptr_type revapp_125 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) ;
static
ats_int_type auxmain_disj_04929_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5, ats_ref_type arg6, ats_ptr_type arg7) ;
static
ats_int_type auxmain_04927_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5) ;
static
ats_void_type myivlst_free_04911_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_void_type myiveqlst_free_04915_intknd (ats_ptr_type arg0, ats_int_type arg1) ;
static
ats_int_type icnstrlst_solve_04799_intknd (ats_ptr_type arg0, ats_ref_type arg1, ats_int_type arg2) ;
static
ats_int_type auxsolve_05049_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) ;
static
ats_void_type loop_130 (ats_ptr_type arg0) ;
static
ats_void_type list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) ;
static
ats_void_type prlst_132 (ats_ptr_type arg0) ;
static
ats_void_type prerr_c3nstr_if_134 (ats_uint_type arg0, ats_ptr_type arg1) ;
static
ats_void_type loop_141 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) ;
static
ats_ptr_type list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) ;

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

/* function implementations */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 1882(line=66, offs=18) -- 1917(line=66, offs=53)
*/
ATSstaticdec()
ats_void_type
prerr_FILENAME_02435_ () {
/* local vardec */
// ATSlocal_void (tmp0) ;

__ats_lab_prerr_FILENAME_02435_:
/* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_constraint3_solve")) ;
return /* (tmp0) */ ;
} /* end of [prerr_FILENAME_02435_] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 2166(line=78, offs=24) -- 2184(line=78, offs=42)
*/
ATSstaticdec()
intknd
myint_make_int_04721_intknd (ats_int_type arg0) {
/* local vardec */
ATSlocal (intknd, tmp1) ;

__ats_lab_myint_make_int_04721_intknd:
tmp1 = ats_castfn_mac(intknd, arg0) ;
return (tmp1) ;
} /* end of [myint_make_int_04721_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 2223(line=81, offs=27) -- 2290(line=83, offs=4)
*/
ATSstaticdec()
intknd
myint_make_intinf_04722_intknd (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (intknd, tmp2) ;
ATSlocal (ats_int_type, tmp3) ;

__ats_lab_myint_make_intinf_04722_intknd:
tmp3 = _2tmp_2ATS_2dPostiats_2src_2pats_intinf_2esats__intinf_get_int (arg0) ;
tmp2 = ats_castfn_mac(intknd, tmp3) ;
return (tmp2) ;
} /* end of [myint_make_intinf_04722_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 2377(line=88, offs=20) -- 2437(line=90, offs=4)
*/
ATSstaticdec()
ats_void_type
myint_free_04723_intknd (intknd arg0) {
/* local vardec */
// ATSlocal_void (tmp4) ;

__ats_lab_myint_free_04723_intknd:
return /* (tmp4) */ ;
} /* end of [myint_free_04723_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 2491(line=92, offs=30) -- 2514(line=92, offs=53)
*/
ATSstaticdec()
intknd
myint_copy_04724_intknd (intknd arg0) {
/* local vardec */
ATSlocal (intknd, tmp5) ;

__ats_lab_myint_copy_04724_intknd:
tmp5 = ats_castfn_mac(intknd, arg0) ;
return (tmp5) ;
} /* end of [myint_copy_04724_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 2566(line=97, offs=19) -- 2586(line=97, offs=39)
*/
ATSstaticdec()
intknd
neg_myint_04725_intknd (intknd arg0) {
/* local vardec */
ATSlocal (intknd, tmp6) ;
ATSlocal (ats_int_type, tmp7) ;

__ats_lab_neg_myint_04725_intknd:
tmp7 = atspre_neg_int (ats_castfn_mac(ats_int_type, arg0)) ;
tmp6 = ats_castfn_mac(intknd, tmp7) ;
return (tmp6) ;
} /* end of [neg_myint_04725_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 2617(line=99, offs=20) -- 2637(line=99, offs=40)
*/
ATSstaticdec()
intknd
neg1_myint_04726_intknd (intknd arg0) {
/* local vardec */
ATSlocal (intknd, tmp8) ;
ATSlocal (ats_int_type, tmp9) ;

__ats_lab_neg1_myint_04726_intknd:
tmp9 = atspre_neg_int (ats_castfn_mac(ats_int_type, arg0)) ;
tmp8 = ats_castfn_mac(intknd, tmp9) ;
return (tmp8) ;
} /* end of [neg1_myint_04726_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 2693(line=104, offs=23) -- 2719(line=104, offs=49)
*/
ATSstaticdec()
intknd
add_myint_int_04727_intknd (intknd arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (intknd, tmp10) ;
ATSlocal (ats_int_type, tmp11) ;

__ats_lab_add_myint_int_04727_intknd:
tmp11 = atspre_add_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ;
tmp10 = ats_castfn_mac(intknd, tmp11) ;
return (tmp10) ;
} /* end of [add_myint_int_04727_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 2781(line=110, offs=3) -- 2841(line=112, offs=2)
*/
ATSstaticdec()
intknd
add01_myint_myint_04728_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (intknd, tmp12) ;
ATSlocal (ats_int_type, tmp13) ;

__ats_lab_add01_myint_myint_04728_intknd:
tmp13 = atspre_add_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
tmp12 = ats_castfn_mac(intknd, tmp13) ;
return (tmp12) ;
} /* end of [add01_myint_myint_04728_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 2917(line=116, offs=3) -- 2977(line=118, offs=2)
*/
ATSstaticdec()
intknd
sub01_myint_myint_04729_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (intknd, tmp14) ;
ATSlocal (ats_int_type, tmp15) ;

__ats_lab_sub01_myint_myint_04729_intknd:
tmp15 = atspre_sub_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
tmp14 = ats_castfn_mac(intknd, tmp15) ;
return (tmp14) ;
} /* end of [sub01_myint_myint_04729_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 3072(line=123, offs=27) -- 3105(line=123, offs=60)
*/
ATSstaticdec()
intknd
mul01_myint_myint_04730_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (intknd, tmp16) ;
ATSlocal (ats_int_type, tmp17) ;

__ats_lab_mul01_myint_myint_04730_intknd:
tmp17 = atspre_mul_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
tmp16 = ats_castfn_mac(intknd, tmp17) ;
return (tmp16) ;
} /* end of [mul01_myint_myint_04730_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 3143(line=125, offs=27) -- 3176(line=125, offs=60)
*/
ATSstaticdec()
intknd
mul10_myint_myint_04731_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (intknd, tmp18) ;
ATSlocal (ats_int_type, tmp19) ;

__ats_lab_mul10_myint_myint_04731_intknd:
tmp19 = atspre_mul_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
tmp18 = ats_castfn_mac(intknd, tmp19) ;
return (tmp18) ;
} /* end of [mul10_myint_myint_04731_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 3214(line=127, offs=27) -- 3247(line=127, offs=60)
*/
ATSstaticdec()
intknd
mul11_myint_myint_04732_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (intknd, tmp20) ;
ATSlocal (ats_int_type, tmp21) ;

__ats_lab_mul11_myint_myint_04732_intknd:
tmp21 = atspre_mul_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
tmp20 = ats_castfn_mac(intknd, tmp21) ;
return (tmp20) ;
} /* end of [mul11_myint_myint_04732_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 3309(line=133, offs=3) -- 3369(line=135, offs=2)
*/
ATSstaticdec()
intknd
div01_myint_myint_04733_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (intknd, tmp22) ;
ATSlocal (ats_int_type, tmp23) ;

__ats_lab_div01_myint_myint_04733_intknd:
tmp23 = atspre_div_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
tmp22 = ats_castfn_mac(intknd, tmp23) ;
return (tmp22) ;
} /* end of [div01_myint_myint_04733_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 3445(line=138, offs=27) -- 3478(line=138, offs=60)
*/
ATSstaticdec()
intknd
div11_myint_myint_04734_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (intknd, tmp24) ;
ATSlocal (ats_int_type, tmp25) ;

__ats_lab_div11_myint_myint_04734_intknd:
tmp25 = atspre_div_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
tmp24 = ats_castfn_mac(intknd, tmp25) ;
return (tmp24) ;
} /* end of [div11_myint_myint_04734_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 3520(line=142, offs=3) -- 3580(line=144, offs=2)
*/
ATSstaticdec()
intknd
ediv01_myint_myint_04735_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (intknd, tmp26) ;
ATSlocal (ats_int_type, tmp27) ;

__ats_lab_ediv01_myint_myint_04735_intknd:
tmp27 = atspre_div_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
tmp26 = ats_castfn_mac(intknd, tmp27) ;
return (tmp26) ;
} /* end of [ediv01_myint_myint_04735_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 3678(line=150, offs=3) -- 3746(line=152, offs=2)
*/
ATSstaticdec()
intknd
mod01_myint_myint_04736_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (intknd, tmp28) ;
ATSlocal (ats_int_type, tmp29) ;

__ats_lab_mod01_myint_myint_04736_intknd:
tmp29 = atspre_mod_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
tmp28 = ats_castfn_mac(intknd, tmp29) ;
return (tmp28) ;
} /* end of [mod01_myint_myint_04736_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 3822(line=155, offs=27) -- 3857(line=155, offs=62)
*/
ATSstaticdec()
intknd
mod11_myint_myint_04737_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (intknd, tmp30) ;
ATSlocal (ats_int_type, tmp31) ;

__ats_lab_mod11_myint_myint_04737_intknd:
tmp31 = atspre_mod_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
tmp30 = ats_castfn_mac(intknd, tmp31) ;
return (tmp30) ;
} /* end of [mod11_myint_myint_04737_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 3919(line=161, offs=3) -- 3987(line=163, offs=2)
*/
ATSstaticdec()
intknd
gcd01_myint_myint_04738_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (intknd, tmp32) ;
ATSlocal (ats_int_type, tmp33) ;

__ats_lab_gcd01_myint_myint_04738_intknd:
tmp33 = atspre_gcd_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
tmp32 = ats_castfn_mac(intknd, tmp33) ;
return (tmp32) ;
} /* end of [gcd01_myint_myint_04738_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 4077(line=167, offs=32) -- 4098(line=167, offs=53)
*/
ATSstaticdec()
ats_bool_type
lt_myint_int_04739_intknd (intknd arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp34) ;

__ats_lab_lt_myint_int_04739_intknd:
tmp34 = atspre_lt_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ;
return (tmp34) ;
} /* end of [lt_myint_int_04739_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 4131(line=168, offs=33) -- 4153(line=168, offs=55)
*/
ATSstaticdec()
ats_bool_type
lte_myint_int_04740_intknd (intknd arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp35) ;

__ats_lab_lte_myint_int_04740_intknd:
tmp35 = atspre_lte_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ;
return (tmp35) ;
} /* end of [lte_myint_int_04740_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 4185(line=169, offs=32) -- 4206(line=169, offs=53)
*/
ATSstaticdec()
ats_bool_type
gt_myint_int_04741_intknd (intknd arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp36) ;

__ats_lab_gt_myint_int_04741_intknd:
tmp36 = atspre_gt_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ;
return (tmp36) ;
} /* end of [gt_myint_int_04741_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 4239(line=170, offs=33) -- 4261(line=170, offs=55)
*/
ATSstaticdec()
ats_bool_type
gte_myint_int_04742_intknd (intknd arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp37) ;

__ats_lab_gte_myint_int_04742_intknd:
tmp37 = atspre_gte_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ;
return (tmp37) ;
} /* end of [gte_myint_int_04742_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 4293(line=171, offs=32) -- 4314(line=171, offs=53)
*/
ATSstaticdec()
ats_bool_type
eq_myint_int_04743_intknd (intknd arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp38) ;

__ats_lab_eq_myint_int_04743_intknd:
tmp38 = atspre_eq_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ;
return (tmp38) ;
} /* end of [eq_myint_int_04743_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 4347(line=172, offs=33) -- 4369(line=172, offs=55)
*/
ATSstaticdec()
ats_bool_type
neq_myint_int_04744_intknd (intknd arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp39) ;

__ats_lab_neq_myint_int_04744_intknd:
tmp39 = atspre_neq_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ;
return (tmp39) ;
} /* end of [neq_myint_int_04744_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 4406(line=174, offs=27) -- 4436(line=174, offs=57)
*/
ATSstaticdec()
ats_int_type
compare_myint_int_04745_intknd (intknd arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_int_type, tmp40) ;

__ats_lab_compare_myint_int_04745_intknd:
tmp40 = atspre_compare_int_int (ats_castfn_mac(ats_int_type, arg0), arg1) ;
return (tmp40) ;
} /* end of [compare_myint_int_04745_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 4492(line=178, offs=34) -- 4521(line=178, offs=63)
*/
ATSstaticdec()
ats_bool_type
lt_myint_myint_04746_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp41) ;

__ats_lab_lt_myint_myint_04746_intknd:
tmp41 = atspre_lt_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
return (tmp41) ;
} /* end of [lt_myint_myint_04746_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 4557(line=179, offs=35) -- 4587(line=179, offs=65)
*/
ATSstaticdec()
ats_bool_type
lte_myint_myint_04747_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp42) ;

__ats_lab_lte_myint_myint_04747_intknd:
tmp42 = atspre_lte_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
return (tmp42) ;
} /* end of [lte_myint_myint_04747_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 4622(line=180, offs=34) -- 4651(line=180, offs=63)
*/
ATSstaticdec()
ats_bool_type
gt_myint_myint_04748_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp43) ;

__ats_lab_gt_myint_myint_04748_intknd:
tmp43 = atspre_gt_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
return (tmp43) ;
} /* end of [gt_myint_myint_04748_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 4687(line=181, offs=35) -- 4717(line=181, offs=65)
*/
ATSstaticdec()
ats_bool_type
gte_myint_myint_04749_intknd (intknd arg0, intknd arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp44) ;

__ats_lab_gte_myint_myint_04749_intknd:
tmp44 = atspre_gte_int_int (ats_castfn_mac(ats_int_type, arg0), ats_castfn_mac(ats_int_type, arg1)) ;
return (tmp44) ;
} /* end of [gte_myint_myint_04749_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 4772(line=186, offs=22) -- 4809(line=186, offs=59)
*/
ATSstaticdec()
ats_void_type
fprint_myint_04718_intknd (ats_ptr_type arg0, intknd arg1) {
/* local vardec */
// ATSlocal_void (tmp45) ;

__ats_lab_fprint_myint_04718_intknd:
/* tmp45 = */ atspre_fprint_int (arg0, ats_castfn_mac(ats_int_type, arg1)) ;
return /* (tmp45) */ ;
} /* end of [fprint_myint_04718_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_myint_int.dats: 4870(line=192, offs=7) -- 5181(line=204, offs=4)
*/
ATSstaticdec()
ats_void_type
myintvec_free_04765_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp46) ;
ATSlocal (ats_ptr_type, tmp47) ;

__ats_lab_myintvec_free_04765_intknd:
tmp47 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ;
/* tmp46 = */ atspre_array_ptr_free (tmp47) ;
return /* (tmp46) */ ;
} /* end of [myintvec_free_04765_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_errmsg.dats: 2997(line=122, offs=20) -- 3058(line=125, offs=2)
*/
ATSstaticdec()
ats_void_type
prerr_warning3_loc_02446_ (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp52) ;
// ATSlocal_void (tmp53) ;

__ats_lab_prerr_warning3_loc_02446_:
/* tmp53 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location (arg0) ;
/* tmp52 = */ atspre_prerr_string (ATSstrcst(": warning(3)")) ;
return /* (tmp52) */ ;
} /* end of [prerr_warning3_loc_02446_] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 15120(line=664, offs=1) -- 15566(line=682, offs=6)
*/
ATSstaticdec()
ats_void_type
loop_38 (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp84) ;
ATSlocal (ats_bool_type, tmp85) ;
ATSlocal (intknd, tmp86) ;
ATSlocal (ats_ptr_type, tmp87) ;
ATSlocal (ats_int_type, tmp88) ;

__ats_lab_loop_38:
tmp85 = atspre_igt (arg1, 0) ;
if (tmp85) {
tmp86 = myint_make_int_04721_intknd (0) ;
ats_ptrget_mac(intknd, arg0) = tmp86 ;
tmp87 = atspre_padd_size (arg0, sizeof(intknd)) ;
tmp88 = atspre_isub (arg1, 1) ;
arg0 = tmp87 ;
arg1 = tmp88 ;
goto __ats_lab_loop_38 ; // tail call
} else {
/* empty */
} /* end of [if] */
return /* (tmp84) */ ;
} /* end of [loop_38] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/array.dats: 23852(line=868, offs=17) -- 23896(line=868, offs=61)
*/
ATSstaticdec()
ats_ptr_type
array_ptr_alloc_01563_intknd (ats_size_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp93) ;

__ats_lab_array_ptr_alloc_01563_intknd:
tmp93 = atspre_array_ptr_alloc_tsz (arg0, sizeof(intknd)) ;
return (tmp93) ;
} /* end of [array_ptr_alloc_01563_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 14751(line=645, offs=7) -- 14994(line=653, offs=4)
*/
ATSstaticdec()
ats_ptr_type
myintvec0_make_04762_intknd (ats_int_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp90) ;
ATSlocal (ats_size_type, tmp91) ;
ATSlocal (ats_ptr_type, tmp92) ;
ATSlocal (ats_ptr_type, tmp94) ;

__ats_lab_myintvec0_make_04762_intknd:
tmp91 = atspre_size1_of_int1 (arg0) ;
tmp92 = array_ptr_alloc_01563_intknd (tmp91) ;
tmp94 = ats_selsin_mac(tmp92, atslab_2) ;
tmp90 = ats_castfn_mac(ats_ptr_type, tmp94) ;
return (tmp90) ;
} /* end of [myintvec0_make_04762_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 15077(line=659, offs=7) -- 15780(line=692, offs=4)
*/
ATSstaticdec()
ats_ptr_type
myintvec_make_04764_intknd (ats_int_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp83) ;
ATSlocal (ats_ptr_type, tmp89) ;
ATSlocal (ats_ptr_type, tmp95) ;
// ATSlocal_void (tmp96) ;

__ats_lab_myintvec_make_04764_intknd:
tmp89 = myintvec0_make_04762_intknd (arg0) ;
tmp95 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp89), atslab_1) ;
/* tmp96 = */ loop_38 (tmp95, arg0) ;
tmp83 = tmp89 ;
return (tmp83) ;
} /* end of [myintvec_make_04764_intknd] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/array.dats: 10493(line=364, offs=19) -- 10557(line=365, offs=51)
*/
ATSstaticdec()
ats_ptr_type
array_ptr_takeout_01586_intknd (ats_ptr_type arg0, ats_size_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp106) ;

__ats_lab_array_ptr_takeout_01586_intknd:
tmp106 = atspre_array_ptr_takeout_tsz (arg0, arg1, sizeof(intknd)) ;
return (tmp106) ;
} /* end of [array_ptr_takeout_01586_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_icnstr.dats: 4159(line=168, offs=3) -- 4633(line=186, offs=4)
*/
ATSstaticdec()
ats_void_type
myintvec_addby_cffvar_04963_intknd (ats_ptr_type arg0, ats_ptr_type arg1, intknd arg2, ats_ptr_type arg3, ats_ref_type arg4) {
/* local vardec */
// ATSlocal_void (tmp100) ;
ATSlocal (ats_int_type, tmp101) ;
ATSlocal (ats_bool_type, tmp102) ;
ATSlocal (ats_ptr_type, tmp103) ;
ATSlocal (ats_size_type, tmp104) ;
ATSlocal (ats_ptr_type, tmp105) ;
ATSlocal (ats_ptr_type, tmp107) ;
ATSlocal (intknd, tmp108) ;
ATSlocal (intknd, tmp109) ;
// ATSlocal_void (tmp110) ;
ATSlocal (ats_int_type, tmp111) ;

__ats_lab_myintvec_addby_cffvar_04963_intknd:
tmp101 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2varindmap_find (arg1, arg3) ;
tmp102 = atspre_igt (tmp101, 0) ;
if (tmp102) {
tmp103 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ;
tmp104 = atspre_size1_of_int1 (tmp101) ;
tmp105 = array_ptr_takeout_01586_intknd (tmp103, tmp104) ;
tmp107 = ats_selsin_mac(tmp105, atslab_2) ;
tmp109 = ats_ptrget_mac(intknd, tmp107) ;
tmp108 = add01_myint_myint_04728_intknd (tmp109, arg2) ;
ats_ptrget_mac(intknd, tmp107) = tmp108 ;
/* tmp100 = */ myint_free_04723_intknd (arg2) ;
} else {
/* tmp110 = */ myint_free_04723_intknd (arg2) ;
tmp111 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg4), 1) ;
ats_ptrget_mac(ats_int_type, arg4) = tmp111 ;
} /* end of [if] */
return /* (tmp100) */ ;
} /* end of [myintvec_addby_cffvar_04963_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 3019(line=107, offs=3) -- 3293(line=116, offs=4)
*/
ATSstaticdec()
ats_void_type
myintvec_add_int_04760_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp113) ;
ATSlocal (ats_ptr_type, tmp114) ;
ATSlocal (intknd, tmp115) ;
ATSlocal (intknd, tmp116) ;

__ats_lab_myintvec_add_int_04760_intknd:
tmp114 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ;
tmp116 = ats_ptrget_mac(intknd, tmp114) ;
tmp115 = add_myint_int_04727_intknd (tmp116, arg1) ;
ats_ptrget_mac(intknd, tmp114) = tmp115 ;
return /* (tmp113) */ ;
} /* end of [myintvec_add_int_04760_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 5305(line=194, offs=18) -- 5568(line=202, offs=41)
*/
ATSstaticdec()
ats_ptr_type
icnstrlst_negate_04776_intknd (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp130) ;
ATSlocal (ats_ptr_type, tmp131) ;
ATSlocal (ats_ptr_type, tmp132) ;
ATSlocal (ats_ptr_type, tmp133) ;
ATSlocal (ats_ptr_type, tmp134) ;
ATSlocal (ats_ptr_type, tmp135) ;
ATSlocal (ats_ptr_type, tmp136) ;

__ats_lab_icnstrlst_negate_04776_intknd:
do {
/* branch: __ats_lab_11 */
__ats_lab_11_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_12_0 ; }
__ats_lab_11_1:
tmp131 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ;
tmp132 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ;
tmp134 = ats_ptrget_mac(ats_ptr_type, tmp131) ;
tmp133 = icnstr_negate_04775_intknd (tmp134) ;
ats_ptrget_mac(ats_ptr_type, tmp131) = tmp133 ;
tmp136 = ats_ptrget_mac(ats_ptr_type, tmp132) ;
tmp135 = icnstrlst_negate_04776_intknd (tmp136) ;
ats_ptrget_mac(ats_ptr_type, tmp132) = tmp135 ;
tmp130 = arg0 ;
break ;

/* branch: __ats_lab_12 */
__ats_lab_12_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_12_1:
tmp130 = arg0 ;
break ;
} while (0) ;
return (tmp130) ;
} /* end of [icnstrlst_negate_04776_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 4962(line=182, offs=15) -- 5247(line=190, offs=32)
*/
ATSstaticdec()
ats_ptr_type
icnstr_negate_04775_intknd (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp121) ;
ATSlocal (ats_ptr_type, tmp122) ;
ATSlocal (ats_int_type, tmp123) ;
ATSlocal (ats_int_type, tmp124) ;
ATSlocal (ats_ptr_type, tmp125) ;
ATSlocal (ats_ptr_type, tmp126) ;
ATSlocal (ats_int_type, tmp127) ;
ATSlocal (ats_int_type, tmp128) ;
ATSlocal (ats_ptr_type, tmp129) ;
ATSlocal (ats_ptr_type, tmp137) ;

__ats_lab_icnstr_negate_04775_intknd:
do {
/* branch: __ats_lab_9 */
__ats_lab_9_0:
if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_10_0 ; }
__ats_lab_9_1:
tmp122 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ;
tmp124 = ats_ptrget_mac(ats_int_type, tmp122) ;
tmp123 = atspre_ineg (tmp124) ;
ats_ptrget_mac(ats_int_type, tmp122) = tmp123 ;
tmp121 = arg0 ;
break ;

/* branch: __ats_lab_10 */
__ats_lab_10_0:
if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_13_0 ; }
__ats_lab_10_1:
tmp125 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ;
tmp126 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ;
tmp128 = ats_ptrget_mac(ats_int_type, tmp125) ;
tmp127 = atspre_isub (1, tmp128) ;
ats_ptrget_mac(ats_int_type, tmp125) = tmp127 ;
tmp137 = ats_ptrget_mac(ats_ptr_type, tmp126) ;
tmp129 = icnstrlst_negate_04776_intknd (tmp137) ;
ats_ptrget_mac(ats_ptr_type, tmp126) = tmp129 ;
tmp121 = arg0 ;
break ;

/* branch: __ats_lab_13 */
__ats_lab_13_0:
// if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_13_1:
tmp121 = arg0 ;
break ;
} while (0) ;
return (tmp121) ;
} /* end of [icnstr_negate_04775_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 15952(line=704, offs=5) -- 16565(line=722, offs=6)
*/
ATSstaticdec()
ats_void_type
loop_48 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
// ATSlocal_void (tmp164) ;
ATSlocal (ats_bool_type, tmp165) ;
ATSlocal (intknd, tmp166) ;
ATSlocal (intknd, tmp167) ;
ATSlocal (ats_ptr_type, tmp168) ;
ATSlocal (ats_ptr_type, tmp169) ;
ATSlocal (ats_int_type, tmp170) ;

__ats_lab_loop_48:
tmp165 = atspre_igt (arg2, 0) ;
if (tmp165) {
tmp167 = ats_ptrget_mac(intknd, arg0) ;
tmp166 = myint_copy_04724_intknd (tmp167) ;
ats_ptrget_mac(intknd, arg1) = tmp166 ;
tmp168 = atspre_padd_size (arg0, sizeof(intknd)) ;
tmp169 = atspre_padd_size (arg1, sizeof(intknd)) ;
tmp170 = atspre_isub (arg2, 1) ;
arg0 = tmp168 ;
arg1 = tmp169 ;
arg2 = tmp170 ;
goto __ats_lab_loop_48 ; // tail call
} else {
/* empty */
} /* end of [if] */
return /* (tmp164) */ ;
} /* end of [loop_48] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 15861(line=698, offs=6) -- 16845(line=732, offs=4)
*/
ATSstaticdec()
ats_ptr_type
myintvec_copy_04788_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp163) ;
ATSlocal (ats_ptr_type, tmp171) ;
ATSlocal (ats_ptr_type, tmp172) ;
ATSlocal (ats_ptr_type, tmp173) ;
// ATSlocal_void (tmp174) ;

__ats_lab_myintvec_copy_04788_intknd:
tmp171 = myintvec0_make_04762_intknd (arg1) ;
tmp172 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ;
tmp173 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp171), atslab_1) ;
/* tmp174 = */ loop_48 (tmp172, tmp173, arg1) ;
tmp163 = tmp171 ;
return (tmp163) ;
} /* end of [myintvec_copy_04788_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 4520(line=164, offs=16) -- 4861(line=176, offs=8)
*/
ATSstaticdec()
ats_ptr_type
icnstrlst_copy_04774_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
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) ;

__ats_lab_icnstrlst_copy_04774_intknd:
do {
/* branch: __ats_lab_19 */
__ats_lab_19_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; }
__ats_lab_19_1:
tmp180 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ;
tmp181 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ;
tmp183 = ats_ptrget_mac(ats_ptr_type, tmp180) ;
tmp182 = icnstr_copy_04773_intknd (tmp183, arg1) ;
tmp185 = ats_ptrget_mac(ats_ptr_type, tmp181) ;
tmp184 = icnstrlst_copy_04774_intknd (tmp185, arg1) ;
tmp179 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp179, atslab_0, tmp182) ;
ats_selptrset_mac(anairiats_sum_4, tmp179, atslab_1, tmp184) ;
break ;

/* branch: __ats_lab_20 */
__ats_lab_20_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_20_1:
tmp179 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp179) ;
} /* end of [icnstrlst_copy_04774_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 4081(line=148, offs=13) -- 4466(line=160, offs=55)
*/
ATSstaticdec()
ats_ptr_type
icnstr_copy_04773_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp159) ;
ATSlocal (ats_int_type, tmp160) ;
ATSlocal (ats_ptr_type, tmp161) ;
ATSlocal (ats_ptr_type, tmp162) ;
ATSlocal (ats_ptr_type, tmp175) ;
ATSlocal (ats_int_type, tmp176) ;
ATSlocal (ats_ptr_type, tmp177) ;
ATSlocal (ats_ptr_type, tmp178) ;
ATSlocal (ats_ptr_type, tmp186) ;
ATSlocal (ats_ptr_type, tmp187) ;
ATSlocal (ats_ptr_type, tmp188) ;

__ats_lab_icnstr_copy_04773_intknd:
do {
/* branch: __ats_lab_17 */
__ats_lab_17_0:
if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_18_0 ; }
__ats_lab_17_1:
tmp160 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ;
tmp161 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ;
tmp175 = ats_ptrget_mac(ats_ptr_type, tmp161) ;
tmp162 = myintvec_copy_04788_intknd (tmp175, arg1) ;
tmp159 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp159)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_5, tmp159, atslab_0, tmp160) ;
ats_selptrset_mac(anairiats_sum_5, tmp159, atslab_1, tmp162) ;
break ;

/* branch: __ats_lab_18 */
__ats_lab_18_0:
if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_21_0 ; }
__ats_lab_18_1:
tmp176 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_0) ;
tmp177 = &ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ;
tmp186 = ats_ptrget_mac(ats_ptr_type, tmp177) ;
tmp178 = icnstrlst_copy_04774_intknd (tmp186, arg1) ;
tmp159 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp159)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp159, atslab_0, tmp176) ;
ats_selptrset_mac(anairiats_sum_5, tmp159, atslab_1, tmp178) ;
break ;

/* branch: __ats_lab_21 */
__ats_lab_21_0:
// if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_21_1:
tmp187 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ;
tmp188 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ;
tmp159 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp159)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_7, tmp159, atslab_0, tmp187) ;
ats_selptrset_mac(anairiats_sum_7, tmp159, atslab_1, tmp188) ;
break ;
} while (0) ;
return (tmp159) ;
} /* end of [icnstr_copy_04773_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_icnstr.dats: 3802(line=157, offs=3) -- 4087(line=164, offs=2)
*/
ATSstaticdec()
ats_void_type
myintvec_addby_const_04962_intknd (ats_ptr_type arg0, intknd arg1) {
/* local vardec */
// ATSlocal_void (tmp234) ;
ATSlocal (ats_ptr_type, tmp235) ;
ATSlocal (intknd, tmp236) ;
ATSlocal (intknd, tmp237) ;

__ats_lab_myintvec_addby_const_04962_intknd:
tmp235 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ;
tmp237 = ats_ptrget_mac(intknd, tmp235) ;
tmp236 = add01_myint_myint_04728_intknd (tmp237, arg1) ;
ats_ptrget_mac(intknd, tmp235) = tmp236 ;
/* tmp234 = */ myint_free_04723_intknd (arg1) ;
return /* (tmp234) */ ;
} /* end of [myintvec_addby_const_04962_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_icnstr.dats: 8460(line=326, offs=11) -- 9350(line=361, offs=4)
*/
ATSstaticdec()
ats_void_type
myintvec_addby_s3exp_05002_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) {
/* local vardec */
// ATSlocal_void (tmp252) ;
ATSlocal (ats_ptr_type, tmp253) ;
ATSlocal (intknd, tmp254) ;
ATSlocal (intknd, tmp255) ;
ATSlocal (ats_ptr_type, tmp256) ;
ATSlocal (ats_ptr_type, tmp257) ;
ATSlocal (ats_ptr_type, tmp258) ;
ATSlocal (intknd, tmp259) ;
ATSlocal (intknd, tmp260) ;
ATSlocal (ats_int_type, tmp261) ;
ATSlocal (ats_int_type, tmp262) ;

__ats_lab_myintvec_addby_s3exp_05002_intknd:
do {
/* branch: __ats_lab_33 */
__ats_lab_33_0:
if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_34_0 ; }
__ats_lab_33_1:
tmp253 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ;
tmp254 = myint_make_int_04721_intknd (1) ;
/* tmp252 = */ myintvec_addby_cffvar_04963_intknd (arg0, arg1, tmp254, tmp253, arg3) ;
break ;

/* branch: __ats_lab_34 */
__ats_lab_34_0:
if (((ats_sum_ptr_type)arg2)->tag != 3) { goto __ats_lab_35_0 ; }
__ats_lab_34_1:
tmp255 = myint_make_int_04721_intknd (1) ;
/* tmp252 = */ myintvec_addby_const_04962_intknd (arg0, tmp255) ;
break ;

/* branch: __ats_lab_35 */
__ats_lab_35_0:
if (((ats_sum_ptr_type)arg2)->tag != 14) { goto __ats_lab_39_0 ; }
__ats_lab_35_1:
tmp256 = ats_caselptrlab_mac(anairiats_sum_7, arg2, atslab_0) ;
tmp257 = ats_caselptrlab_mac(anairiats_sum_7, arg2, atslab_1) ;
do {
/* branch: __ats_lab_36 */
__ats_lab_36_0:
if (((ats_sum_ptr_type)tmp257)->tag != 0) { goto __ats_lab_37_0 ; }
__ats_lab_36_1:
tmp258 = ats_caselptrlab_mac(anairiats_sum_6, tmp257, atslab_0) ;
tmp259 = myint_make_intinf_04722_intknd (tmp256) ;
/* tmp252 = */ myintvec_addby_cffvar_04963_intknd (arg0, arg1, tmp259, tmp258, arg3) ;
break ;

/* branch: __ats_lab_37 */
__ats_lab_37_0:
if (((ats_sum_ptr_type)tmp257)->tag != 3) { goto __ats_lab_38_0 ; }
__ats_lab_37_1:
tmp260 = myint_make_intinf_04722_intknd (tmp256) ;
/* tmp252 = */ myintvec_addby_const_04962_intknd (arg0, tmp260) ;
break ;

/* branch: __ats_lab_38 */
__ats_lab_38_0:
__ats_lab_38_1:
tmp261 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ;
ats_ptrget_mac(ats_int_type, arg3) = tmp261 ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_39 */
__ats_lab_39_0:
__ats_lab_39_1:
tmp262 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ;
ats_ptrget_mac(ats_int_type, arg3) = tmp262 ;
break ;
} while (0) ;
return /* (tmp252) */ ;
} /* end of [myintvec_addby_s3exp_05002_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_icnstr.dats: 9432(line=365, offs=11) -- 9766(line=377, offs=22)
*/
ATSstaticdec()
ats_void_type
myintvec_addby_s3explst_05015_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ref_type arg3) {
/* local vardec */
// ATSlocal_void (tmp248) ;
ATSlocal (ats_ptr_type, tmp249) ;
ATSlocal (ats_ptr_type, tmp250) ;
// ATSlocal_void (tmp251) ;

__ats_lab_myintvec_addby_s3explst_05015_intknd:
do {
/* branch: __ats_lab_32 */
__ats_lab_32_0:
if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_40_0 ; }
__ats_lab_32_1:
tmp249 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_0) ;
tmp250 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_1) ;
/* tmp251 = */ myintvec_addby_s3exp_05002_intknd (arg0, arg1, tmp249, arg3) ;
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = tmp250 ;
arg3 = arg3 ;
goto __ats_lab_myintvec_addby_s3explst_05015_intknd ; // tail call
break ;

/* branch: __ats_lab_40 */
__ats_lab_40_0:
// if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_40_1:
break ;
} while (0) ;
return /* (tmp248) */ ;
} /* end of [myintvec_addby_s3explst_05015_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_icnstr.dats: 9859(line=384, offs=1) -- 10793(line=421, offs=4)
*/
ATSstaticdec()
ats_ptr_type
s3exp2myintvec_04875_intknd (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ref_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp226) ;
ATSlocal (ats_ptr_type, tmp227) ;
ATSlocal (ats_int_type, tmp228) ;
ATSlocal (ats_ptr_type, tmp229) ;
ATSlocal (intknd, tmp230) ;
// ATSlocal_void (tmp231) ;
ATSlocal (intknd, tmp232) ;
// ATSlocal_void (tmp233) ;
ATSlocal (ats_ptr_type, tmp238) ;
ATSlocal (ats_ptr_type, tmp239) ;
ATSlocal (ats_ptr_type, tmp240) ;
ATSlocal (intknd, tmp241) ;
// ATSlocal_void (tmp242) ;
ATSlocal (intknd, tmp243) ;
// ATSlocal_void (tmp244) ;
ATSlocal (ats_int_type, tmp245) ;
ATSlocal (ats_ptr_type, tmp246) ;
// ATSlocal_void (tmp247) ;
ATSlocal (ats_int_type, tmp263) ;

__ats_lab_s3exp2myintvec_04875_intknd:
tmp228 = atspre_iadd (arg1, 1) ;
tmp227 = myintvec_make_04764_intknd (tmp228) ;
do {
/* branch: __ats_lab_24 */
__ats_lab_24_0:
if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_25_0 ; }
__ats_lab_24_1:
tmp229 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ;
tmp230 = myint_make_int_04721_intknd (1) ;
/* tmp231 = */ myintvec_addby_cffvar_04963_intknd (tmp227, arg0, tmp230, tmp229, arg3) ;
tmp226 = tmp227 ;
break ;

/* branch: __ats_lab_25 */
__ats_lab_25_0:
if (((ats_sum_ptr_type)arg2)->tag != 2) { goto __ats_lab_26_0 ; }
__ats_lab_25_1:
tmp226 = tmp227 ;
break ;

/* branch: __ats_lab_26 */
__ats_lab_26_0:
if (((ats_sum_ptr_type)arg2)->tag != 3) { goto __ats_lab_27_0 ; }
__ats_lab_26_1:
tmp232 = myint_make_int_04721_intknd (1) ;
/* tmp233 = */ myintvec_addby_const_04962_intknd (tmp227, tmp232) ;
tmp226 = tmp227 ;
break ;

/* branch: __ats_lab_27 */
__ats_lab_27_0:
if (((ats_sum_ptr_type)arg2)->tag != 14) { goto __ats_lab_31_0 ; }
__ats_lab_27_1:
tmp238 = ats_caselptrlab_mac(anairiats_sum_7, arg2, atslab_0) ;
tmp239 = ats_caselptrlab_mac(anairiats_sum_7, arg2, atslab_1) ;
do {
/* branch: __ats_lab_28 */
__ats_lab_28_0:
if (((ats_sum_ptr_type)tmp239)->tag != 0) { goto __ats_lab_29_0 ; }
__ats_lab_28_1:
tmp240 = ats_caselptrlab_mac(anairiats_sum_6, tmp239, atslab_0) ;
tmp241 = myint_make_intinf_04722_intknd (tmp238) ;
/* tmp242 = */ myintvec_addby_cffvar_04963_intknd (tmp227, arg0, tmp241, tmp240, arg3) ;
tmp226 = tmp227 ;
break ;

/* branch: __ats_lab_29 */
__ats_lab_29_0:
if (((ats_sum_ptr_type)tmp239)->tag != 3) { goto __ats_lab_30_0 ; }
__ats_lab_29_1:
tmp243 = myint_make_intinf_04722_intknd (tmp238) ;
/* tmp244 = */ myintvec_addby_const_04962_intknd (tmp227, tmp243) ;
tmp226 = tmp227 ;
break ;

/* branch: __ats_lab_30 */
__ats_lab_30_0:
__ats_lab_30_1:
tmp245 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ;
ats_ptrget_mac(ats_int_type, arg3) = tmp245 ;
tmp226 = tmp227 ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_31 */
__ats_lab_31_0:
if (((ats_sum_ptr_type)arg2)->tag != 15) { goto __ats_lab_41_0 ; }
__ats_lab_31_1:
tmp246 = ats_caselptrlab_mac(anairiats_sum_6, arg2, atslab_0) ;
/* tmp247 = */ myintvec_addby_s3explst_05015_intknd (tmp227, arg0, tmp246, arg3) ;
tmp226 = tmp227 ;
break ;

/* branch: __ats_lab_41 */
__ats_lab_41_0:
__ats_lab_41_1:
tmp263 = atspre_add_int_int (ats_ptrget_mac(ats_int_type, arg3), 1) ;
ats_ptrget_mac(ats_int_type, arg3) = tmp263 ;
tmp226 = tmp227 ;
break ;
} while (0) ;
return (tmp226) ;
} /* end of [s3exp2myintvec_04875_intknd] */

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

__ats_lab_prerr_error3_loc_02441_:
/* tmp270 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location (arg0) ;
/* tmp269 = */ atspre_prerr_string (ATSstrcst(": error(3)")) ;
return /* (tmp269) */ ;
} /* end of [prerr_error3_loc_02441_] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_icnstr.dats: 4722(line=192, offs=7) -- 8361(line=318, offs=4)
*/
ATSstaticdec()
ats_ptr_type
s3exp2icnstr_04874_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp76) ;
ATSlocal (ats_bool_type, tmp77) ;
ATSlocal (ats_ptr_type, tmp78) ;
ATSlocal (ats_ptr_type, tmp79) ;
ATSlocal (ats_ptr_type, tmp80) ;
ATSlocal (ats_int_type, tmp81) ;
ATSlocal (ats_ptr_type, tmp82) ;
ATSlocal (intknd, tmp97) ;
ATSlocal (ats_int_type, tmp98) ;
// ATSlocal_void (tmp99) ;
// ATSlocal_void (tmp112) ;
ATSlocal (ats_bool_type, tmp117) ;
// ATSlocal_void (tmp118) ;
ATSlocal (ats_ptr_type, tmp119) ;
ATSlocal (ats_ptr_type, tmp120) ;
ATSlocal (ats_ptr_type, tmp138) ;
ATSlocal (ats_ptr_type, tmp139) ;
ATSlocal (ats_ptr_type, tmp140) ;
ATSlocal (ats_ptr_type, tmp141) ;
ATSlocal (ats_ptr_type, tmp142) ;
ATSlocal (ats_ptr_type, tmp143) ;
ATSlocal (ats_ptr_type, tmp144) ;
ATSlocal (ats_ptr_type, tmp145) ;
ATSlocal (ats_ptr_type, tmp146) ;
ATSlocal (ats_ptr_type, tmp147) ;
ATSlocal (ats_ptr_type, tmp148) ;
ATSlocal (ats_ptr_type, tmp149) ;
ATSlocal (ats_ptr_type, tmp150) ;
ATSlocal (ats_ptr_type, tmp151) ;
ATSlocal (ats_ptr_type, tmp152) ;
ATSlocal (ats_ptr_type, tmp153) ;
ATSlocal (ats_int_type, tmp154) ;
ATSlocal (ats_ptr_type, tmp155) ;
ATSlocal (ats_ptr_type, tmp156) ;
ATSlocal (ats_ptr_type, tmp157) ;
ATSlocal (ats_ptr_type, tmp158) ;
ATSlocal (ats_ptr_type, tmp189) ;
ATSlocal (ats_ptr_type, tmp190) ;
ATSlocal (ats_ptr_type, tmp191) ;
ATSlocal (ats_ptr_type, tmp192) ;
ATSlocal (ats_ptr_type, tmp193) ;
ATSlocal (ats_ptr_type, tmp194) ;
ATSlocal (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_int_type, tmp204) ;
ATSlocal (ats_ptr_type, tmp205) ;
ATSlocal (ats_ptr_type, tmp206) ;
ATSlocal (ats_ptr_type, tmp207) ;
ATSlocal (ats_ptr_type, tmp208) ;
ATSlocal (ats_ptr_type, 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_int_type, tmp222) ;
ATSlocal (ats_ptr_type, tmp223) ;
ATSlocal (ats_int_type, tmp224) ;
ATSlocal (ats_ptr_type, tmp225) ;
ATSlocal (ats_bool_type, tmp264) ;
// ATSlocal_void (tmp265) ;
ATSlocal (ats_int_type, tmp266) ;
ATSlocal (ats_ptr_type, tmp267) ;
// ATSlocal_void (tmp268) ;
// ATSlocal_void (tmp271) ;
// ATSlocal_void (tmp272) ;
// ATSlocal_void (tmp273) ;
// ATSlocal_void (tmp274) ;

__ats_lab_s3exp2icnstr_04874_intknd:
do {
/* branch: __ats_lab_6 */
__ats_lab_6_0:
if (((ats_sum_ptr_type)arg3)->tag != 4) { goto __ats_lab_7_0 ; }
__ats_lab_6_1:
tmp77 = ats_caselptrlab_mac(anairiats_sum_3, arg3, atslab_0) ;
if (tmp77) {
tmp78 = (ats_sum_ptr_type)0 ;
tmp76 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp76)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_0, 0) ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_1, tmp78) ;
} else {
tmp79 = (ats_sum_ptr_type)0 ;
tmp76 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp76)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_0, 1) ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_1, tmp79) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_7 */
__ats_lab_7_0:
if (((ats_sum_ptr_type)arg3)->tag != 5) { goto __ats_lab_8_0 ; }
__ats_lab_7_1:
tmp80 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ;
tmp81 = atspre_iadd (arg2, 1) ;
tmp82 = myintvec_make_04764_intknd (tmp81) ;
tmp97 = myint_make_int_04721_intknd (1) ;
/* ats_int_type tmp98 ; */
tmp98 = 0 ;
/* tmp99 = */ myintvec_addby_cffvar_04963_intknd (tmp82, arg1, tmp97, tmp80, (&tmp98)) ;
/* tmp112 = */ myintvec_add_int_04760_intknd (tmp82, -1) ;
tmp117 = atspre_gt_int_int (tmp98, 0) ;
if (tmp117) {
/* tmp118 = */ myintvec_free_04765_intknd (tmp82, tmp81) ;
tmp76 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp76)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_7, tmp76, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_7, tmp76, atslab_1, ats_castfn_mac(ats_ptr_type, arg3)) ;
} else {
tmp76 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp76)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_0, 1) ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_1, tmp82) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_8 */
__ats_lab_8_0:
if (((ats_sum_ptr_type)arg3)->tag != 6) { goto __ats_lab_14_0 ; }
__ats_lab_8_1:
tmp119 = ats_caselptrlab_mac(anairiats_sum_6, arg3, atslab_0) ;
tmp120 = s3exp2icnstr_04874_intknd (arg0, arg1, arg2, tmp119) ;
tmp76 = icnstr_negate_04775_intknd (tmp120) ;
break ;

/* branch: __ats_lab_14 */
__ats_lab_14_0:
if (((ats_sum_ptr_type)arg3)->tag != 7) { goto __ats_lab_15_0 ; }
__ats_lab_14_1:
tmp138 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_0) ;
tmp139 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_1) ;
tmp140 = s3exp2icnstr_04874_intknd (arg0, arg1, arg2, tmp138) ;
tmp141 = s3exp2icnstr_04874_intknd (arg0, arg1, arg2, tmp139) ;
tmp144 = (ats_sum_ptr_type)0 ;
tmp143 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp143, atslab_0, tmp141) ;
ats_selptrset_mac(anairiats_sum_4, tmp143, atslab_1, tmp144) ;
tmp142 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp142, atslab_0, tmp140) ;
ats_selptrset_mac(anairiats_sum_4, tmp142, atslab_1, tmp143) ;
tmp76 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp76)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_0, 1) ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_1, tmp142) ;
break ;

/* branch: __ats_lab_15 */
__ats_lab_15_0:
if (((ats_sum_ptr_type)arg3)->tag != 8) { goto __ats_lab_16_0 ; }
__ats_lab_15_1:
tmp145 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_0) ;
tmp146 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_1) ;
tmp147 = s3exp2icnstr_04874_intknd (arg0, arg1, arg2, tmp145) ;
tmp148 = s3exp2icnstr_04874_intknd (arg0, arg1, arg2, tmp146) ;
tmp151 = (ats_sum_ptr_type)0 ;
tmp150 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp150, atslab_0, tmp148) ;
ats_selptrset_mac(anairiats_sum_4, tmp150, atslab_1, tmp151) ;
tmp149 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp149, atslab_0, tmp147) ;
ats_selptrset_mac(anairiats_sum_4, tmp149, atslab_1, tmp150) ;
tmp76 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp76)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_0, 0) ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_1, tmp149) ;
break ;

/* branch: __ats_lab_16 */
__ats_lab_16_0:
if (((ats_sum_ptr_type)arg3)->tag != 9) { goto __ats_lab_22_0 ; }
__ats_lab_16_1:
tmp152 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_0) ;
tmp153 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_1) ;
tmp154 = atspre_iadd (arg2, 1) ;
tmp155 = s3exp2icnstr_04874_intknd (arg0, arg1, arg2, tmp152) ;
tmp156 = s3exp2icnstr_04874_intknd (arg0, arg1, arg2, tmp153) ;
tmp158 = icnstr_copy_04773_intknd (tmp155, tmp154) ;
tmp157 = icnstr_negate_04775_intknd (tmp158) ;
tmp190 = icnstr_copy_04773_intknd (tmp156, tmp154) ;
tmp189 = icnstr_negate_04775_intknd (tmp190) ;
tmp194 = (ats_sum_ptr_type)0 ;
tmp193 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp193, atslab_0, tmp156) ;
ats_selptrset_mac(anairiats_sum_4, tmp193, atslab_1, tmp194) ;
tmp192 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp192, atslab_0, tmp155) ;
ats_selptrset_mac(anairiats_sum_4, tmp192, atslab_1, tmp193) ;
tmp191 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp191)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp191, atslab_0, 0) ;
ats_selptrset_mac(anairiats_sum_5, tmp191, atslab_1, tmp192) ;
tmp198 = (ats_sum_ptr_type)0 ;
tmp197 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp197, atslab_0, tmp189) ;
ats_selptrset_mac(anairiats_sum_4, tmp197, atslab_1, tmp198) ;
tmp196 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp196, atslab_0, tmp157) ;
ats_selptrset_mac(anairiats_sum_4, tmp196, atslab_1, tmp197) ;
tmp195 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp195)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp195, atslab_0, 0) ;
ats_selptrset_mac(anairiats_sum_5, tmp195, atslab_1, tmp196) ;
tmp201 = (ats_sum_ptr_type)0 ;
tmp200 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp200, atslab_0, tmp195) ;
ats_selptrset_mac(anairiats_sum_4, tmp200, atslab_1, tmp201) ;
tmp199 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp199, atslab_0, tmp191) ;
ats_selptrset_mac(anairiats_sum_4, tmp199, atslab_1, tmp200) ;
tmp76 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp76)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_0, 1) ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_1, tmp199) ;
break ;

/* branch: __ats_lab_22 */
__ats_lab_22_0:
if (((ats_sum_ptr_type)arg3)->tag != 10) { goto __ats_lab_23_0 ; }
__ats_lab_22_1:
tmp202 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_0) ;
tmp203 = ats_caselptrlab_mac(anairiats_sum_7, arg3, atslab_1) ;
tmp204 = atspre_iadd (arg2, 1) ;
tmp205 = s3exp2icnstr_04874_intknd (arg0, arg1, arg2, tmp202) ;
tmp206 = s3exp2icnstr_04874_intknd (arg0, arg1, arg2, tmp203) ;
tmp208 = icnstr_copy_04773_intknd (tmp205, tmp204) ;
tmp207 = icnstr_negate_04775_intknd (tmp208) ;
tmp210 = icnstr_copy_04773_intknd (tmp206, tmp204) ;
tmp209 = icnstr_negate_04775_intknd (tmp210) ;
tmp214 = (ats_sum_ptr_type)0 ;
tmp213 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp213, atslab_0, tmp209) ;
ats_selptrset_mac(anairiats_sum_4, tmp213, atslab_1, tmp214) ;
tmp212 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp212, atslab_0, tmp205) ;
ats_selptrset_mac(anairiats_sum_4, tmp212, atslab_1, tmp213) ;
tmp211 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp211)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp211, atslab_0, 0) ;
ats_selptrset_mac(anairiats_sum_5, tmp211, atslab_1, tmp212) ;
tmp218 = (ats_sum_ptr_type)0 ;
tmp217 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp217, atslab_0, tmp206) ;
ats_selptrset_mac(anairiats_sum_4, tmp217, atslab_1, tmp218) ;
tmp216 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp216, atslab_0, tmp207) ;
ats_selptrset_mac(anairiats_sum_4, tmp216, atslab_1, tmp217) ;
tmp215 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp215)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp215, atslab_0, 0) ;
ats_selptrset_mac(anairiats_sum_5, tmp215, atslab_1, tmp216) ;
tmp221 = (ats_sum_ptr_type)0 ;
tmp220 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp220, atslab_0, tmp215) ;
ats_selptrset_mac(anairiats_sum_4, tmp220, atslab_1, tmp221) ;
tmp219 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp219, atslab_0, tmp211) ;
ats_selptrset_mac(anairiats_sum_4, tmp219, atslab_1, tmp220) ;
tmp76 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp76)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_0, 1) ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_1, tmp219) ;
break ;

/* branch: __ats_lab_23 */
__ats_lab_23_0:
if (((ats_sum_ptr_type)arg3)->tag != 11) { goto __ats_lab_42_0 ; }
__ats_lab_23_1:
tmp222 = ats_caselptrlab_mac(anairiats_sum_5, arg3, atslab_0) ;
tmp223 = ats_caselptrlab_mac(anairiats_sum_5, arg3, atslab_1) ;
/* ats_int_type tmp224 ; */
tmp224 = 0 ;
tmp225 = s3exp2myintvec_04875_intknd (arg1, arg2, tmp223, (&tmp224)) ;
tmp264 = atspre_gt_int_int (tmp224, 0) ;
if (tmp264) {
tmp266 = atspre_iadd (arg2, 1) ;
/* tmp265 = */ myintvec_free_04765_intknd (tmp225, tmp266) ;
tmp76 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp76)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_7, tmp76, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_7, tmp76, atslab_1, ats_castfn_mac(ats_ptr_type, arg3)) ;
} else {
tmp76 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp76)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_0, tmp222) ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_1, tmp225) ;
} /* end of [if] */
break ;

/* branch: __ats_lab_42 */
__ats_lab_42_0:
if (((ats_sum_ptr_type)arg3)->tag != 12) { goto __ats_lab_43_0 ; }
__ats_lab_42_1:
tmp267 = (ats_sum_ptr_type)0 ;
tmp76 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp76)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_0, 0) ;
ats_selptrset_mac(anairiats_sum_5, tmp76, atslab_1, tmp267) ;
break ;

/* branch: __ats_lab_43 */
__ats_lab_43_0:
__ats_lab_43_1:
/* tmp268 = */ prerr_error3_loc_02441_ (arg0) ;
/* tmp271 = */ atspre_prerr_string (ATSstrcst(": this constraint cannot be s3exp2icnstr-handled: s3e0 = ")) ;
/* tmp272 = */ _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__prerr_s3exp (arg3) ;
/* tmp273 = */ atspre_prerr_newline () ;
/* tmp274 = */ _2tmp_2ATS_2dPostiats_2src_2pats_error_2esats__abort () ;
tmp76 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp76)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_7, tmp76, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_7, tmp76, atslab_1, ats_castfn_mac(ats_ptr_type, arg3)) ;
break ;
} while (0) ;
return (tmp76) ;
} /* end of [s3exp2icnstr_04874_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 3429(line=144, offs=1) -- 3981(line=168, offs=4)
*/
ATSstaticdec()
ats_ptr_type
loop_35 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp72) ;
ATSlocal (ats_ptr_type, tmp73) ;
ATSlocal (ats_ptr_type, tmp74) ;
ATSlocal (ats_ptr_type, tmp75) ;
ATSlocal (ats_ptr_type, tmp275) ;

__ats_lab_loop_35:
do {
/* branch: __ats_lab_4 */
__ats_lab_4_0:
if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; }
__ats_lab_4_1:
tmp72 = arg4 ;
break ;

/* branch: __ats_lab_5 */
__ats_lab_5_0:
// if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_5_1:
tmp73 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_0) ;
tmp74 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_1) ;
tmp75 = s3exp2icnstr_04874_intknd (arg0, arg1, arg2, tmp73) ;
tmp275 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp275, atslab_0, tmp75) ;
ats_selptrset_mac(anairiats_sum_4, tmp275, atslab_1, arg4) ;
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = tmp74 ;
arg4 = tmp275 ;
goto __ats_lab_loop_35 ; // tail call
break ;
} while (0) ;
return (tmp72) ;
} /* end of [loop_35] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 2594(line=104, offs=7) -- 2980(line=117, offs=29)
*/
ATSstaticdec()
ats_ptr_type
loop_56 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp282) ;
ATSlocal (ats_ptr_type, tmp283) ;
ATSlocal (ats_ptr_type, tmp284) ;
ATSlocal (ats_int_type, tmp285) ;
ATSlocal (ats_ptr_type, tmp286) ;
ATSlocal (ats_bool_type, tmp287) ;

__ats_lab_loop_56:
do {
/* branch: __ats_lab_44 */
__ats_lab_44_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_45_0 ; }
__ats_lab_44_1:
tmp283 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ;
tmp284 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ;
ATS_FREE(arg0) ;
tmp285 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2varindmap_find (arg1, tmp283) ;
tmp287 = atspre_igt (tmp285, 0) ;
if (tmp287) {
tmp286 = _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__indexset_add (arg2, tmp285) ;
} else {
tmp286 = arg2 ;
} /* end of [if] */
arg0 = tmp284 ;
arg1 = arg1 ;
arg2 = tmp286 ;
goto __ats_lab_loop_56 ; // tail call
break ;

/* branch: __ats_lab_45 */
__ats_lab_45_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_45_1:
tmp282 = arg2 ;
break ;
} while (0) ;
return (tmp282) ;
} /* end of [loop_56] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 2461(line=99, offs=11) -- 3120(line=123, offs=4)
*/
ATSstaticdec()
ats_ptr_type
indexset_make_s3exp_05036_ats_abs_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp281) ;
ATSlocal (ats_ptr_type, tmp288) ;
ATSlocal (ats_ptr_type, tmp289) ;
ATSlocal (ats_ptr_type, tmp290) ;

__ats_lab_indexset_make_s3exp_05036_ats_abs_type:
tmp288 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3exp_get_fvs (arg1) ;
tmp289 = _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2varset_vt_listize_free (tmp288) ;
tmp290 = _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__indexset_nil () ;
tmp281 = loop_56 (tmp289, arg0, tmp290) ;
return (tmp281) ;
} /* end of [indexset_make_s3exp_05036_ats_abs_type] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 18069(line=882, offs=5) -- 18503(line=900, offs=4)
*/
ATSstaticdec()
ats_ptr_type
loop_62 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp312) ;
ATSlocal (ats_ptr_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) ;

__ats_lab_loop_62:
do {
/* branch: __ats_lab_49 */
__ats_lab_49_0:
if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_50_0 ; }
__ats_lab_49_1:
tmp312 = arg0 ;
break ;

/* branch: __ats_lab_50 */
__ats_lab_50_0:
if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_51_0 ; }
__ats_lab_50_1:
tmp313 = &ats_caselptrlab_mac(anairiats_sum_8, arg1, atslab_4) ;
tmp314 = ats_ptrget_mac(ats_ptr_type, tmp313) ;
tmp315 = ats_castfn_mac(ats_ptr_type, arg1) ;
arg0 = tmp315 ;
arg1 = tmp314 ;
goto __ats_lab_loop_62 ; // tail call
break ;

/* branch: __ats_lab_51 */
__ats_lab_51_0:
// if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_51_1:
tmp316 = &ats_caselptrlab_mac(anairiats_sum_7, arg1, atslab_1) ;
tmp317 = ats_ptrget_mac(ats_ptr_type, tmp316) ;
tmp318 = ats_castfn_mac(ats_ptr_type, arg1) ;
arg0 = tmp318 ;
arg1 = tmp317 ;
goto __ats_lab_loop_62 ; // tail call
break ;
} while (0) ;
return (tmp312) ;
} /* end of [loop_62] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 18014(line=878, offs=6) -- 18548(line=904, offs=4)
*/
ATSstaticdec()
ats_ptr_type
myiveqlst_get_last_04920_intknd (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp311) ;

__ats_lab_myiveqlst_get_last_04920_intknd:
tmp311 = loop_62 (atspre_null_ptr, arg0) ;
return (tmp311) ;
} /* end of [myiveqlst_get_last_04920_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 2670(line=94, offs=3) -- 2932(line=101, offs=2)
*/
ATSstaticdec()
ats_int_type
myintvec_compare_at_04761_intknd (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_int_type, tmp330) ;
ATSlocal (ats_ptr_type, tmp331) ;
ATSlocal (ats_size_type, tmp332) ;
ATSlocal (ats_ptr_type, tmp333) ;
ATSlocal (ats_ptr_type, tmp334) ;
ATSlocal (intknd, tmp335) ;

__ats_lab_myintvec_compare_at_04761_intknd:
tmp331 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ;
tmp332 = atspre_size1_of_int1 (arg1) ;
tmp333 = array_ptr_takeout_01586_intknd (tmp331, tmp332) ;
tmp334 = ats_selsin_mac(tmp333, atslab_2) ;
tmp335 = ats_ptrget_mac(intknd, tmp334) ;
tmp330 = compare_myint_int_04745_intknd (tmp335, arg2) ;
return (tmp330) ;
} /* end of [myintvec_compare_at_04761_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 2339(line=81, offs=3) -- 2584(line=88, offs=2)
*/
ATSstaticdec()
intknd
myintvec_get_at_04758_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (intknd, tmp338) ;
ATSlocal (ats_ptr_type, tmp339) ;
ATSlocal (ats_size_type, tmp340) ;
ATSlocal (ats_ptr_type, tmp341) ;
ATSlocal (ats_ptr_type, tmp342) ;
ATSlocal (intknd, tmp343) ;

__ats_lab_myintvec_get_at_04758_intknd:
tmp339 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ;
tmp340 = atspre_size1_of_int1 (arg1) ;
tmp341 = array_ptr_takeout_01586_intknd (tmp339, tmp340) ;
tmp342 = ats_selsin_mac(tmp341, atslab_2) ;
tmp343 = ats_ptrget_mac(intknd, tmp342) ;
tmp338 = myint_copy_04724_intknd (tmp343) ;
return (tmp338) ;
} /* end of [myintvec_get_at_04758_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 18874(line=831, offs=5) -- 19225(line=844, offs=6)
*/
ATSstaticdec()
ats_void_type
loop_68 (intknd arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
// ATSlocal_void (tmp350) ;
ATSlocal (ats_bool_type, tmp351) ;
ATSlocal (intknd, tmp352) ;
ATSlocal (intknd, tmp353) ;
ATSlocal (ats_ptr_type, tmp354) ;
ATSlocal (ats_int_type, tmp355) ;

__ats_lab_loop_68:
tmp351 = atspre_igt (arg2, 0) ;
if (tmp351) {
tmp353 = ats_ptrget_mac(intknd, arg1) ;
tmp352 = mul10_myint_myint_04731_intknd (arg0, tmp353) ;
ats_ptrget_mac(intknd, arg1) = tmp352 ;
tmp354 = atspre_padd_size (arg1, sizeof(intknd)) ;
tmp355 = atspre_isub (arg2, 1) ;
arg0 = arg0 ;
arg1 = tmp354 ;
arg2 = tmp355 ;
goto __ats_lab_loop_68 ; // tail call
} else {
/* empty */
} /* end of [if] */
return /* (tmp350) */ ;
} /* end of [loop_68] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 18746(line=822, offs=7) -- 19380(line=851, offs=4)
*/
ATSstaticdec()
ats_void_type
myintvec_scale_04792_intknd (intknd arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
// ATSlocal_void (tmp349) ;
ATSlocal (ats_ptr_type, tmp356) ;

__ats_lab_myintvec_scale_04792_intknd:
tmp356 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ;
/* tmp349 = */ loop_68 (arg0, tmp356, arg2) ;
return /* (tmp349) */ ;
} /* end of [myintvec_scale_04792_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 21591(line=948, offs=5) -- 22169(line=966, offs=6)
*/
ATSstaticdec()
ats_void_type
loop_70 (ats_ptr_type arg0, intknd arg1, ats_ptr_type arg2, ats_int_type arg3) {
/* local vardec */
// ATSlocal_void (tmp359) ;
ATSlocal (ats_bool_type, tmp360) ;
ATSlocal (intknd, tmp361) ;
ATSlocal (intknd, tmp362) ;
ATSlocal (intknd, tmp363) ;
ATSlocal (intknd, tmp364) ;
// ATSlocal_void (tmp365) ;
ATSlocal (ats_ptr_type, tmp366) ;
ATSlocal (ats_ptr_type, tmp367) ;
ATSlocal (ats_int_type, tmp368) ;

__ats_lab_loop_70:
tmp360 = atspre_igt (arg3, 0) ;
if (tmp360) {
tmp362 = ats_ptrget_mac(intknd, arg2) ;
tmp361 = mul11_myint_myint_04732_intknd (arg1, tmp362) ;
tmp364 = ats_ptrget_mac(intknd, arg0) ;
tmp363 = add01_myint_myint_04728_intknd (tmp364, tmp361) ;
ats_ptrget_mac(intknd, arg0) = tmp363 ;
/* tmp365 = */ myint_free_04723_intknd (tmp361) ;
tmp366 = atspre_padd_size (arg0, sizeof(intknd)) ;
tmp367 = atspre_padd_size (arg2, sizeof(intknd)) ;
tmp368 = atspre_isub (arg3, 1) ;
arg0 = tmp366 ;
arg1 = arg1 ;
arg2 = tmp367 ;
arg3 = tmp368 ;
goto __ats_lab_loop_70 ; // tail call
} else {
/* empty */
} /* end of [if] */
return /* (tmp359) */ ;
} /* end of [loop_70] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 21425(line=937, offs=7) -- 22433(line=975, offs=4)
*/
ATSstaticdec()
ats_void_type
myintvec_addby_cff_04795_intknd (ats_ptr_type arg0, intknd arg1, ats_ptr_type arg2, ats_int_type arg3) {
/* local vardec */
// ATSlocal_void (tmp358) ;
ATSlocal (ats_ptr_type, tmp369) ;
ATSlocal (ats_ptr_type, tmp370) ;

__ats_lab_myintvec_addby_cff_04795_intknd:
tmp369 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ;
tmp370 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg2), atslab_1) ;
/* tmp358 = */ loop_70 (tmp369, arg1, tmp370, arg3) ;
return /* (tmp358) */ ;
} /* end of [myintvec_addby_cff_04795_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 11181(line=515, offs=3) -- 12112(line=549, offs=4)
*/
ATSstaticdec()
ats_void_type
myintvec_elimeq_at_04909_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) {
/* local vardec */
// ATSlocal_void (tmp328) ;
ATSlocal (ats_int_type, tmp329) ;
ATSlocal (ats_bool_type, tmp336) ;
ATSlocal (intknd, tmp337) ;
ATSlocal (intknd, tmp344) ;
ATSlocal (ats_int_type, tmp345) ;
ATSlocal (ats_bool_type, tmp346) ;
ATSlocal (intknd, tmp347) ;
// ATSlocal_void (tmp348) ;
// ATSlocal_void (tmp357) ;
// ATSlocal_void (tmp371) ;
// ATSlocal_void (tmp372) ;
ATSlocal (intknd, tmp373) ;
// ATSlocal_void (tmp374) ;
// ATSlocal_void (tmp375) ;
// ATSlocal_void (tmp376) ;
// ATSlocal_void (tmp377) ;

__ats_lab_myintvec_elimeq_at_04909_intknd:
tmp329 = myintvec_compare_at_04761_intknd (arg0, arg3, 0) ;
tmp336 = atspre_neq_int_int (tmp329, 0) ;
if (tmp336) {
/* intknd tmp337 ; */
tmp337 = myintvec_get_at_04758_intknd (arg0, arg3) ;
/* intknd tmp344 ; */
tmp344 = myintvec_get_at_04758_intknd (arg1, arg3) ;
tmp345 = compare_myint_int_04745_intknd (tmp344, 0) ;
tmp346 = atspre_gte_int_int (tmp345, 0) ;
if (tmp346) {
tmp347 = neg_myint_04725_intknd (tmp337) ;
tmp337 = tmp347 ;
/* tmp348 = */ myintvec_scale_04792_intknd (tmp344, arg0, arg2) ;
/* tmp357 = */ myintvec_addby_cff_04795_intknd (arg0, tmp337, arg1, arg2) ;
/* tmp371 = */ myint_free_04723_intknd (tmp337) ;
/* tmp372 = */ myint_free_04723_intknd (tmp344) ;
} else {
tmp373 = neg_myint_04725_intknd (tmp344) ;
tmp344 = tmp373 ;
/* tmp374 = */ myintvec_scale_04792_intknd (tmp344, arg0, arg2) ;
/* tmp375 = */ myintvec_addby_cff_04795_intknd (arg0, tmp337, arg1, arg2) ;
/* tmp376 = */ myint_free_04723_intknd (tmp337) ;
/* tmp377 = */ myint_free_04723_intknd (tmp344) ;
} /* end of [if] */
} else {
/* empty */
} /* end of [if] */
return /* (tmp328) */ ;
} /* end of [myintvec_elimeq_at_04909_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 18828(line=921, offs=32) -- 19936(line=971, offs=4)
*/
ATSstaticdec()
ats_void_type
myintvec_elimeqlst_rev_04523_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) {
/* local vardec */
// ATSlocal_void (tmp320) ;
ATSlocal (ats_ptr_type, tmp321) ;
ATSlocal (ats_int_type, tmp322) ;
ATSlocal (ats_ptr_type, tmp323) ;
ATSlocal (ats_int_type, tmp324) ;
ATSlocal (ats_ptr_type, tmp325) ;
// ATSlocal_void (tmp326) ;
ATSlocal (ats_bool_type, tmp327) ;
ATSlocal (ats_ptr_type, tmp378) ;
ATSlocal (ats_ptr_type, tmp379) ;
ATSlocal (ats_bool_type, tmp380) ;
ATSlocal (ats_ptr_type, tmp381) ;

__ats_lab_myintvec_elimeqlst_rev_04523_intknd:
do {
/* branch: __ats_lab_52 */
__ats_lab_52_0:
if (((ats_sum_ptr_type)arg2)->tag != 0) { goto __ats_lab_53_0 ; }
__ats_lab_52_1:
tmp321 = atspre_null_ptr ;
break ;

/* branch: __ats_lab_53 */
__ats_lab_53_0:
if (((ats_sum_ptr_type)arg2)->tag != 1) { goto __ats_lab_54_0 ; }
__ats_lab_53_1:
tmp322 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_0) ;
tmp323 = &ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_1) ;
tmp324 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_2) ;
tmp325 = ats_caselptrlab_mac(anairiats_sum_8, arg2, atslab_3) ;
tmp327 = atspre_lte_int_int (arg0, tmp322) ;
if (tmp327) {
tmp378 = ats_ptrget_mac(ats_ptr_type, tmp323) ;
/* tmp326 = */ myintvec_elimeq_at_04909_intknd (arg1, tmp378, arg3, tmp324) ;
} else {
/* empty */
} /* end of [if] */
tmp321 = tmp325 ;
break ;

/* branch: __ats_lab_54 */
__ats_lab_54_0:
// if (((ats_sum_ptr_type)arg2)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_54_1:
tmp379 = ats_caselptrlab_mac(anairiats_sum_7, arg2, atslab_0) ;
tmp321 = tmp379 ;
break ;
} while (0) ;
tmp380 = atspre_pgt (tmp321, atspre_null_ptr) ;
if (tmp380) {
tmp381 = ats_castfn_mac(ats_ptr_type, tmp321) ;
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = tmp381 ;
arg3 = arg3 ;
goto __ats_lab_myintvec_elimeqlst_rev_04523_intknd ; // tail call
} else {
/* empty */
} /* end of [if] */
return /* (tmp320) */ ;
} /* end of [myintvec_elimeqlst_rev_04523_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 20033(line=977, offs=7) -- 20438(line=991, offs=4)
*/
ATSstaticdec()
ats_void_type
myintvec_elimeqlst_04921_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) {
/* local vardec */
// ATSlocal_void (tmp309) ;
ATSlocal (ats_ptr_type, tmp310) ;
ATSlocal (ats_bool_type, tmp319) ;

__ats_lab_myintvec_elimeqlst_04921_intknd:
tmp310 = myiveqlst_get_last_04920_intknd (arg2) ;
tmp319 = atspre_pgt (tmp310, atspre_null_ptr) ;
if (tmp319) {
/* tmp309 = */ myintvec_elimeqlst_rev_04523_intknd (arg0, arg1, ats_castfn_mac(ats_ptr_type, tmp310), arg3) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp309) */ ;
} /* end of [myintvec_elimeqlst_04921_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 6610(line=256, offs=1) -- 7074(line=277, offs=4)
*/
ATSstaticdec()
ats_bool_type
loop_73 (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_bool_type, tmp385) ;
ATSlocal (ats_bool_type, tmp386) ;
ATSlocal (ats_bool_type, tmp387) ;
ATSlocal (intknd, tmp388) ;
ATSlocal (ats_ptr_type, tmp389) ;
ATSlocal (ats_int_type, tmp390) ;

__ats_lab_loop_73:
tmp386 = atspre_igt (arg1, 0) ;
if (tmp386) {
tmp388 = ats_ptrget_mac(intknd, arg0) ;
tmp387 = eq_myint_int_04743_intknd (tmp388, 0) ;
if (tmp387) {
tmp389 = atspre_padd_size (arg0, sizeof(intknd)) ;
tmp390 = atspre_isub (arg1, 1) ;
arg0 = tmp389 ;
arg1 = tmp390 ;
goto __ats_lab_loop_73 ; // tail call
} else {
tmp385 = ats_false_bool ;
} /* end of [if] */
} else {
tmp385 = ats_true_bool ;
} /* end of [if] */
return (tmp385) ;
} /* end of [loop_73] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 6558(line=251, offs=6) -- 7907(line=310, offs=4)
*/
ATSstaticdec()
ats_int_type
myintvec_inspect_04779_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_int_type, tmp384) ;
ATSlocal (ats_ptr_type, tmp391) ;
ATSlocal (ats_bool_type, tmp392) ;
ATSlocal (ats_ptr_type, tmp393) ;
ATSlocal (ats_int_type, tmp394) ;
ATSlocal (ats_int_type, tmp395) ;
ATSlocal (ats_bool_type, tmp397) ;
ATSlocal (intknd, tmp398) ;
ATSlocal (ats_bool_type, tmp399) ;
ATSlocal (intknd, tmp400) ;
ATSlocal (ats_bool_type, tmp401) ;
ATSlocal (intknd, tmp402) ;
ATSlocal (ats_bool_type, tmp403) ;
ATSlocal (intknd, tmp404) ;

__ats_lab_myintvec_inspect_04779_intknd:
tmp391 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ;
tmp393 = atspre_padd_size (tmp391, sizeof(intknd)) ;
tmp394 = atspre_isub (arg2, 1) ;
tmp392 = loop_73 (tmp393, tmp394) ;
/* ats_int_type tmp395 ; */
tmp395 = 0 ;
if (tmp392) {
do {
/* branch: __ats_lab_55 */
__ats_lab_55_0:
if (arg0 != 2) { goto __ats_lab_56_0 ; }
__ats_lab_55_1:
tmp398 = ats_ptrget_mac(intknd, tmp391) ;
tmp397 = gte_myint_int_04742_intknd (tmp398, 0) ;
if (tmp397) {
tmp395 = 1 ;
} else {
tmp395 = -1 ;
} /* end of [if] */
break ;

/* branch: __ats_lab_56 */
__ats_lab_56_0:
if (arg0 != -2) { goto __ats_lab_57_0 ; }
__ats_lab_56_1:
tmp400 = ats_ptrget_mac(intknd, tmp391) ;
tmp399 = lt_myint_int_04739_intknd (tmp400, 0) ;
if (tmp399) {
tmp395 = 1 ;
} else {
tmp395 = -1 ;
} /* end of [if] */
break ;

/* branch: __ats_lab_57 */
__ats_lab_57_0:
if (arg0 != 1) { goto __ats_lab_58_0 ; }
__ats_lab_57_1:
tmp402 = ats_ptrget_mac(intknd, tmp391) ;
tmp401 = eq_myint_int_04743_intknd (tmp402, 0) ;
if (tmp401) {
tmp395 = 1 ;
} else {
tmp395 = -1 ;
} /* end of [if] */
break ;

/* branch: __ats_lab_58 */
__ats_lab_58_0:
if (arg0 != -1) { goto __ats_lab_59_0 ; }
__ats_lab_58_1:
tmp404 = ats_ptrget_mac(intknd, tmp391) ;
tmp403 = neq_myint_int_04744_intknd (tmp404, 0) ;
if (tmp403) {
tmp395 = 1 ;
} else {
tmp395 = -1 ;
} /* end of [if] */
break ;

/* branch: __ats_lab_59 */
__ats_lab_59_0:
__ats_lab_59_1:
break ;
} while (0) ;
} else {
/* empty */
} /* end of [if] */
tmp384 = tmp395 ;
return (tmp384) ;
} /* end of [myintvec_inspect_04779_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 7973(line=314, offs=3) -- 8017(line=314, offs=47)
*/
ATSstaticdec()
ats_int_type
myintvec_inspect_lt_04780_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_int_type, tmp383) ;

__ats_lab_myintvec_inspect_lt_04780_intknd:
tmp383 = myintvec_inspect_04779_intknd (-2, arg0, arg1) ;
return (tmp383) ;
} /* end of [myintvec_inspect_lt_04780_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 18175(line=790, offs=1) -- 18502(line=804, offs=6)
*/
ATSstaticdec()
ats_void_type
loop_75 (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp408) ;
ATSlocal (ats_bool_type, tmp409) ;
ATSlocal (intknd, tmp410) ;
ATSlocal (intknd, tmp411) ;
ATSlocal (ats_ptr_type, tmp412) ;
ATSlocal (ats_int_type, tmp413) ;

__ats_lab_loop_75:
tmp409 = atspre_igt (arg1, 0) ;
if (tmp409) {
tmp411 = ats_ptrget_mac(intknd, arg0) ;
tmp410 = neg_myint_04725_intknd (tmp411) ;
ats_ptrget_mac(intknd, arg0) = tmp410 ;
tmp412 = atspre_padd_size (arg0, sizeof(intknd)) ;
tmp413 = atspre_isub (arg1, 1) ;
arg0 = tmp412 ;
arg1 = tmp413 ;
goto __ats_lab_loop_75 ; // tail call
} else {
/* empty */
} /* end of [if] */
return /* (tmp408) */ ;
} /* end of [loop_75] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 18060(line=781, offs=7) -- 18661(line=816, offs=4)
*/
ATSstaticdec()
ats_void_type
myintvec_negate_04791_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp407) ;
ATSlocal (ats_ptr_type, tmp414) ;

__ats_lab_myintvec_negate_04791_intknd:
tmp414 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ;
/* tmp407 = */ loop_75 (tmp414, arg1) ;
return /* (tmp407) */ ;
} /* end of [myintvec_negate_04791_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 12558(line=552, offs=1) -- 12938(line=569, offs=6)
*/
ATSstaticdec()
ats_void_type
loop_78 (intknd arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
// ATSlocal_void (tmp420) ;
ATSlocal (ats_bool_type, tmp421) ;
ATSlocal (intknd, tmp422) ;
ATSlocal (intknd, tmp423) ;
ATSlocal (ats_ptr_type, tmp424) ;
ATSlocal (ats_int_type, tmp425) ;

__ats_lab_loop_78:
tmp421 = atspre_igt (arg2, 0) ;
if (tmp421) {
tmp423 = ats_ptrget_mac(intknd, arg1) ;
tmp422 = ediv01_myint_myint_04735_intknd (tmp423, arg0) ;
ats_ptrget_mac(intknd, arg1) = tmp422 ;
tmp424 = atspre_padd_size (arg1, sizeof(intknd)) ;
tmp425 = atspre_isub (arg2, 1) ;
arg0 = arg0 ;
arg1 = tmp424 ;
arg2 = tmp425 ;
goto __ats_lab_loop_78 ; // tail call
} else {
/* empty */
} /* end of [if] */
return /* (tmp420) */ ;
} /* end of [loop_78] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/unsafe.dats: 1763(line=50, offs=10) -- 1979(line=60, offs=2)
*/
ATSstaticdec()
intknd
ptr0_get_01759_intknd (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (intknd, tmp435) ;

__ats_lab_ptr0_get_01759_intknd:
tmp435 = ats_ptrget_mac(intknd, ats_castfn_mac(ats_ptr_type, arg0)) ;
return (tmp435) ;
} /* end of [ptr0_get_01759_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 10322(line=428, offs=1) -- 11020(line=470, offs=2)
*/
ATSstaticdec()
ats_void_type
loop_81 (ats_int_type env0, ats_ptr_type env1, ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp432) ;
ATSlocal (ats_bool_type, tmp433) ;
ATSlocal (intknd, tmp434) ;
ATSlocal (ats_bool_type, tmp436) ;
ATSlocal (ats_bool_type, tmp437) ;
ATSlocal (intknd, tmp438) ;
ATSlocal (intknd, tmp439) ;
ATSlocal (ats_ptr_type, tmp440) ;
ATSlocal (ats_int_type, tmp441) ;
// ATSlocal_void (tmp442) ;
ATSlocal (intknd, tmp443) ;
ATSlocal (intknd, tmp444) ;
ATSlocal (ats_ptr_type, tmp445) ;
ATSlocal (ats_int_type, tmp446) ;

__ats_lab_loop_81:
tmp433 = atspre_lt_int_int (arg1, env0) ;
if (tmp433) {
tmp434 = ptr0_get_01759_intknd (arg0) ;
tmp436 = neq_myint_int_04744_intknd (tmp434, 0) ;
if (tmp436) {
tmp437 = neq_myint_int_04744_intknd (tmp434, 1) ;
if (tmp437) {
tmp439 = ats_ptrget_mac(intknd, env1) ;
tmp438 = gcd01_myint_myint_04738_intknd (tmp439, tmp434) ;
ats_ptrget_mac(intknd, env1) = tmp438 ;
tmp440 = atspre_padd_size (arg0, sizeof(intknd)) ;
tmp441 = atspre_add_int_int (arg1, 1) ;
arg0 = tmp440 ;
arg1 = tmp441 ;
goto __ats_lab_loop_81 ; // tail call
} else {
tmp443 = ats_ptrget_mac(intknd, env1) ;
/* tmp442 = */ myint_free_04723_intknd (tmp443) ;
tmp444 = myint_make_int_04721_intknd (1) ;
ats_ptrget_mac(intknd, env1) = tmp444 ;
} /* end of [if] */
} else {
tmp445 = atspre_padd_size (arg0, sizeof(intknd)) ;
tmp446 = atspre_add_int_int (arg1, 1) ;
arg0 = tmp445 ;
arg1 = tmp446 ;
goto __ats_lab_loop_81 ; // tail call
} /* end of [if] */
} else {
/* empty */
} /* end of [if] */
return /* (tmp432) */ ;
} /* end of [loop_81] */

typedef struct {
ats_fun_ptr_type closure_fun ;
ats_int_type closure_env_0 ;
ats_ptr_type closure_env_1 ;
} loop_81_closure_type ;

ats_void_type
loop_81_clofun (ats_clo_ptr_type cloptr, ats_ptr_type arg0, ats_int_type arg1) {
loop_81 (((loop_81_closure_type*)cloptr)->closure_env_0, ((loop_81_closure_type*)cloptr)->closure_env_1, arg0, arg1) ; return ;
} /* end of function */

ATSinline()
ats_void_type
loop_81_closure_init (loop_81_closure_type *p_clo, ats_int_type env0, ats_ptr_type env1) {
p_clo->closure_fun = (ats_fun_ptr_type)&loop_81_clofun ;
p_clo->closure_env_0 = env0 ;
p_clo->closure_env_1 = env1 ;
return ;
} /* end of function */

ats_clo_ptr_type
loop_81_closure_make (ats_int_type env0, ats_ptr_type env1) {
loop_81_closure_type *p_clo = ATS_MALLOC(sizeof(loop_81_closure_type)) ;
loop_81_closure_init (p_clo, env0, env1) ;
return (ats_clo_ptr_type)p_clo ;
} /* end of function */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 9501(line=388, offs=12) -- 11209(line=479, offs=4)
*/
ATSstaticdec()
ats_void_type
myintvec_cffgcd_main_04083_intknd (ats_ptr_type arg0, ats_int_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp431) ;
ATSlocal (ats_ptr_type, tmp447) ;
ATSlocal (ats_ptr_type, tmp448) ;

__ats_lab_myintvec_cffgcd_main_04083_intknd:
tmp447 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ;
tmp448 = atspre_padd_size (tmp447, sizeof(intknd)) ;
/* tmp431 = */ loop_81 (arg1, arg2, tmp448, 1) ;
return /* (tmp431) */ ;
} /* end of [myintvec_cffgcd_main_04083_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 11302(line=485, offs=6) -- 12298(line=535, offs=4)
*/
ATSstaticdec()
intknd
myintvec_cffgcd_04785_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (intknd, tmp427) ;
ATSlocal (intknd, tmp428) ;
// ATSlocal_void (tmp429) ;
// ATSlocal_void (tmp430) ;
ATSlocal (ats_ptr_type, tmp449) ;

__ats_lab_myintvec_cffgcd_04785_intknd:
/* intknd tmp428 ; */
tmp428 = myint_make_int_04721_intknd (0) ;
ATS_TRYWITH_TRY(tmp449)
/* tmp430 = */ myintvec_cffgcd_main_04083_intknd (ats_castfn_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)), arg1, (&tmp428)) ;
/* tmp429 = tmp430 */ ;
ATS_TRYWITH_WITH(tmp449)
do {
/* branch: __ats_lab_60 */
__ats_lab_60_0:
if (tmp449 != &_2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2edats__Finished) { ats_raise_exn (tmp449) ; }
__ats_lab_60_1:
break ;
} while (0) ;
ATS_TRYWITH_END() ;

tmp427 = tmp428 ;
return (tmp427) ;
} /* end of [myintvec_cffgcd_04785_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 12407(line=543, offs=7) -- 14127(line=613, offs=4)
*/
ATSstaticdec()
ats_int_type
myintvec_normalize_04889_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_int_type, tmp419) ;
ATSlocal (intknd, tmp426) ;
ATSlocal (ats_bool_type, tmp450) ;
ATSlocal (ats_ptr_type, tmp451) ;
ATSlocal (ats_int_type, tmp452) ;
// ATSlocal_void (tmp453) ;
ATSlocal (ats_ptr_type, tmp454) ;
ATSlocal (ats_int_type, tmp455) ;
// ATSlocal_void (tmp456) ;
ATSlocal (ats_bool_type, tmp457) ;
ATSlocal (ats_bool_type, tmp458) ;
ATSlocal (intknd, tmp459) ;
ATSlocal (intknd, tmp460) ;
ATSlocal (intknd, tmp461) ;
ATSlocal (intknd, tmp462) ;
ATSlocal (intknd, tmp463) ;
ATSlocal (intknd, tmp464) ;
ATSlocal (intknd, tmp465) ;
ATSlocal (intknd, tmp466) ;
ATSlocal (intknd, tmp467) ;
ATSlocal (ats_bool_type, tmp468) ;
ATSlocal (intknd, tmp469) ;
ATSlocal (intknd, tmp470) ;
ATSlocal (ats_bool_type, tmp472) ;
ATSlocal (intknd, tmp473) ;
ATSlocal (intknd, tmp474) ;
// ATSlocal_void (tmp475) ;
ATSlocal (ats_ptr_type, tmp476) ;
// ATSlocal_void (tmp477) ;
// ATSlocal_void (tmp478) ;

__ats_lab_myintvec_normalize_04889_intknd:
tmp426 = myintvec_cffgcd_04785_intknd (arg1, arg2) ;
tmp450 = gt_myint_int_04741_intknd (tmp426, 1) ;
if (tmp450) {
tmp451 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ;
/* ats_int_type tmp452 ; */
tmp452 = 0 ;
tmp454 = atspre_padd_size (tmp451, sizeof(intknd)) ;
tmp455 = atspre_isub (arg2, 1) ;
/* tmp453 = */ loop_78 (tmp426, tmp454, tmp455) ;
do {
/* branch: __ats_lab_61 */
__ats_lab_61_0:
__ats_lab_61_1:
tmp457 = atspre_eq_int_int (arg0, 2) ;
if (!tmp457) { goto __ats_lab_62_1 ; }
tmp459 = ats_ptrget_mac(intknd, tmp451) ;
tmp458 = gte_myint_int_04742_intknd (tmp459, 0) ;
if (tmp458) {
tmp461 = ats_ptrget_mac(intknd, tmp451) ;
tmp460 = div01_myint_myint_04733_intknd (tmp461, tmp426) ;
ats_ptrget_mac(intknd, tmp451) = tmp460 ;
} else {
tmp463 = ats_ptrget_mac(intknd, tmp451) ;
tmp462 = sub01_myint_myint_04729_intknd (tmp463, tmp426) ;
ats_ptrget_mac(intknd, tmp451) = tmp462 ;
tmp465 = ats_ptrget_mac(intknd, tmp451) ;
tmp464 = add_myint_int_04727_intknd (tmp465, 1) ;
ats_ptrget_mac(intknd, tmp451) = tmp464 ;
tmp467 = ats_ptrget_mac(intknd, tmp451) ;
tmp466 = div01_myint_myint_04733_intknd (tmp467, tmp426) ;
ats_ptrget_mac(intknd, tmp451) = tmp466 ;
} /* end of [if] */
break ;

/* branch: __ats_lab_62 */
__ats_lab_62_0:
__ats_lab_62_1:
tmp468 = atspre_eq_int_int (arg0, 1) ;
if (!tmp468) { goto __ats_lab_63_1 ; }
tmp470 = ats_ptrget_mac(intknd, tmp451) ;
tmp469 = mod11_myint_myint_04737_intknd (tmp470, tmp426) ;
tmp472 = eq_myint_int_04743_intknd (tmp469, 0) ;
if (tmp472) {
tmp474 = ats_ptrget_mac(intknd, tmp451) ;
tmp473 = ediv01_myint_myint_04735_intknd (tmp474, tmp426) ;
ats_ptrget_mac(intknd, tmp451) = tmp473 ;
} else {
tmp452 = -1 ;
} /* end of [if] */
/* tmp456 = */ myint_free_04723_intknd (tmp469) ;
break ;

/* branch: __ats_lab_63 */
__ats_lab_63_0:
__ats_lab_63_1:
tmp476 = atspre_string_append ("/tmp/ATS-Postiats/src/pats_lintprgm.dats: 13818(line=601, offs=18) -- 13834(line=601, offs=34)", ATSstrcst("\n")) ;
/* tmp475 = */ atspre_assert_errmsg (ats_false_bool, tmp476) ;
tmp452 = -1 ;
break ;
} while (0) ;
/* tmp477 = */ myint_free_04723_intknd (tmp426) ;
tmp419 = tmp452 ;
} else {
/* tmp478 = */ myint_free_04723_intknd (tmp426) ;
tmp419 = 0 ;
} /* end of [if] */
return (tmp419) ;
} /* end of [myintvec_normalize_04889_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 14198(line=617, offs=3) -- 14275(line=619, offs=2)
*/
ATSstaticdec()
ats_void_type
myintvec_normalize_gte_04786_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp417) ;
ATSlocal (ats_int_type, tmp418) ;

__ats_lab_myintvec_normalize_gte_04786_intknd:
tmp418 = myintvec_normalize_04889_intknd (2, arg0, arg1) ;
return /* (tmp417) */ ;
} /* end of [myintvec_normalize_gte_04786_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 22438(line=1099, offs=17) -- 23051(line=1128, offs=4)
*/
ATSstaticdec()
ats_int_type
auxlt_04556_intknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4) {
/* local vardec */
ATSlocal (ats_int_type, tmp307) ;
// ATSlocal_void (tmp308) ;
ATSlocal (ats_int_type, tmp382) ;
ATSlocal (ats_bool_type, tmp405) ;
// ATSlocal_void (tmp406) ;
// ATSlocal_void (tmp415) ;
// ATSlocal_void (tmp416) ;
ATSlocal (ats_ptr_type, tmp479) ;
// ATSlocal_void (tmp480) ;

__ats_lab_auxlt_04556_intknd:
/* tmp308 = */ myintvec_elimeqlst_04921_intknd (0, arg3, ats_ptrget_mac(ats_ptr_type, arg2), arg4) ;
tmp382 = myintvec_inspect_lt_04780_intknd (arg3, arg4) ;
tmp405 = atspre_ieq (tmp382, 0) ;
if (tmp405) {
/* tmp406 = */ myintvec_negate_04791_intknd (arg3, arg4) ;
/* tmp415 = */ myintvec_add_int_04760_intknd (arg3, -1) ;
/* tmp416 = */ myintvec_normalize_gte_04786_intknd (arg3, arg4) ;
tmp479 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp479)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_9, tmp479, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_9, tmp479, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_9, tmp479, atslab_2, ats_ptrget_mac(ats_ptr_type, arg1)) ;
ats_ptrget_mac(ats_ptr_type, arg1) = tmp479 ;
tmp307 = 0 ;
} else {
/* tmp480 = */ myintvec_free_04765_intknd (arg3, arg4) ;
tmp307 = tmp382 ;
} /* end of [if] */
return (tmp307) ;
} /* end of [auxlt_04556_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 20786(line=1009, offs=5) -- 21544(line=1042, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_85 (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ref_type arg3) {
/* local vardec */
// ATSlocal_void (tmp486) ;
ATSlocal (ats_ptr_type, tmp487) ;
ATSlocal (ats_int_type, tmp488) ;
ATSlocal (ats_ptr_type, tmp489) ;
ATSlocal (ats_ptr_type, tmp490) ;
ATSlocal (ats_ptr_type, tmp491) ;
ATSlocal (ats_ptr_type, tmp492) ;
// ATSlocal_void (tmp493) ;
ATSlocal (ats_ptr_type, tmp494) ;
ATSlocal (ats_ptr_type, tmp495) ;
ATSlocal (ats_ptr_type, tmp496) ;
ATSlocal (ats_ptr_type, tmp497) ;
ATSlocal (ats_ptr_type, tmp498) ;

__ats_lab_loop_85:
do {
/* branch: __ats_lab_67 */
__ats_lab_67_0:
if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_68_0 ; }
__ats_lab_67_1:
tmp487 = (ats_sum_ptr_type)0 ;
ats_ptrget_mac(ats_ptr_type, arg3) = tmp487 ;
break ;

/* branch: __ats_lab_68 */
__ats_lab_68_0:
if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_69_0 ; }
__ats_lab_68_1:
tmp488 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_0) ;
tmp489 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ;
tmp490 = &ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_2) ;
tmp492 = ats_ptrget_mac(ats_ptr_type, tmp489) ;
tmp491 = myintvec_copy_04788_intknd (tmp492, arg2) ;
/* tmp493 = */ myintvec_elimeqlst_04921_intknd (tmp488, tmp491, arg1, arg2) ;
tmp494 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp494, atslab_0, tmp491) ;
ats_ptrget_mac(ats_ptr_type, arg3) = tmp494 ;
// if (ats_ptrget_mac(ats_ptr_type, arg3) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
tmp495 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg3), atslab_1) ;
tmp496 = ats_ptrget_mac(ats_ptr_type, tmp490) ;
arg0 = tmp496 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = tmp495 ;
goto __ats_lab_loop_85 ; // tail call
break ;

/* branch: __ats_lab_69 */
__ats_lab_69_0:
// if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_69_1:
tmp497 = &ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ;
tmp498 = ats_ptrget_mac(ats_ptr_type, tmp497) ;
arg0 = tmp498 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = arg3 ;
goto __ats_lab_loop_85 ; // tail call
break ;
} while (0) ;
return /* (tmp486) */ ;
} /* end of [loop_85] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 20715(line=1005, offs=7) -- 21644(line=1049, offs=4)
*/
ATSstaticdec()
ats_ptr_type
myivlst_elimeqlst_04926_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp485) ;
ATSlocal (ats_ptr_type, tmp499) ;
// ATSlocal_void (tmp500) ;

__ats_lab_myivlst_elimeqlst_04926_intknd:
/* ats_ptr_type tmp499 ; */
/* tmp500 = */ loop_85 (arg0, arg1, arg2, (&tmp499)) ;
tmp485 = tmp499 ;
return (tmp485) ;
} /* end of [myivlst_elimeqlst_04926_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 8088(line=319, offs=3) -- 8132(line=319, offs=47)
*/
ATSstaticdec()
ats_int_type
myintvec_inspect_gte_04781_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_int_type, tmp506) ;

__ats_lab_myintvec_inspect_gte_04781_intknd:
tmp506 = myintvec_inspect_04779_intknd (2, arg0, arg1) ;
return (tmp506) ;
} /* end of [myintvec_inspect_gte_04781_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 8581(line=342, offs=7) -- 9361(line=376, offs=4)
*/
ATSstaticdec()
ats_int_type
myintveclst_inspect_gte_04784_intknd (ats_ref_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_int_type, tmp502) ;
ATSlocal (ats_ptr_type, tmp503) ;
ATSlocal (ats_ptr_type, tmp504) ;
ATSlocal (ats_int_type, tmp505) ;
ATSlocal (ats_ptr_type, tmp507) ;
ATSlocal (ats_bool_type, tmp508) ;
ATSlocal (ats_ptr_type, tmp509) ;
// ATSlocal_void (tmp510) ;
ATSlocal (ats_ptr_type, tmp511) ;
ATSlocal (ats_bool_type, tmp512) ;

__ats_lab_myintveclst_inspect_gte_04784_intknd:
do {
/* branch: __ats_lab_70 */
__ats_lab_70_0:
if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_71_0 ; }
__ats_lab_70_1:
tmp503 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ;
tmp504 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ;
tmp507 = ats_ptrget_mac(ats_ptr_type, tmp503) ;
tmp505 = myintvec_inspect_gte_04781_intknd (tmp507, arg1) ;
tmp508 = atspre_ineq (tmp505, 0) ;
if (tmp508) {
tmp509 = ats_ptrget_mac(ats_ptr_type, tmp504) ;
tmp511 = ats_ptrget_mac(ats_ptr_type, tmp503) ;
/* tmp510 = */ myintvec_free_04765_intknd (tmp511, arg1) ;
ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg0)) ;
ats_ptrget_mac(ats_ptr_type, arg0) = tmp509 ;
tmp512 = atspre_igt (tmp505, 0) ;
if (tmp512) {
arg0 = arg0 ;
arg1 = arg1 ;
goto __ats_lab_myintveclst_inspect_gte_04784_intknd ; // tail call
} else {
tmp502 = -1 ;
} /* end of [if] */
} else {
arg0 = tmp504 ;
arg1 = arg1 ;
goto __ats_lab_myintveclst_inspect_gte_04784_intknd ; // tail call
} /* end of [if] */
break ;

/* branch: __ats_lab_71 */
__ats_lab_71_0:
// if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_71_1:
tmp502 = 0 ;
break ;
} while (0) ;
return (tmp502) ;
} /* end of [myintveclst_inspect_gte_04784_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 14357(line=623, offs=7) -- 14656(line=639, offs=4)
*/
ATSstaticdec()
ats_void_type
myintveclst_normalize_gte_04787_intknd (ats_ref_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp516) ;
ATSlocal (ats_ptr_type, tmp517) ;
ATSlocal (ats_ptr_type, tmp518) ;
// ATSlocal_void (tmp519) ;
ATSlocal (ats_ptr_type, tmp520) ;

__ats_lab_myintveclst_normalize_gte_04787_intknd:
do {
/* branch: __ats_lab_72 */
__ats_lab_72_0:
if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_73_0 ; }
__ats_lab_72_1:
tmp517 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_0) ;
tmp518 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ;
tmp520 = ats_ptrget_mac(ats_ptr_type, tmp517) ;
/* tmp519 = */ myintvec_normalize_gte_04786_intknd (tmp520, arg1) ;
arg0 = tmp518 ;
arg1 = arg1 ;
goto __ats_lab_myintveclst_normalize_gte_04787_intknd ; // tail call
break ;

/* branch: __ats_lab_73 */
__ats_lab_73_0:
// if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_73_1:
break ;
} while (0) ;
return /* (tmp516) */ ;
} /* end of [myintveclst_normalize_gte_04787_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 2771(line=107, offs=1) -- 3620(line=146, offs=4)
*/
ATSstaticdec()
ats_void_type
auxbeg_92 (ats_ptr_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4) {
/* local vardec */
// ATSlocal_void (tmp528) ;
ATSlocal (ats_ptr_type, tmp529) ;
ATSlocal (ats_ptr_type, tmp530) ;
ATSlocal (ats_int_type, tmp531) ;
ATSlocal (ats_ptr_type, tmp532) ;
ATSlocal (ats_ptr_type, tmp533) ;
ATSlocal (ats_bool_type, tmp534) ;
ATSlocal (ats_bool_type, tmp535) ;

__ats_lab_auxbeg_92:
do {
/* branch: __ats_lab_74 */
__ats_lab_74_0:
if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_75_0 ; }
__ats_lab_74_1:
break ;

/* branch: __ats_lab_75 */
__ats_lab_75_0:
// if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_75_1:
tmp529 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ;
tmp530 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ;
tmp532 = ats_ptrget_mac(ats_ptr_type, tmp529) ;
tmp531 = myintvec_compare_at_04761_intknd (tmp532, arg1, 0) ;
tmp533 = ats_ptrget_mac(ats_ptr_type, tmp530) ;
tmp534 = atspre_gt_int_int (tmp531, 0) ;
if (tmp534) {
ats_ptrget_mac(ats_ptr_type, tmp530) = ats_ptrget_mac(ats_ptr_type, arg3) ;
ats_ptrget_mac(ats_ptr_type, arg3) = arg0 ;
arg0 = tmp533 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = arg3 ;
arg4 = arg4 ;
goto __ats_lab_auxbeg_92 ; // tail call
} else {
tmp535 = atspre_lt_int_int (tmp531, 0) ;
if (tmp535) {
ats_ptrget_mac(ats_ptr_type, tmp530) = ats_ptrget_mac(ats_ptr_type, arg4) ;
ats_ptrget_mac(ats_ptr_type, arg4) = arg0 ;
arg0 = tmp533 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = arg3 ;
arg4 = arg4 ;
goto __ats_lab_auxbeg_92 ; // tail call
} else {
ats_ptrget_mac(ats_ptr_type, tmp530) = ats_ptrget_mac(ats_ptr_type, arg2) ;
ats_ptrget_mac(ats_ptr_type, arg2) = arg0 ;
arg0 = tmp533 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = arg3 ;
arg4 = arg4 ;
goto __ats_lab_auxbeg_92 ; // tail call
} /* end of [if] */
} /* end of [if] */
break ;
} while (0) ;
return /* (tmp528) */ ;
} /* end of [auxbeg_92] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 17061(line=747, offs=5) -- 17687(line=765, offs=6)
*/
ATSstaticdec()
ats_void_type
loop_96 (intknd arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_int_type arg3) {
/* local vardec */
// ATSlocal_void (tmp546) ;
ATSlocal (ats_bool_type, tmp547) ;
ATSlocal (intknd, tmp548) ;
ATSlocal (intknd, tmp549) ;
ATSlocal (ats_ptr_type, tmp550) ;
ATSlocal (ats_ptr_type, tmp551) ;
ATSlocal (ats_int_type, tmp552) ;

__ats_lab_loop_96:
tmp547 = atspre_igt (arg3, 0) ;
if (tmp547) {
tmp549 = ats_ptrget_mac(intknd, arg1) ;
tmp548 = mul11_myint_myint_04732_intknd (arg0, tmp549) ;
ats_ptrget_mac(intknd, arg2) = tmp548 ;
tmp550 = atspre_padd_size (arg1, sizeof(intknd)) ;
tmp551 = atspre_padd_size (arg2, sizeof(intknd)) ;
tmp552 = atspre_isub (arg3, 1) ;
arg0 = arg0 ;
arg1 = tmp550 ;
arg2 = tmp551 ;
arg3 = tmp552 ;
goto __ats_lab_loop_96 ; // tail call
} else {
/* empty */
} /* end of [if] */
return /* (tmp546) */ ;
} /* end of [loop_96] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 16931(line=738, offs=7) -- 17972(line=775, offs=4)
*/
ATSstaticdec()
ats_ptr_type
myintvec_copy_cff_04789_intknd (intknd arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp545) ;
ATSlocal (ats_ptr_type, tmp553) ;
ATSlocal (ats_ptr_type, tmp554) ;
ATSlocal (ats_ptr_type, tmp555) ;
// ATSlocal_void (tmp556) ;

__ats_lab_myintvec_copy_cff_04789_intknd:
tmp553 = myintvec0_make_04762_intknd (arg2) ;
tmp554 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg1), atslab_1) ;
tmp555 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, tmp553), atslab_1) ;
/* tmp556 = */ loop_96 (arg0, tmp554, tmp555, arg2) ;
tmp545 = tmp553 ;
return (tmp545) ;
} /* end of [myintvec_copy_cff_04789_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 2067(line=76, offs=3) -- 2376(line=85, offs=4)
*/
ATSstaticdec()
ats_ptr_type
myintvec_combine_at_04902_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_int_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp540) ;
ATSlocal (intknd, tmp541) ;
ATSlocal (intknd, tmp542) ;
ATSlocal (intknd, tmp543) ;
ATSlocal (ats_ptr_type, tmp544) ;
// ATSlocal_void (tmp557) ;
// ATSlocal_void (tmp558) ;
// ATSlocal_void (tmp559) ;

__ats_lab_myintvec_combine_at_04902_intknd:
tmp541 = myintvec_get_at_04758_intknd (arg0, arg3) ;
tmp543 = myintvec_get_at_04758_intknd (arg1, arg3) ;
tmp542 = neg_myint_04725_intknd (tmp543) ;
tmp544 = myintvec_copy_cff_04789_intknd (tmp541, arg1, arg2) ;
/* tmp557 = */ myintvec_addby_cff_04795_intknd (tmp544, tmp542, arg0, arg2) ;
/* tmp558 = */ myint_free_04723_intknd (tmp541) ;
/* tmp559 = */ myint_free_04723_intknd (tmp542) ;
tmp540 = tmp544 ;
return (tmp540) ;
} /* end of [myintvec_combine_at_04902_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 3647(line=149, offs=1) -- 4609(line=190, offs=4)
*/
ATSstaticdec()
ats_int_type
auxcomb_93 (ats_int_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_int_type, tmp536) ;
ATSlocal (ats_ptr_type, tmp537) ;
ATSlocal (ats_ptr_type, tmp538) ;
ATSlocal (ats_ptr_type, tmp539) ;
ATSlocal (ats_ptr_type, tmp560) ;
ATSlocal (ats_int_type, tmp561) ;
// ATSlocal_void (tmp562) ;
ATSlocal (ats_bool_type, tmp563) ;
// ATSlocal_void (tmp564) ;
ATSlocal (ats_ptr_type, tmp565) ;
ATSlocal (ats_bool_type, tmp566) ;

__ats_lab_auxcomb_93:
do {
/* branch: __ats_lab_76 */
__ats_lab_76_0:
if (ats_ptrget_mac(ats_ptr_type, arg3) != (ats_sum_ptr_type)0) { goto __ats_lab_77_0 ; }
__ats_lab_76_1:
tmp536 = 0 ;
break ;

/* branch: __ats_lab_77 */
__ats_lab_77_0:
// if (ats_ptrget_mac(ats_ptr_type, arg3) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_77_1:
tmp537 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg3), atslab_0) ;
tmp538 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg3), atslab_1) ;
tmp560 = ats_ptrget_mac(ats_ptr_type, tmp537) ;
tmp539 = myintvec_combine_at_04902_intknd (tmp560, arg4, arg0, arg1) ;
tmp561 = myintvec_inspect_gte_04781_intknd (tmp539, arg0) ;
tmp563 = atspre_ineq (tmp561, 0) ;
if (tmp563) {
/* tmp562 = */ myintvec_free_04765_intknd (tmp539, arg0) ;
} else {
/* tmp564 = */ myintvec_normalize_gte_04786_intknd (tmp539, arg0) ;
tmp565 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp565, atslab_0, tmp539) ;
ats_selptrset_mac(anairiats_sum_4, tmp565, atslab_1, ats_ptrget_mac(ats_ptr_type, arg2)) ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp565 ;
} /* end of [if] */
tmp566 = atspre_igte (tmp561, 0) ;
if (tmp566) {
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = tmp538 ;
arg4 = arg4 ;
goto __ats_lab_auxcomb_93 ; // tail call
} else {
tmp536 = -1 ;
} /* end of [if] */
break ;
} while (0) ;
return (tmp536) ;
} /* end of [auxcomb_93] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 5650(line=208, offs=18) -- 5789(line=212, offs=26)
*/
ATSstaticdec()
ats_void_type
myintveclst_free_04768_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp574) ;
ATSlocal (ats_ptr_type, tmp575) ;
ATSlocal (ats_ptr_type, tmp576) ;
// ATSlocal_void (tmp577) ;

__ats_lab_myintveclst_free_04768_intknd:
do {
/* branch: __ats_lab_79 */
__ats_lab_79_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_80_0 ; }
__ats_lab_79_1:
tmp575 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ;
tmp576 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ;
ATS_FREE(arg0) ;
/* tmp577 = */ myintvec_free_04765_intknd (tmp575, arg1) ;
arg0 = tmp576 ;
arg1 = arg1 ;
goto __ats_lab_myintveclst_free_04768_intknd ; // tail call
break ;

/* branch: __ats_lab_80 */
__ats_lab_80_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_80_1:
break ;
} while (0) ;
return /* (tmp574) */ ;
} /* end of [myintveclst_free_04768_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 4692(line=195, offs=1) -- 5195(line=218, offs=4)
*/
ATSstaticdec()
ats_int_type
auxcomblst_97 (ats_int_type arg0, ats_int_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_int_type, tmp567) ;
ATSlocal (ats_ptr_type, tmp568) ;
ATSlocal (ats_ptr_type, tmp569) ;
ATSlocal (ats_int_type, tmp570) ;
// ATSlocal_void (tmp571) ;
ATSlocal (ats_bool_type, tmp572) ;
// ATSlocal_void (tmp573) ;

__ats_lab_auxcomblst_97:
do {
/* branch: __ats_lab_78 */
__ats_lab_78_0:
if (arg4 == (ats_sum_ptr_type)0) { goto __ats_lab_81_0 ; }
__ats_lab_78_1:
tmp568 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_0) ;
tmp569 = ats_caselptrlab_mac(anairiats_sum_4, arg4, atslab_1) ;
ATS_FREE(arg4) ;
tmp570 = auxcomb_93 (arg0, arg1, arg2, arg3, tmp568) ;
/* tmp571 = */ myintvec_free_04765_intknd (tmp568, arg0) ;
tmp572 = atspre_gte_int_int (tmp570, 0) ;
if (tmp572) {
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = arg3 ;
arg4 = tmp569 ;
goto __ats_lab_auxcomblst_97 ; // tail call
} else {
/* tmp573 = */ myintveclst_free_04768_intknd (tmp569, arg0) ;
tmp567 = -1 ;
} /* end of [if] */
break ;

/* branch: __ats_lab_81 */
__ats_lab_81_0:
// if (arg4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_81_1:
tmp567 = 0 ;
break ;
} while (0) ;
return (tmp567) ;
} /* end of [auxcomblst_97] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 2683(line=101, offs=7) -- 5491(line=233, offs=4)
*/
ATSstaticdec()
ats_int_type
myintveclst_split_at_04903_intknd (ats_ref_type arg0, ats_int_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_int_type, tmp527) ;
ATSlocal (ats_ptr_type, tmp578) ;
ATSlocal (ats_ptr_type, tmp579) ;
ATSlocal (ats_ptr_type, tmp580) ;
// ATSlocal_void (tmp581) ;
ATSlocal (ats_int_type, tmp582) ;
// ATSlocal_void (tmp583) ;

__ats_lab_myintveclst_split_at_04903_intknd:
/* ats_ptr_type tmp578 ; */
tmp578 = (ats_sum_ptr_type)0 ;
/* ats_ptr_type tmp579 ; */
tmp579 = (ats_sum_ptr_type)0 ;
/* ats_ptr_type tmp580 ; */
tmp580 = (ats_sum_ptr_type)0 ;
/* tmp581 = */ auxbeg_92 (ats_ptrget_mac(ats_ptr_type, arg0), arg2, (&tmp578), (&tmp579), (&tmp580)) ;
tmp582 = auxcomblst_97 (arg1, arg2, (&tmp578), (&tmp579), tmp580) ;
/* tmp583 = */ myintveclst_free_04768_intknd (tmp579, arg1) ;
ats_ptrget_mac(ats_ptr_type, arg0) = tmp578 ;
tmp527 = tmp582 ;
return (tmp527) ;
} /* end of [myintveclst_split_at_04903_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 9818(line=454, offs=5) -- 10328(line=473, offs=4)
*/
ATSstaticdec()
ats_int_type
solve_90 (ats_ref_type arg0, ats_ref_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_int_type, tmp523) ;
ATSlocal (ats_int_type, tmp524) ;
ATSlocal (ats_bool_type, tmp525) ;
ATSlocal (ats_int_type, tmp526) ;
ATSlocal (ats_bool_type, tmp584) ;

__ats_lab_solve_90:
tmp524 = _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__indexlst_choose (arg1) ;
tmp525 = atspre_igt (tmp524, 0) ;
if (tmp525) {
tmp526 = myintveclst_split_at_04903_intknd (arg0, arg2, tmp524) ;
tmp584 = atspre_gte_int_int (tmp526, 0) ;
if (tmp584) {
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = arg2 ;
goto __ats_lab_solve_90 ; // tail call
} else {
tmp523 = -1 ;
} /* end of [if] */
} else {
tmp523 = 0 ;
} /* end of [if] */
return (tmp523) ;
} /* end of [solve_90] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 9625(line=445, offs=6) -- 10615(line=488, offs=4)
*/
ATSstaticdec()
ats_int_type
myintveclst_solve_04908_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_int_type, tmp522) ;
ATSlocal (ats_ptr_type, tmp585) ;
ATSlocal (ats_ptr_type, tmp586) ;
ATSlocal (ats_int_type, tmp587) ;
// ATSlocal_void (tmp588) ;
// ATSlocal_void (tmp589) ;

__ats_lab_myintveclst_solve_04908_intknd:
/* ats_ptr_type tmp585 ; */
tmp585 = arg1 ;
/* ats_ptr_type tmp586 ; */
tmp586 = _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__indexlst_make (arg0, arg2) ;
tmp587 = solve_90 ((&tmp585), (&tmp586), arg2) ;
/* tmp588 = */ myintveclst_free_04768_intknd (tmp585, arg2) ;
/* tmp589 = */ _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__indexlst_free (tmp586) ;
tmp522 = tmp587 ;
return (tmp522) ;
} /* end of [myintveclst_solve_04908_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 24367(line=1199, offs=18) -- 25413(line=1241, offs=4)
*/
ATSstaticdec()
ats_int_type
auxcont_04578_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5, ats_int_type arg6) {
/* local vardec */
ATSlocal (ats_int_type, tmp481) ;
ATSlocal (ats_bool_type, tmp482) ;
ATSlocal (ats_bool_type, tmp483) ;
ATSlocal (ats_ptr_type, tmp484) ;
ATSlocal (ats_int_type, tmp501) ;
// ATSlocal_void (tmp513) ;
ATSlocal (ats_bool_type, tmp514) ;
// ATSlocal_void (tmp515) ;
ATSlocal (ats_int_type, tmp521) ;
ATSlocal (ats_bool_type, tmp591) ;
ATSlocal (ats_int_type, tmp592) ;
ATSlocal (ats_int_type, tmp593) ;

__ats_lab_auxcont_04578_intknd:
do {
/* branch: __ats_lab_64 */
__ats_lab_64_0:
__ats_lab_64_1:
tmp482 = atspre_lt_int_int (arg6, 0) ;
if (!tmp482) { goto __ats_lab_65_1 ; }
tmp481 = -1 ;
break ;

/* branch: __ats_lab_65 */
__ats_lab_65_0:
__ats_lab_65_1:
tmp483 = atspre_gt_int_int (arg6, 0) ;
if (!tmp483) { goto __ats_lab_66_1 ; }
tmp481 = auxmain_04927_intknd (arg0, arg1, arg2, arg3, arg4, arg5) ;
break ;

/* branch: __ats_lab_66 */
__ats_lab_66_0:
__ats_lab_66_1:
/* ats_ptr_type tmp484 ; */
tmp484 = myivlst_elimeqlst_04926_intknd (ats_ptrget_mac(ats_ptr_type, arg2), ats_ptrget_mac(ats_ptr_type, arg3), arg4) ;
/* ats_int_type tmp501 ; */
tmp501 = myintveclst_inspect_gte_04784_intknd ((&tmp484), arg4) ;
tmp514 = atspre_igte (tmp501, 0) ;
if (tmp514) {
/* tmp515 = */ myintveclst_normalize_gte_04787_intknd ((&tmp484), arg4) ;
tmp521 = myintveclst_solve_04908_intknd (arg1, tmp484, arg4) ;
tmp501 = tmp521 ;
} else {
/* tmp513 = */ myintveclst_free_04768_intknd (tmp484, arg4) ;
} /* end of [if] */
tmp591 = atspre_igte (tmp501, 0) ;
if (tmp591) {
tmp593 = atspre_add_int_int (arg0, 1) ;
tmp592 = auxmain_04927_intknd (tmp593, arg1, arg2, arg3, arg4, arg5) ;
tmp501 = tmp592 ;
} else {
/* empty */
} /* end of [if] */
tmp481 = tmp501 ;
break ;
} while (0) ;
return (tmp481) ;
} /* end of [auxcont_04578_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 23101(line=1132, offs=18) -- 23644(line=1159, offs=4)
*/
ATSstaticdec()
ats_int_type
auxgte_04563_intknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4) {
/* local vardec */
ATSlocal (ats_int_type, tmp598) ;
// ATSlocal_void (tmp599) ;
ATSlocal (ats_int_type, tmp600) ;
ATSlocal (ats_bool_type, tmp601) ;
// ATSlocal_void (tmp602) ;
ATSlocal (ats_ptr_type, tmp603) ;
// ATSlocal_void (tmp604) ;

__ats_lab_auxgte_04563_intknd:
/* tmp599 = */ myintvec_elimeqlst_04921_intknd (0, arg3, ats_ptrget_mac(ats_ptr_type, arg2), arg4) ;
tmp600 = myintvec_inspect_gte_04781_intknd (arg3, arg4) ;
tmp601 = atspre_ieq (tmp600, 0) ;
if (tmp601) {
/* tmp602 = */ myintvec_normalize_gte_04786_intknd (arg3, arg4) ;
tmp603 = ATS_MALLOC(sizeof(anairiats_sum_9)) ;
((ats_sum_ptr_type)tmp603)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_9, tmp603, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_9, tmp603, atslab_1, arg3) ;
ats_selptrset_mac(anairiats_sum_9, tmp603, atslab_2, ats_ptrget_mac(ats_ptr_type, arg1)) ;
ats_ptrget_mac(ats_ptr_type, arg1) = tmp603 ;
tmp598 = 0 ;
} else {
/* tmp604 = */ myintvec_free_04765_intknd (arg3, arg4) ;
tmp598 = tmp600 ;
} /* end of [if] */
return (tmp598) ;
} /* end of [auxgte_04563_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 8202(line=324, offs=3) -- 8367(line=331, offs=4)
*/
ATSstaticdec()
ats_int_type
myintvec_inspect_eq_04782_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_int_type, tmp612) ;
ATSlocal (ats_int_type, tmp613) ;
ATSlocal (ats_bool_type, tmp614) ;

__ats_lab_myintvec_inspect_eq_04782_intknd:
tmp613 = myintvec_inspect_04779_intknd (1, arg0, arg1) ;
tmp614 = atspre_ieq (tmp613, 0) ;
if (tmp614) {
tmp612 = myintvec_normalize_04889_intknd (1, arg0, arg1) ;
} else {
tmp612 = tmp613 ;
} /* end of [if] */
return (tmp612) ;
} /* end of [myintvec_inspect_eq_04782_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 5811(line=251, offs=5) -- 7162(line=305, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_103 (ats_ptr_type arg0, ats_int_type arg1, ats_int_type arg2, ats_bool_type arg3, ats_ref_type arg4, ats_ref_type arg5) {
/* local vardec */
// ATSlocal_void (tmp618) ;
ATSlocal (ats_bool_type, tmp619) ;
ATSlocal (ats_int_type, tmp620) ;
ATSlocal (intknd, tmp621) ;
ATSlocal (ats_bool_type, tmp623) ;
ATSlocal (ats_bool_type, tmp624) ;
ATSlocal (ats_bool_type, tmp625) ;
ATSlocal (intknd, tmp626) ;
ATSlocal (ats_int_type, tmp627) ;
// ATSlocal_void (tmp628) ;
ATSlocal (intknd, tmp629) ;
ATSlocal (intknd, tmp630) ;
// ATSlocal_void (tmp631) ;
ATSlocal (ats_bool_type, tmp632) ;
ATSlocal (intknd, tmp633) ;
ATSlocal (intknd, tmp634) ;
ATSlocal (ats_bool_type, tmp635) ;
ATSlocal (ats_bool_type, tmp636) ;
ATSlocal (ats_int_type, tmp637) ;
// ATSlocal_void (tmp638) ;
ATSlocal (ats_bool_type, tmp639) ;
ATSlocal (ats_ptr_type, tmp640) ;
ATSlocal (ats_int_type, tmp641) ;
ATSlocal (ats_bool_type, tmp642) ;
ATSlocal (ats_ptr_type, tmp643) ;
ATSlocal (ats_int_type, tmp644) ;

__ats_lab_loop_103:
tmp619 = atspre_igt (arg2, 0) ;
if (tmp619) {
tmp621 = ats_ptrget_mac(intknd, arg0) ;
tmp620 = compare_myint_int_04745_intknd (tmp621, 0) ;
tmp623 = atspre_gt_int_int (tmp620, 0) ;
if (tmp623) {
tmp626 = ats_ptrget_mac(intknd, arg0) ;
tmp625 = lt_myint_myint_04746_intknd (tmp626, ats_ptrget_mac(intknd, arg5)) ;
tmp624 = atspre_add_bool_bool (arg3, tmp625) ;
if (tmp624) {
tmp627 = atspre_isub (arg1, arg2) ;
ats_ptrget_mac(ats_int_type, arg4) = tmp627 ;
/* tmp628 = */ myint_free_04723_intknd (ats_ptrget_mac(intknd, arg5)) ;
tmp630 = ats_ptrget_mac(intknd, arg0) ;
tmp629 = myint_copy_04724_intknd (tmp630) ;
ats_ptrget_mac(intknd, arg5) = tmp629 ;
} else {
/* empty */
} /* end of [if] */
} else {
/* empty */
} /* end of [if] */
tmp632 = atspre_lt_int_int (tmp620, 0) ;
if (tmp632) {
tmp634 = ats_ptrget_mac(intknd, arg0) ;
tmp633 = neg1_myint_04726_intknd (tmp634) ;
tmp636 = lt_myint_myint_04746_intknd (tmp633, ats_ptrget_mac(intknd, arg5)) ;
tmp635 = atspre_add_bool_bool (arg3, tmp636) ;
if (tmp635) {
tmp637 = atspre_isub (arg1, arg2) ;
ats_ptrget_mac(ats_int_type, arg4) = tmp637 ;
/* tmp638 = */ myint_free_04723_intknd (ats_ptrget_mac(intknd, arg5)) ;
ats_ptrget_mac(intknd, arg5) = tmp633 ;
} else {
/* tmp631 = */ myint_free_04723_intknd (tmp633) ;
} /* end of [if] */
} else {
/* empty */
} /* end of [if] */
tmp639 = atspre_eq_int_int (tmp620, 0) ;
if (tmp639) {
tmp640 = atspre_padd_size (arg0, sizeof(intknd)) ;
tmp641 = atspre_isub (arg2, 1) ;
arg0 = tmp640 ;
arg1 = arg1 ;
arg2 = tmp641 ;
arg3 = arg3 ;
arg4 = arg4 ;
arg5 = arg5 ;
goto __ats_lab_loop_103 ; // tail call
} else {
tmp642 = gt_myint_int_04741_intknd (ats_ptrget_mac(intknd, arg5), 1) ;
if (tmp642) {
tmp643 = atspre_padd_size (arg0, sizeof(intknd)) ;
tmp644 = atspre_isub (arg2, 1) ;
arg0 = tmp643 ;
arg1 = arg1 ;
arg2 = tmp644 ;
arg3 = ats_false_bool ;
arg4 = arg4 ;
arg5 = arg5 ;
goto __ats_lab_loop_103 ; // tail call
} else {
/* empty */
} /* end of [if] */
} /* end of [if] */
} else {
/* empty */
} /* end of [if] */
return /* (tmp618) */ ;
} /* end of [loop_103] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 5762(line=247, offs=6) -- 7550(line=320, offs=4)
*/
ATSstaticdec()
ats_int_type
myintvec_get_index_of_absmincff_04904_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_int_type, tmp617) ;
ATSlocal (ats_int_type, tmp645) ;
ATSlocal (intknd, tmp646) ;
ATSlocal (ats_ptr_type, tmp647) ;
// ATSlocal_void (tmp648) ;
ATSlocal (ats_ptr_type, tmp649) ;
ATSlocal (ats_int_type, tmp650) ;
// ATSlocal_void (tmp651) ;
// ATSlocal_void (tmp652) ;
ATSlocal (ats_bool_type, tmp653) ;
ATSlocal (ats_ptr_type, tmp654) ;

__ats_lab_myintvec_get_index_of_absmincff_04904_intknd:
/* ats_int_type tmp645 ; */
tmp645 = 0 ;
/* intknd tmp646 ; */
tmp646 = myint_make_int_04721_intknd (0) ;
tmp647 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ;
tmp649 = atspre_padd_size (tmp647, sizeof(intknd)) ;
tmp650 = atspre_isub (arg1, 1) ;
/* tmp648 = */ loop_103 (tmp649, arg1, tmp650, ats_true_bool, (&tmp645), (&tmp646)) ;
/* tmp651 = */ myint_free_04723_intknd (tmp646) ;
tmp653 = atspre_igt (tmp645, 0) ;
tmp654 = atspre_string_append ("/tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 7515(line=316, offs=10) -- 7533(line=316, offs=28)", ATSstrcst("\n")) ;
/* tmp652 = */ atspre_assert_errmsg (tmp653, tmp654) ;
tmp617 = tmp645 ;
return (tmp617) ;
} /* end of [myintvec_get_index_of_absmincff_04904_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 15946(line=756, offs=1) -- 16215(line=767, offs=52)
*/
ATSstaticdec()
ats_ptr_type
myiveqlst_get_prev_04494_intknd (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp658) ;
ATSlocal (ats_ptr_type, tmp659) ;
ATSlocal (ats_ptr_type, tmp660) ;

__ats_lab_myiveqlst_get_prev_04494_intknd:
do {
/* branch: __ats_lab_84 */
__ats_lab_84_0:
if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_85_0 ; }
__ats_lab_84_1:
tmp658 = atspre_null_ptr ;
break ;

/* branch: __ats_lab_85 */
__ats_lab_85_0:
if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_86_0 ; }
__ats_lab_85_1:
tmp659 = &ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_3) ;
tmp658 = tmp659 ;
break ;

/* branch: __ats_lab_86 */
__ats_lab_86_0:
// if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_86_1:
tmp660 = &ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_0) ;
tmp658 = tmp660 ;
break ;
} while (0) ;
return (tmp658) ;
} /* end of [myiveqlst_get_prev_04494_intknd] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/unsafe.dats: 2024(line=63, offs=10) -- 2250(line=73, offs=2)
*/
ATSstaticdec()
ats_void_type
ptr0_set_01760_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp665) ;

__ats_lab_ptr0_set_01760_ats_ptr_type:
ats_ptrget_mac(ats_ptr_type, ats_castfn_mac(ats_ptr_type, arg0)) = arg1 ;
return /* (tmp665) */ ;
} /* end of [ptr0_set_01760_ats_ptr_type] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/unsafe.dats: 2472(line=83, offs=21) -- 2499(line=83, offs=48)
*/
ATSstaticdec()
ats_void_type
ptrset_01764_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp664) ;

__ats_lab_ptrset_01764_ats_ptr_type:
/* tmp664 = */ ptr0_set_01760_ats_ptr_type (arg0, arg1) ;
return /* (tmp664) */ ;
} /* end of [ptrset_01764_ats_ptr_type] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 16485(line=786, offs=1) -- 16852(line=808, offs=2)
*/
ATSstaticdec()
ats_ptr_type
myiveqlst_cons_04917_intknd (ats_int_type arg0, ats_int_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp656) ;
ATSlocal (ats_ptr_type, tmp657) ;
ATSlocal (ats_ptr_type, tmp661) ;
// ATSlocal_void (tmp662) ;
ATSlocal (ats_bool_type, tmp663) ;

__ats_lab_myiveqlst_cons_04917_intknd:
tmp657 = myiveqlst_get_prev_04494_intknd (arg3) ;
tmp661 = ATS_MALLOC(sizeof(anairiats_sum_8)) ;
((ats_sum_ptr_type)tmp661)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_8, tmp661, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_8, tmp661, atslab_1, arg2) ;
ats_selptrset_mac(anairiats_sum_8, tmp661, atslab_2, arg1) ;
ats_selptrset_mac(anairiats_sum_8, tmp661, atslab_3, atspre_null_ptr) ;
ats_selptrset_mac(anairiats_sum_8, tmp661, atslab_4, arg3) ;
tmp663 = atspre_pgt (ats_castfn_mac(ats_ptr_type, tmp657), atspre_null_ptr) ;
if (tmp663) {
/* tmp662 = */ ptrset_01764_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp657), ats_castfn_mac(ats_ptr_type, tmp661)) ;
} else {
/* empty */
} /* end of [if] */
tmp656 = tmp661 ;
return (tmp656) ;
} /* end of [myiveqlst_cons_04917_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 23694(line=1163, offs=17) -- 24307(line=1194, offs=4)
*/
ATSstaticdec()
ats_int_type
auxeq_04570_intknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4) {
/* local vardec */
ATSlocal (ats_int_type, tmp609) ;
// ATSlocal_void (tmp610) ;
ATSlocal (ats_int_type, tmp611) ;
ATSlocal (ats_bool_type, tmp615) ;
ATSlocal (ats_int_type, tmp616) ;
ATSlocal (ats_ptr_type, tmp655) ;
// ATSlocal_void (tmp666) ;

__ats_lab_auxeq_04570_intknd:
/* tmp610 = */ myintvec_elimeqlst_04921_intknd (0, arg3, ats_ptrget_mac(ats_ptr_type, arg2), arg4) ;
tmp611 = myintvec_inspect_eq_04782_intknd (arg3, arg4) ;
tmp615 = atspre_ieq (tmp611, 0) ;
if (tmp615) {
tmp616 = myintvec_get_index_of_absmincff_04904_intknd (arg3, arg4) ;
tmp655 = myiveqlst_cons_04917_intknd (arg0, tmp616, arg3, ats_ptrget_mac(ats_ptr_type, arg2)) ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp655 ;
tmp609 = 0 ;
} else {
/* tmp666 = */ myintvec_free_04765_intknd (arg3, arg4) ;
tmp609 = tmp611 ;
} /* end of [if] */
return (tmp609) ;
} /* end of [auxeq_04570_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 8437(line=335, offs=3) -- 8482(line=335, offs=48)
*/
ATSstaticdec()
ats_int_type
myintvec_inspect_neq_04783_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_int_type, tmp672) ;

__ats_lab_myintvec_inspect_neq_04783_intknd:
tmp672 = myintvec_inspect_04779_intknd (-1, arg0, arg1) ;
return (tmp672) ;
} /* end of [myintvec_inspect_neq_04783_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 25463(line=1244, offs=16) -- 26584(line=1294, offs=4)
*/
ATSstaticdec()
ats_ptr_type
auxneq_04588_intknd (ats_int_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ptr_type arg3, ats_int_type arg4, ats_ref_type arg5) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp669) ;
// ATSlocal_void (tmp670) ;
ATSlocal (ats_int_type, tmp671) ;
ATSlocal (ats_bool_type, tmp673) ;
ATSlocal (ats_ptr_type, tmp674) ;
// ATSlocal_void (tmp675) ;
ATSlocal (intknd, tmp676) ;
ATSlocal (ats_ptr_type, tmp677) ;
// ATSlocal_void (tmp678) ;
// ATSlocal_void (tmp679) ;
// ATSlocal_void (tmp680) ;
// ATSlocal_void (tmp681) ;
// ATSlocal_void (tmp682) ;
ATSlocal (ats_ptr_type, tmp683) ;
ATSlocal (ats_ptr_type, tmp684) ;
ATSlocal (ats_ptr_type, tmp685) ;
ATSlocal (ats_ptr_type, tmp686) ;
ATSlocal (ats_ptr_type, tmp687) ;
// ATSlocal_void (tmp688) ;
ATSlocal (ats_int_type, tmp689) ;
ATSlocal (ats_bool_type, tmp690) ;
ATSlocal (ats_ptr_type, tmp691) ;

__ats_lab_auxneq_04588_intknd:
/* tmp670 = */ myintvec_elimeqlst_04921_intknd (0, arg3, ats_ptrget_mac(ats_ptr_type, arg2), arg4) ;
tmp671 = myintvec_inspect_neq_04783_intknd (arg3, arg4) ;
ats_ptrget_mac(ats_int_type, arg5) = tmp671 ;
tmp673 = atspre_ieq (ats_ptrget_mac(ats_int_type, arg5), 0) ;
if (tmp673) {
tmp674 = myintvec_copy_04788_intknd (arg3, arg4) ;
/* tmp675 = */ myintvec_add_int_04760_intknd (tmp674, -1) ;
tmp676 = myint_make_int_04721_intknd (-1) ;
tmp677 = myintvec_copy_cff_04789_intknd (tmp676, arg3, arg4) ;
/* tmp678 = */ myint_free_04723_intknd (tmp676) ;
/* tmp679 = */ myintvec_add_int_04760_intknd (tmp677, -1) ;
/* tmp680 = */ myintvec_free_04765_intknd (arg3, arg4) ;
/* tmp681 = */ myintvec_normalize_gte_04786_intknd (tmp674, arg4) ;
/* tmp682 = */ myintvec_normalize_gte_04786_intknd (tmp677, arg4) ;
tmp683 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp683)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_5, tmp683, atslab_0, 2) ;
ats_selptrset_mac(anairiats_sum_5, tmp683, atslab_1, tmp674) ;
tmp684 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp684)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_5, tmp684, atslab_0, 2) ;
ats_selptrset_mac(anairiats_sum_5, tmp684, atslab_1, tmp677) ;
tmp687 = (ats_sum_ptr_type)0 ;
tmp686 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp686, atslab_0, tmp684) ;
ats_selptrset_mac(anairiats_sum_4, tmp686, atslab_1, tmp687) ;
tmp685 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp685, atslab_0, tmp683) ;
ats_selptrset_mac(anairiats_sum_4, tmp685, atslab_1, tmp686) ;
tmp669 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp669)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp669, atslab_0, 1) ;
ats_selptrset_mac(anairiats_sum_5, tmp669, atslab_1, tmp685) ;
} else {
/* tmp688 = */ myintvec_free_04765_intknd (arg3, arg4) ;
tmp690 = atspre_igt (ats_ptrget_mac(ats_int_type, arg5), 0) ;
if (tmp690) {
tmp689 = 0 ;
} else {
tmp689 = 1 ;
} /* end of [if] */
tmp691 = (ats_sum_ptr_type)0 ;
tmp669 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp669)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp669, atslab_0, tmp689) ;
ats_selptrset_mac(anairiats_sum_5, tmp669, atslab_1, tmp691) ;
} /* end of [if] */
return (tmp669) ;
} /* end of [auxneq_04588_intknd] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list_vt.dats: 5506(line=202, offs=7) -- 5735(line=208, offs=6)
*/
ATSstaticdec()
ats_int_type
loop_112 (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_int_type, tmp701) ;
ATSlocal (ats_ptr_type, tmp702) ;
ATSlocal (ats_ptr_type, tmp703) ;
ATSlocal (ats_int_type, tmp704) ;

__ats_lab_loop_112:
do {
/* branch: __ats_lab_90 */
__ats_lab_90_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_91_0 ; }
__ats_lab_90_1:
tmp702 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ;
tmp703 = ats_ptrget_mac(ats_ptr_type, tmp702) ;
tmp704 = atspre_iadd (arg1, 1) ;
arg0 = tmp703 ;
arg1 = tmp704 ;
goto __ats_lab_loop_112 ; // tail call
break ;

/* branch: __ats_lab_91 */
__ats_lab_91_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_91_1:
tmp701 = arg1 ;
break ;
} while (0) ;
return (tmp701) ;
} /* end of [loop_112] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list_vt.dats: 5439(line=200, offs=16) -- 5775(line=211, offs=4)
*/
ATSstaticdec()
ats_int_type
list_vt_length_01501_ats_ptr_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_int_type, tmp700) ;

__ats_lab_list_vt_length_01501_ats_ptr_type:
tmp700 = loop_112 (arg0, 0) ;
return (tmp700) ;
} /* end of [list_vt_length_01501_ats_ptr_type] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list_vt.dats: 6702(line=253, offs=5) -- 6923(line=259, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_114 (ats_ref_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp708) ;
ATSlocal (ats_ptr_type, tmp709) ;

__ats_lab_loop_114:
do {
/* branch: __ats_lab_92 */
__ats_lab_92_0:
if (ats_ptrget_mac(ats_ptr_type, arg0) == (ats_sum_ptr_type)0) { goto __ats_lab_93_0 ; }
__ats_lab_92_1:
tmp709 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg0), atslab_1) ;
arg0 = tmp709 ;
arg1 = arg1 ;
goto __ats_lab_loop_114 ; // tail call
break ;

/* branch: __ats_lab_93 */
__ats_lab_93_0:
// if (ats_ptrget_mac(ats_ptr_type, arg0) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_93_1:
ats_ptrget_mac(ats_ptr_type, arg0) = arg1 ;
break ;
} while (0) ;
return /* (tmp708) */ ;
} /* end of [loop_114] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list_vt.dats: 6567(line=247, offs=16) -- 6970(line=262, offs=4)
*/
ATSstaticdec()
ats_ptr_type
list_vt_append_01504_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp706) ;
ATSlocal (ats_ptr_type, tmp707) ;
// ATSlocal_void (tmp710) ;

__ats_lab_list_vt_append_01504_ats_ptr_type:
/* ats_ptr_type tmp707 ; */
tmp707 = arg0 ;
/* tmp710 = */ loop_114 ((&tmp707), arg1) ;
tmp706 = tmp707 ;
return (tmp706) ;
} /* end of [list_vt_append_01504_ats_ptr_type] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list_vt.dats: 7114(line=272, offs=5) -- 7471(line=286, offs=2)
*/
ATSstaticdec()
ats_void_type
loop_116 (ats_ref_type arg0, ats_int_type arg1, ats_ref_type arg2) {
/* local vardec */
// ATSlocal_void (tmp714) ;
ATSlocal (ats_bool_type, tmp715) ;
ATSlocal (ats_ptr_type, tmp716) ;
ATSlocal (ats_ptr_type, tmp717) ;
ATSlocal (ats_int_type, tmp718) ;
ATSlocal (ats_ptr_type, tmp719) ;

__ats_lab_loop_116:
tmp715 = atspre_igt (arg1, 0) ;
if (tmp715) {
ats_ptrget_mac(ats_ptr_type, arg2) = ats_ptrget_mac(ats_ptr_type, arg0) ;
// if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
tmp716 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ;
tmp717 = ats_ptrget_mac(ats_ptr_type, tmp716) ;
ats_ptrget_mac(ats_ptr_type, arg0) = tmp717 ;
tmp718 = atspre_isub (arg1, 1) ;
arg0 = arg0 ;
arg1 = tmp718 ;
arg2 = tmp716 ;
goto __ats_lab_loop_116 ; // tail call
} else {
tmp719 = (ats_sum_ptr_type)0 ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp719 ;
} /* end of [if] */
return /* (tmp714) */ ;
} /* end of [loop_116] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list_vt.dats: 7093(line=270, offs=18) -- 7571(line=293, offs=4)
*/
ATSstaticdec()
ats_ptr_type
list_vt_split_at_01505_ats_ptr_type (ats_ref_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp713) ;
ATSlocal (ats_ptr_type, tmp720) ;
// ATSlocal_void (tmp721) ;

__ats_lab_list_vt_split_at_01505_ats_ptr_type:
/* ats_ptr_type tmp720 ; */
/* tmp721 = */ loop_116 (arg0, arg1, (&tmp720)) ;
tmp713 = tmp720 ;
return (tmp713) ;
} /* end of [list_vt_split_at_01505_ats_ptr_type] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 29291(line=1397, offs=21) -- 29683(line=1411, offs=4)
*/
ATSstaticdec()
ats_int_type
auxmain_conj_04928_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5, ats_ref_type arg6) {
/* local vardec */
ATSlocal (ats_int_type, tmp698) ;
ATSlocal (ats_int_type, tmp699) ;
ATSlocal (ats_ptr_type, tmp705) ;
ATSlocal (ats_int_type, tmp711) ;
ATSlocal (ats_ptr_type, tmp712) ;

__ats_lab_auxmain_conj_04928_intknd:
tmp699 = list_vt_length_01501_ats_ptr_type (ats_ptrget_mac(ats_ptr_type, arg6)) ;
tmp705 = list_vt_append_01504_ats_ptr_type (ats_ptrget_mac(ats_ptr_type, arg6), ats_ptrget_mac(ats_ptr_type, arg5)) ;
ats_ptrget_mac(ats_ptr_type, arg5) = tmp705 ;
tmp711 = auxmain_04927_intknd (arg0, arg1, arg2, arg3, arg4, arg5) ;
tmp712 = list_vt_split_at_01505_ats_ptr_type (arg5, tmp699) ;
ats_ptrget_mac(ats_ptr_type, arg6) = tmp712 ;
tmp698 = tmp711 ;
return (tmp698) ;
} /* end of [auxmain_conj_04928_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 13422(line=613, offs=16) -- 13447(line=613, offs=41)
*/
ATSstaticdec()
ats_ptr_type
myivlst_mark_04912_intknd (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp728) ;

__ats_lab_myivlst_mark_04912_intknd:
tmp728 = ATS_MALLOC(sizeof(anairiats_sum_6)) ;
((ats_sum_ptr_type)tmp728)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_6, tmp728, atslab_0, arg0) ;
return (tmp728) ;
} /* end of [myivlst_mark_04912_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 17045(line=822, offs=6) -- 17309(line=839, offs=2)
*/
ATSstaticdec()
ats_ptr_type
myiveqlst_mark_04918_intknd (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp730) ;
ATSlocal (ats_ptr_type, tmp731) ;
ATSlocal (ats_ptr_type, tmp732) ;
// ATSlocal_void (tmp733) ;
ATSlocal (ats_bool_type, tmp734) ;

__ats_lab_myiveqlst_mark_04918_intknd:
tmp731 = myiveqlst_get_prev_04494_intknd (arg0) ;
tmp732 = ATS_MALLOC(sizeof(anairiats_sum_7)) ;
((ats_sum_ptr_type)tmp732)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_7, tmp732, atslab_0, atspre_null_ptr) ;
ats_selptrset_mac(anairiats_sum_7, tmp732, atslab_1, arg0) ;
tmp734 = atspre_pgt (ats_castfn_mac(ats_ptr_type, tmp731), atspre_null_ptr) ;
if (tmp734) {
/* tmp733 = */ ptrset_01764_ats_ptr_type (ats_castfn_mac(ats_ptr_type, tmp731), ats_castfn_mac(ats_ptr_type, tmp732)) ;
} else {
/* empty */
} /* end of [if] */
tmp730 = tmp732 ;
return (tmp730) ;
} /* end of [myiveqlst_mark_04918_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 13619(line=624, offs=3) -- 13858(line=634, offs=31)
*/
ATSstaticdec()
ats_ptr_type
myivlst_unmark_04913_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp738) ;
ATSlocal (ats_ptr_type, tmp739) ;
ATSlocal (ats_ptr_type, tmp740) ;
// ATSlocal_void (tmp741) ;
ATSlocal (ats_ptr_type, tmp742) ;

__ats_lab_myivlst_unmark_04913_intknd:
do {
/* branch: __ats_lab_96 */
__ats_lab_96_0:
if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_97_0 ; }
__ats_lab_96_1:
tmp738 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__MYIVLSTnil_0) ;
break ;

/* branch: __ats_lab_97 */
__ats_lab_97_0:
if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_98_0 ; }
__ats_lab_97_1:
tmp739 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ;
tmp740 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_2) ;
ATS_FREE(arg0) ;
/* tmp741 = */ myintvec_free_04765_intknd (tmp739, arg1) ;
arg0 = tmp740 ;
arg1 = arg1 ;
goto __ats_lab_myivlst_unmark_04913_intknd ; // tail call
break ;

/* branch: __ats_lab_98 */
__ats_lab_98_0:
// if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_98_1:
tmp742 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ;
ATS_FREE(arg0) ;
tmp738 = tmp742 ;
break ;
} while (0) ;
return (tmp738) ;
} /* end of [myivlst_unmark_04913_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 17528(line=852, offs=3) -- 17797(line=862, offs=38)
*/
ATSstaticdec()
ats_ptr_type
myiveqlst_unmark_04919_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp744) ;
ATSlocal (ats_ptr_type, tmp745) ;
ATSlocal (ats_ptr_type, tmp746) ;
// ATSlocal_void (tmp747) ;
ATSlocal (ats_ptr_type, tmp748) ;

__ats_lab_myiveqlst_unmark_04919_intknd:
do {
/* branch: __ats_lab_99 */
__ats_lab_99_0:
if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_100_0 ; }
__ats_lab_99_1:
tmp744 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTnil_0) ;
break ;

/* branch: __ats_lab_100 */
__ats_lab_100_0:
if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_101_0 ; }
__ats_lab_100_1:
tmp745 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ;
tmp746 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_4) ;
ATS_FREE(arg0) ;
/* tmp747 = */ myintvec_free_04765_intknd (tmp745, arg1) ;
arg0 = tmp746 ;
arg1 = arg1 ;
goto __ats_lab_myiveqlst_unmark_04919_intknd ; // tail call
break ;

/* branch: __ats_lab_101 */
__ats_lab_101_0:
// if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_101_1:
tmp748 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ;
ATS_FREE(arg0) ;
tmp744 = tmp748 ;
break ;
} while (0) ;
return (tmp744) ;
} /* end of [myiveqlst_unmark_04919_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 5866(line=218, offs=13) -- 6019(line=222, offs=28)
*/
ATSstaticdec()
ats_void_type
icnstr_free_04777_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp756) ;
ATSlocal (ats_ptr_type, tmp757) ;
ATSlocal (ats_ptr_type, tmp758) ;

__ats_lab_icnstr_free_04777_intknd:
do {
/* branch: __ats_lab_103 */
__ats_lab_103_0:
if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_104_0 ; }
__ats_lab_103_1:
tmp757 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ;
ATS_FREE(arg0) ;
/* tmp756 = */ myintvec_free_04765_intknd (tmp757, arg1) ;
break ;

/* branch: __ats_lab_104 */
__ats_lab_104_0:
if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_105_0 ; }
__ats_lab_104_1:
tmp758 = ats_caselptrlab_mac(anairiats_sum_5, arg0, atslab_1) ;
ATS_FREE(arg0) ;
/* tmp756 = */ icnstrlst_free_04778_intknd (tmp758, arg1) ;
break ;

/* branch: __ats_lab_105 */
__ats_lab_105_0:
// if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_105_1:
ATS_FREE(arg0) ;
break ;
} while (0) ;
return /* (tmp756) */ ;
} /* end of [icnstr_free_04777_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm.dats: 6073(line=226, offs=16) -- 6208(line=230, offs=26)
*/
ATSstaticdec()
ats_void_type
icnstrlst_free_04778_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp752) ;
ATSlocal (ats_ptr_type, tmp753) ;
ATSlocal (ats_ptr_type, tmp754) ;
// ATSlocal_void (tmp755) ;

__ats_lab_icnstrlst_free_04778_intknd:
do {
/* branch: __ats_lab_102 */
__ats_lab_102_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_106_0 ; }
__ats_lab_102_1:
tmp753 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ;
tmp754 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ;
ATS_FREE(arg0) ;
/* tmp755 = */ icnstr_free_04777_intknd (tmp753, arg1) ;
arg0 = tmp754 ;
arg1 = arg1 ;
goto __ats_lab_icnstrlst_free_04778_intknd ; // tail call
break ;

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

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list_vt.dats: 7889(line=308, offs=7) -- 8174(line=317, offs=28)
*/
ATSstaticdec()
ats_ptr_type
revapp_125 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp763) ;
ATSlocal (ats_ptr_type, tmp764) ;
ATSlocal (ats_ptr_type, tmp765) ;
ATSlocal (ats_ptr_type, tmp766) ;

__ats_lab_revapp_125:
do {
/* branch: __ats_lab_107 */
__ats_lab_107_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_108_0 ; }
__ats_lab_107_1:
tmp764 = &ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ;
tmp765 = ats_ptrget_mac(ats_ptr_type, tmp764) ;
ats_ptrget_mac(ats_ptr_type, tmp764) = arg1 ;
tmp766 = arg0 ;
arg0 = tmp765 ;
arg1 = tmp766 ;
goto __ats_lab_revapp_125 ; // tail call
break ;

/* branch: __ats_lab_108 */
__ats_lab_108_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_108_1:
tmp763 = arg1 ;
break ;
} while (0) ;
return (tmp763) ;
} /* end of [revapp_125] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list_vt.dats: 7770(line=303, offs=24) -- 8220(line=321, offs=4)
*/
ATSstaticdec()
ats_ptr_type
list_vt_reverse_append_01507_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp762) ;

__ats_lab_list_vt_reverse_append_01507_ats_ptr_type:
tmp762 = revapp_125 (arg0, arg1) ;
return (tmp762) ;
} /* end of [list_vt_reverse_append_01507_ats_ptr_type] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list_vt.dats: 7652(line=298, offs=17) -- 7704(line=299, offs=46)
*/
ATSstaticdec()
ats_ptr_type
list_vt_reverse_01506_ats_ptr_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp768) ;
ATSlocal (ats_ptr_type, tmp769) ;

__ats_lab_list_vt_reverse_01506_ats_ptr_type:
tmp769 = (ats_sum_ptr_type)0 ;
tmp768 = list_vt_reverse_append_01507_ats_ptr_type (arg0, tmp769) ;
return (tmp768) ;
} /* end of [list_vt_reverse_01506_ats_ptr_type] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 29743(line=1414, offs=21) -- 30975(line=1455, offs=4)
*/
ATSstaticdec()
ats_int_type
auxmain_disj_04929_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5, ats_ref_type arg6, ats_ptr_type arg7) {
/* local vardec */
ATSlocal (ats_int_type, tmp722) ;
ATSlocal (ats_ptr_type, tmp723) ;
ATSlocal (ats_ptr_type, tmp724) ;
ATSlocal (ats_ptr_type, tmp725) ;
ATSlocal (ats_ptr_type, tmp726) ;
ATSlocal (ats_ptr_type, tmp727) ;
ATSlocal (ats_ptr_type, tmp729) ;
ATSlocal (ats_ptr_type, tmp735) ;
ATSlocal (ats_int_type, tmp736) ;
ATSlocal (ats_ptr_type, tmp737) ;
ATSlocal (ats_ptr_type, tmp743) ;
ATSlocal (ats_ptr_type, tmp749) ;
ATSlocal (ats_ptr_type, tmp750) ;
// ATSlocal_void (tmp751) ;
ATSlocal (ats_ptr_type, tmp759) ;
ATSlocal (ats_bool_type, tmp760) ;
ATSlocal (ats_ptr_type, tmp761) ;
ATSlocal (ats_ptr_type, tmp767) ;

__ats_lab_auxmain_disj_04929_intknd:
do {
/* branch: __ats_lab_95 */
__ats_lab_95_0:
if (ats_ptrget_mac(ats_ptr_type, arg6) == (ats_sum_ptr_type)0) { goto __ats_lab_109_0 ; }
__ats_lab_95_1:
tmp723 = ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg6), atslab_0) ;
tmp724 = ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg6), atslab_1) ;
ATS_FREE(ats_ptrget_mac(ats_ptr_type, arg6)) ;
ats_ptrget_mac(ats_ptr_type, arg6) = tmp724 ;
tmp725 = icnstrlst_copy_04774_intknd (ats_ptrget_mac(ats_ptr_type, arg5), arg4) ;
tmp726 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp726, atslab_0, tmp723) ;
ats_selptrset_mac(anairiats_sum_4, tmp726, atslab_1, tmp725) ;
tmp727 = myivlst_mark_04912_intknd (ats_ptrget_mac(ats_ptr_type, arg2)) ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp727 ;
tmp729 = myiveqlst_mark_04918_intknd (ats_ptrget_mac(ats_ptr_type, arg3)) ;
ats_ptrget_mac(ats_ptr_type, arg3) = tmp729 ;
/* ats_ptr_type tmp735 ; */
tmp735 = tmp726 ;
tmp736 = auxmain_04927_intknd (arg0, arg1, arg2, arg3, arg4, (&tmp735)) ;
tmp737 = myivlst_unmark_04913_intknd (ats_ptrget_mac(ats_ptr_type, arg2), arg4) ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp737 ;
tmp743 = myiveqlst_unmark_04919_intknd (ats_ptrget_mac(ats_ptr_type, arg3), arg4) ;
ats_ptrget_mac(ats_ptr_type, arg3) = tmp743 ;
// if (tmp735 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
tmp749 = ats_caselptrlab_mac(anairiats_sum_4, tmp735, atslab_0) ;
tmp750 = ats_caselptrlab_mac(anairiats_sum_4, tmp735, atslab_1) ;
ATS_FREE(tmp735) ;
/* tmp751 = */ icnstrlst_free_04778_intknd (tmp750, arg4) ;
tmp759 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp759, atslab_0, tmp749) ;
ats_selptrset_mac(anairiats_sum_4, tmp759, atslab_1, arg7) ;
tmp760 = atspre_igte (tmp736, 0) ;
if (tmp760) {
tmp761 = list_vt_reverse_append_01507_ats_ptr_type (tmp759, ats_ptrget_mac(ats_ptr_type, arg6)) ;
ats_ptrget_mac(ats_ptr_type, arg6) = tmp761 ;
tmp722 = 0 ;
} else {
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = arg3 ;
arg4 = arg4 ;
arg5 = arg5 ;
arg6 = arg6 ;
arg7 = tmp759 ;
goto __ats_lab_auxmain_disj_04929_intknd ; // tail call
} /* end of [if] */
break ;

/* branch: __ats_lab_109 */
__ats_lab_109_0:
// if (ats_ptrget_mac(ats_ptr_type, arg6) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_109_1:
tmp767 = list_vt_reverse_01506_ats_ptr_type (arg7) ;
ats_ptrget_mac(ats_ptr_type, arg6) = tmp767 ;
tmp722 = -1 ;
break ;
} while (0) ;
return (tmp722) ;
} /* end of [auxmain_disj_04929_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 26633(line=1297, offs=16) -- 29236(line=1394, offs=4)
*/
ATSstaticdec()
ats_int_type
auxmain_04927_intknd (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_int_type arg4, ats_ref_type arg5) {
/* local vardec */
ATSlocal (ats_int_type, tmp297) ;
ATSlocal (ats_ptr_type, tmp298) ;
ATSlocal (ats_ptr_type, tmp299) ;
ATSlocal (ats_ptr_type, tmp300) ;
ATSlocal (ats_int_type, tmp301) ;
ATSlocal (ats_ptr_type, tmp302) ;
ATSlocal (ats_bool_type, tmp303) ;
ATSlocal (ats_ptr_type, tmp304) ;
ATSlocal (ats_ptr_type, tmp305) ;
ATSlocal (ats_int_type, tmp306) ;
ATSlocal (ats_bool_type, tmp594) ;
ATSlocal (ats_ptr_type, tmp595) ;
ATSlocal (ats_ptr_type, tmp596) ;
ATSlocal (ats_int_type, tmp597) ;
ATSlocal (ats_bool_type, tmp605) ;
ATSlocal (ats_ptr_type, tmp606) ;
ATSlocal (ats_ptr_type, tmp607) ;
ATSlocal (ats_int_type, tmp608) ;
ATSlocal (ats_int_type, tmp667) ;
ATSlocal (ats_ptr_type, tmp668) ;
ATSlocal (ats_ptr_type, tmp692) ;
ATSlocal (ats_ptr_type, tmp693) ;
ATSlocal (ats_bool_type, tmp694) ;
ATSlocal (ats_int_type, tmp695) ;
ATSlocal (ats_ptr_type, tmp696) ;
ATSlocal (ats_bool_type, tmp697) ;
ATSlocal (ats_ptr_type, tmp770) ;

__ats_lab_auxmain_04927_intknd:
do {
/* branch: __ats_lab_46 */
__ats_lab_46_0:
if (ats_ptrget_mac(ats_ptr_type, arg5) == (ats_sum_ptr_type)0) { goto __ats_lab_111_0 ; }
__ats_lab_46_1:
tmp298 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg5), atslab_0) ;
tmp299 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg5), atslab_1) ;
tmp300 = ats_ptrget_mac(ats_ptr_type, tmp298) ;
do {
/* branch: __ats_lab_47 */
__ats_lab_47_0:
if (((ats_sum_ptr_type)tmp300)->tag != 0) { goto __ats_lab_88_0 ; }
__ats_lab_47_1:
tmp301 = ats_caselptrlab_mac(anairiats_sum_5, tmp300, atslab_0) ;
tmp302 = &ats_caselptrlab_mac(anairiats_sum_5, tmp300, atslab_1) ;
do {
/* branch: __ats_lab_48 */
__ats_lab_48_0:
__ats_lab_48_1:
tmp303 = atspre_ieq (tmp301, -2) ;
if (!tmp303) { goto __ats_lab_82_1 ; }
tmp305 = ats_ptrget_mac(ats_ptr_type, tmp302) ;
tmp304 = myintvec_copy_04788_intknd (tmp305, arg4) ;
tmp306 = auxlt_04556_intknd (arg0, arg2, arg3, tmp304, arg4) ;
tmp297 = auxcont_04578_intknd (arg0, arg1, arg2, arg3, arg4, tmp299, tmp306) ;
break ;

/* branch: __ats_lab_82 */
__ats_lab_82_0:
__ats_lab_82_1:
tmp594 = atspre_ieq (tmp301, 2) ;
if (!tmp594) { goto __ats_lab_83_1 ; }
tmp596 = ats_ptrget_mac(ats_ptr_type, tmp302) ;
tmp595 = myintvec_copy_04788_intknd (tmp596, arg4) ;
tmp597 = auxgte_04563_intknd (arg0, arg2, arg3, tmp595, arg4) ;
tmp297 = auxcont_04578_intknd (arg0, arg1, arg2, arg3, arg4, tmp299, tmp597) ;
break ;

/* branch: __ats_lab_83 */
__ats_lab_83_0:
__ats_lab_83_1:
tmp605 = atspre_ieq (tmp301, 1) ;
if (!tmp605) { goto __ats_lab_87_1 ; }
tmp607 = ats_ptrget_mac(ats_ptr_type, tmp302) ;
tmp606 = myintvec_copy_04788_intknd (tmp607, arg4) ;
tmp608 = auxeq_04570_intknd (arg0, arg2, arg3, tmp606, arg4) ;
tmp297 = auxcont_04578_intknd (arg0, arg1, arg2, arg3, arg4, tmp299, tmp608) ;
break ;

/* branch: __ats_lab_87 */
__ats_lab_87_0:
__ats_lab_87_1:
/* ats_int_type tmp667 ; */
tmp692 = ats_ptrget_mac(ats_ptr_type, tmp302) ;
tmp668 = auxneq_04588_intknd (arg0, arg2, arg3, tmp692, arg4, (&tmp667)) ;
tmp693 = ats_ptrget_mac(ats_ptr_type, tmp298) ;
ATS_FREE(tmp693) ;
ats_ptrget_mac(ats_ptr_type, tmp298) = tmp668 ;
tmp694 = atspre_gte_int_int (tmp667, 0) ;
if (tmp694) {
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = arg3 ;
arg4 = arg4 ;
arg5 = arg5 ;
goto __ats_lab_auxmain_04927_intknd ; // tail call
} else {
tmp297 = -1 ;
} /* end of [if] */
break ;
} while (0) ;
break ;

/* branch: __ats_lab_88 */
__ats_lab_88_0:
if (((ats_sum_ptr_type)tmp300)->tag != 1) { goto __ats_lab_110_0 ; }
__ats_lab_88_1:
tmp695 = ats_caselptrlab_mac(anairiats_sum_5, tmp300, atslab_0) ;
tmp696 = &ats_caselptrlab_mac(anairiats_sum_5, tmp300, atslab_1) ;
do {
/* branch: __ats_lab_89 */
__ats_lab_89_0:
__ats_lab_89_1:
tmp697 = atspre_ieq (tmp695, 0) ;
if (!tmp697) { goto __ats_lab_94_1 ; }
tmp297 = auxmain_conj_04928_intknd (arg0, arg1, arg2, arg3, arg4, tmp299, tmp696) ;
break ;

/* branch: __ats_lab_94 */
__ats_lab_94_0:
__ats_lab_94_1:
tmp770 = (ats_sum_ptr_type)0 ;
tmp297 = auxmain_disj_04929_intknd (arg0, arg1, arg2, arg3, arg4, tmp299, tmp696, tmp770) ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_110 */
__ats_lab_110_0:
// if (((ats_sum_ptr_type)tmp300)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_110_1:
tmp297 = 0 ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_111 */
__ats_lab_111_0:
// if (ats_ptrget_mac(ats_ptr_type, arg5) != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_111_1:
tmp297 = 0 ;
break ;
} while (0) ;
return (tmp297) ;
} /* end of [auxmain_04927_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 12968(line=591, offs=3) -- 13225(line=600, offs=50)
*/
ATSstaticdec()
ats_void_type
myivlst_free_04911_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp772) ;
ATSlocal (ats_ptr_type, tmp773) ;
ATSlocal (ats_ptr_type, tmp774) ;
// ATSlocal_void (tmp775) ;
ATSlocal (ats_ptr_type, tmp776) ;

__ats_lab_myivlst_free_04911_intknd:
do {
/* branch: __ats_lab_112 */
__ats_lab_112_0:
if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_113_0 ; }
__ats_lab_112_1:
break ;

/* branch: __ats_lab_113 */
__ats_lab_113_0:
if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_114_0 ; }
__ats_lab_113_1:
tmp773 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_1) ;
tmp774 = ats_caselptrlab_mac(anairiats_sum_9, arg0, atslab_2) ;
ATS_FREE(arg0) ;
/* tmp775 = */ myintvec_free_04765_intknd (tmp773, arg1) ;
arg0 = tmp774 ;
arg1 = arg1 ;
goto __ats_lab_myivlst_free_04911_intknd ; // tail call
break ;

/* branch: __ats_lab_114 */
__ats_lab_114_0:
// if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_114_1:
tmp776 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ;
ATS_FREE(arg0) ;
arg0 = tmp776 ;
arg1 = arg1 ;
goto __ats_lab_myivlst_free_04911_intknd ; // tail call
break ;
} while (0) ;
return /* (tmp772) */ ;
} /* end of [myivlst_free_04911_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 15460(line=726, offs=3) -- 15723(line=740, offs=53)
*/
ATSstaticdec()
ats_void_type
myiveqlst_free_04915_intknd (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp778) ;
ATSlocal (ats_ptr_type, tmp779) ;
ATSlocal (ats_ptr_type, tmp780) ;
// ATSlocal_void (tmp781) ;
ATSlocal (ats_ptr_type, tmp782) ;

__ats_lab_myiveqlst_free_04915_intknd:
do {
/* branch: __ats_lab_115 */
__ats_lab_115_0:
if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_116_0 ; }
__ats_lab_115_1:
break ;

/* branch: __ats_lab_116 */
__ats_lab_116_0:
if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_117_0 ; }
__ats_lab_116_1:
tmp779 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_1) ;
tmp780 = ats_caselptrlab_mac(anairiats_sum_8, arg0, atslab_4) ;
ATS_FREE(arg0) ;
/* tmp781 = */ myintvec_free_04765_intknd (tmp779, arg1) ;
arg0 = tmp780 ;
arg1 = arg1 ;
goto __ats_lab_myiveqlst_free_04915_intknd ; // tail call
break ;

/* branch: __ats_lab_117 */
__ats_lab_117_0:
// if (((ats_sum_ptr_type)arg0)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_117_1:
tmp782 = ats_caselptrlab_mac(anairiats_sum_7, arg0, atslab_1) ;
ATS_FREE(arg0) ;
arg0 = tmp782 ;
arg1 = arg1 ;
goto __ats_lab_myiveqlst_free_04915_intknd ; // tail call
break ;
} while (0) ;
return /* (tmp778) */ ;
} /* end of [myiveqlst_free_04915_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_lintprgm_solve.dats: 31059(line=1461, offs=7) -- 31498(line=1484, offs=4)
*/
ATSstaticdec()
ats_int_type
icnstrlst_solve_04799_intknd (ats_ptr_type arg0, ats_ref_type arg1, ats_int_type arg2) {
/* local vardec */
ATSlocal (ats_int_type, tmp293) ;
ATSlocal (ats_ptr_type, tmp294) ;
ATSlocal (ats_ptr_type, tmp295) ;
ATSlocal (ats_int_type, tmp296) ;
// ATSlocal_void (tmp771) ;
// ATSlocal_void (tmp777) ;

__ats_lab_icnstrlst_solve_04799_intknd:
/* ats_ptr_type tmp294 ; */
tmp294 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__MYIVLSTnil_0) ;
/* ats_ptr_type tmp295 ; */
tmp295 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__MYIVEQLSTnil_0) ;
tmp296 = auxmain_04927_intknd (0, arg0, (&tmp294), (&tmp295), arg2, arg1) ;
/* tmp771 = */ myivlst_free_04911_intknd (tmp294, arg2) ;
/* tmp777 = */ myiveqlst_free_04915_intknd (tmp295, arg2) ;
tmp293 = tmp296 ;
return (tmp293) ;
} /* end of [icnstrlst_solve_04799_intknd] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 3206(line=130, offs=1) -- 4694(line=204, offs=4)
*/
ATSstaticdec()
ats_int_type
auxsolve_05049_intknd (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
/* local vardec */
ATSlocal (ats_int_type, tmp71) ;
ATSlocal (ats_ptr_type, tmp276) ;
ATSlocal (ats_ptr_type, tmp277) ;
ATSlocal (ats_ptr_type, tmp278) ;
ATSlocal (ats_ptr_type, tmp279) ;
ATSlocal (ats_ptr_type, tmp280) ;
ATSlocal (ats_ptr_type, tmp291) ;
ATSlocal (ats_int_type, tmp292) ;
ATSlocal (ats_int_type, tmp783) ;
// ATSlocal_void (tmp784) ;
ATSlocal (ats_int_type, tmp785) ;

__ats_lab_auxsolve_05049_intknd:
tmp277 = (ats_sum_ptr_type)0 ;
tmp276 = loop_35 (arg0, arg1, arg2, arg3, tmp277) ;
tmp278 = s3exp2icnstr_04874_intknd (arg0, arg1, arg2, arg4) ;
tmp279 = icnstr_negate_04775_intknd (tmp278) ;
tmp280 = indexset_make_s3exp_05036_ats_abs_type (arg1, arg4) ;
/* ats_ptr_type tmp291 ; */
tmp291 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp291, atslab_0, tmp279) ;
ats_selptrset_mac(anairiats_sum_4, tmp291, atslab_1, tmp276) ;
tmp783 = atspre_iadd (arg2, 1) ;
tmp292 = icnstrlst_solve_04799_intknd (tmp280, (&tmp291), tmp783) ;
tmp785 = atspre_iadd (arg2, 1) ;
/* tmp784 = */ icnstrlst_free_04778_intknd (tmp291, tmp785) ;
tmp71 = tmp292 ;
return (tmp71) ;
} /* end of [auxsolve_05049_intknd] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list_vt.dats: 4893(line=177, offs=7) -- 5015(line=178, offs=73)
*/
ATSstaticdec()
ats_void_type
loop_130 (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp789) ;
ATSlocal (ats_ptr_type, tmp790) ;

__ats_lab_loop_130:
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:
tmp790 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ;
ATS_FREE(arg0) ;
arg0 = tmp790 ;
goto __ats_lab_loop_130 ; // tail call
break ;

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

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list_vt.dats: 4875(line=176, offs=14) -- 5054(line=182, offs=4)
*/
ATSstaticdec()
ats_void_type
list_vt_free_01499_ats_ptr_type (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp788) ;

__ats_lab_list_vt_free_01499_ats_ptr_type:
/* tmp788 = */ loop_130 (arg0) ;
return /* (tmp788) */ ;
} /* end of [list_vt_free_01499_ats_ptr_type] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 4774(line=210, offs=3) -- 6727(line=287, offs=4)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3explst_solve_s2exp (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ref_type arg3) {
/* local vardec */
ATSlocal (ats_int_type, tmp48) ;
ATSlocal (ats_ptr_type, tmp49) ;
ATSlocal (ats_ptr_type, tmp50) ;
// ATSlocal_void (tmp51) ;
// ATSlocal_void (tmp54) ;
// ATSlocal_void (tmp55) ;
// ATSlocal_void (tmp56) ;
// ATSlocal_void (tmp57) ;
ATSlocal (ats_int_type, tmp58) ;
ATSlocal (ats_bool_type, tmp60) ;
ATSlocal (ats_bool_type, tmp62) ;
ATSlocal (ats_ptr_type, tmp63) ;
ATSlocal (anairiats_rec_1, tmp64) ;
ATSlocal (ats_ptr_type, tmp65) ;
ATSlocal (ats_ptr_type, tmp66) ;
ATSlocal (anairiats_rec_2, tmp67) ;
ATSlocal (ats_ptr_type, tmp68) ;
ATSlocal (ats_int_type, tmp69) ;
ATSlocal (ats_int_type, tmp70) ;
// ATSlocal_void (tmp786) ;
// ATSlocal_void (tmp787) ;
// ATSlocal_void (tmp791) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3explst_solve_s2exp:
tmp49 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3exp_make (arg1, arg2) ;
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (((ats_sum_ptr_type)tmp49)->tag != 19) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
/* tmp51 = */ prerr_warning3_loc_02446_ (arg0) ;
/* tmp54 = */ atspre_prerr_string (ATSstrcst(": the constraint [")) ;
/* tmp55 = */ _2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__pprerr_s2exp (arg2) ;
/* tmp56 = */ atspre_prerr_string (ATSstrcst("] cannot be translated into a form accepted by the constraint solver.")) ;
/* tmp57 = */ atspre_prerr_newline () ;
tmp50 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3exp_false ;
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
__ats_lab_1_1:
tmp50 = tmp49 ;
break ;
} while (0) ;
/* ats_int_type tmp58 ; */
tmp58 = 0 ;
do {
/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (((ats_sum_ptr_type)tmp50)->tag != 4) { goto __ats_lab_3_0 ; }
tmp60 = ats_caselptrlab_mac(anairiats_sum_3, tmp50, atslab_0) ;
if (!tmp60) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
tmp58 = -1 ;
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
__ats_lab_3_1:
break ;
} while (0) ;
tmp62 = atspre_gte_int_int (tmp58, 0) ;
if (tmp62) {
tmp63 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3exp_lintize (arg1, tmp50) ;
tmp64 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_extract (ats_ptrget_mac(ats_ptr_type, arg1)) ;
tmp65 = ats_select_mac(tmp64, atslab_0) ;
tmp66 = ats_select_mac(tmp64, atslab_1) ;
tmp67 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2varindmap_make (tmp65) ;
tmp68 = ats_select_mac(tmp67, atslab_0) ;
tmp69 = ats_select_mac(tmp67, atslab_1) ;
tmp70 = auxsolve_05049_intknd (arg0, tmp68, tmp69, ats_castfn_mac(ats_ptr_type, tmp66), tmp63) ;
tmp58 = tmp70 ;
/* tmp786 = */ _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2varindmap_free (tmp68) ;
/* tmp787 = */ list_vt_free_01499_ats_ptr_type (tmp65) ;
/* tmp791 = */ list_vt_free_01499_ats_ptr_type (tmp66) ;
} else {
/* empty */
} /* end of [if] */
tmp48 = tmp58 ;
return (tmp48) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3explst_solve_s2exp] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 8289(line=367, offs=5) -- 8597(line=382, offs=4)
*/
ATSstaticdec()
ats_void_type
prlst_132 (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp793) ;
ATSlocal (ats_ptr_type, tmp794) ;
ATSlocal (ats_ptr_type, tmp795) ;
// ATSlocal_void (tmp796) ;
// ATSlocal_void (tmp797) ;

__ats_lab_prlst_132:
do {
/* branch: __ats_lab_120 */
__ats_lab_120_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_121_0 ; }
__ats_lab_120_1:
tmp794 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ;
tmp795 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ;
/* tmp796 = */ _2tmp_2ATS_2dPostiats_2src_2pats_patcst2_2esats__fprint_p2atcst (stderr, tmp794) ;
/* tmp797 = */ atspre_fprint_newline (stderr) ;
arg0 = tmp795 ;
goto __ats_lab_prlst_132 ; // tail call
break ;

/* branch: __ats_lab_121 */
__ats_lab_121_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_121_1:
break ;
} while (0) ;
return /* (tmp793) */ ;
} /* end of [prlst_132] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 8254(line=365, offs=3) -- 9105(line=405, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__prerr_case_exhaustiveness_errmsg (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp792) ;
// ATSlocal_void (tmp798) ;
// ATSlocal_void (tmp799) ;
// ATSlocal_void (tmp800) ;
// ATSlocal_void (tmp801) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__prerr_case_exhaustiveness_errmsg:
do {
/* branch: __ats_lab_122 */
__ats_lab_122_0:
if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_123_0 ; }
__ats_lab_122_1:
/* tmp798 = */ prerr_error3_loc_02441_ (arg0) ;
/* tmp799 = */ atspre_prerr_string (ATSstrcst(": pattern match is nonexhaustive:\n")) ;
/* tmp792 = */ prlst_132 (arg2) ;
break ;

/* branch: __ats_lab_123 */
__ats_lab_123_0:
if (((ats_sum_ptr_type)arg1)->tag != 2) { goto __ats_lab_124_0 ; }
__ats_lab_123_1:
break ;

/* branch: __ats_lab_124 */
__ats_lab_124_0:
// if (((ats_sum_ptr_type)arg1)->tag != 0) { ats_deadcode_failure_handle () ; }
__ats_lab_124_1:
/* tmp800 = */ prerr_warning3_loc_02446_ (arg0) ;
/* tmp801 = */ atspre_prerr_string (ATSstrcst(": pattern match is nonexhaustive:\n")) ;
/* tmp792 = */ prlst_132 (arg2) ;
break ;
} while (0) ;
return /* (tmp792) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__prerr_case_exhaustiveness_errmsg] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 9290(line=417, offs=1) -- 9405(line=421, offs=57)
*/
ATSstaticdec()
ats_void_type
prerr_c3nstr_if_134 (ats_uint_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp805) ;
ATSlocal (ats_bool_type, tmp806) ;
// ATSlocal_void (tmp807) ;

__ats_lab_prerr_c3nstr_if_134:
tmp806 = atspre_eq_uint_uint (arg0, 0u) ;
if (tmp806) {
/* tmp807 = */ atspre_prerr_string (ATSstrcst(": ")) ;
/* tmp805 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__prerr_c3nstr (arg1) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp805) */ ;
} /* end of [prerr_c3nstr_if_134] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 9205(line=411, offs=3) -- 12279(line=530, offs=4)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_errmsg (ats_ptr_type arg0, ats_uint_type arg1) {
/* local vardec */
ATSlocal (ats_int_type, tmp802) ;
ATSlocal (ats_ptr_type, tmp803) ;
ATSlocal (ats_ptr_type, tmp804) ;
ATSlocal (ats_bool_type, tmp808) ;
// ATSlocal_void (tmp809) ;
// ATSlocal_void (tmp810) ;
// ATSlocal_void (tmp811) ;
// ATSlocal_void (tmp812) ;
ATSlocal (ats_ptr_type, tmp813) ;
ATSlocal (ats_ptr_type, tmp814) ;
// ATSlocal_void (tmp815) ;
// ATSlocal_void (tmp816) ;
// ATSlocal_void (tmp817) ;
// ATSlocal_void (tmp818) ;
// ATSlocal_void (tmp819) ;
// ATSlocal_void (tmp820) ;
// ATSlocal_void (tmp821) ;
// ATSlocal_void (tmp822) ;
// ATSlocal_void (tmp823) ;
// ATSlocal_void (tmp824) ;
// ATSlocal_void (tmp825) ;
// ATSlocal_void (tmp826) ;
// ATSlocal_void (tmp827) ;
// ATSlocal_void (tmp828) ;
// ATSlocal_void (tmp829) ;
// ATSlocal_void (tmp830) ;
// ATSlocal_void (tmp831) ;
// ATSlocal_void (tmp832) ;
// ATSlocal_void (tmp833) ;
// ATSlocal_void (tmp834) ;
// ATSlocal_void (tmp835) ;
ATSlocal (ats_ptr_type, tmp836) ;
// ATSlocal_void (tmp837) ;
// ATSlocal_void (tmp838) ;
// ATSlocal_void (tmp839) ;
// ATSlocal_void (tmp840) ;
// ATSlocal_void (tmp841) ;
ATSlocal (ats_int_type, tmp842) ;
// ATSlocal_void (tmp843) ;
// ATSlocal_void (tmp844) ;
ATSlocal (ats_bool_type, tmp845) ;
// ATSlocal_void (tmp846) ;
ATSlocal (ats_bool_type, tmp847) ;
// ATSlocal_void (tmp848) ;
ATSlocal (ats_bool_type, tmp849) ;
// ATSlocal_void (tmp850) ;
// ATSlocal_void (tmp851) ;
// ATSlocal_void (tmp852) ;
// ATSlocal_void (tmp853) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_errmsg:
tmp803 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_c3nstr_loc) ;
tmp804 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg0), atslab_c3nstr_kind) ;
do {
/* branch: __ats_lab_125 */
__ats_lab_125_0:
if (((ats_sum_ptr_type)tmp804)->tag != 0) { goto __ats_lab_126_0 ; }
__ats_lab_125_1:
tmp808 = atspre_eq_uint_uint (arg1, 0u) ;
if (tmp808) {
/* tmp809 = */ prerr_error3_loc_02441_ (tmp803) ;
/* tmp810 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint: ")) ;
/* tmp811 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__prerr_c3nstr (arg0) ;
/* tmp812 = */ atspre_prerr_newline () ;
tmp802 = 0 ;
} else {
tmp802 = 0 ;
} /* end of [if] */
break ;

/* branch: __ats_lab_126 */
__ats_lab_126_0:
if (((ats_sum_ptr_type)tmp804)->tag != 1) { goto __ats_lab_130_0 ; }
__ats_lab_126_1:
tmp813 = ats_caselptrlab_mac(anairiats_sum_7, tmp804, atslab_0) ;
tmp814 = ats_caselptrlab_mac(anairiats_sum_7, tmp804, atslab_1) ;
/* tmp815 = */ _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__prerr_case_exhaustiveness_errmsg (tmp803, tmp813, tmp814) ;
do {
/* branch: __ats_lab_127 */
__ats_lab_127_0:
if (((ats_sum_ptr_type)tmp813)->tag != 0) { goto __ats_lab_128_0 ; }
__ats_lab_127_1:
tmp802 = 1 ;
break ;

/* branch: __ats_lab_128 */
__ats_lab_128_0:
if (((ats_sum_ptr_type)tmp813)->tag != 1) { goto __ats_lab_129_0 ; }
__ats_lab_128_1:
tmp802 = 0 ;
break ;

/* branch: __ats_lab_129 */
__ats_lab_129_0:
// if (((ats_sum_ptr_type)tmp813)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_129_1:
tmp802 = 0 ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_130 */
__ats_lab_130_0:
if (((ats_sum_ptr_type)tmp804)->tag != 2) { goto __ats_lab_131_0 ; }
__ats_lab_130_1:
/* tmp816 = */ prerr_error3_loc_02441_ (tmp803) ;
/* tmp817 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for termetric being well-founded")) ;
/* tmp818 = */ prerr_c3nstr_if_134 (arg1, arg0) ;
/* tmp819 = */ atspre_prerr_newline () ;
tmp802 = 0 ;
break ;

/* branch: __ats_lab_131 */
__ats_lab_131_0:
if (((ats_sum_ptr_type)tmp804)->tag != 3) { goto __ats_lab_132_0 ; }
__ats_lab_131_1:
/* tmp820 = */ prerr_error3_loc_02441_ (tmp803) ;
/* tmp821 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for termetric being strictly decreasing")) ;
/* tmp822 = */ prerr_c3nstr_if_134 (arg1, arg0) ;
/* tmp823 = */ atspre_prerr_newline () ;
tmp802 = 0 ;
break ;

/* branch: __ats_lab_132 */
__ats_lab_132_0:
if (((ats_sum_ptr_type)tmp804)->tag != 4) { goto __ats_lab_133_0 ; }
__ats_lab_132_1:
/* tmp824 = */ prerr_error3_loc_02441_ (tmp803) ;
/* tmp825 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for var preservation")) ;
/* tmp826 = */ atspre_prerr_newline () ;
tmp802 = 0 ;
break ;

/* branch: __ats_lab_133 */
__ats_lab_133_0:
if (((ats_sum_ptr_type)tmp804)->tag != 5) { goto __ats_lab_134_0 ; }
__ats_lab_133_1:
/* tmp827 = */ prerr_error3_loc_02441_ (tmp803) ;
/* tmp828 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for lvar preservation")) ;
/* tmp829 = */ atspre_prerr_newline () ;
tmp802 = 0 ;
break ;

/* branch: __ats_lab_134 */
__ats_lab_134_0:
if (((ats_sum_ptr_type)tmp804)->tag != 6) { goto __ats_lab_135_0 ; }
__ats_lab_134_1:
/* tmp830 = */ prerr_error3_loc_02441_ (tmp803) ;
/* tmp831 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for vbox preservation")) ;
/* tmp832 = */ atspre_prerr_newline () ;
tmp802 = 0 ;
break ;

/* branch: __ats_lab_135 */
__ats_lab_135_0:
if (((ats_sum_ptr_type)tmp804)->tag != 7) { goto __ats_lab_136_0 ; }
__ats_lab_135_1:
/* tmp833 = */ prerr_error3_loc_02441_ (tmp803) ;
/* tmp834 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for lstate merging")) ;
/* tmp835 = */ atspre_prerr_newline () ;
tmp802 = 0 ;
break ;

/* branch: __ats_lab_136 */
__ats_lab_136_0:
if (((ats_sum_ptr_type)tmp804)->tag != 8) { goto __ats_lab_137_0 ; }
__ats_lab_136_1:
tmp836 = ats_caselptrlab_mac(anairiats_sum_6, tmp804, atslab_0) ;
/* tmp837 = */ prerr_error3_loc_02441_ (tmp803) ;
/* tmp838 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for merging the lstate of [")) ;
/* tmp839 = */ _2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__prerr_d2var (tmp836) ;
/* tmp840 = */ atspre_prerr_string (ATSstrcst("]")) ;
/* tmp841 = */ atspre_prerr_newline () ;
tmp802 = 0 ;
break ;

/* branch: __ats_lab_137 */
__ats_lab_137_0:
if (((ats_sum_ptr_type)tmp804)->tag != 9) { goto __ats_lab_138_0 ; }
__ats_lab_137_1:
tmp842 = ats_caselptrlab_mac(anairiats_sum_11, tmp804, atslab_0) ;
/* tmp843 = */ prerr_error3_loc_02441_ (tmp803) ;
tmp845 = atspre_lt_int_int (tmp842, 0) ;
if (tmp845) {
/* tmp844 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for loop(enter)")) ;
} else {
/* empty */
} /* end of [if] */
tmp847 = atspre_eq_int_int (tmp842, 0) ;
if (tmp847) {
/* tmp846 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for loop(break)")) ;
} else {
/* empty */
} /* end of [if] */
tmp849 = atspre_gt_int_int (tmp842, 0) ;
if (tmp849) {
/* tmp848 = */ atspre_prerr_string (ATSstrcst(": unsolved constraint for loop(continue)")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp850 = */ atspre_prerr_newline () ;
tmp802 = 0 ;
break ;

/* branch: __ats_lab_138 */
__ats_lab_138_0:
// if (((ats_sum_ptr_type)tmp804)->tag != 10) { ats_deadcode_failure_handle () ; }
__ats_lab_138_1:
/* tmp851 = */ prerr_error3_loc_02441_ (tmp803) ;
/* tmp852 = */ atspre_prerr_string (ATSstrcst(": the constraint is expected to be verified externally.")) ;
/* tmp853 = */ atspre_prerr_newline () ;
tmp802 = 0 ;
break ;
} while (0) ;
return (tmp802) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_errmsg] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 12362(line=536, offs=1) -- 13255(line=593, offs=4)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_main (ats_ref_type arg0, ats_ptr_type arg1, ats_ref_type arg2, ats_ref_type arg3) {
/* local vardec */
ATSlocal (ats_int_type, tmp854) ;
ATSlocal (ats_ptr_type, tmp855) ;
ATSlocal (ats_int_type, tmp856) ;
ATSlocal (ats_ptr_type, tmp857) ;
ATSlocal (ats_ptr_type, tmp858) ;
ATSlocal (ats_ptr_type, tmp859) ;
ATSlocal (ats_ptr_type, tmp860) ;
ATSlocal (ats_bool_type, tmp862) ;
ATSlocal (ats_int_type, tmp863) ;
ATSlocal (ats_bool_type, tmp864) ;
ATSlocal (ats_bool_type, tmp866) ;
ATSlocal (ats_uint_type, tmp867) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_main:
tmp855 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg1), atslab_c3nstr_loc) ;
/* ats_int_type tmp856 ; */
tmp857 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_10, arg1), atslab_c3nstr_node) ;
do {
/* branch: __ats_lab_139 */
__ats_lab_139_0:
if (((ats_sum_ptr_type)tmp857)->tag != 0) { goto __ats_lab_140_0 ; }
__ats_lab_139_1:
tmp858 = ats_caselptrlab_mac(anairiats_sum_6, tmp857, atslab_0) ;
tmp856 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_prop (tmp855, arg0, tmp858, arg3) ;
break ;

/* branch: __ats_lab_140 */
__ats_lab_140_0:
if (((ats_sum_ptr_type)tmp857)->tag != 1) { goto __ats_lab_141_0 ; }
__ats_lab_140_1:
tmp859 = ats_caselptrlab_mac(anairiats_sum_6, tmp857, atslab_0) ;
tmp856 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst (tmp855, arg0, tmp859, arg2, arg3) ;
break ;

/* branch: __ats_lab_141 */
__ats_lab_141_0:
// if (((ats_sum_ptr_type)tmp857)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_141_1:
tmp860 = ats_caselptrlab_mac(anairiats_sum_6, tmp857, atslab_0) ;
tmp856 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_solverify (tmp855, arg0, tmp860, arg3) ;
break ;
} while (0) ;
tmp862 = atspre_gte_int_int (tmp856, 0) ;
if (tmp862) {
tmp863 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_errmsg (arg1, ats_ptrget_mac(ats_uint_type, arg2)) ;
tmp864 = atspre_gt_int_int (tmp863, 0) ;
if (tmp864) {
tmp856 = -1 ;
} else {
/* empty */
} /* end of [if] */
} else {
/* empty */
} /* end of [if] */
tmp866 = atspre_gte_int_int (tmp856, 0) ;
if (tmp866) {
tmp867 = atspre_add_uint_uint (ats_ptrget_mac(ats_uint_type, arg2), 1u) ;
ats_ptrget_mac(ats_uint_type, arg2) = tmp867 ;
} else {
/* empty */
} /* end of [if] */
tmp854 = tmp856 ;
return (tmp854) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_main] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 13338(line=599, offs=3) -- 13543(line=608, offs=4)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_prop (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ref_type arg3) {
/* local vardec */
ATSlocal (ats_int_type, tmp868) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_prop:
tmp868 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3explst_solve_s2exp (arg0, arg1, arg2, arg3) ;
return (tmp868) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_prop] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 13626(line=614, offs=1) -- 15638(line=690, offs=4)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ref_type arg3, ats_ref_type arg4) {
/* local vardec */
ATSlocal (ats_int_type, tmp869) ;
ATSlocal (ats_ptr_type, tmp870) ;
ATSlocal (ats_ptr_type, tmp871) ;
ATSlocal (ats_ptr_type, tmp872) ;
// ATSlocal_void (tmp873) ;
ATSlocal (ats_ptr_type, tmp874) ;
ATSlocal (ats_ptr_type, tmp875) ;
// ATSlocal_void (tmp876) ;
ATSlocal (ats_ptr_type, tmp877) ;
ATSlocal (ats_ptr_type, tmp878) ;
ATSlocal (ats_ptr_type, tmp879) ;
ATSlocal (ats_ptr_type, tmp880) ;
ATSlocal (ats_ptr_type, tmp881) ;
ATSlocal (ats_ptr_type, tmp882) ;
ATSlocal (ats_ptr_type, tmp883) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst:
do {
/* branch: __ats_lab_142 */
__ats_lab_142_0:
if (arg2 != (ats_sum_ptr_type)0) { goto __ats_lab_143_0 ; }
__ats_lab_142_1:
tmp869 = -1 ;
break ;

/* branch: __ats_lab_143 */
__ats_lab_143_0:
// if (arg2 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_143_1:
tmp870 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_0) ;
tmp871 = ats_caselptrlab_mac(anairiats_sum_4, arg2, atslab_1) ;
do {
/* branch: __ats_lab_144 */
__ats_lab_144_0:
if (((ats_sum_ptr_type)tmp870)->tag != 0) { goto __ats_lab_145_0 ; }
__ats_lab_144_1:
tmp872 = ats_caselptrlab_mac(anairiats_sum_6, tmp870, atslab_0) ;
/* tmp873 = */ _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_add_svar (arg1, tmp872) ;
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = tmp871 ;
arg3 = arg3 ;
arg4 = arg4 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst ; // tail call
break ;

/* branch: __ats_lab_145 */
__ats_lab_145_0:
if (((ats_sum_ptr_type)tmp870)->tag != 1) { goto __ats_lab_148_0 ; }
__ats_lab_145_1:
tmp874 = ats_caselptrlab_mac(anairiats_sum_6, tmp870, atslab_0) ;
tmp875 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3exp_make_h3ypo (arg1, tmp874) ;
do {
/* branch: __ats_lab_146 */
__ats_lab_146_0:
if (((ats_sum_ptr_type)tmp875)->tag != 19) { goto __ats_lab_147_0 ; }
__ats_lab_146_1:
break ;

/* branch: __ats_lab_147 */
__ats_lab_147_0:
__ats_lab_147_1:
tmp877 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s3exp_lintize (arg1, tmp875) ;
/* tmp876 = */ _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_add_sbexp (arg1, tmp877) ;
break ;
} while (0) ;
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = tmp871 ;
arg3 = arg3 ;
arg4 = arg4 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst ; // tail call
break ;

/* branch: __ats_lab_148 */
__ats_lab_148_0:
if (((ats_sum_ptr_type)tmp870)->tag != 2) { goto __ats_lab_149_0 ; }
__ats_lab_148_1:
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = tmp871 ;
arg3 = arg3 ;
arg4 = arg4 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst ; // tail call
break ;

/* branch: __ats_lab_149 */
__ats_lab_149_0:
if (((ats_sum_ptr_type)tmp870)->tag != 3) { goto __ats_lab_150_0 ; }
__ats_lab_149_1:
tmp878 = ats_caselptrlab_mac(anairiats_sum_6, tmp870, atslab_0) ;
tmp869 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_cnstr (arg0, arg1, tmp871, tmp878, arg3, arg4) ;
break ;

/* branch: __ats_lab_150 */
__ats_lab_150_0:
if (((ats_sum_ptr_type)tmp870)->tag != 4) { goto __ats_lab_153_0 ; }
__ats_lab_150_1:
tmp879 = ats_caselptrlab_mac(anairiats_sum_6, tmp870, atslab_0) ;
tmp880 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_12, tmp879), atslab_c3nstroptref_ref) ;
tmp881 = ats_ptrget_mac(ats_ptr_type, tmp880) ;
do {
/* branch: __ats_lab_151 */
__ats_lab_151_0:
if (tmp881 != (ats_sum_ptr_type)0) { goto __ats_lab_152_0 ; }
__ats_lab_151_1:
tmp869 = -1 ;
break ;

/* branch: __ats_lab_152 */
__ats_lab_152_0:
// if (tmp881 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_152_1:
tmp882 = ats_caselptrlab_mac(anairiats_sum_13, tmp881, atslab_0) ;
tmp869 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_cnstr (arg0, arg1, tmp871, tmp882, arg3, arg4) ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_153 */
__ats_lab_153_0:
if (((ats_sum_ptr_type)tmp870)->tag != 5) { goto __ats_lab_154_0 ; }
__ats_lab_153_1:
tmp883 = ats_caselptrlab_mac(anairiats_sum_6, tmp870, atslab_0) ;
tmp869 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_disj (arg0, arg1, tmp871, tmp883, arg3, arg4) ;
break ;

/* branch: __ats_lab_154 */
__ats_lab_154_0:
// if (((ats_sum_ptr_type)tmp870)->tag != 6) { ats_deadcode_failure_handle () ; }
__ats_lab_154_1:
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = tmp871 ;
arg3 = arg3 ;
arg4 = arg4 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst ; // tail call
break ;
} while (0) ;
break ;
} while (0) ;
return (tmp869) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 15729(line=696, offs=1) -- 16164(line=711, offs=4)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_cnstr (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ref_type arg5) {
/* local vardec */
ATSlocal (ats_int_type, tmp884) ;
// ATSlocal_void (tmp885) ;
// ATSlocal_void (tmp886) ;
// ATSlocal_void (tmp887) ;
// ATSlocal_void (tmp888) ;
ATSlocal (ats_int_type, tmp889) ;
// ATSlocal_void (tmp890) ;
// ATSlocal_void (tmp891) ;
ATSlocal (ats_int_type, tmp892) ;
ATSlocal (ats_bool_type, tmp893) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_cnstr:
/* tmp885 = */ _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_push (arg1) ;
/* tmp886 = ats_selsin_mac(tmp885, atslab_1) */ ;
/* tmp887 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2varbindmap_push () ;
/* tmp888 = ats_selsin_mac(tmp887, atslab_1) */ ;
tmp889 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_main (arg1, arg3, arg4, arg5) ;
/* tmp890 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2varbindmap_pop () ;
/* tmp891 = */ _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_pop (arg1) ;
tmp892 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst (arg0, arg1, arg2, arg4, arg5) ;
tmp893 = atspre_gte_int_int (tmp889, 0) ;
if (tmp893) {
tmp884 = 0 ;
} else {
tmp884 = tmp892 ;
} /* end of [if] */
return (tmp884) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_cnstr] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list.dats: 7739(line=275, offs=5) -- 8080(line=290, offs=4)
*/
ATSstaticdec()
ats_void_type
loop_141 (ats_ptr_type arg0, ats_ptr_type arg1, ats_ref_type arg2) {
/* local vardec */
// ATSlocal_void (tmp904) ;
ATSlocal (ats_ptr_type, tmp905) ;
ATSlocal (ats_ptr_type, tmp906) ;
ATSlocal (ats_ptr_type, tmp907) ;
ATSlocal (ats_ptr_type, tmp908) ;

__ats_lab_loop_141:
do {
/* branch: __ats_lab_157 */
__ats_lab_157_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_158_0 ; }
__ats_lab_157_1:
tmp905 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ;
tmp906 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ;
tmp907 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp907, atslab_0, tmp905) ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp907 ;
// if (ats_ptrget_mac(ats_ptr_type, arg2) == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
tmp908 = &ats_caselptrlab_mac(anairiats_sum_4, ats_ptrget_mac(ats_ptr_type, arg2), atslab_1) ;
arg0 = tmp906 ;
arg1 = arg1 ;
arg2 = tmp908 ;
goto __ats_lab_loop_141 ; // tail call
break ;

/* branch: __ats_lab_158 */
__ats_lab_158_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_158_1:
ats_ptrget_mac(ats_ptr_type, arg2) = arg1 ;
break ;
} while (0) ;
return /* (tmp904) */ ;
} /* end of [loop_141] */

/*
// /home/ats-lang-anairiats-0.2.12/prelude/DATS/list.dats: 7684(line=272, offs=13) -- 8222(line=297, offs=4)
*/
ATSstaticdec()
ats_ptr_type
list_append_01312_ats_ptr_type (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp902) ;
ATSlocal (ats_ptr_type, tmp903) ;
// ATSlocal_void (tmp909) ;

__ats_lab_list_append_01312_ats_ptr_type:
/* ats_ptr_type tmp903 ; */
/* tmp909 = */ loop_141 (arg0, arg1, (&tmp903)) ;
tmp902 = tmp903 ;
return (tmp902) ;
} /* end of [list_append_01312_ats_ptr_type] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 16260(line=717, offs=1) -- 16956(line=746, offs=4)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_disj (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ptr_type arg3, ats_ref_type arg4, ats_ref_type arg5) {
/* local vardec */
ATSlocal (ats_int_type, tmp894) ;
ATSlocal (ats_ptr_type, tmp895) ;
ATSlocal (ats_ptr_type, tmp896) ;
// ATSlocal_void (tmp897) ;
// ATSlocal_void (tmp898) ;
// ATSlocal_void (tmp899) ;
// ATSlocal_void (tmp900) ;
ATSlocal (ats_ptr_type, tmp901) ;
ATSlocal (ats_int_type, tmp910) ;
// ATSlocal_void (tmp911) ;
// ATSlocal_void (tmp912) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_disj:
do {
/* branch: __ats_lab_155 */
__ats_lab_155_0:
if (arg3 != (ats_sum_ptr_type)0) { goto __ats_lab_156_0 ; }
__ats_lab_155_1:
tmp894 = -1 ;
break ;

/* branch: __ats_lab_156 */
__ats_lab_156_0:
// if (arg3 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_156_1:
tmp895 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_0) ;
tmp896 = ats_caselptrlab_mac(anairiats_sum_4, arg3, atslab_1) ;
/* tmp897 = */ _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_push (arg1) ;
/* tmp898 = ats_selsin_mac(tmp897, atslab_1) */ ;
/* tmp899 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2varbindmap_push () ;
/* tmp900 = ats_selsin_mac(tmp899, atslab_1) */ ;
tmp901 = list_append_01312_ats_ptr_type (tmp895, arg2) ;
tmp910 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst (arg0, arg1, tmp901, arg4, arg5) ;
/* tmp911 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2varbindmap_pop () ;
/* tmp912 = */ _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_pop (arg1) ;
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = tmp896 ;
arg4 = arg4 ;
arg5 = arg5 ;
goto __ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_disj ; // tail call
break ;
} while (0) ;
return (tmp894) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_itmlst_disj] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 17051(line=752, offs=3) -- 17204(line=763, offs=4)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_solverify (ats_ptr_type arg0, ats_ref_type arg1, ats_ptr_type arg2, ats_ref_type arg3) {
/* local vardec */
ATSlocal (ats_int_type, tmp913) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_solverify:
tmp913 = 0 ;
return (tmp913) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_solverify] */

/*
// /tmp/ATS-Postiats/src/pats_constraint3_solve.dats: 17290(line=768, offs=19) -- 18406(line=819, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__c3nstr_ats2_solve (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp914) ;
ATSlocal (ats_ptr_type, tmp915) ;
// ATSlocal_void (tmp916) ;
ATSlocal (ats_uint_type, tmp917) ;
ATSlocal (ats_int_type, tmp918) ;
ATSlocal (ats_int_type, tmp919) ;
// ATSlocal_void (tmp920) ;
ATSlocal (ats_bool_type, tmp921) ;
// ATSlocal_void (tmp922) ;
// ATSlocal_void (tmp923) ;
ATSlocal (ats_bool_type, tmp924) ;
// ATSlocal_void (tmp925) ;
ATSlocal (ats_bool_type, tmp926) ;
// ATSlocal_void (tmp927) ;
// ATSlocal_void (tmp928) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__c3nstr_ats2_solve:
/* ats_ptr_type tmp915 ; */
tmp915 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_nil () ;
/* tmp916 = */ _2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2varbindmap_freetop () ;
/* ats_uint_type tmp917 ; */
tmp917 = 0u ;
/* ats_int_type tmp918 ; */
tmp918 = 0 ;
tmp919 = _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__c3nstr_solve_main ((&tmp915), arg0, (&tmp917), (&tmp918)) ;
/* tmp920 = */ _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__s2vbcfenv_free (tmp915) ;
do {
/* branch: __ats_lab_159 */
__ats_lab_159_0:
__ats_lab_159_1:
tmp921 = atspre_eq_uint_uint (tmp917, 0u) ;
if (!tmp921) { goto __ats_lab_160_1 ; }
break ;

/* branch: __ats_lab_160 */
__ats_lab_160_0:
__ats_lab_160_1:
/* tmp922 = */ atspre_prerr_string (ATSstrcst("typechecking has failed")) ;
tmp924 = atspre_lte_uint_uint (tmp917, 1u) ;
if (tmp924) {
/* tmp923 = */ atspre_prerr_string (ATSstrcst(": there is one unsolved constraint")) ;
} else {
/* empty */
} /* end of [if] */
tmp926 = atspre_gte_uint_uint (tmp917, 2u) ;
if (tmp926) {
/* tmp925 = */ atspre_prerr_string (ATSstrcst(": there are some unsolved constraints")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp927 = */ atspre_prerr_string (ATSstrcst(": please inspect the above reported error message(s) for information.")) ;
/* tmp928 = */ atspre_prerr_newline () ;
/* tmp914 = */ _2tmp_2ATS_2dPostiats_2src_2pats_error_2esats__abort () ;
break ;
} while (0) ;
return /* (tmp914) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__c3nstr_ats2_solve] */

/* 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_utils_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_utils_2edats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_error_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_staexp2_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_patcst2_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_trans3_env_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_intinf_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2edats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_icnstr_2edats__staload (void) ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__staload () {
static int _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__staload_flag = 0 ;
if (_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__staload_flag) return ;
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_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_utils_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_utils_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_error_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_errmsg_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_errmsg_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_staexp2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_patcst2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_dynexp2_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_intinf_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_solve_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_icnstr_2edats__staload () ;

return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__dynload_flag ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__dynload () {
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__dynload_flag = 1 ;
_2tmp_2ATS_2dPostiats_2src_2pats_constraint3_solve_2edats__staload () ;

#ifdef _ATS_PROOFCHECK
ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_v_takeout2_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____copy_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____free_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__lemma_deque_param_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_encode_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_decode_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_clear_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_insert_beg_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_insert_end_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_remove_beg_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_remove_end_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
_2tmp_2ATS_2dPostiats_2src_2pats_utils_2edats____assert_prfck () ;
_2tmp_2ATS_2dPostiats_2src_2pats_utils_2edats____assert_prfck () ;
_2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__myintvecout_addback_prfck () ;
_2tmp_2ATS_2dPostiats_2src_2pats_lintprgm_2esats__myintvecout0_addback_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_constraint3_solve_dats.c] */
