diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_basics.h b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_basics.h
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_basics.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/* ******************************************************************* */
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/* ******************************************************************* */
-
-/*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-** 
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-** 
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: October, 2012 *)
-*/
-
-/* ****** ****** */
-
-#ifndef PATS_CCOMP_BASICS_H
-#define PATS_CCOMP_BASICS_H
-
-/* ****** ****** */
-//
-// HX: boolean values
-//
-#define atsbool_true 1
-#define atsbool_false 0
-//
-#define atsptr_null ((void*)0)
-#define the_atsptr_null ((void*)0)
-//
-/* ****** ****** */
-//
-#define ATSstruct struct
-//
-/* ****** ****** */
-/*
-#define ATStypedef typedef
-*/
-//
-/* ****** ****** */
-
-#ifndef \
-ATS_EXTERN_DEF__
-#define ATSextern() extern
-#else
-#define ATSextern() ATS_EXTERN_DEF__
-#endif // #ifndef
-
-/* ****** ****** */
-
-#ifndef \
-ATS_STATIC_DEF__
-#define ATSstatic() static
-#else
-#define ATSstatic() ATS_STATIC_DEF__
-#endif // #ifndef
-
-/* ****** ****** */
-
-#ifndef \
-ATS_INLINE_DEF__
-#define ATSinline() static inline
-#else
-#define ATSinline() ATS_INLINE_DEF__
-#endif // #ifndef
-
-/* ****** ****** */
-//
-#define ATSdynload()
-//
-#define ATSdynloadflag_sta(flag)
-#define ATSdynloadflag_ext(flag) ATSextern() int flag
-//
-#define ATSdynloadflag_init(flag) int flag = 0
-//
-#define ATSdynloadflag_minit(flag) int flag = 0
-//
-#define ATSdynloadset(flag) flag = 1
-#define ATSdynloadfcall(dynloadfun) dynloadfun()
-//
-/* ****** ****** */
-
-#ifndef \
-_ATS_CCOMP_EXCEPTION_NONE_
-//
-#define \
-ATSdynexn_dec(d2c) \
-atstype_exncon d2c = { 0, "__ATSEXNMSG__" }
-//
-#define \
-ATSdynexn_extdec(d2c) ATSextern() atstype_exncon d2c
-//
-#define \
-ATSdynexn_initize(d2c, exnmsg) the_atsexncon_initize(&(d2c), exnmsg)
-//
-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
-
-/* ****** ****** */
-
-#define ATSassume(flag) void *flag = (void*)0
-
-/* ****** ****** */
-//
-#define ATSclosurerize_end(flab)
-#define ATSclosurerize_beg(flab, tenvs, targs, tres)
-//
-/* ****** ****** */
-
-#define ATSdyncst_mac(d2c)
-#define ATSdyncst_castfn(d2c)
-#define ATSdyncst_extfun(d2c, targs, tres) ATSextern() tres d2c targs
-#define ATSdyncst_stafun(d2c, targs, tres) ATSstatic() tres d2c targs
-
-/* ****** ****** */
-
-#define ATSdyncst_valimp(d2c, type) type d2c
-#define ATSdyncst_valdec(d2c, type) ATSextern() type d2c
-
-/* ****** ****** */
-//
-#define \
-ATSmainats_void_0(err) mainats_void_0()
-#define \
-ATSmainats_argc_argv_0(argc, argv, err) mainats_argc_argv_0(argc, argv)
-#define \
-ATSmainats_argc_argv_envp_0(argc, argv, envp, err) mainats_argc_argv_envp_0(argc, argv, envp)
-//
-#define \
-ATSmainats_void_int(err) err = mainats_void_int()
-#define \
-ATSmainats_argc_argv_int(argc, argv, err) err = mainats_argc_argv_int(argc, argv)
-#define \
-ATSmainats_argc_argv_envp_int(argc, argv, envp, err) err = mainats_argc_argv_envp_int(argc, argv, envp)
-//
-/* ****** ****** */
-//
-extern
-void atsruntime_raise (void *exn) ;
-extern
-void atsruntime_handle_uncaughtexn (void *exn0) ;
-extern
-void atsruntime_handle_unmatchedval (char *msg0) ;
-extern
-void atsruntime_handle_unmatchedarg (char *msg0) ;
-//
-/* ****** ****** */
-
-#endif /* PATS_CCOMP_BASICS_H */
-
-/* ****** ****** */
-
-/* end of [pats_ccomp_basics.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_config.h b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_config.h
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_config.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* ******************************************************************* */
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/* ******************************************************************* */
-
-/*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-** 
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-** 
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef PATS_CCOMP_CONFIG_H
-#define PATS_CCOMP_CONFIG_H
-
-/* ****** ****** */
-
-// HX: it is yet empty
-
-/* ****** ****** */
-
-#endif /* PATS_CCOMP_CONFIG_H */
-
-/* end of [pats_ccomp_config.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_exception.h b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_exception.h
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_exception.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/* ******************************************************************* */
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/* ******************************************************************* */
-
-/*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-** 
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-** 
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: June, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef PATS_CCOMP_EXCEPTION_H
-#define PATS_CCOMP_EXCEPTION_H
-
-/* ****** ****** */
-
-/*
-use -D_XOPEN_SOURCE
-*/
-#include <setjmp.h>
-
-/* ****** ****** */
-
-#define atstype_jmp_buf jmp_buf
-#define atspre_setjmp(env, mask) setjmp(env)
-#define atspre_longjmp(env, ret) longjmp(env, ret)
-
-/* ****** ****** */
-
-/*
-#include <alloca.h>
-*/
-extern void *alloca (size_t bsz) ;
-
-/* ****** ****** */
-
-/*
-extern
-atstype_exncon *atspre_AssertExn_make() ;
-extern
-atstype_exncon *atspre_NotFoundExn_make() ;
-extern
-atstype_exncon *atspre_IllegalArgExn_make(const char*) ;
-extern
-atstype_exncon *atspre_ListSubscriptExn_make() ;
-extern
-atstype_exncon *atspre_StreamSubscriptExn_make() ;
-extern
-atstype_exncon *atspre_ArraySubscriptExn_make() ;
-extern
-atstype_exncon *atspre_MatrixSubscriptExn_make() ;
-//
-extern atstype_exncon *atspre_NotSomeExn_make() ;
-//
-extern
-atstype_bool atspre_isListSubscriptExn (const atstype_exncon*) ;
-extern
-atstype_bool atspre_isStreamSubscriptExn (const atstype_exncon*) ;
-extern
-atstype_bool atspre_isArraySubscriptExn (const atstype_exncon*) ;
-extern
-atstype_bool atspre_isMatrixSubscriptExn (const atstype_exncon*) ;
-//
-extern atstype_bool atspre_isNotSomeExn (const atstype_exncon*) ; 
-*/
-
-/* ****** ****** */
-
-typedef
-struct atsexnframe
-{
-  atstype_jmp_buf env ;
-  atstype_exnconptr exn ;
-  struct atsexnframe *prev ;
-} atsexnframe_t ;
-
-typedef
-atsexnframe_t *atsexnframe_ptr ;
-
-/* ****** ****** */
-
-#define \
-atsexnframe_alloc() alloca(sizeof(atsexnframe_t))
-#define \
-atsexnframe_mfree(frame) /* there-is-nothing-to-do */
-
-/* ****** ****** */
-
-extern
-atsexnframe_ptr *my_atsexnframe_getref () ;
-
-/* ****** ****** */
-
-static
-inline
-void my_atsexnframe_enter
-(
-  atsexnframe_ptr frame
-, atsexnframe_ptr *framep
-) {
-  frame->prev = *framep ; *framep = frame ; return ;
-} // end of [my_atsexnframe_enter]
-
-static
-inline
-void my_atsexnframe_leave
-(
-  atsexnframe_ptr *framep
-) {
-  atsexnframe_mfree(*framep) ; *framep = (*framep)->prev ; return ;
-} // end of [my_atsexnframe_leave]
-
-/* ****** ****** */
-
-/*
-** HX:
-** beg-of-WARNING:
-** DO NOT USE THE FOLLOWING MACROS:
-*/
-
-#define \
-ATStrywith_try(tmpexn) \
-do { \
-  int flag ; \
-  atsexnframe_ptr frame ; \
-  atsexnframe_ptr *framep ; \
-  frame = atsexnframe_alloc() ; \
-  framep = my_atsexnframe_getref() ; \
-  my_atsexnframe_enter(frame, framep) ; \
-  flag = atspre_setjmp(frame->env, 1) ; \
-  if (flag==0) { /* normal */
-
-#define \
-ATStrywith_with(tmpexn) \
-    my_atsexnframe_leave(framep) ; \
-  } else { /* flag<>0 : exceptional */ \
-    tmpexn = (*framep)->exn ; \
-    my_atsexnframe_leave(framep) ;
-
-#define \
-ATStrywith_end(tmpexn) \
-  } \
-} while(0) ; /* end of [do] */
-
-/* end-of-WARNING */
-
-/* ****** ****** */
-
-#endif /* PATS_CCOMP_EXCEPTION_H */
-
-/* ****** ****** */
-
-/* end of [pats_ccomp_exception.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_instrset.h b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_instrset.h
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_instrset.h
+++ /dev/null
@@ -1,441 +0,0 @@
-/* ******************************************************************* */
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/* ******************************************************************* */
-
-/*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-** 
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-** 
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: October, 2012 *)
-*/
-
-/* ****** ****** */
-
-#ifndef PATS_CCOMP_INSTRSET_H
-#define PATS_CCOMP_INSTRSET_H
-
-/* ****** ****** */
-//
-// HX: boolean values
-//
-#define atsbool_true 1
-#define atsbool_false 0
-//
-/* ****** ****** */
-
-#define ATStysum() struct{ int contag; }
-#define ATStyexn() struct{ int exntag; char *exnmsg; }
-#define ATStylist(tyelt) struct{ tyelt head; void *tail; }
-#define ATStyclo() struct{ void *cfun; }
-
-/* ****** ****** */
-//
-// HX: for supporting lazy-evaluation
-//
-#define \
-ATStylazy(tyval) \
-  struct{ int flag; union{ void* thunk; tyval saved; } lazy; }
-//
-/* ****** ****** */
-
-#define ATSif(x) if(x)
-#define ATSthen()
-#define ATSelse() else
-
-/* ****** ****** */
-
-#define ATSifthen(x) if(x)
-#define ATSifnthen(x) if(!(x))
-
-/* ****** ****** */
-
-#define ATSdo() do
-#define ATSwhile(x) while(x)
-#define ATSbreak() break
-#define ATScontinue() continue
-
-/* ****** ****** */
-//
-// HX: handling for/while loops
-//
-#define \
-ATSloop_open(init, fini, cont) \
-  do { init:
-#define \
-ATSloop_close(init, fini, cont) \
-  goto init ; fini: break ; } while(0)
-//
-#define ATSbreak2(fini) goto fini
-#define ATScontinue2(cont) goto cont
-//
-/* ****** ****** */
-
-#define ATSreturn(x) return(x)
-#define ATSreturn_void(x) return
-
-/* ****** ****** */
-
-#define ATSFCreturn(x) return(x)
-#define ATSFCreturn_void(x) (x); return
-
-/* ****** ****** */
-//
-#define ATSbranch_beg()
-#define ATSbranch_end() break ;
-//
-#define ATScaseof_beg() do {
-#define ATScaseof_end() } while(0) ;
-//
-/* ****** ****** */
-
-#define ATSextcode_beg()
-#define ATSextcode_end()
-
-/* ****** ****** */
-
-#define ATSfunbody_beg()
-#define ATSfunbody_end()
-
-/* ****** ****** */
-
-#define ATSPMVint(i) i
-#define ATSPMVintrep(rep) (rep)
-
-#define ATSPMVbool_true() atsbool_true
-#define ATSPMVbool_false() atsbool_false
-#define ATSPMVchar(c) (c)
-#define ATSPMVfloat(rep) (rep)
-#define ATSPMVstring(str) (str)
-
-#define ATSPMVi0nt(tok) (tok)
-#define ATSPMVf0loat(tok) (tok)
-
-/* ****** ****** */
-
-#define ATSCSTSPmyfil(info) info
-#define ATSCSTSPmyloc(info) info
-
-/* ****** ****** */
-//
-#define ATSPMVtop() atserror_top
-//
-#define ATSPMVempty() /*empty*/
-#define ATSPMVextval(name) (name)
-//
-/* ****** ****** */
-
-#define ATSPMVptrof(lval) (&(lval))
-#define ATSPMVptrof_void(lval) ((void*)0)
-
-/* ****** ****** */
-
-#define ATSPMVrefarg0(val) (val)
-#define ATSPMVrefarg1(ref) (ref)
-
-/* ****** ****** */
-
-#define ATSPMVvararg0() 0
-#define ATSPMVvararg1(...) __VA_ARGS__
-  
-/* ****** ****** */
-
-#define ATSPMVtyrep(rep) (rep)
-
-/* ****** ****** */
-
-#define ATSPMVsizeof(hit) (sizeof(hit))
-
-/* ****** ****** */
-//
-#define ATSPMVfunlab(flab) (flab)
-//
-// HX-2015-07-06: not yet in use:
-//
-#define ATSPMVfunlab2(flab, arity) (flab)
-//
-/* ****** ****** */
-
-#define ATSPMVcfunlab(knd, flab, env) (flab##__closurerize)env
-
-/* ****** ****** */
-
-//
-// HX: castfn application
-//
-#define ATSPMVcastfn(d2c, hit, arg) ((hit)arg)
-//
-/* ****** ****** */
-
-#define ATSfuncall(fun, funarg) (fun)funarg
-
-/* ****** ****** */
-//
-#define ATSextfcall(fun, funarg) (fun)funarg
-#define ATSextmcall(obj, mtd, funarg) (obj->mtd)funarg
-//
-/* ****** ****** */
-//
-#define \
-ATSfunclo_fun(pmv, targs, tres) ((tres(*)targs)(pmv))
-#define \
-ATSfunclo_clo(pmv, targs, tres) ((tres(*)targs)(((ATStyclo()*)pmv)->cfun))
-//
-/* ****** ****** */
-//
-#define ATStmpdec(tmp, hit) hit tmp
-#define ATStmpdec_void(tmp)
-//
-#define ATSstatmpdec(tmp, hit) static hit tmp
-#define ATSstatmpdec_void(tmp)
-//
-/* ****** ****** */
-
-#define ATSderef(pmv, hit) (*(hit*)pmv)
-
-/* ****** ****** */
-//
-// HX: [ATSSELcon] is the same as [ATSSELboxrec]
-//
-#define ATSSELcon(pmv, tysum, lab) (((tysum*)pmv)->lab)
-//
-#define ATSSELrecsin(pmv, tyrec, lab) (pmv)
-#define ATSSELfltrec(pmv, tyrec, lab) ((pmv).lab)
-#define ATSSELboxrec(pmv, tyrec, lab) (((tyrec*)pmv)->lab)
-#define ATSSELarrind(pmv, tyarr, lab) (((tyarr)pmv).lab)
-#define ATSSELarrptrind(pmv, tyelt, lab) (((tyelt*)pmv)lab)
-//
-/* ****** ****** */
-//
-#define ATSCKnot(x) ((x)==0)
-//
-#define ATSCKiseqz(x) ((x)==0)
-#define ATSCKisneqz(x) ((x)!=0)
-//
-#define ATSCKptriscons(x) (0 != (void*)(x))
-#define ATSCKptrisnull(x) (0 == (void*)(x))
-//
-/* ****** ****** */
-//
-#define ATSCKpat_int(pmv, pat) ((pmv)==pat)
-#define ATSCKpat_bool(pmv, pat) ((pmv)==pat)
-#define ATSCKpat_char(pmv, pat) ((pmv)==pat)
-#define ATSCKpat_float(pmv, pat) ((pmv)==pat)
-#define ATSCKpat_string(pmv, pat) (atspre_string_equal(pmv, pat))
-//
-/*
-** a datatype should not contain more than 1024 constructors!
-*/
-#define ATS_DATACONMAX 1024
-//
-#define ATSCKpat_con0(pmv, tag) ((pmv)==(void*)tag)
-#define ATSCKpat_con1(pmv, tag) \
-  ((pmv)>=(void*)ATS_DATACONMAX && ((ATStysum()*)(pmv))->contag==tag)
-//
-#define ATSCKpat_exn0(pmv, d2con) ((pmv)==(void*)(&(d2con)))
-#define ATSCKpat_exn1(pmv, d2con) (((ATStyexn()*)(pmv))->exntag==(&(d2con))->exntag)
-//
-/* ****** ****** */
-//
-#define ATSINSlab(lab) lab
-#define ATSINSgoto(lab) goto lab
-//
-#define ATSINSflab(flab) flab
-#define ATSINSfgoto(flab) goto flab
-//
-/* ****** ****** */
-
-#define ATSINSfreeclo(cloptr) ATS_MFREE(cloptr)
-#define ATSINSfreecon(datconptr) ATS_MFREE(datconptr)
-
-/* ****** ****** */
-
-#define ATSINSmove(tmp, val) (tmp = val)
-#define ATSINSpmove(tmp, hit, val) (*(hit*)tmp = val)
-
-/* ****** ****** */
-/*
-** HX-2013-01-20:
-** Do not have parentheses around [command]
-*/
-#define ATSINSmove_void(tmp, command) command
-#define ATSINSpmove_void(tmp, hit, command) command
-
-/* ****** ****** */
-
-#define ATSINSmove_ptralloc(tmp, hit) (tmp = ATS_MALLOC(sizeof(hit)))
-
-/* ****** ****** */
-//
-#define \
-ATSINSmove_nil(tmp) (tmp = ((void*)0))
-//
-#define \
-ATSINSmove_con0(tmp, tag) (tmp = ((void*)tag))
-//
-#define ATSINSmove_con1_beg()
-#define ATSINSmove_con1_end()
-#define ATSINSmove_con1_new(tmp, tysum) (tmp = ATS_MALLOC(sizeof(tysum)))
-#define ATSINSstore_con1_tag(tmp, val) (((ATStysum()*)(tmp))->contag = val)
-#define ATSINSstore_con1_ofs(tmp, tysum, lab, val) (((tysum*)(tmp))->lab = val)
-//
-/* ****** ****** */
-//
-#define ATSINSmove_exn0(tmp, d2con) (tmp = &(d2con))
-//
-#define ATSINSmove_exn1_beg()
-#define ATSINSmove_exn1_end()
-#define ATSINSmove_exn1_new(tmp, tyexn) (tmp = ATS_MALLOC(sizeof(tyexn)))
-#define ATSINSstore_exn1_tag(tmp, d2con) (((ATStyexn()*)tmp)->exntag = (&(d2con))->exntag)
-#define ATSINSstore_exn1_msg(tmp, d2con) (((ATStyexn()*)tmp)->exnmsg = (&(d2con))->exnmsg)
-//
-/* ****** ****** */
-//
-#define ATStailcal_beg() do {
-#define ATStailcal_end() } while(0) ;
-//
-#define ATSINSmove_tlcal(apy, tmp) (apy = tmp)
-#define ATSINSargmove_tlcal(arg, apy) (arg = apy)
-//
-/* ****** ****** */
-
-#define ATSINSmove_fltrec_beg()
-#define ATSINSmove_fltrec_end()
-#define ATSINSstore_fltrec_ofs(tmp, tyrec, lab, val) ((tmp).lab = val)
-
-/* ****** ****** */
-
-#define ATSINSmove_boxrec_beg()
-#define ATSINSmove_boxrec_end()
-#define ATSINSmove_boxrec_new(tmp, tyrec) (tmp = ATS_MALLOC(sizeof(tyrec)))
-#define ATSINSstore_boxrec_ofs(tmp, tyrec, lab, val) (((tyrec*)(tmp))->lab = val)
-
-/* ****** ****** */
-
-#define ATSINSload(tmp, pmv) (tmp = pmv)
-#define ATSINSstore(pmv1, pmv2) (pmv1 = pmv2)
-#define ATSINSxstore(tmp, pmv1, pmv2) (tmp = pmv1, pmv1 = pmv2, pmv2 = tmp)
-
-/* ****** ****** */
-//
-#define ATSINSmove_list_nil(tmp) (tmp = (void*)0)
-#define ATSINSmove_list_phead(tmp1, tmp2, tyelt) (tmp1 = &(((ATStylist(tyelt)*)(*(void**)tmp2))->head))
-#define ATSINSmove_list_ptail(tmp1, tmp2, tyelt) (tmp1 = &(((ATStylist(tyelt)*)(*(void**)tmp2))->tail))
-#define ATSINSpmove_list_nil(tmp) (*(void**)tmp = (void*)0)
-#define ATSINSpmove_list_cons(tmp, tyelt) (*(void**)tmp = ATS_MALLOC(sizeof(ATStylist(tyelt))))
-//
-/* ****** ****** */
-//
-#define ATSINSstore_arrpsz_asz(tmp, asz) ((tmp).size = asz)
-#define ATSINSstore_arrpsz_ptr(tmp, tyelt, asz) ((tmp).ptr = ATS_MALLOC(asz*sizeof(tyelt)))
-//
-#define ATSINSmove_arrpsz_ptr(tmp, psz) (tmp = (psz).ptr)
-//
-#define ATSINSupdate_ptrinc(tmp, tyelt) (tmp = (tyelt*)(tmp) + 1)
-#define ATSINSupdate_ptrdec(tmp, tyelt) (tmp = (tyelt*)(tmp) - 1)
-//
-/* ****** ****** */
-
-#define ATSINSextvar_assign(var, pmv) var = (pmv)
-#define ATSINSdyncst_valbind(d2cst, pmv) d2cst = (pmv)
-
-/* ****** ****** */
-
-#define ATSINSclosure_initize(flab, tmpenv) (flab##__closureinit)tmpenv
-
-/* ****** ****** */
-//
-#define ATSINSraise_exn(tmp, pmv) atsruntime_raise(pmv)
-//
-/* ****** ****** */
-//
-#define ATSINScaseof_fail(msg) atsruntime_handle_unmatchedval(msg)
-#define ATSINSfunarg_fail(msg) atsruntime_handle_unmatchedarg(msg)
-//
-/* ****** ****** */
-
-#define \
-ATSINSmove_delay(tmpret, tyval, pmv_thk) \
-do { \
-  tmpret = \
-    ATS_MALLOC(sizeof(ATStylazy(tyval))) ; \
-  (*(ATStylazy(tyval)*)tmpret).flag = 0 ; \
-  (*(ATStylazy(tyval)*)tmpret).lazy.thunk = pmv_thk ; \
-} while(0) ; /* end of [do ... while ...] */
-
-#define \
-ATSINSmove_lazyeval(tmpret, tyval, pmv_lazy) \
-do { \
-  if ( \
-    (*(ATStylazy(tyval)*)pmv_lazy).flag==0 \
-  ) { \
-    (*(ATStylazy(tyval)*)pmv_lazy).flag += 1 ; \
-    atstype_cloptr __thunk = (*(ATStylazy(tyval)*)pmv_lazy).lazy.thunk ; \
-    tmpret = ATSfuncall(ATSfunclo_clo(__thunk, (atstype_cloptr), tyval), (__thunk)) ; \
-    (*(ATStylazy(tyval)*)pmv_lazy).lazy.saved = tmpret ; \
-  } else { \
-    tmpret = (*(ATStylazy(tyval)*)pmv_lazy).lazy.saved ; \
-  } /* end of [if] */ \
-} while(0) /* end of [do ... while ...] */
-
-/* ****** ****** */
-
-#define \
-ATSINSmove_ldelay(tmpret, tyval, __thunk) \
-do { \
-  ATSINSmove(tmpret, __thunk) ; \
-} while(0) /* end of [do ... while ...] */
-
-#define \
-ATSINSmove_llazyeval(tmpret, tyval, __thunk) \
-do { \
-  tmpret = \
-  ATSfuncall(ATSfunclo_clo(__thunk, (atstype_cloptr, atstype_bool), tyval), (__thunk, atsbool_true)) ; \
-  ATS_MFREE(__thunk) ; \
-} while(0) /* end of [do ... while ...] */
-
-/* ****** ****** */
-
-#define \
-atspre_lazy_vt_free(__thunk) \
-do { \
-  ATSfuncall(ATSfunclo_clo(__thunk, (atstype_cloptr, atstype_bool), void), (__thunk, atsbool_false)) ; \
-  ATS_MFREE(__thunk) ; \
-} while(0) /* atspre_lazy_vt_free */
-
-/* ****** ****** */
-//
-// HX-2014-10:
-//
-#define atspre_lazy2cloref(pmv_lazy) ((*(ATStylazy(atstype_ptr)*)pmv_lazy).lazy.thunk)
-//
-/* ****** ****** */
-
-#endif /* PATS_CCOMP_INSTRSET_H */
-
-/* ****** ****** */
-
-/* end of [pats_ccomp_instrset.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc.h b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc.h
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/* ******************************************************************* */
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/* ******************************************************************* */
-
-/*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-** 
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-** 
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: October, 2012 *)
-*/
-
-/* ****** ****** */
-
-#ifndef PATS_CCOMP_MEMALLOC_H
-#define PATS_CCOMP_MEMALLOC_H
-
-/* ****** ****** */
-//
-// HX: for size_t
-//
-#include <stddef.h>
-//
-/* ****** ****** */
-//
-extern
-void atsruntime_mfree_undef (void *ptr) ;
-//
-extern
-void *atsruntime_malloc_undef (size_t bsz) ;
-extern
-void *atsruntime_calloc_undef (size_t asz, size_t tsz) ;
-extern
-void *atsruntime_realloc_undef (void *ptr, size_t bsz) ;
-//
-/* ****** ****** */
-
-#ifdef ATS_MEMALLOC_FLAG
-#undef ATS_MEMALLOC_FLAG
-#endif // ifdef(ATS_MEMALLOC_FLAG)
-
-/* ****** ****** */
-
-#ifdef ATS_MEMALLOC_LIBC
-//
-#define ATS_MEMALLOC_FLAG
-//
-#include "pats_ccomp_memalloc_libc.h"
-//
-#define ATS_MINIT atsruntime_minit_libc
-#define ATS_MFREE atsruntime_mfree_libc
-#define ATS_MALLOC atsruntime_malloc_libc_exn
-#define ATS_CALLOC atsruntime_calloc_libc_exn
-#define ATS_REALLOC atsruntime_realloc_libc_exn
-//
-#endif // end of [ATS_MEMALLOC_LIBC]
-
-/* ****** ****** */
-
-#ifdef ATS_MEMALLOC_GCBDW
-//
-#define ATS_MEMALLOC_FLAG
-//
-#include "pats_ccomp_memalloc_gcbdw.h"
-//
-#define ATS_MINIT atsruntime_minit_gcbdw
-#define ATS_MFREE atsruntime_mfree_gcbdw
-#define ATS_MALLOC atsruntime_malloc_gcbdw_exn
-#define ATS_CALLOC atsruntime_calloc_gcbdw_exn
-#define ATS_REALLOC atsruntime_realloc_gcbdw_exn
-//
-#endif // end of [ATS_MEMALLOC_GCBDW]
-
-/* ****** ****** */
-
-#ifdef ATS_MEMALLOC_USER
-//
-#define ATS_MEMALLOC_FLAG
-//
-#include "pats_ccomp_memalloc_user.h"
-//
-#define ATS_MINIT atsruntime_minit_user
-#define ATS_MFREE atsruntime_mfree_user
-#define ATS_MALLOC atsruntime_malloc_user
-#define ATS_CALLOC atsruntime_calloc_user
-#define ATS_REALLOC atsruntime_realloc_user
-//
-#endif // end of [ATS_MEMALLOC_USER]
-
-/* ****** ****** */
-
-#ifndef ATS_MEMALLOC_FLAG
-#define ATS_MEMALLOC_FLAG
-//
-#define ATS_MINIT atsruntime_minit_undef
-#define ATS_MFREE atsruntime_mfree_undef
-#define ATS_MALLOC atsruntime_malloc_undef
-#define ATS_CALLOC atsruntime_calloc_undef
-#define ATS_REALLOC atsruntime_realloc_undef
-//
-#endif // end of [ATS_MEMALLOC_FLAG]
-
-/* ****** ****** */
-
-#endif /* PATS_CCOMP_MEMALLOC_H */
-
-/* ****** ****** */
-
-/* end of [pats_ccomp_memalloc.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc_gcbdw.h b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc_gcbdw.h
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc_gcbdw.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/* ******************************************************************* */
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/* ******************************************************************* */
-
-/*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-** 
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-** 
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: March, 2013 *)
-*/
-
-/* ****** ****** */
-//
-#include <stdio.h>
-/*
-extern
-int fprintf (FILE *stream, const char *format, ...) ;
-*/
-/* ****** ****** */
-/*
-#include <stdlib.h>
-*/
-extern void exit (int code) ; 
-
-/* ****** ****** */
-/*
-#include <gc.h>
-*/
-extern void GC_init () ;
-extern void GC_free (void *ptr) ;
-extern void *GC_malloc(size_t bsz) ;
-extern void *GC_realloc(void *ptr, size_t bsz) ;
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atsruntime_minit_gcbdw
-  (/*void*/) { GC_init() ; return ; }
-// end of [atsruntime_minit_gcbdw]
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atsruntime_mfree_gcbdw
-  (void *ptr) { GC_free(ptr) ; return ; }
-// end of [atsruntime_mfree_gcbdw]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_ptr
-atsruntime_malloc_gcbdw
-  (size_t bsz) { return GC_malloc(bsz) ; }
-// end of [atsruntime_malloc_gcbdw]
-
-ATSinline()
-atstype_ptr
-atsruntime_malloc_gcbdw_exn
-  (size_t bsz)
-{
-  void *ptr ;
-  ptr = atsruntime_malloc_gcbdw(bsz) ;
-  if (!ptr)
-  {
-    fprintf(
-      stderr, "exit(ATS): atsruntime_malloc_gcbdw_exn: [malloc] failed.\n"
-    ) ; exit(1) ;
-  } // end of [if]
-  return (ptr) ;
-} /* end of [atsruntime_malloc_gcbdw_exn] */
-
-/* ****** ****** */
-//
-// HX:
-// [GC_malloc] already
-// clears the allocated region!
-//
-ATSinline()
-atstype_ptr
-atsruntime_calloc_gcbdw
-  (size_t asz, size_t tsz)
-{
-  return atsruntime_malloc_gcbdw (asz*tsz) ;
-} // end of [atsruntime_calloc_gcbdw]
-
-ATSinline()
-atstype_ptr
-atsruntime_calloc_gcbdw_exn
-  (size_t asz, size_t tsz)
-{
-  return atsruntime_malloc_gcbdw_exn (asz*tsz) ;
-} // end of [atsruntime_calloc_gcbdw_exn]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_ptr
-atsruntime_realloc_gcbdw
-  (void *ptr, size_t bsz) { return GC_realloc(ptr, bsz) ; }
-// end of [atsruntime_realloc_gcbdw]
-
-ATSinline()
-atstype_ptr
-atsruntime_realloc_gcbdw_exn
-  (void *ptr, size_t bsz)
-{
-  void *ptr2 ;
-  ptr2 = atsruntime_realloc_gcbdw(ptr, bsz) ;
-  if (!ptr2)
-  {
-    fprintf(
-    stderr, "exit(ATS): atsruntime_realloc_gcbdw_exn: [realloc] failed.\n"
-    ) ; exit(1) ;
-  } // end of [if]
-  return (ptr2) ;
-} /* end of [atsruntime_realloc_gcbdw_exn] */
-
-/* ****** ****** */
-
-/* end of [pats_ccomp_memalloc_gcbdw.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc_libc.h b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc_libc.h
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc_libc.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/* ******************************************************************* */
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/* ******************************************************************* */
-
-/*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-** 
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-** 
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: March, 2013 *)
-*/
-
-/* ****** ****** */
-//
-#include <stdio.h>
-/*
-extern
-int fprintf (FILE *stream, const char *format, ...) ;
-*/
-/* ****** ****** */
-//
-// stdlib.h
-//
-extern void exit (int code) ;
-//
-extern void free (void *ptr) ;
-extern void *malloc (size_t bsz) ;
-extern void *calloc(size_t asz, size_t tsz) ;
-extern void *realloc(void *ptr, size_t bsz) ;
-//
-/* ****** ****** */
-//
-ATSinline()
-atsvoid_t0ype
-atsruntime_minit_libc() { return ; }
-//
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atsruntime_mfree_libc
-  (atstype_ptr ptr) { free(ptr) ; return ; }
-// end of [atsruntime_mfree_libc]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_ptr
-atsruntime_malloc_libc
-  (atstype_size bsz) { return malloc(bsz) ; }
-// end of [atsruntime_malloc_libc]
-
-ATSinline()
-atstype_ptr
-atsruntime_malloc_libc_exn
-  (atstype_size bsz)
-{
-  atstype_ptr p ;
-  p = atsruntime_malloc_libc(bsz) ;
-  if (!p) {
-    fprintf(stderr, "exit(ATS): atsruntime_malloc_libc_exn: [malloc] failed.\n") ;
-    exit(1) ;
-  } // end of [if]
-  return (p) ;
-} /* end of [atsruntime_malloc_libc_exn] */
-
-/* ****** ****** */
-
-ATSinline()
-atstype_ptr
-atsruntime_calloc_libc
-  (atstype_size asz, atstype_size tsz) { return calloc(asz, tsz) ; }
-// end of [atsruntime_calloc_libc]
-
-ATSinline()
-atstype_ptr
-atsruntime_calloc_libc_exn
-(
-  atstype_size asz, atstype_size tsz
-)
-{
-  atstype_ptr p ;
-  p = atsruntime_calloc_libc(asz, tsz) ;
-  if (!p) {
-    fprintf(stderr, "exit(ATS): atsruntime_calloc_libc_exn: [calloc] failed.\n") ;
-    exit(1) ;
-  } // end of [if]
-  return (p) ;
-} /* end of [atsruntime_calloc_libc_exn] */
-
-/* ****** ****** */
-
-ATSinline()
-atstype_ptr
-atsruntime_realloc_libc
-  (atstype_ptr ptr, atstype_size bsz) { return realloc(ptr, bsz) ; }
-// end of [atsruntime_realloc_libc]
-
-ATSinline()
-atstype_ptr
-atsruntime_realloc_libc_exn
-(
-  atstype_ptr ptr, atstype_size bsz
-)
-{
-  atstype_ptr p ;
-  p = atsruntime_realloc_libc(ptr, bsz) ;
-  if (!p) {
-    fprintf(stderr, "exit(ATS): atsruntime_realloc_libc_exn: [realloc] failed.\n") ;
-    exit(1) ;
-  } // end of [if]
-  return (p) ;
-} /* end of [atsruntime_realloc_libc_exn] */
-
-/* ****** ****** */
-
-/* end of [pats_ccomp_memalloc_libc.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc_user.h b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc_user.h
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc_user.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* ******************************************************************* */
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/* ******************************************************************* */
-
-/*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-** 
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-** 
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: March, 2013 *)
-*/
-
-/* ****** ****** */
-//
-#include <stdio.h>
-/*
-extern
-int fprintf (FILE *stream, const char *format, ...) ;
-*/
-/* ****** ****** */
-//
-// stdlib.h
-//
-extern void exit (int code) ;
-//
-/* ****** ****** */
-
-extern void atsruntime_mfree_user (void *ptr) ;
-extern void *atsruntime_malloc_user (size_t bsz) ;
-extern void *atsruntime_calloc_user (size_t asz, size_t tsz) ;
-extern void *atsruntime_realloc_user (void *ptr, size_t bsz) ;
-
-/* ****** ****** */
-
-ATSinline()
-atstype_ptr
-atsruntime_malloc_user_exn
-  (atstype_size bsz)
-{
-  atstype_ptr p ;
-  p = atsruntime_malloc_user(bsz) ;
-  if (!p) {
-    fprintf(stderr, "exit(ATS): atsruntime_malloc_user_exn: [malloc] failed.\n") ;
-    exit(1) ;
-  } // end of [if]
-  return (p) ;
-} /* end of [atsruntime_malloc_user_exn] */
-
-/* ****** ****** */
-
-/* end of [pats_ccomp_memalloc_user.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc_user2.h b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc_user2.h
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloc_user2.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* ******************************************************************* */
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/* ******************************************************************* */
-
-/*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-** 
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-** 
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: March, 2013 *)
-*/
-
-/* ****** ****** */
-//
-#include <stdio.h>
-/*
-extern
-int fprintf (FILE *stream, const char *format, ...) ;
-*/
-/* ****** ****** */
-//
-// stdlib.h
-//
-extern void exit (int code) ;
-//
-/* ****** ****** */
-
-extern void atsruntime_mfree_user2 (void *ptr) ;
-extern void *atsruntime_malloc_user2 (size_t bsz) ;
-extern void *atsruntime_calloc_user2 (size_t asz, size_t tsz) ;
-extern void *atsruntime_realloc_user2 (void *ptr, size_t bsz) ;
-
-/* ****** ****** */
-
-/* end of [pats_ccomp_memalloc_user2.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloca.h b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloca.h
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_memalloca.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* ******************************************************************* */
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/* ******************************************************************* */
-
-/*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-** 
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-** 
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: March, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef PATS_CCOMP_MEMALLOCA_H
-#define PATS_CCOMP_MEMALLOCA_H
-
-/* ****** ****** */
-//
-// alloca.h
-//
-extern void *alloca (size_t bsz) ;
-//
-/* ****** ****** */
-//
-// HX: [afree] matches [alloca]
-//
-ATSinline()
-atsvoid_t0ype
-atsruntime_afree_libc
-  (atstype_ptr ptr) { return ; }
-// end of [atsruntime_afree_libc]
-
-ATSinline()
-atstype_ptr
-atsruntime_alloca_libc
-  (atstype_size bsz) { return alloca(bsz) ; }
-// end of [atsruntime_alloca_libc]
-
-/* ****** ****** */
-
-#endif /* PATS_CCOMP_MEMALLOCA_H */
-
-/* ****** ****** */
-
-/* end of [pats_ccomp_memalloca.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_runtime.c b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_runtime.c
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_runtime.c
+++ /dev/null
@@ -1,166 +0,0 @@
-/* ******************************************************************* */
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/* ******************************************************************* */
-
-/*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-** 
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-** 
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: April, 2013 *)
-*/
-
-/* ****** ****** */
-//
-#include <stdio.h>
-//
-extern void exit (int) ; // in [stdlib.h]
-//
-/* ****** ****** */
-
-#include "pats_ccomp_basics.h"
-#include "pats_ccomp_typedefs.h"
-
-/* ****** ****** */
-//
-// HX-2013-04: some pre-initialized exceptions
-//
-/* ****** ****** */
-
-#ifndef \
-_ATS_CCOMP_EXCEPTION_NONE_
-//
-atstype_exncon
-ATSLIB_056_prelude__AssertExn = { 10, "AssertException" } ;
-atstype_exncon
-ATSLIB_056_prelude__GenerallyExn = { 20, "GenerallyException" } ;
-atstype_exncon
-ATSLIB_056_prelude__IllegalArgExn = { 30, "IllegalArgException" } ;
-//
-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
-
-/* ****** ****** */
-
-#ifndef \
-_ATS_CCOMP_EXCEPTION_NONE_
-//
-atstype_exncon
-ATSLIB_056_prelude__NotSomeExn = { 40, "NotSomeException" } ;
-atstype_exncon
-ATSLIB_056_prelude__NotFoundExn = { 41, "NotFoundException" } ;
-//
-atstype_exncon
-ATSLIB_056_prelude__ListSubscriptExn = { 50, "ListSubscriptException" } ;
-atstype_exncon
-ATSLIB_056_prelude__StreamSubscriptExn = { 51, "StreamSubscriptException" } ;
-//
-atstype_exncon
-ATSLIB_056_prelude__ArraySubscriptExn = { 60, "ArraySubscriptException" } ;
-atstype_exncon
-ATSLIB_056_prelude__MatrixSubscriptExn = { 61, "MatrixSubscriptException" } ;
-//
-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
-
-/* ****** ****** */
-
-#ifndef \
-_ATS_CCOMP_EXCEPTION_NONE_
-//
-extern
-void
-the_atsexncon_initize
-(
-  atstype_exncon *d2c, char* exnmsg
-)
-{
-//
-  static int the_atsexntag = 1024 ;
-//
-  if (!d2c->exntag)
-  {
-    d2c->exntag = the_atsexntag ;
-    the_atsexntag = the_atsexntag + 1 ;
-  }
-  d2c->exnmsg = exnmsg ;
-  return ;
-} // end of [the_atsexncon_initize]
-//
-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
-
-/* ****** ****** */
-//
-// HX-2013:
-// for reporting pattern matching failure
-//
-extern
-void
-atsruntime_handle_unmatchedval
-  (char *msg0)
-{
-  fprintf
-  ( stderr
-  , "exit(ATS): unmatched value at run-time:\n%s\n", msg0
-  ) ; exit(1) ;
-  return ; // deadcode
-} /* end of [atsruntime_handle_unmatchedval] */
-//
-/* ****** ****** */
-//
-// HX-2014-06:
-// for reporting funarg-pattern matching failure
-//
-extern
-void
-atsruntime_handle_unmatchedarg
-  (char *msg0)
-{
-  fprintf
-  ( stderr
-  , "exit(ATS): unmatched funarg at run-time:\n%s\n", msg0
-  ) ; exit(1) ;
-  return ; // deadcode
-} /* end of [atsruntime_handle_unmatchedarg] */
-//
-/* ****** ****** */
-//
-// HX-2014-06:
-// for reporting failure due to uncaught exception
-//
-extern
-void
-atsruntime_handle_uncaughtexn_rest
-  (atstype_exncon *exn0)
-{
-  fprintf
-  ( stderr
-  , "exit(ATS): uncaught exception at run-time:\n%s(%d)\n", exn0->exnmsg, exn0->exntag
-  ) ; exit(1) ;
-  return ; // deadcode
-} /* end of [atsruntime_handle_uncaughtexn_rest] */
-//
-/* ****** ****** */
-
-/* end of [pats_ccomp_runtime.c] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_runtime2_dats.c b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_runtime2_dats.c
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_runtime2_dats.c
+++ /dev/null
@@ -1,390 +0,0 @@
-/*
-**
-** The C code is generated by ATS/Postiats
-** The compilation time is: 2014-8-4: 12h:36m
-**
-*/
-/*
-typedefs-for-tyrecs-and-tysums(beg)
-*/
-typedef
-ATSstruct {
-int exntag ;
-char *exnmsg ;
-atstkind_type(atstype_ptrk) atslab__0; 
-} pats_ccomp_runtime2_tyexn ;
-/*
-typedefs-for-tyrecs-and-tysums(end)
-*/
-/*
-dynconlst-declaration(beg)
-*/
-/*
-dynconlst-declaration(end)
-*/
-/*
-dyncstlst-declaration(beg)
-*/
-ATSdyncst_mac(atspre_prerr_string)
-ATSdyncst_mac(atspre_prerr_newline)
-ATSdyncst_mac(atspre_exit)
-ATSdyncst_extfun(atsruntime_handle_uncaughtexn_rest, (atstype_exnconptr), atsvoid_t0ype) ;
-/*
-dyncstlst-declaration(end)
-*/
-/*
-dynvalist-implementation(beg)
-*/
-/*
-dynvalist-implementation(end)
-*/
-/*
-exnconlst-declaration(beg)
-*/
-/*
-assumelst-declaration(beg)
-*/
-/*
-assumelst-declaration(end)
-*/
-/*
-extypelst-declaration(beg)
-*/
-/*
-extypelst-declaration(end)
-*/
-
-/* ****** ****** */
-
-/*
-/home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1541(line=43, offs=3) -- 2287(line=72, offs=4)
-*/
-/*
-local: 
-global: atsruntime_handle_uncaughtexn$0$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atsvoid_t0ype
-atsruntime_handle_uncaughtexn(void *arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec_void(tmpret0) ;
-ATStmpdec(tmp1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp2, atstkind_type(atstype_ptrk)) ;
-ATStmpdec_void(tmp3) ;
-ATStmpdec_void(tmp4) ;
-ATStmpdec_void(tmp5) ;
-ATStmpdec_void(tmp6) ;
-ATStmpdec_void(tmp7) ;
-ATStmpdec_void(tmp8) ;
-ATStmpdec_void(tmp9) ;
-ATStmpdec_void(tmp10) ;
-ATStmpdec_void(tmp11) ;
-ATStmpdec_void(tmp12) ;
-ATStmpdec_void(tmp13) ;
-ATStmpdec_void(tmp14) ;
-ATStmpdec_void(tmp15) ;
-ATStmpdec_void(tmp16) ;
-/* tmpvardeclst(end) */
-/* funbodyinstrlst(beg) */
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1509(line=42, offs=1) -- 2287(line=72, offs=4)
-*/
-ATSINSflab(__patsflab_atsruntime_handle_uncaughtexn):
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1641(line=51, offs=1) -- 2280(line=70, offs=65)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1659(line=53, offs=3) -- 1672(line=53, offs=16)
-*/
-ATSINSlab(__atstmplab0):
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1542(line=43, offs=4) -- 1545(line=43, offs=7)
-*/
-ATSifnthen(ATSCKpat_exn0(arg0, ATSLIB_056_prelude__AssertExn)) { ATSINSgoto(__atstmplab2) ; } ;
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1672(line=53, offs=16) -- 1672(line=53, offs=16)
-*/
-ATSINSlab(__atstmplab1):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1676(line=53, offs=20) -- 1761(line=56, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1693(line=54, offs=14) -- 1706(line=54, offs=27)
-*/
-ATSINSmove_void(tmp3, atspre_prerr_string(ATSPMVstring("exit(ATS): uncaught exception at run-time"))) ;
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1720(line=55, offs=14) -- 1744(line=55, offs=38)
-*/
-ATSINSmove_void(tmp4, atspre_prerr_string(ATSPMVstring(": AssertExn"))) ;
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1720(line=55, offs=14) -- 1744(line=55, offs=38)
-*/
-ATSINSmove_void(tmp5, atspre_prerr_newline()) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1748(line=55, offs=42) -- 1754(line=55, offs=48)
-*/
-ATSINSmove_void(tmpret0, atspre_exit(ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1676(line=53, offs=20) -- 1761(line=56, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1788(line=57, offs=3) -- 1803(line=57, offs=18)
-*/
-ATSINSlab(__atstmplab2):
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1542(line=43, offs=4) -- 1545(line=43, offs=7)
-*/
-ATSifnthen(ATSCKpat_exn0(arg0, ATSLIB_056_prelude__NotFoundExn)) { ATSINSgoto(__atstmplab4) ; } ;
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1803(line=57, offs=18) -- 1803(line=57, offs=18)
-*/
-ATSINSlab(__atstmplab3):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1807(line=57, offs=22) -- 1894(line=60, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1824(line=58, offs=14) -- 1837(line=58, offs=27)
-*/
-ATSINSmove_void(tmp6, atspre_prerr_string(ATSPMVstring("exit(ATS): uncaught exception at run-time"))) ;
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1851(line=59, offs=14) -- 1877(line=59, offs=40)
-*/
-ATSINSmove_void(tmp7, atspre_prerr_string(ATSPMVstring(": NotFoundExn"))) ;
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1851(line=59, offs=14) -- 1877(line=59, offs=40)
-*/
-ATSINSmove_void(tmp8, atspre_prerr_newline()) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1881(line=59, offs=44) -- 1887(line=59, offs=50)
-*/
-ATSINSmove_void(tmpret0, atspre_exit(ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1807(line=57, offs=22) -- 1894(line=60, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1921(line=61, offs=3) -- 1940(line=61, offs=22)
-*/
-ATSINSlab(__atstmplab4):
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1542(line=43, offs=4) -- 1545(line=43, offs=7)
-*/
-ATSifnthen(ATSCKpat_exn1(arg0, ATSLIB_056_prelude__GenerallyExn)) { ATSINSgoto(__atstmplab6) ; } ;
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1940(line=61, offs=22) -- 1940(line=61, offs=22)
-*/
-ATSINSlab(__atstmplab5):
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1936(line=61, offs=18) -- 1939(line=61, offs=21)
-*/
-ATSINSmove(tmp1, ATSSELcon(arg0, pats_ccomp_runtime2_tyexn, atslab__0)) ;
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1921(line=61, offs=3) -- 2039(line=64, offs=6)
-*/
-/*
-ATSINSfreecon(arg0) ;
-*/
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1944(line=61, offs=26) -- 2039(line=64, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1961(line=62, offs=14) -- 1974(line=62, offs=27)
-*/
-ATSINSmove_void(tmp9, atspre_prerr_string(ATSPMVstring("exit(ATS): uncaught exception at run-time"))) ;
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1988(line=63, offs=14) -- 2022(line=63, offs=48)
-*/
-ATSINSmove_void(tmp10, atspre_prerr_string(ATSPMVstring(": GenerallyExn: "))) ;
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1988(line=63, offs=14) -- 2022(line=63, offs=48)
-*/
-ATSINSmove_void(tmp11, atspre_prerr_string(tmp1)) ;
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1988(line=63, offs=14) -- 2022(line=63, offs=48)
-*/
-ATSINSmove_void(tmp12, atspre_prerr_newline()) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2026(line=63, offs=52) -- 2032(line=63, offs=58)
-*/
-ATSINSmove_void(tmpret0, atspre_exit(ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1944(line=61, offs=26) -- 2039(line=64, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2066(line=65, offs=3) -- 2086(line=65, offs=23)
-*/
-ATSINSlab(__atstmplab6):
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1542(line=43, offs=4) -- 1545(line=43, offs=7)
-*/
-ATSifnthen(ATSCKpat_exn1(arg0, ATSLIB_056_prelude__IllegalArgExn)) { ATSINSgoto(__atstmplab8) ; } ;
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2086(line=65, offs=23) -- 2086(line=65, offs=23)
-*/
-ATSINSlab(__atstmplab7):
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2082(line=65, offs=19) -- 2085(line=65, offs=22)
-*/
-ATSINSmove(tmp2, ATSSELcon(arg0, pats_ccomp_runtime2_tyexn, atslab__0)) ;
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2066(line=65, offs=3) -- 2186(line=68, offs=6)
-*/
-/*
-ATSINSfreecon(arg0) ;
-*/
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2090(line=65, offs=27) -- 2186(line=68, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2107(line=66, offs=14) -- 2120(line=66, offs=27)
-*/
-ATSINSmove_void(tmp13, atspre_prerr_string(ATSPMVstring("exit(ATS): uncaught exception at run-time"))) ;
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2134(line=67, offs=14) -- 2169(line=67, offs=49)
-*/
-ATSINSmove_void(tmp14, atspre_prerr_string(ATSPMVstring(": IllegalArgExn: "))) ;
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2134(line=67, offs=14) -- 2169(line=67, offs=49)
-*/
-ATSINSmove_void(tmp15, atspre_prerr_string(tmp2)) ;
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2134(line=67, offs=14) -- 2169(line=67, offs=49)
-*/
-ATSINSmove_void(tmp16, atspre_prerr_newline()) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2173(line=67, offs=53) -- 2179(line=67, offs=59)
-*/
-ATSINSmove_void(tmpret0, atspre_exit(ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2090(line=65, offs=27) -- 2186(line=68, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2219(line=70, offs=4) -- 2219(line=70, offs=4)
-*/
-ATSINSlab(__atstmplab8):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2240(line=70, offs=25) -- 2279(line=70, offs=64)
-*/
-ATSINSmove_void(tmpret0, atsruntime_handle_uncaughtexn_rest(arg0)) ;
-
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/* funbodyinstrlst(end) */
-ATSreturn_void(tmpret0) ;
-} /* end of [atsruntime_handle_uncaughtexn] */
-
-/* ****** ****** */
-
-/* end of [pats_ccomp_runtime2_dats.c] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_runtime_memalloc.c b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_runtime_memalloc.c
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_runtime_memalloc.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/* ******************************************************************* */
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/* ******************************************************************* */
-
-/*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-** 
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-** 
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: April, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifdef ATS_MEMALLOC_LIBC
-
-extern
-void
-atsruntime_mfree_undef (void *ptr)
-{
- atsruntime_mfree_libc (ptr) ; return ;
-}
-extern
-void
-*atsruntime_malloc_undef (size_t bsz)
-{
- return atsruntime_malloc_libc (bsz) ;
-}
-extern
-void
-*atsruntime_calloc_undef
-  (size_t asz, size_t tsz)
-{
- return atsruntime_calloc_libc (asz, tsz) ;
-}
-extern
-void
-*atsruntime_realloc_undef
-   (void *ptr, size_t bsz)
-{
- return atsruntime_realloc_libc (ptr, bsz) ;
-}
-
-#endif // ATS_MEMALLOC_LIBC
-
-/* ****** ****** */
-
-#ifdef ATS_MEMALLOC_GCBDW
-
-extern
-void
-atsruntime_mfree_undef (void *ptr)
-{
- atsruntime_mfree_gcbdw (ptr) ; return ;
-}
-extern
-void
-*atsruntime_malloc_undef (size_t bsz)
-{
- return atsruntime_malloc_gcbdw (bsz) ;
-}
-extern
-void
-*atsruntime_calloc_undef
-  (size_t asz, size_t tsz)
-{
- return atsruntime_calloc_gcbdw (asz, tsz) ;
-}
-extern
-void
-*atsruntime_realloc_undef
-   (void *ptr, size_t bsz)
-{
- return atsruntime_realloc_gcbdw (ptr, bsz) ;
-}
-
-#endif // ATS_MEMALLOC_GCBDW
-
-/* ****** ****** */
-
-/* end of [pats_ccomp_runtime_memalloc.c] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_runtime_trywith.c b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_runtime_trywith.c
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_runtime_trywith.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/* ******************************************************************* */
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/* ******************************************************************* */
-
-/*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-** 
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-** 
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: April, 2013 *)
-*/
-
-/* ****** ****** */
-//
-#include "pats_ccomp_basics.h"
-#include "pats_ccomp_typedefs.h"
-#include "pats_ccomp_exception.h"
-//
-/* ****** ****** */
-//
-// HX-2013-06:
-// it is only for single-threaded programs
-//
-/* ****** ****** */
-
-extern
-atsexnframe_ptr
-*my_atsexnframe_getref ()
-{
-//
-static
-atsexnframe_t *my_atsexnframe = (void*)0 ;
-//
-return &(my_atsexnframe) ;
-//
-} // end of [my_atsexnframe_getref]
-
-/* ****** ****** */
-
-extern
-void
-atsruntime_raise
-  (void *exn0)
-{
-//
-  atsexnframe_t *frame ;
-  frame = *(my_atsexnframe_getref()) ;
-//
-  do {
-    if (!frame) break ;
-    (frame)->exn = (atstype_exnconptr)exn0 ;
-    atspre_longjmp((frame)->env, 1/*retval*/) ;
-  } while (0) ; // end of [do]
-//
-  atsruntime_handle_uncaughtexn(exn0) ;
-//
-  return ;
-//
-} /* end of [atsruntime_raise] */
-
-/* ****** ****** */
-
-/* end of [pats_ccomp_runtime_trywith.c] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_typedefs.h b/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_typedefs.h
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/pats_ccomp_typedefs.h
+++ /dev/null
@@ -1,225 +0,0 @@
-/* ******************************************************************* */
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/* ******************************************************************* */
-
-/*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-** 
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-** 
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: October, 2012 *)
-*/
-
-/* ****** ****** */
-
-#ifndef PATS_CCOMP_TYPEDEFS_H
-#define PATS_CCOMP_TYPEDEFS_H
-
-/* ****** ****** */
-
-/*
-** HX:
-** of indefinite size
-*/
-struct atstype_struct ;
-
-/* ****** ****** */
-
-typedef void atstype_void ;
-typedef void atsvoid_t0ype ;
-
-/* ****** ****** */
-
-typedef int atstype_int ;
-typedef unsigned int atstype_uint ;
-
-typedef long int atstype_lint ;
-typedef unsigned long int atstype_ulint ;
-
-typedef long long int atstype_llint ;
-typedef unsigned long long int atstype_ullint ;
-
-typedef short int atstype_sint ;
-typedef unsigned short int atstype_usint ;
-
-/* ****** ****** */
-
-typedef atstype_lint atstype_ssize ;
-typedef atstype_ulint atstype_size ;
-
-/* ****** ****** */
-//
-// HX: true/false: 1/0
-//
-typedef int atstype_bool ;
-//
-/* ****** ****** */
-
-typedef unsigned char atstype_byte ;
-
-/* ****** ****** */
-
-typedef char atstype_char ;
-typedef signed char atstype_schar ;
-typedef unsigned char atstype_uchar ;
-
-/* ****** ****** */
-
-typedef char *atstype_string ;
-typedef char *atstype_stropt ;
-typedef char *atstype_strptr ;
-
-/* ****** ****** */
-
-typedef float atstype_float ;
-typedef double atstype_double ;
-typedef long double atstype_ldouble ;
-
-/* ****** ****** */
-/*
-** HX: for pointers
-*/
-typedef void *atstype_ptr ;
-typedef void *atstype_ptrk ;
-/*
-** HX: for references
-*/
-typedef void *atstype_ref ;
-/*
-** HX: for boxed values
-*/
-typedef void* atstype_boxed ;
-/*
-** HX: for [datconptr]
-*/
-typedef void* atstype_datconptr ;
-/*
-** HX: for [datcontyp]
-*/
-typedef void* atstype_datcontyp ;
-
-/* ****** ****** */
-
-#ifdef \
-_ATS_CCOMP_EXCEPTION_NONE_
-//
-// HX: should a message be issued?
-//
-#else
-//
-typedef struct
-{
-  atstype_int exntag ;
-  atstype_string exnmsg ;
-} atstype_exncon ;
-//
-typedef
-atstype_exncon *atstype_exnconptr ;
-//
-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
-
-/* ****** ****** */
-/*
-** HX: for pointers to arrays
-*/
-typedef void* atstype_arrptr ;
-/*
-** HX: for arrays plus size info
-*/
-typedef
-struct {
-  atstype_arrptr ptr ; atstype_size size ;
-} atstype_arrpsz ;
-
-/* ****** ****** */
-
-typedef void* atstype_funptr ;
-typedef void* atstype_cloptr ;
-
-/* ****** ****** */
-
-#define atstkind_type(tk) tk
-#define atstkind_t0ype(tk) tk
-
-/* ****** ****** */
-//
-// HX-2014-09-16:
-// making it unusable unless
-// _ATS_ARRAY_FIELD is defined
-//
-#ifdef _ATS_ARRAY_FIELD_
-#define atstyarr_field(fname) fname[]
-#else
-#define atstyarr_field(fname) atstyarr_field_undef(fname)
-#endif // end of [_ATS_ARRAY_FIELD_]
-//
-/* ****** ****** */
-//
-// HX-2014-05:
-// making it not usable!!!
-//
-#ifdef _ATSTYPE_VAR_SIZE_
-// HX: it is set by the user
-#else
-#define _ATSTYPE_VAR_SIZE_ 0X10000
-#endif // end of [#ifdef]
-//
-// HX-2014-05:
-// for 8-bit or 16-bit march,
-// _ATSTYPE_VAR_SIZE can be set to 0X100
-//
-typedef
-struct{char _[_ATSTYPE_VAR_SIZE_];} atstype_var[0] ;
-//
-/* ****** ****** */
-
-#define atstyvar_type(a) atstype_var
-
-/* ****** ****** */
-
-#define atstybox_type(hit) atstype_boxed
-
-/* ****** ****** */
-
-#define atstyclo_top struct{ void *cfun; }
-#define atstyclo_type(flab) flab##__closure_t0ype
-
-/* ****** ****** */
-
-#define atsvararg_type(hit) ...
-
-/* ****** ****** */
-
-#define atsrefarg0_type(hit) hit
-#define atsrefarg1_type(hit) atstype_ref
-
-/* ****** ****** */
-
-#endif /* PATS_CCOMP_TYPEDEFS_H */
-
-/* ****** ****** */
-
-/* end of [pats_ccomp_typedefs.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/alloca.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/alloca.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/alloca.cats
+++ /dev/null
@@ -1,61 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: February, 2014 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_ALLOCA
-#define ATSLIB_LIBATS_LIBC_CATS_ALLOCA
-
-/* ****** ****** */
-
-#include <alloca.h>
-
-/* ****** ****** */
-//
-#define atslib_libats_libc_alloca(bsz) alloca(bsz)
-//
-/* ****** ****** */
-//
-#define atslib_libats_libc_ptr_alloca_tsz(tsz) alloca(tsz)
-//
-#define atslib_libats_libc_array_ptr_alloca_tsz(asz, tsz) alloca((asz)*(tsz))
-//
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_ALLOCA
-
-/* ****** ****** */
-
-/* end of [alloca.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/dirent.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/dirent.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/dirent.cats
+++ /dev/null
@@ -1,120 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: March, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_DIRENT
-#define ATSLIB_LIBATS_LIBC_CATS_DIRENT
-
-/* ****** ****** */
-
-#include <sys/types.h>
-#include <dirent.h> // HX: after sys/types
-
-/* ****** ****** */
-
-#include "share/H/pats_atslib.h"
-
-/* ****** ****** */
-//
-typedef DIR atslib_libats_libc_DIR_type ;
-//
-typedef
-struct dirent atslib_libats_libc_dirent_type ;
-//
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_dirent_get_d_ino(ent) \
-(((atslib_libats_libc_dirent_type*)ent)->d_ino)
-#define \
-atslib_libats_libc_dirent_get_d_name(ent) \
-(((atslib_libats_libc_dirent_type*)ent)->d_name)
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_direntp_get_d_name(entp) \
-(((atslib_libats_libc_dirent_type*)entp)->d_name)
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_direntp_free(x) atspre_mfree_gc(x)
-
-/* ****** ****** */
-
-#define atslib_libats_libc_alphasort alphasort
-#define atslib_libats_libc_versionsort versionsort
-
-/* ****** ****** */
-
-#define atslib_libats_libc_opendir opendir
-
-/* ****** ****** */
-
-#define atslib_libats_libc_closedir closedir
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_readdir readdir
-#define \
-atslib_libats_libc_readdir_r(dirp, ent, res) \
-  readdir_r((DIR*)dirp, (struct dirent*)ent, (struct dirent**)res)
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_scandir(dirp, namelst, filter, compar) \
-  scandir((char*)dirp, (struct dirent***)namelst, (void*)filter, (void*)compar)
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_rewinddir rewinddir
-
-/* ****** ****** */
-
-#define atslib_libats_libc_seekdir seekdir
-#define atslib_libats_libc_telldir telldir
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_DIRENT
-
-/* ****** ****** */
-
-/* end of [dirent.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/dlfcn.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/dlfcn.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/dlfcn.cats
+++ /dev/null
@@ -1,75 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: December, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_DLFCN
-#define ATSLIB_LIBATS_LIBC_CATS_DLFCN
-
-/* ****** ****** */
-
-#include <dlfcn.h>
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_dlopen dlopen
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_dlclose dlclose
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_dlerror dlerror
-
-/* ****** ****** */
-
-#define atslib_libats_libc_dlsym dlsym
-
-/* ****** ****** */
-
-#define atslib_libats_libc_dladdr dladdr
-#define atslib_libats_libc_dlvsym dlvsym
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_DLFCN
-
-/* ****** ****** */
-
-/* end of [dlfcn.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/errno.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/errno.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/errno.cats
+++ /dev/null
@@ -1,85 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/libc/CATS/CODEGEN/errno.atxt
-** Time of generation: Mon Sep  5 20:36:41 2016
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: February, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_ERRNO
-#define ATSLIB_LIBATS_LIBC_CATS_ERRNO
-
-/* ****** ****** */
-
-#include <errno.h>
-
-/* ****** ****** */
-
-typedef int errno_t ;
-
-/* ****** ****** */
-
-#define ENONE 0
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_the_errno_get() (errno)
-#define \
-atslib_libats_libc_the_errno_set(x) (errno = (x))
-#define \
-atslib_libats_libc_the_errno_reset() (errno = ENONE)
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atslib_libats_libc_the_errno_test(errno_t x)
-{
-  return (errno==(x)) ? atsbool_true : atsbool_false ;
-} /* end of [atslib_libats_libc_the_errno_test] */
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_ERRNO
-
-/* ****** ****** */
-
-/* end of [errno.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/fcntl.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/fcntl.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/fcntl.cats
+++ /dev/null
@@ -1,85 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: February, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_FCNTL
-#define ATSLIB_LIBATS_LIBC_CATS_FCNTL
-
-/* ****** ****** */
-
-#include <sys/types.h>
-#include <fcntl.h> // HX: after sys/types
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fildes_get_int(fd) (fd)
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atslib_libats_libc_fildes_isgtez
-  (atstype_int fd)
-{
-  return (fd >= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atslib_libats_libc_fildes_isgtez]
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_fcntlflags_lor(x1, x2) ((x1)|(x2))
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_fcntl_getfl(fd) fcntl(fd, F_GETFL)
-#define \
-atslib_libats_libc_fcntl_setfl(fd, flags) fcntl(fd, F_SETFL, flags)
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_open_flags(path, flags) open((char*)path, flags)
-#define \
-atslib_libats_libc_open_flags_mode(path, flags, mode) open((char*)path, flags, mode)
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_FCNTL
-
-/* ****** ****** */
-
-/* end of [fcntl.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/float.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/float.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/float.cats
+++ /dev/null
@@ -1,51 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: October, 2014 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_FLOAT
-#define ATSLIB_LIBATS_LIBC_CATS_FLOAT
-
-/* ****** ****** */
-
-#include <float.h>
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_FLOAT
-
-/* ****** ****** */
-
-/* end of [float.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/fnmatch.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/fnmatch.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/fnmatch.cats
+++ /dev/null
@@ -1,58 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: March, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_FNMATCH
-#define ATSLIB_LIBATS_LIBC_CATS_FNMATCH
-
-/* ****** ****** */
-
-#include <fnmatch.h>
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_fnmatch_null(pat, str) fnmatch((char*)pat, (char*)str, 0)
-#define \
-atslib_libats_libc_fnmatch_flags(pat, str, flags) fnmatch((char*)pat, (char*)str, flags)
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_FNMATCH
-
-/* ****** ****** */
-
-/* end of [fnmatch.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/malloc.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/malloc.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/malloc.cats
+++ /dev/null
@@ -1,60 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: March, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_MALLOC
-#define ATSLIB_LIBATS_LIBC_CATS_MALLOC
-
-/* ****** ****** */
-
-#include <malloc.h>
-
-/* ****** ****** */
-
-#define atslib_libats_libc_mallopt mallopt
-#define atslib_libats_libc_malloc_trim malloc_trim
-#define atslib_libats_libc_malloc_usable_size malloc_usable_size
-#define atslib_libats_libc_malloc_stats malloc_stats
-#define atslib_libats_libc_malloc_get_state malloc_get_state
-#define atslib_libats_libc_malloc_set_state malloc_set_state
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_MALLOC
-
-/* ****** ****** */
-
-/* end of [malloc.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/math.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/math.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/math.cats
+++ /dev/null
@@ -1,235 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: March, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_MATH
-#define ATSLIB_LIBATS_LIBC_CATS_MATH
-
-/* ****** ****** */
-
-#include <math.h>
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_isfinite_float isfinite
-#define \
-atslib_libats_libc_isfinite_double isfinite
-#define \
-atslib_libats_libc_isfinite_ldouble isfinite
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_isnormal_float isnormal
-#define \
-atslib_libats_libc_isnormal_double isnormal
-#define \
-atslib_libats_libc_isnormal_ldouble isnormal
-
-/* ****** ****** */
-
-#define atslib_libats_libc_isinf_float isinf
-#define atslib_libats_libc_isinf_double isinf
-#define atslib_libats_libc_isinf_ldouble isinf
-
-/* ****** ****** */
-
-#define atslib_libats_libc_isnan_float isnan
-#define atslib_libats_libc_isnan_double isnan
-#define atslib_libats_libc_isnan_ldouble isnan
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fpclassify_float fpclassify
-#define atslib_libats_libc_fpclassify_double fpclassify
-#define atslib_libats_libc_fpclassify_ldouble fpclassify
-
-/* ****** ****** */
-
-#define atslib_libats_libc_ceil_float ceilf
-#define atslib_libats_libc_ceil_double ceil
-#define atslib_libats_libc_ceil_ldouble ceill
-
-/* ****** ****** */
-
-#define atslib_libats_libc_floor_float floorf
-#define atslib_libats_libc_floor_double floor
-#define atslib_libats_libc_floor_ldouble floorl
-
-/* ****** ****** */
-
-#define atslib_libats_libc_round_float roundf
-#define atslib_libats_libc_round_double round
-#define atslib_libats_libc_round_ldouble roundl
-
-/* ****** ****** */
-
-#define atslib_libats_libc_trunc_float truncf
-#define atslib_libats_libc_trunc_double trunc
-#define atslib_libats_libc_trunc_ldouble truncl
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fmod_float fmodf
-#define atslib_libats_libc_fmod_double fmod
-#define atslib_libats_libc_fmod_ldouble fmodl
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fmax_float fmaxf
-#define atslib_libats_libc_fmax_double fmax
-#define atslib_libats_libc_fmax_ldouble fmaxl
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fmin_float fminf
-#define atslib_libats_libc_fmin_double fmin
-#define atslib_libats_libc_fmin_ldouble fminl
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fdim_float fdimf
-#define atslib_libats_libc_fdim_double fdim
-#define atslib_libats_libc_fdim_ldouble fdiml
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fma_float fmaf
-#define atslib_libats_libc_fma_double fma
-#define atslib_libats_libc_fma_ldouble fmal
-
-/* ****** ****** */
-
-#define atslib_libats_libc_sqrt_float sqrtf
-#define atslib_libats_libc_sqrt_double sqrt
-#define atslib_libats_libc_sqrt_ldouble sqrtl
-
-/* ****** ****** */
-
-#define atslib_libats_libc_cbrt_float cbrtf
-#define atslib_libats_libc_cbrt_double cbrt
-#define atslib_libats_libc_cbrt_ldouble cbrtl
-
-/* ****** ****** */
-
-#define atslib_libats_libc_pow_float powf
-#define atslib_libats_libc_pow_double pow
-#define atslib_libats_libc_pow_ldouble powl
-
-/* ****** ****** */
-
-#define atslib_libats_libc_exp_float expf
-#define atslib_libats_libc_exp_double exp
-#define atslib_libats_libc_exp_ldouble expl
-
-/* ****** ****** */
-//
-#define atslib_libats_libc_log_float logf
-#define atslib_libats_libc_log_double log
-#define atslib_libats_libc_log_ldouble logl
-//
-#define atslib_libats_libc_log10_float log10f
-#define atslib_libats_libc_log10_double log10
-#define atslib_libats_libc_log10_ldouble log10l
-//
-/* ****** ****** */
-//
-#define atslib_libats_libc_sin_float sinf
-#define atslib_libats_libc_sin_double sin
-#define atslib_libats_libc_sin_ldouble sinl
-//
-#define atslib_libats_libc_cos_float cosf
-#define atslib_libats_libc_cos_double cos
-#define atslib_libats_libc_cos_ldouble cosl
-//
-#define atslib_libats_libc_tan_float tanf
-#define atslib_libats_libc_tan_double tan
-#define atslib_libats_libc_tan_ldouble tanl
-//
-/* ****** ****** */
-//
-#define atslib_libats_libc_asin_float asinf
-#define atslib_libats_libc_asin_double asin
-#define atslib_libats_libc_asin_ldouble asinl
-//
-#define atslib_libats_libc_acos_float acosf
-#define atslib_libats_libc_acos_double acos
-#define atslib_libats_libc_acos_ldouble cosl
-//
-#define atslib_libats_libc_atan_float atanf
-#define atslib_libats_libc_atan_double atan
-#define atslib_libats_libc_atan_ldouble atanl
-//
-#define atslib_libats_libc_atan2_float atan2f
-#define atslib_libats_libc_atan2_double atan2
-#define atslib_libats_libc_atan2_ldouble atan2l
-//
-/* ****** ****** */
-//
-#define atslib_libats_libc_sinh_float sinhf
-#define atslib_libats_libc_sinh_double sinh
-#define atslib_libats_libc_sinh_ldouble sinhl
-//
-#define atslib_libats_libc_cosh_float coshf
-#define atslib_libats_libc_cosh_double cosh
-#define atslib_libats_libc_cosh_ldouble coshl
-//
-#define atslib_libats_libc_tanh_float tanhf
-#define atslib_libats_libc_tanh_double tanh
-#define atslib_libats_libc_tanh_ldouble tanhl
-//
-/* ****** ****** */
-
-#define atslib_libats_libc_asinh_float asinhf
-#define atslib_libats_libc_asinh_double asinh
-#define atslib_libats_libc_asinh_ldouble asinhl
-//
-#define atslib_libats_libc_acosh_float acoshf
-#define atslib_libats_libc_acosh_double acosh
-#define atslib_libats_libc_acosh_ldouble acoshl
-//
-#define atslib_libats_libc_atanh_float atanhf
-#define atslib_libats_libc_atanh_double atanh
-#define atslib_libats_libc_atanh_ldouble atanhl
-//
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_MATH
-
-/* ****** ****** */
-
-/* end of [math.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/signal.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/signal.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/signal.cats
+++ /dev/null
@@ -1,125 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: April, 2014 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_SIGNAL
-#define ATSLIB_LIBATS_LIBC_CATS_SIGNAL
-
-/* ****** ****** */
-
-#include <signal.h>
-
-/* ****** ****** */
-//
-typedef int signum_t ;
-//
-typedef
-void (*sighandler_t)(signum_t) ;
-//
-/* ****** ****** */
-
-typedef
-struct sigaction
-atslib_libats_libc_sigaction_struct ;
-
-/* ****** ****** */
-
-#define atslib_libats_libc_signal signal
-
-/* ****** ****** */
-
-#define atslib_libats_libc_sigaddset sigaddset
-#define atslib_libats_libc_sigdelset sigdelset
-#define atslib_libats_libc_sigemptyset sigemptyset
-#define atslib_libats_libc_sigfillset sigfillset
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_sigaction sigaction
-#define \
-atslib_libats_libc_sigaction_null(sgn, act) \
-atslib_libats_libc_sigaction(sgn, act, (atslib_libats_libc_sigaction_struct*)0)
-
-/* ****** ****** */
-
-#define atslib_libats_libc_kill kill
-#define atslib_libats_libc_killpg killpg
-#define atslib_libats_libc_raise raise
-
-/* ****** ****** */
-
-#define atslib_libats_libc_sigset sigset
-#define atslib_libats_libc_sighold sighold
-#define atslib_libats_libc_sigignore sigignore
-#define atslib_libats_libc_sigrelse sigrelse
-
-/* ****** ****** */
-
-#define atslib_libats_libc_sigwait sigwait
-
-/* ****** ****** */
-
-#define atslib_libats_libc_sigpause sigpause
-#define atslib_libats_libc_sigsuspend sigsuspend
-
-/* ****** ****** */
-
-#define atslib_libats_libc_sigpending sigpending
-#define atslib_libats_libc_siginterrupt siginterrupt
-
-/* ****** ****** */
-
-#define atslib_libats_libc_psignal psignal
-
-/* ****** ****** */
-
-/*
-//
-// declared in <string.h>
-//
-extern
-char* strsignal (int signum) ;
-*/
-#define atslib_libats_libc_strsignal strsignal
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SIGNAL
-
-/* ****** ****** */
-
-/* end of [signal.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/stdio.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/stdio.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/stdio.cats
+++ /dev/null
@@ -1,226 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: September, 2011 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_STDIO
-#define ATSLIB_LIBATS_LIBC_CATS_STDIO
-
-/* ****** ****** */
-
-#include <stdio.h>
-/*
-extern
-void
-perror (const char* str) ; // in [stdio.h]
-*/
-extern void exit (int status) ; // in [stdlib.h]
-
-/* ****** ****** */
-//
-#define \
-atslib_libats_libc_FILEptr_is_null(p) (p == 0)
-#define \
-atslib_libats_libc_FILEptr_isnot_null(p) (p != 0)
-//
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_clearerr(p) clearerr(((FILE*)p))
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fopen fopen
-#define atslib_libats_libc_fopen_ref_exn atslib_libats_libc_fopen_exn
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fclose fclose
-#define atslib_libats_libc_fclose0 atslib_libats_libc_fclose
-#define atslib_libats_libc_fclose1 atslib_libats_libc_fclose
-#define atslib_libats_libc_fclose0_exn atslib_libats_libc_fclose_exn
-#define atslib_libats_libc_fclose1_exn atslib_libats_libc_fclose_exn
-
-/*
-#define atslib_libats_libc_fclose_stdin() atslib_libats_libc_fclose_exn(stdin)
-#define atslib_libats_libc_fclose_stdout() atslib_libats_libc_fclose_exn(stdout)
-#define atslib_libats_libc_fclose_stderr() atslib_libats_libc_fclose_exn(stderr)
-*/
-
-/* ****** ****** */
-//
-#define atslib_libats_libc_fflush fflush
-#define atslib_libats_libc_fflush0 atslib_libats_libc_fflush
-#define atslib_libats_libc_fflush1 atslib_libats_libc_fflush
-#define atslib_libats_libc_fflush0_exn atslib_libats_libc_fflush_exn
-#define atslib_libats_libc_fflush1_exn atslib_libats_libc_fflush_exn
-//
-#define atslib_libats_libc_fflush_all() atslib_libats_libc_fclose_exn((FILE*)0)
-#define atslib_libats_libc_fflush_stdout() atslib_libats_libc_fclose_exn(stdout)
-//
-/* ****** ****** */
-
-#define atslib_libats_libc_fileno fileno
-#define atslib_libats_libc_fileno0 atslib_libats_libc_fileno
-#define atslib_libats_libc_fileno1 atslib_libats_libc_fileno
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fdopen fdopen
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_feof(p) feof(((FILE*)p))
-#define atslib_libats_libc_feof0 atslib_libats_libc_feof
-#define atslib_libats_libc_feof1 atslib_libats_libc_feof
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_ferror(p) ferror(((FILE*)p))
-#define atslib_libats_libc_ferror0 atslib_libats_libc_ferror
-#define atslib_libats_libc_ferror1 atslib_libats_libc_ferror
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fgetc fgetc
-#define atslib_libats_libc_fgetc0 atslib_libats_libc_fgetc
-#define atslib_libats_libc_fgetc1 atslib_libats_libc_fgetc
-
-/* ****** ****** */
-
-#define atslib_libats_libc_getchar getchar
-#define atslib_libats_libc_getchar0 atslib_libats_libc_getchar
-#define atslib_libats_libc_getchar1 atslib_libats_libc_getchar
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fputc fputc
-#define atslib_libats_libc_fputc0_int atslib_libats_libc_fputc
-#define atslib_libats_libc_fputc0_char(c, fp) atslib_libats_libc_fputc((int)c, fp)
-#define atslib_libats_libc_fputc1_int atslib_libats_libc_fputc
-#define atslib_libats_libc_fputc1_char(c, fp) atslib_libats_libc_fputc((int)c, fp)
-
-#define atslib_libats_libc_fputc0_exn_int atslib_libats_libc_fputc_exn
-#define atslib_libats_libc_fputc0_exn_char atslib_libats_libc_fputc_exn
-
-/* ****** ****** */
-
-#define atslib_libats_libc_putchar putchar
-#define atslib_libats_libc_putchar0 atslib_libats_libc_putchar
-#define atslib_libats_libc_putchar1 atslib_libats_libc_putchar
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fgets fgets
-#define atslib_libats_libc_fgets0 atslib_libats_libc_fgets
-#define atslib_libats_libc_fgets1 atslib_libats_libc_fgets
-#define atslib_libats_libc_fgets1_err atslib_libats_libc_fgets
-#define atslib_libats_libc_fgets0_gc atslib_libats_libc_fgets_gc
-#define atslib_libats_libc_fgets1_gc atslib_libats_libc_fgets_gc
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fputs fputs
-#define atslib_libats_libc_fputs0 atslib_libats_libc_fputs
-#define atslib_libats_libc_fputs1 atslib_libats_libc_fputs
-#define atslib_libats_libc_fputs0_exn atslib_libats_libc_fputs_exn
-#define atslib_libats_libc_fputs1_exn atslib_libats_libc_fputs_exn
-
-/* ****** ****** */
-
-#define atslib_libats_libc_puts puts
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fread fread
-#define atslib_libats_libc_fread0 atslib_libats_libc_fread
-#define atslib_libats_libc_fread1 atslib_libats_libc_fread
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fwrite fwrite
-#define atslib_libats_libc_fwrite0 atslib_libats_libc_fwrite
-#define atslib_libats_libc_fwrite1 atslib_libats_libc_fwrite
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fseek fseek
-#define atslib_libats_libc_fseek0 atslib_libats_libc_fseek
-#define atslib_libats_libc_fseek1 atslib_libats_libc_fseek
-
-/* ****** ****** */
-
-#define atslib_libats_libc_ftell ftell
-#define atslib_libats_libc_ftell0 atslib_libats_libc_ftell
-#define atslib_libats_libc_ftell1 atslib_libats_libc_ftell
-
-/* ****** ****** */
-
-#define atslib_libats_libc_perror perror
-
-/* ****** ****** */
-
-#define atslib_libats_libc_popen popen
-
-/* ****** ****** */
-
-#define atslib_libats_libc_pclose0_exn atslib_libats_libc_pclose_exn
-#define atslib_libats_libc_pclose1_exn atslib_libats_libc_pclose_exn
-
-/* ****** ****** */
-
-#define atslib_libats_libc_remove remove
-#define atslib_libats_libc_rename rename
-
-/* ****** ****** */
-
-#define atslib_libats_libc_rewind rewind
-#define atslib_libats_libc_rewind0 atslib_libats_libc_rewind
-#define atslib_libats_libc_rewind1 atslib_libats_libc_rewind
-
-/* ****** ****** */
-
-#define atslib_libats_libc_tmpfile tmpfile
-#define atslib_libats_libc_tmpfile_ref_exn atslib_libats_libc_tmpfile_exn
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_STDIO
-
-/* ****** ****** */
-
-/* end of [stdio.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/stdlib.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/stdlib.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/stdlib.cats
+++ /dev/null
@@ -1,206 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: February, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef \
-ATSLIB_LIBATS_LIBC_CATS_STDLIB
-#define \
-ATSLIB_LIBATS_LIBC_CATS_STDLIB
-
-/* ****** ****** */
-
-#include <stdlib.h>
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_abort abort
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc__Exit _Exit
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_atexit atexit
-
-/* ****** ****** */
-
-#define atslib_libats_libc_abs abs
-#define atslib_libats_libc_labs labs
-#define atslib_libats_libc_llabs llabs
-
-/* ****** ****** */
-
-#define atslib_libats_libc_div div
-#define atslib_libats_libc_ldiv ldiv
-#define atslib_libats_libc_lldiv lldiv
-
-/* ****** ****** */
-
-#define atslib_libats_libc_a64l a64l
-#define atslib_libats_libc_l64a l64a
-
-/* ****** ****** */
-
-#define atslib_libats_libc_atoi atoi
-#define atslib_libats_libc_atol atol
-#define atslib_libats_libc_atoll atoll
-
-/* ****** ****** */
-
-#define atslib_libats_libc_atof atof
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_strtol0(nptr, base) \
-atslib_libats_libc_strtol_unsafe(nptr, 0, base)
-#define \
-atslib_libats_libc_strtol1(nptr, endptr, base) \
-atslib_libats_libc_strtol_unsafe(nptr, endptr, base)
-#define \
-atslib_libats_libc_strtol_unsafe(nptr, endptr, base) \
-strtol((char*)(nptr), (char**)(endptr), base)
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_strtoll0(nptr, base) \
-atslib_libats_libc_strtoll_unsafe(nptr, 0, base)
-#define \
-atslib_libats_libc_strtoll1(nptr, endptr, base) \
-atslib_libats_libc_strtoll_unsafe(nptr, endptr, base)
-#define \
-atslib_libats_libc_strtoll_unsafe(nptr, endptr, base) \
-strtoll((char*)(nptr), (char**)(endptr), base)
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_strtof0(nptr) \
-atslib_libats_libc_strtof_unsafe(nptr, 0)
-#define \
-atslib_libats_libc_strtof1(nptr, endptr) \
-atslib_libats_libc_strtof_unsafe(nptr, endptr)
-#define \
-atslib_libats_libc_strtof_unsafe(nptr, endptr) \
-strtof((char*)(nptr), (char**)(endptr))
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_strtod0(nptr) \
-atslib_libats_libc_strtod_unsafe(nptr, 0)
-#define \
-atslib_libats_libc_strtod1(nptr, endptr) \
-atslib_libats_libc_strtod_unsafe(nptr, endptr)
-#define \
-atslib_libats_libc_strtod_unsafe(nptr, endptr) \
-strtod((char*)(nptr), (char**)(endptr))
-
-/* ****** ****** */
-
-#define atslib_libats_libc_getenv getenv
-#define atslib_libats_libc_putenv putenv
-#define atslib_libats_libc_setenv setenv
-#define atslib_libats_libc_unsetenv unsetenv
-
-/* ****** ****** */
-
-#define atslib_libats_libc_rand rand
-#define atslib_libats_libc_srand srand
-#define atslib_libats_libc_rand_r rand_r
-
-/* ****** ****** */
-
-#define atslib_libats_libc_random random
-#define atslib_libats_libc_srandom srandom
-
-/* ****** ****** */
-//
-#define atslib_libats_libc_seed48 seed48
-#define atslib_libats_libc_srand48 srand48
-//
-#define atslib_libats_libc_drand48 drand48
-#define atslib_libats_libc_erand48 erand48
-#define atslib_libats_libc_lrand48 lrand48
-#define atslib_libats_libc_nrand48 nrand48
-#define atslib_libats_libc_mrand48 mrand48
-#define atslib_libats_libc_jrand48 jrand48
-#define atslib_libats_libc_lcong48 lcong48
-//
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_qsort\
-(base, nmemb, size, compar) \
-qsort(base, nmemb, size, (void*)compar)
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_bsearch\
-(key, base, nmemb, size, compar) \
-bsearch(key, base, nmemb, size, (void*)compar)
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_mkstemp mkstemp
-#define \
-atslib_libats_libc_mkostemp mkostemp
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_mfree_libc free
-#define \
-atslib_libats_libc_malloc_libc malloc
-
-/* ****** ****** */
-
-#define atslib_libats_libc_system system
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_STDLIB
-
-/* ****** ****** */
-
-/* end of [stdlib.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/string.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/string.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/string.cats
+++ /dev/null
@@ -1,139 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: February, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_STRING
-#define ATSLIB_LIBATS_LIBC_CATS_STRING
-
-/* ****** ****** */
-
-#include <errno.h>
-#include <string.h>
-
-/* ****** ****** */
-
-#define atslib_libats_libc_strcmp strcmp
-#define atslib_libats_libc_strncmp strncmp
-
-/* ****** ****** */
-
-#define atslib_libats_libc_strcoll strcoll
-
-/* ****** ****** */
-
-#define atslib_libats_libc_strspn strspn
-#define atslib_libats_libc_strcspn strcspn
-
-/* ****** ****** */
-
-#define atslib_libats_libc_strlen strlen
-#define atslib_libats_libc_strnlen strnlen
-
-/* ****** ****** */
-
-#define atslib_libats_libc_strcat strcat
-#define atslib_libats_libc_strcat_unsafe strcat
-#define atslib_libats_libc_strncat_unsafe strncat
-
-/* ****** ****** */
-
-#define atslib_libats_libc_strcpy strcpy
-#define atslib_libats_libc_strcpy_unsafe strcpy
-#define atslib_libats_libc_strncpy_unsafe strncpy
-
-/* ****** ****** */
-
-#define atslib_libats_libc_strdup strdup
-#define atslib_libats_libc_strndup strndup
-#define atslib_libats_libc_strdup_free atsruntime_mfree_libc
-
-#define atslib_libats_libc_strdupa strdupa
-#define atslib_libats_libc_strndupa strndupa
-#define atslib_libats_libc_strdupa_free atsruntime_afree_libc
-
-/* ****** ****** */
-
-#define atslib_libats_libc_strfry strfry
-
-/* ****** ****** */
-
-#define atslib_libats_libc_memcpy memcpy
-#define atslib_libats_libc_memcpy_unsafe memcpy
-
-/* ****** ****** */
-
-#define atslib_libats_libc_memccpy_unsafe memccpy
-
-/* ****** ****** */
-
-#define atslib_libats_libc_mempcpy mempcpy
-#define atslib_libats_libc_mempcpy_unsafe mempcpy
-
-/* ****** ****** */
-
-#define atslib_libats_libc_memset_unsafe memset
-
-/* ****** ****** */
-
-#define atslib_libats_libc_memmove_unsafe memmove
-
-/* ****** ****** */
-
-#define atslib_libats_libc_strerror strerror
-#define atslib_libats_libc_strerror_r strerror_r
-
-/* ****** ****** */
-
-ATSinline()
-atstype_ptr
-atslib_libats_libc_strdup_gc
-  (atstype_string src)
-{
-  char *dst ;
-  size_t len, len1 ;
-  len = atslib_libats_libc_strlen((char*)src) ;
-  len1 = len + 1;
-  dst = atspre_malloc_gc(len1) ;
-  return atslib_libats_libc_memcpy(dst, src, len1) ;
-} // end of [atslib_libats_libc_strdup_gc]
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_STRING
-
-/* ****** ****** */
-
-/* end of [string.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/strings.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/strings.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/strings.cats
+++ /dev/null
@@ -1,64 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: February, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_STRINGS
-#define ATSLIB_LIBATS_LIBC_CATS_STRINGS
-
-/* ****** ****** */
-
-#include <strings.h>
-
-/* ****** ****** */
-
-#define atslib_libats_libc_index_int index
-#define atslib_libats_libc_index_char(c) index((int)c)
-
-#define atslib_libats_libc_rindex_int rindex
-#define atslib_libats_libc_rindex_char(c) rindex((int)c)
-
-/* ****** ****** */
-
-#define atslib_libats_libc_strcasecmp strcasecmp
-#define atslib_libats_libc_strncasecmp strncasecmp
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_STRINGS
-
-/* ****** ****** */
-
-/* end of [strings.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/mman.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/mman.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/mman.cats
+++ /dev/null
@@ -1,59 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: October, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_MMAN
-#define ATSLIB_LIBATS_LIBC_CATS_SYS_MMAN
-
-/* ****** ****** */
-//
-#include <fcntl.h>
-#include <sys/types.h>
-//
-#include <sys/mman.h>
-//
-/* ****** ****** */
-
-#define atslib_libats_libc_shm_open shm_open
-#define atslib_libats_libc_shm_unlink shm_unlink
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_MMAN
-
-/* ****** ****** */
-
-/* end of [mman.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/socket.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/socket.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/socket.cats
+++ /dev/null
@@ -1,135 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: November, 2014 *)
-*/
-
-/* ****** ****** */
-
-#ifndef \
-ATSLIB_LIBATS_LIBC_CATS_SYS_SOCKET
-#define \
-ATSLIB_LIBATS_LIBC_CATS_SYS_SOCKET
-
-/* ****** ****** */
-//
-#include <unistd.h>
-#include <sys/socket.h>
-//
-/* ****** ****** */
-//
-/*
-//
-// socket address family
-//
-typedef
-unsigned short int sa_family_t;
-*/
-//
-// socket protocol family
-//
-typedef
-unsigned short int sp_family_t;
-//
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_socket_AF_type socket_AF_type
-#define \
-atslib_libats_libc_socket_PF_type socket_PF_type
-
-/* ****** ****** */
-//
-#define \
-atslib_libats_libc_bind_err(fd, sa, len) \
-  bind(fd, (const struct sockaddr*)sa, len)
-//
-extern
-void
-atslib_libats_libc_bind_exn
-(
-  int sockfd, atstype_ptr sa, socklen_t salen
-); // end of [atslib_libats_libc_bind_exn]
-//
-/* ****** ****** */
-//
-#define \
-atslib_libats_libc_listen_err(fd, qsz) listen(fd, qsz)
-//
-extern
-void
-atslib_libats_libc_listen_exn(int sockfd, int listenqsz);
-//
-/* ****** ****** */
-//
-#define \
-atslib_libats_libc_connect_err(fd, sa, len) \
-  connect(fd, (const struct sockaddr*)sa, len)
-//
-extern
-void
-atslib_libats_libc_connect_exn
-(
-  int sockfd, atstype_ptr sa, socklen_t salen
-); // end of [atslib_libats_libc_connect_exn]
-//
-/* ****** ****** */
-//
-#define \
-atslib_libats_libc_accept_err(fd, sa, len) \
-  accept(fd, (struct sockaddr*)sa, (socklen_t*)len)
-//
-#define \
-atslib_libats_libc_accept_null_err(fd) atslib_libats_libc_accept_err(fd, 0, 0)
-//
-/* ****** ****** */
-
-#define atslib_libats_libc_socket_close(fd) close(fd)
-
-/* ****** ****** */
-
-#define atslib_libats_libc_shutdown(fd, how) shutdown(fd, how)
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_socket_read(fd, bufp, bsz) read(fd, (char*)bufp, bsz)
-#define \
-atslib_libats_libc_socket_write(fd, bufp, bsz) write(fd, (const char*)bufp, bsz)
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_SOCKET
-
-/* ****** ****** */
-
-/* end of [socket.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/socket_in.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/socket_in.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/socket_in.cats
+++ /dev/null
@@ -1,78 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: November, 2014 *)
-*/
-
-/* ****** ****** */
-
-#ifndef \
-ATSLIB_LIBATS_LIBC_CATS_SYS_SOCKET_IN
-#define \
-ATSLIB_LIBATS_LIBC_CATS_SYS_SOCKET_IN
-
-/* ****** ****** */
-//
-#include <sys/socket.h>
-#include <netinet/in.h>
-//
-/* ****** ****** */
-//
-#ifdef memset
-#else
-extern
-void *memset (void *p, int c, size_t n) ;
-#endif // ifdef(memset)
-//
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atslib_libats_libc_sockaddr_in_init
-(
-  atstype_ptr sa
-, sa_family_t af, in_addr_t inp, in_port_t port
-) {
-  struct sockaddr_in *sa2 = sa ;
-  (void)memset(sa2, 0, sizeof(struct sockaddr_in)) ;
-  sa2->sin_family = af ;
-  sa2->sin_addr.s_addr = inp ;
-  sa2->sin_port = port ;
-} // end of [atslib_libats_libc_sockaddr_in_init]
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_SOCKET_IN
-
-/* ****** ****** */
-
-/* end of [socket_in.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/stat.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/stat.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/stat.cats
+++ /dev/null
@@ -1,82 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: March, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef \
-ATSLIB_LIBATS_LIBC_CATS_SYS_STAT
-#define \
-ATSLIB_LIBATS_LIBC_CATS_SYS_STAT
-
-/* ****** ****** */
-
-#include <sys/stat.h>
-
-/* ****** ****** */
-
-typedef
-struct stat
-atslib_libats_libc_stat_struct ;
-
-/* ****** ****** */
-
-#define atslib_libats_libc_umask umask
-
-/* ****** ****** */
-
-#define atslib_libats_libc_chmod chmod
-
-/* ****** ****** */
-
-#define atslib_libats_libc_mkdir mkdir
-#define atslib_libats_libc_mkdirat mkdirat
-
-/* ****** ****** */
-
-#define atslib_libats_libc_mkfifo mkfifo
-
-/* ****** ****** */
-
-#define atslib_libats_libc_stat stat
-#define atslib_libats_libc_fstat fstat
-#define atslib_libats_libc_lstat lstat
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_STAT
-
-/* ****** ****** */
-
-/* end of [stat.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/time.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/time.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/time.cats
+++ /dev/null
@@ -1,94 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: August, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef \
-ATSLIB_LIBATS_LIBC_CATS_SYS_TIME
-#define \
-ATSLIB_LIBATS_LIBC_CATS_SYS_TIME
-
-/* ****** ****** */
-
-#include <sys/time.h>
-
-/* ****** ****** */
-//
-typedef
-struct timeval
-atslib_libats_libc_timeval_type ;
-typedef
-struct timezone
-atslib_libats_libc_timezone_type ;
-//
-typedef
-struct itimerval
-atslib_libats_libc_itimerval_type ;
-//
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_gettimeofday_tv(tv) gettimeofday(tv, NULL)
-#define \
-atslib_libats_libc_gettimeofday_tz(tz) gettimeofday(NULL, tz)
-
-#define \
-atslib_libats_libc_settimeofday_tv(tv) settimeofday(tv, NULL)
-#define \
-atslib_libats_libc_settimeofday_tz(tz) settimeofday(NULL, tz)
-#define \
-atslib_libats_libc_settimeofday_tvtz(tv, tz) settimeofday(tv, tz)
-
-/* ****** ****** */
-
-#define atslib_libats_libc_utimes utimes
-#define atslib_libats_libc_futimes futimes
-#define atslib_libats_libc_futimesat futimesat
-
-/* ****** ****** */
-//
-#define atslib_libats_libc_getitimer getitimer
-//
-#define atslib_libats_libc_setitimer setitimer
-#define \
-atslib_libats_libc_setitimer_null(which, itval) setitimer(which, itval, NULL)
-//
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_TIME
-
-/* ****** ****** */
-
-/* end of [time.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/types.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/types.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/types.cats
+++ /dev/null
@@ -1,166 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: March, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef \
-ATSLIB_LIBATS_LIBC_CATS_SYS_TYPES
-#define \
-ATSLIB_LIBATS_LIBC_CATS_SYS_TYPES
-
-/* ****** ****** */
-
-#include <sys/types.h>
-
-/* ****** ****** */
-
-typedef mode_t atslib_libats_libc_mode_type ;
-
-/* ****** ****** */
-//
-// HX-2013-8:
-// [atslib_libats_libc_time_type] is already
-// defined in [libats/libc/CATS/time.cats]
-//
-typedef time_t atslib_libats_libc_types_time_type ;
-//
-/* ****** ****** */
-
-#if(0)
-//
-// HX-2013-05: where are they?
-// HX-2013-06: they are declared in [time.h]
-//
-typedef clock_t atslib_libats_libc_clock_type ;
-typedef clockid_t atslib_libats_libc_clockid_type ;
-#endif
-
-/* ****** ****** */
-
-typedef ino_t atslib_libats_libc_ino_type ;
-typedef off_t atslib_libats_libc_off_type ;
-
-/* ****** ****** */
-
-typedef pid_t atslib_libats_libc_pid_type ;
-typedef uid_t atslib_libats_libc_uid_type ;
-typedef gid_t atslib_libats_libc_gid_type ;
-
-/* ****** ****** */
-
-ATSinline()
-atslib_libats_libc_mode_type
-atslib_libats_libc_lor_mode_mode
-(
-  atslib_libats_libc_mode_type m1
-, atslib_libats_libc_mode_type m2
-) {
-  return (m1 | m2) ;
-} // end of [atslib_libats_libc_lor_mode_mode]
-
-ATSinline()
-atslib_libats_libc_mode_type
-atslib_libats_libc_land_mode_mode
-(
-  atslib_libats_libc_mode_type m1
-, atslib_libats_libc_mode_type m2
-) {
-  return (m1 & m2) ;
-} // end of [atslib_libats_libc_land_mode_mode]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atslib_libats_libc_lt_time_time
-(
-  atslib_libats_libc_types_time_type t1
-, atslib_libats_libc_types_time_type t2
-)
-{
-  return \
-  (t1 < t2 ? atsbool_true : atsbool_false) ;
-} // end of [atslib_libats_libc_lt_time_time]
-ATSinline()
-atstype_bool
-atslib_libats_libc_lte_time_time
-(
-  atslib_libats_libc_types_time_type t1
-, atslib_libats_libc_types_time_type t2
-)
-{
-  return \
-  (t1 <= t2 ? atsbool_true : atsbool_false) ;
-} // end of [atslib_libats_libc_lte_time_time]
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_gt_time_time(t1, t2) \
-  atslib_libats_libc_lt_time_time(t2, t1)
-#define \
-atslib_libats_libc_gte_time_time(t1, t2) \
-  atslib_libats_libc_lte_time_time(t2, t1)
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atslib_libats_libc_eq_time_time
-(
-  atslib_libats_libc_types_time_type t1
-, atslib_libats_libc_types_time_type t2
-)
-{
-  return (t1 == t2 ? atsbool_true : atsbool_false) ;
-} // end of [atslib_libats_libc_eq_time_time]
-ATSinline()
-atstype_bool
-atslib_libats_libc_neq_time_time
-(
-  atslib_libats_libc_types_time_type t1
-, atslib_libats_libc_types_time_type t2
-)
-{
-  return (t1 != t2 ? atsbool_true : atsbool_false) ;
-} // end of [atslib_libats_libc_neq_time_time]
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_TYPES
-
-/* ****** ****** */
-
-/* end of [types.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/wait.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/wait.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/wait.cats
+++ /dev/null
@@ -1,60 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: October, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef \
-ATSLIB_LIBATS_LIBC_CATS_SYS_WAIT
-#define \
-ATSLIB_LIBATS_LIBC_CATS_SYS_WAIT
-
-/* ****** ****** */
-//
-#include <sys/wait.h>
-//
-/* ****** ****** */
-//
-#define \
-atslib_libats_libc_wait_void() wait((int*)0)
-#define \
-atslib_libats_libc_wait_status(x) wait((int*)x)
-//
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_WAIT
-
-/* ****** ****** */
-
-/* end of [wait.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/time.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/time.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/time.cats
+++ /dev/null
@@ -1,206 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: March, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_TIME
-#define ATSLIB_LIBATS_LIBC_CATS_TIME
-
-/* ****** ****** */
-
-#include <time.h>
-
-/* ****** ****** */
-//
-typedef
-time_t
-atslib_libats_libc_time_type ;
-//
-typedef
-struct tm
-atslib_libats_libc_tm_struct_type ;
-//
-/* ****** ****** */
-
-typedef
-clock_t
-atslib_libats_libc_clock_type ;
-
-/* ****** ****** */
-
-typedef
-struct timespec
-atslib_libats_libc_timespec_type ;
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_difftime difftime
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_time_get() time((time_t*)0)
-
-ATSinline()
-atstype_bool
-atslib_libats_libc_time_getset
-(
-  atstype_ref tval
-) {
-  return (time((time_t*)tval) >= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atslib_libats_libc_time_getset]
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_ctime ctime
-#define \
-atslib_libats_libc_ctime_r ctime_r
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atslib_libats_libc_tm_get_sec
-  (atstype_ptr tm) {
-  return ((struct tm*)tm)->tm_sec ;
-} // end of [atslib_libats_libc_tm_get_sec]
-
-ATSinline()
-atstype_int
-atslib_libats_libc_tm_get_min
-  (atstype_ptr tm) {
-  return ((struct tm*)tm)->tm_min ;
-} // end of [atslib_libats_libc_tm_get_min]
-
-ATSinline()
-atstype_int
-atslib_libats_libc_tm_get_hour
-  (atstype_ptr tm) {
-  return ((struct tm*)tm)->tm_hour ;
-} // end of [atslib_libats_libc_tm_get_hour]
-
-ATSinline()
-atstype_int
-atslib_libats_libc_tm_get_mday
-  (atstype_ptr tm) {
-  return ((struct tm*)tm)->tm_mday ;
-} // end of [atslib_libats_libc_tm_get_mday]
-
-ATSinline()
-atstype_int
-atslib_libats_libc_tm_get_mon
-  (atstype_ptr tm) {
-  return ((struct tm*)tm)->tm_mon ;
-} // end of [atslib_libats_libc_tm_get_mon]
-
-ATSinline()
-atstype_int
-atslib_libats_libc_tm_get_year
-  (atstype_ptr tm) {
-  return ((struct tm*)tm)->tm_year ;
-} // end of [atslib_libats_libc_tm_get_year]
-
-ATSinline()
-atstype_int
-atslib_libats_libc_tm_get_wday
-  (atstype_ptr tm) {
-  return ((struct tm*)tm)->tm_wday ;
-} // end of [atslib_libats_libc_tm_get_wday]
-
-ATSinline()
-atstype_int
-atslib_libats_libc_tm_get_yday
-  (atstype_ptr tm) {
-  return ((struct tm*)tm)->tm_yday ;
-} // end of [atslib_libats_libc_tm_get_yday]
-
-ATSinline()
-atstype_int
-atslib_libats_libc_tm_get_isdst
-  (atstype_ptr tm) {
-  return ((struct tm*)tm)->tm_isdst ;
-} // end of [atslib_libats_libc_tm_get_isdst]
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_mktime mktime
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_asctime asctime
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_gmtime gmtime
-#define \
-atslib_libats_libc_gmtime_r gmtime_r
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_localtime localtime
-#define \
-atslib_libats_libc_localtime_r localtime_r
-
-/* ****** ****** */
-
-#define atslib_libats_libc_tzset tzset
-
-/* ****** ****** */
-
-#define atslib_libats_libc_clock clock
-
-#define \
-atslib_libats_libc_clock_getres clock_getres
-
-/* ****** ****** */
-
-#define \
-atslib_libats_libc_clock_gettime clock_gettime
-#define \
-atslib_libats_libc_clock_settime clock_settime
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_TIME
-
-/* ****** ****** */
-
-/* end of [time.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/unistd.cats b/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/unistd.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/unistd.cats
+++ /dev/null
@@ -1,174 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: April, 2012 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_LIBATS_LIBC_CATS_UNISTD
-#define ATSLIB_LIBATS_LIBC_CATS_UNISTD
-
-/* ****** ****** */
-
-#include <unistd.h>
-
-/* ****** ****** */
-
-#define atslib_libats_libc_close close
-#define atslib_libats_libc_close0 atslib_libats_libc_close
-#define atslib_libats_libc_close1 atslib_libats_libc_close
-#define atslib_libats_libc_close0_exn atslib_libats_libc_close_exn
-#define atslib_libats_libc_close1_exn atslib_libats_libc_close_exn
-
-/* ****** ****** */
-
-#define atslib_libats_libc_dup dup
-#define atslib_libats_libc_dup_fildes dup
-#define atslib_libats_libc_dup2 dup2
-#define atslib_libats_libc_dup3 dup3
-
-/* ****** ****** */
-
-#define atslib_libats_libc_execv(path, argv) execv((char*)path, (char**)argv)
-#define atslib_libats_libc_execvp(path, argv) execvp((char*)path, (char**)argv)
-
-/* ****** ****** */
-
-#define atslib_libats_libc_encrypt encrypt
-
-/* ****** ****** */
-
-#define atslib_libats_libc_fork fork
-
-/* ****** ****** */
-
-#define atslib_libats_libc_getcwd getcwd
-
-/* ****** ****** */
-
-#define atslib_libats_libc_getlogin getlogin
-#define atslib_libats_libc_getlogin_r getlogin_r
-
-/* ****** ****** */
-
-#define atslib_libats_libc_getpid getpid
-#define atslib_libats_libc_getppid getppid
-
-/* ****** ****** */
-
-#define atslib_libats_libc_getuid getuid
-#define atslib_libats_libc_setuid setuid
-#define atslib_libats_libc_geteuid geteuid
-#define atslib_libats_libc_seteuid seteuid
-
-/* ****** ****** */
-
-#define atslib_libats_libc_getgid getgid
-#define atslib_libats_libc_setgid setgid
-#define atslib_libats_libc_getegid getegid
-#define atslib_libats_libc_setegid setegid
-
-/* ****** ****** */
-
-#define atslib_libats_libc_setreuid setreuid
-#define atslib_libats_libc_setregid setregid
-#define atslib_libats_libc_setresuid setresuid
-#define atslib_libats_libc_setresgid setresgid
-
-/* ****** ****** */
-
-#define atslib_libats_libc_setfsuid setfsuid
-#define atslib_libats_libc_setfsgid setfsgid
-
-/* ****** ****** */
-
-#define atslib_libats_libc_pause pause
-
-/* ****** ****** */
-
-#define atslib_libats_libc_read_err read
-#define atslib_libats_libc_write_err write
-
-/* ****** ****** */
-
-#define atslib_libats_libc_pread pread
-#define atslib_libats_libc_pwrite pwrite
-
-/* ****** ****** */
-
-#define atslib_libats_libc_alarm alarm
-#define atslib_libats_libc_alarm_set alarm
-#define atslib_libats_libc_alarm_cancel() alarm(0)
-
-/* ****** ****** */
-
-#define atslib_libats_libc_sleep_int sleep
-#define atslib_libats_libc_sleep_uint sleep
-
-/* ****** ****** */
-
-#define atslib_libats_libc_usleep_int usleep
-#define atslib_libats_libc_usleep_uint usleep
-
-/* ****** ****** */
-
-#define atslib_libats_libc_rmdir rmdir
-
-/* ****** ****** */
-
-#define atslib_libats_libc_link link
-#define atslib_libats_libc_unlink unlink
-
-/* ****** ****** */
-
-#define atslib_libats_libc_symlink symlink
-#define atslib_libats_libc_readlink readlink
-
-/* ****** ****** */
-
-#define atslib_libats_libc_sync sync
-#define atslib_libats_libc_fsync fsync
-#define atslib_libats_libc_fdatasync fdatasync
-
-/* ****** ****** */
-
-#define atslib_libats_libc_truncate truncate
-#define atslib_libats_libc_ftruncate ftruncate
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_UNISTD
-
-/* ****** ****** */
-
-/* end of [unistd.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/array.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/array.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/array.cats
+++ /dev/null
@@ -1,115 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/array.atxt
-** Time of generation: Thu Mar 22 01:15:18 2018
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_ARRAY
-#define ATSLIB_PRELUDE_CATS_ARRAY
-
-/* ****** ****** */
-//
-// [stdlib.h]
-//
-extern
-void qsort
-(
-  void *base, size_t nmemb, size_t size
-, int(*compar)(const void *, const void *)
-) ; // end of [qsort]
-extern
-void *bsearch
-(
-  const void *key
-, const void *base
-, size_t nmemb, size_t size
-, int (*compar)(const void *, const void *)
-) ; // end of [bsearch]
-//
-#define atspre_array_qsort qsort
-#define atspre_array_bsearch bsearch
-//
-/* ****** ****** */
-//
-// [string.h]
-//
-#ifndef memcpy
-extern
-void *memcpy(void *dst, const void *src, size_t n) ;
-#endif // #ifndef
-#ifndef memmove
-extern
-void *memmove(void *dst, const void *src, size_t n) ;
-#endif // #ifndef
-//
-#define atspre_array_memcpy memcpy
-#define atspre_array_memmove memmove
-//
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_array_foreach_funenv_tsz
-(
-  atstype_ptr A
-, atstype_size n
-, atstype_size tsz
-, atstype_funptr f
-, atstype_boxed env
-) {
-  char *p ;
-  size_t i ;
-  p = (char*)A ;
-  for (i = 0 ; i < n ; i += 1)
-  {
-    ((void(*)(void*, void*))(f))(p, env) ; p += tsz ;
-  }
-  return ;
-} // end of [atspre_array_foreach_funenv_tsz]
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_ARRAY
-
-/* ****** ****** */
-
-/* end of [array.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/arrayptr.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/arrayptr.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/arrayptr.cats
+++ /dev/null
@@ -1,82 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/arrayptr.atxt
-** Time of generation: Thu Mar 22 01:15:18 2018
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_ARRAYPTR
-#define ATSLIB_PRELUDE_CATS_ARRAYPTR
-
-/* ****** ****** */
-
-ATSinline()
-atstype_arrptr
-atspre_arrpsz_get_ptrsize
-(
-  atstype_arrpsz psz, atstype_ref asz
-) {
-  *(size_t*)asz = psz.size ; return (psz.ptr) ;
-} // en of [atspre_arrpsz_get_ptrsize]
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_arrayptr_free
-  (atstype_arrptr p0) { ATS_MFREE (p0) ; return ; }
-// end of [atspre_arrayptr_free]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_arrptr
-atspre_arrayptr_make_arrpsz
-  (atstype_arrpsz psz) { return (psz).ptr ; }
-// end of [atspre_arrayptr_make_arrpsz]
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_ARRAYPTR
-
-/* ****** ****** */
-
-/* end of [arrayptr.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/arrayref.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/arrayref.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/arrayref.cats
+++ /dev/null
@@ -1,63 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/arrayref.atxt
-** Time of generation: Thu Mar 22 01:15:19 2018
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_ARRAYREF
-#define ATSLIB_PRELUDE_CATS_ARRAYREF
-
-/* ****** ****** */
-
-ATSinline()
-atstype_arrptr
-atspre_arrayref_make_arrpsz
-  (atstype_arrpsz psz) { return (psz).ptr ; }
-// end of [atspre_arrayref_make_arrpsz]
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_ARRAYREF
-
-/* ****** ****** */
-
-/* end of [arrayref.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/basics.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/basics.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/basics.cats
+++ /dev/null
@@ -1,251 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/basics.atxt
-** Time of generation: Thu Mar 22 01:15:11 2018
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_BASICS
-#define ATSLIB_PRELUDE_CATS_BASICS
-
-/* ****** ****** */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_lor_int_int
-(
-  atstype_int x1
-, atstype_int x2
-) {
-  return ((x1)|(x2)) ;
-} /* [atspre_lor_int_int] */
-
-ATSinline()
-atstype_int
-atspre_land_int_int
-(
-  atstype_int x1
-, atstype_int x2
-) {
-  return ((x1)&(x2)) ;
-} /* [atspre_land_int_int] */
-
-ATSinline()
-atstype_int
-atspre_lxor_int_int
-(
-  atstype_int x1
-, atstype_int x2
-) {
-  return ((x1)^(x2)) ;
-} /* [atspre_lxor_int_int] */
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_int2sgn
-  (atstype_int x)
-{
-  return ((x < 0) ? -1 : ((x > 0) ? 1 : 0)) ;
-} /* [atspre_int2sgn] */
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_cloptr_free
-(
-  atstype_cloptr pclo
-) {
-  ATS_MFREE (pclo) ; return ;
-} /* [atspre_cloptr_free] */
-
-/* ****** ****** */
-
-ATSinline()
-atstype_string
-atspre_argv_get_at
-(
-  atstype_arrptr argv, atstype_int i
-)
-{
-  return (((atstype_string*)argv)[i]) ;
-} /* end of [atspre_argv_get_at] */
-
-ATSinline()
-atsvoid_t0ype
-atspre_argv_set_at
-(
-  atstype_arrptr argv
-, atstype_int i, atstype_string x
-)
-{
-  ((atstype_string*)argv)[i] = x ; return ;
-} /* end of [atspre_argv_set_at] */
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_exit
- (atstype_int ecode) { exit(ecode) ; return ; }
-// end of [atspre_exit]
-
-ATSinline()
-atsvoid_t0ype
-atspre_exit_errmsg
-(
-  atstype_int ecode, atstype_string msg
-)
-{
-  fprintf(stderr, "exit(ATS): %s", (char*)msg); exit(ecode); return;
-} // end of [atspre_exit_errmsg]
-
-/* ****** ****** */
-
-#define atspre_exit_void atspre_exit
-#define atspre_exit_errmsg_void atspre_exit_errmsg
-
-/* ****** ****** */
-//
-ATSinline()
-atsvoid_t0ype
-atspre_assert_bool
-  (atstype_bool b)
-{
-  if (!b) exit(1) ; return ;
-} /* endfun */
-//
-#define atspre_assert_bool0 atspre_assert_bool
-#define atspre_assert_bool1 atspre_assert_bool
-//
-/* ****** ****** */
-//
-ATSinline()
-atsvoid_t0ype
-atspre_assert_errmsg_bool
-(
-  atstype_bool b, atstype_string msg
-)
-{
-  if (!b) {
-    fprintf(stderr, "%s", (char*)msg) ; exit(1) ;
-  } // end of [if]
-  return ;
-} /* endfun */
-//
-#define atspre_assert_errmsg_bool0 atspre_assert_errmsg_bool
-#define atspre_assert_errmsg_bool1 atspre_assert_errmsg_bool
-//
-/* ****** ****** */
-//
-ATSinline()
-atsvoid_t0ype
-atspre_assert_errmsg2_bool
-(
-  atstype_bool b
-, atstype_string msg1, atstype_string msg2
-)
-{
-  if (!b) {
-    fprintf(stderr, "%s%s", (char*)msg1, (char*)msg2) ; exit(1) ;
-  } // end of [if]
-  return ;
-} /* endfun */
-//
-#define atspre_assert_errmsg2_bool0 atspre_assert_errmsg2_bool
-#define atspre_assert_errmsg2_bool1 atspre_assert_errmsg2_bool
-//
-/* ****** ****** */
-//
-#if(0)
-//
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_void
-(
-  atstype_ref out
-, atstype_void arg
-)
-{
-  return/*do-nothing*/;
-}
-//
-#define
-atspre_print_void(x) atspre_fprint_void(stdout, x)
-#define
-atspre_prerr_void(x) atspre_fprint_void(stderr, x)
-//
-#endif // end of [if(0)]
-//  
-/* ****** ****** */
-//
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_newline
-  (atstype_ref out)
-{
-  int n ;
-  int err = -1 ;
-  n = fprintf((FILE*)out, "\n") ;
-  if (n > 0) err = fflush((FILE*)out) ;
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_newline] failed.") ; exit(1) ;
-  } // end of [if]
-  return ;
-} /* endfun */
-//
-#define atspre_print_newline() atspre_fprint_newline(stdout)
-#define atspre_prerr_newline() atspre_fprint_newline(stderr)
-//
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_BASICS
-
-/* ****** ****** */
-
-/* end of [basics.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/bool.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/bool.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/bool.cats
+++ /dev/null
@@ -1,207 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/bool.atxt
-** Time of generation: Thu Mar 22 01:15:14 2018
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: February, 2012 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_BOOL
-#define ATSLIB_PRELUDE_CATS_BOOL
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_int2bool (atstype_int x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-}
-#define atspre_int2bool0 atspre_int2bool
-#define atspre_int2bool1 atspre_int2bool
-
-/* ****** ****** */
-
-#define atspre_bool2int0(x) x
-#define atspre_bool2int1(x) x
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_neg_bool
-  (atstype_bool b) {
-  return (b) ? atsbool_false : atsbool_true ;
-} // end of [atspre_neg_bool]
-#define atspre_neg_bool0 atspre_neg_bool
-#define atspre_neg_bool1 atspre_neg_bool
-
-ATSinline()
-atstype_bool
-atspre_add_bool_bool (
-  atstype_bool b1, atstype_bool b2
-) {
-  return (b1) ? atsbool_true : (b2) ;
-} // end of [atspre_add_bool_bool]
-#define atspre_add_bool0_bool0 atspre_add_bool_bool
-#define atspre_add_bool0_bool1 atspre_add_bool_bool
-#define atspre_add_bool1_bool0 atspre_add_bool_bool
-#define atspre_add_bool1_bool1 atspre_add_bool_bool
-
-ATSinline()
-atstype_bool
-atspre_mul_bool_bool (
-  atstype_bool b1, atstype_bool b2
-) {
-  return (b1) ? (b2) : atsbool_false ;
-} // end of [atspre_mul_bool_bool]
-#define atspre_mul_bool0_bool0 atspre_mul_bool_bool
-#define atspre_mul_bool0_bool1 atspre_mul_bool_bool
-#define atspre_mul_bool1_bool0 atspre_mul_bool_bool
-#define atspre_mul_bool1_bool1 atspre_mul_bool_bool
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_xor_bool_bool (
-  atstype_bool b1, atstype_bool b2
-) {
-  return (b1) ? (!b2) : (b2) ;
-} // end of [atspre_xor_bool_bool]
-#define atspre_xor_bool0_bool0 atspre_xor_bool_bool
-#define atspre_xor_bool1_bool1 atspre_xor_bool_bool
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_lt_bool_bool (
-  atstype_bool b1, atstype_bool b2
-) {
-  return (b1) ? atsbool_false : (b2) ;
-} // end of [atspre_lt_bool_bool]
-#define atspre_lt_bool0_bool0 atspre_lt_bool_bool
-#define atspre_lt_bool1_bool1 atspre_lt_bool_bool
-ATSinline()
-atstype_bool
-atspre_lte_bool_bool (
-  atstype_bool b1, atstype_bool b2
-) {
-  return (b1) ? (b2) : atsbool_true ;
-} // end of [atspre_lte_bool_bool]
-#define atspre_lte_bool0_bool0 atspre_lte_bool_bool
-#define atspre_lte_bool1_bool1 atspre_lte_bool_bool
-
-ATSinline()
-atstype_bool
-atspre_gt_bool_bool (
-  atstype_bool b1, atstype_bool b2
-) {
-  return (b2) ? atsbool_false : (b1) ;
-} // end of [atspre_gt_bool_bool]
-#define atspre_gt_bool0_bool0 atspre_gt_bool_bool
-#define atspre_gt_bool1_bool1 atspre_gt_bool_bool
-ATSinline()
-atstype_bool
-atspre_gte_bool_bool (
-  atstype_bool b1, atstype_bool b2
-) {
-  return (b2) ? (b1) : atsbool_true ;
-} // end of [atspre_gte_bool_bool]
-#define atspre_gte_bool0_bool0 atspre_gte_bool_bool
-#define atspre_gte_bool1_bool1 atspre_gte_bool_bool
-
-ATSinline()
-atstype_bool
-atspre_eq_bool_bool (
-  atstype_bool b1, atstype_bool b2
-) {
-  return (b1 == b2) ;
-} // end of [atspre_eq_bool_bool]
-#define atspre_eq_bool0_bool0 atspre_eq_bool_bool
-#define atspre_eq_bool1_bool1 atspre_eq_bool_bool
-ATSinline()
-atstype_bool
-atspre_neq_bool_bool (
-  atstype_bool b1, atstype_bool b2
-) {
-  return (b1 != b2) ;
-} // end of [atspre_neq_bool_bool]
-#define atspre_neq_bool0_bool0 atspre_neq_bool_bool
-#define atspre_neq_bool1_bool1 atspre_neq_bool_bool
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_compare_bool_bool (
-  atstype_bool b1, atstype_bool b2
-) {
-  return (b1 - b2) ;
-} // end of [atspre_compare_bool_bool]
-#define atspre_compare_bool0_bool0 atspre_compare_bool_bool
-#define atspre_compare_bool1_bool1 atspre_compare_bool_bool
-
-/* ****** ****** */
-
-ATSinline()
-atstype_string
-atspre_bool2string (
-  atstype_bool x
-) {
-  return (x) ? "true" : "false" ;
-} // end of [atspre_bool2string]
-
-ATSinline()
-atstype_string
-atspre_bool_tostring (
-  atstype_bool x
-) {
-  return (x) ? "true" : "false" ;
-} // end of [atspre_bool_tostring]
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_BOOL
-
-/* ****** ****** */
-
-/* end of [bool.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/char.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/char.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/char.cats
+++ /dev/null
@@ -1,529 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/char.atxt
-** Time of generation: Thu Mar 22 01:15:14 2018
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: February, 2012 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_CHAR
-#define ATSLIB_PRELUDE_CATS_CHAR
-
-/* ****** ****** */
-
-#include <ctype.h>
-
-/* ****** ****** */
-
-#ifdef __CYGWIN__
-//
-#ifndef isascii
-extern int isascii (int c) ; // _XOPEN_SOURCE
-#endif // end of [isascii]
-
-#ifndef isblank
-extern int isblank (int c) ; // _XOPEN_SOURCE >= 600
-#endif // end of [isblank]
-
-#ifndef toascii
-extern int toascii (int c) ; // _XOPEN_SOURCE
-#endif // end of [toascii]
-//
-#endif // end of [#ifdef(__CYGWIN__)]
-
-/* ****** ****** */
-//
-ATSinline()
-atstype_char
-atspre_int2char
-  (atstype_int i) { return ((atstype_char)i) ; }
-ATSinline()
-atstype_schar
-atspre_int2schar
-  (atstype_int i) { return ((atstype_schar)i) ; }
-ATSinline()
-atstype_uchar
-atspre_int2uchar
-  (atstype_int i) { return ((atstype_uchar)i) ; }
-//
-#define atspre_int2char0 atspre_int2char
-#define atspre_int2schar0 atspre_int2schar
-#define atspre_int2uchar0 atspre_int2uchar
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_int
-atspre_char2int
-  (atstype_char c) { return ((atstype_int)c) ; }
-ATSinline()
-atstype_int
-atspre_schar2int
-  (atstype_schar c) { return ((atstype_int)c) ; }
-ATSinline()
-atstype_int
-atspre_uchar2int
-  (atstype_uchar c) { return ((atstype_int)c) ; }
-//
-#define atspre_char2int0 atspre_char2int
-#define atspre_schar2int0 atspre_schar2int
-#define atspre_uchar2int0 atspre_uchar2int
-//
-#define atspre_char2int1 atspre_char2int
-#define atspre_schar2int1 atspre_schar2int
-#define atspre_uchar2int1 atspre_uchar2int
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_uint
-atspre_char2uint
-  (atstype_char c) { return ((atstype_uint)c) ; }
-ATSinline()
-atstype_uint
-atspre_schar2uint
-  (atstype_schar c) { return ((atstype_uint)c) ; }
-ATSinline()
-atstype_uint
-atspre_uchar2uint
-  (atstype_uchar c) { return ((atstype_uint)c) ; }
-//
-#define atspre_char2uint0 atspre_char2uint
-#define atspre_schar2uint0 atspre_schar2uint
-#define atspre_uchar2uint0 atspre_uchar2uint
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_int
-atspre_char2u2int
-  (atstype_char c)
-  { return ((atstype_int)((atstype_uchar)c)) ; }
-ATSinline()
-atstype_uint
-atspre_char2u2uint
-  (atstype_char c)
-  { return ((atstype_uint)((atstype_uchar)c)) ; }
-//
-#define atspre_char2u2int0 atspre_char2u2int
-#define atspre_char2u2uint0 atspre_char2u2uint
-//
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_char_iseqz
-  (atstype_char c)
-{
-  return ((c == 0) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_char_iseqz]
-#define atspre_char0_iseqz(c) atspre_char_iseqz(c) 
-#define atspre_char1_iseqz(c) atspre_char_iseqz(c) 
-
-ATSinline()
-atstype_bool
-atspre_char_isneqz
-  (atstype_char c)
-{
-  return ((c != 0) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_char_isneqz]
-#define atspre_char0_isneqz(c) atspre_char_isneqz(c) 
-#define atspre_char1_isneqz(c) atspre_char_isneqz(c) 
-
-/* ****** ****** */
-//
-ATSinline()
-atstype_char
-atspre_add_char_int
-(
-  atstype_char c1, atstype_int i2
-) { return (c1 + i2) ; }
-//
-#define atspre_add_char0_int0 atspre_add_char_int
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_char
-atspre_sub_char_int
-(
-  atstype_char c1, atstype_int i2
-) { return (c1 - i2) ; }
-//
-#define atspre_sub_char0_int0 atspre_sub_char_int
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_int
-atspre_sub_char_char
-(
-  atstype_char c1, atstype_char c2
-) { return (c1 - c2) ; }
-//
-#define atspre_sub_char0_char0 atspre_sub_char_char
-//
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_lt_int_int
-  (atstype_int i1, atstype_int i2) {
-  return (i1 < i2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_lt_int_int]
-#define atspre_lt_char0_char0 atspre_lt_int_int
-#define atspre_lt_char1_char1 atspre_lt_int_int
-
-ATSinline()
-atstype_bool
-atspre_lte_int_int
-  (atstype_int i1, atstype_int i2) {
-  return (i1 <= i2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_lte_int_int]
-#define atspre_lte_char0_char0 atspre_lte_int_int
-#define atspre_lte_char1_char1 atspre_lte_int_int
-
-ATSinline()
-atstype_bool
-atspre_gt_int_int
-  (atstype_int i1, atstype_int i2) {
-  return (i1 > i2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_gt_int_int]
-#define atspre_gt_char0_char0 atspre_gt_int_int
-#define atspre_gt_char1_char1 atspre_gt_int_int
-
-ATSinline()
-atstype_bool
-atspre_gte_int_int
-  (atstype_int i1, atstype_int i2) {
-  return (i1 >= i2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_gte_int_int]
-#define atspre_gte_char0_char0 atspre_gte_int_int
-#define atspre_gte_char1_char1 atspre_gte_int_int
-
-ATSinline()
-atstype_bool
-atspre_eq_int_int
-  (atstype_int i1, atstype_int i2) {
-  return (i1 == i2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_eq_int_int]
-#define atspre_eq_char0_char0 atspre_eq_int_int
-#define atspre_eq_char1_char1 atspre_eq_int_int
-
-ATSinline()
-atstype_bool
-atspre_neq_int_int
-  (atstype_int i1, atstype_int i2) {
-  return (i1 != i2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_neq_int_int]
-#define atspre_neq_char0_char0 atspre_neq_int_int
-#define atspre_neq_char1_char1 atspre_neq_int_int
-
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_compare_int_int
-  (atstype_int i1, atstype_int i2)
-{
-  return (i1 - i2) ;
-} // end of [atspre_compare_int_int]
-#define atspre_compare_char0_char0(c1, c2) atspre_compare_int_int(c1, c2)
-#define atspre_compare_char1_char1(c1, c2) atspre_compare_int_int(c1, c2)
-
-/* ****** ****** */
-
-#define atspre_eq_char0_int0(c, i) atspre_eq_int_int(c, i)
-#define atspre_eq_int0_char0(i, c) atspre_eq_int_int(i, c)
-#define atspre_neq_char0_int0(c, i) atspre_neq_int_int(c, i)
-#define atspre_neq_int0_char0(i, c) atspre_neq_int_int(i, c)
-
-/* ****** ****** */
-
-#define atspre_compare_char0_int0(c, i) atspre_compare_int_int(c, i)
-#define atspre_compare_int0_char0(i, c) atspre_compare_int_int(i, c)
-
-/* ****** ****** */
-//
-// unsigned characters
-//
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_lt_uchar_uchar
-  (atstype_uchar c1, atstype_uchar c2) {
-  return (c1 < c2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_lt_uchar_uchar]
-#define atspre_lt_uchar0_uchar0 atspre_lt_uchar_uchar
-#define atspre_lt_uchar1_uchar1 atspre_lt_uchar_uchar
-
-ATSinline()
-atstype_bool
-atspre_lte_uchar_uchar
-  (atstype_uchar c1, atstype_uchar c2) {
-  return (c1 <= c2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_lte_uchar_uchar]
-#define atspre_lte_uchar0_uchar0 atspre_lte_uchar_uchar
-#define atspre_lte_uchar1_uchar1 atspre_lte_uchar_uchar
-
-ATSinline()
-atstype_bool
-atspre_gt_uchar_uchar
-  (atstype_uchar c1, atstype_uchar c2) {
-  return (c1 > c2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_gt_uchar_uchar]
-#define atspre_gt_uchar0_uchar0 atspre_gt_uchar_uchar
-#define atspre_gt_uchar1_uchar1 atspre_gt_uchar_uchar
-
-ATSinline()
-atstype_bool
-atspre_gte_uchar_uchar
-  (atstype_uchar c1, atstype_uchar c2) {
-  return (c1 >= c2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_gte_uchar_uchar]
-#define atspre_gte_uchar0_uchar0 atspre_gte_uchar_uchar
-#define atspre_gte_uchar1_uchar1 atspre_gte_uchar_uchar
-
-ATSinline()
-atstype_bool
-atspre_eq_uchar_uchar
-  (atstype_uchar c1, atstype_uchar c2) {
-  return (c1 == c2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_eq_uchar_uchar]
-#define atspre_eq_uchar0_uchar0 atspre_eq_uchar_uchar
-#define atspre_eq_uchar1_uchar1 atspre_eq_uchar_uchar
-
-ATSinline()
-atstype_bool
-atspre_neq_uchar_uchar
-  (atstype_uchar c1, atstype_uchar c2) {
-  return (c1 != c2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_neq_uchar_uchar]
-#define atspre_neq_uchar0_uchar0 atspre_neq_uchar_uchar
-#define atspre_neq_uchar1_uchar1 atspre_neq_uchar_uchar
-
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_compare_uchar_uchar
-  (atstype_uchar c1, atstype_uchar c2) {
-  return ((atstype_int)c1 - (atstype_int)c2) ;
-} // end of [atspre_compare_uchar_uchar]
-#define atspre_compare_uchar0_uchar0 atspre_compare_uchar_uchar
-#define atspre_compare_uchar1_uchar1 atspre_compare_uchar_uchar
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_isalpha_int
-  (atstype_int c) {
-  return (isalpha(c) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_isalpha_int]
-#define atspre_isalpha_char(c) atspre_isalpha_int((atstype_int)(c))
-ATSinline()
-atstype_bool
-atspre_isalnum_int
-  (atstype_int c) {
-  return (isalnum(c) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_isalnum_int]
-#define atspre_isalnum_char(c) atspre_isalnum_int((atstype_int)(c))
-
-ATSinline()
-atstype_bool
-atspre_isascii_int
-  (atstype_int c) {
-  return (isascii(c) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_isascii_int]
-#define atspre_isascii_char(c) atspre_isascii_int((atstype_int)(c))
-
-ATSinline()
-atstype_bool
-atspre_isblank_int
-  (atstype_int c) {
-  return (isblank(c) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_isblank_int]
-#define atspre_isblank_char(c) atspre_isblank_int((atstype_int)(c))
-ATSinline()
-atstype_bool
-atspre_isspace_int
-  (atstype_int c) {
-  return (isspace(c) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_isspace_int]
-#define atspre_isspace_char(c) atspre_isspace_int((atstype_int)(c))
-
-ATSinline()
-atstype_bool
-atspre_iscntrl_int
-  (atstype_int c) {
-  return (iscntrl(c) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_iscntrl_int]
-#define atspre_iscntrl_char(c) atspre_iscntrl_int((atstype_int)(c))
-
-ATSinline()
-atstype_bool
-atspre_isdigit_int
-  (atstype_int c) {
-  return (isdigit(c) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_isdigit_int]
-#define atspre_isdigit_char(c) atspre_isdigit_int((atstype_int)(c))
-ATSinline()
-atstype_bool
-atspre_isxdigit_int
-  (atstype_int c) {
-  return (isxdigit(c) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_isxdigit_int]
-#define atspre_isxdigit_char(c) atspre_isxdigit_int((atstype_int)(c))
-
-ATSinline()
-atstype_bool
-atspre_isgraph_int
-  (atstype_int c) {
-  return (isgraph(c) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_isgraph_int]
-#define atspre_isgraph_char(c) atspre_isgraph_int((atstype_int)(c))
-ATSinline()
-atstype_bool
-atspre_isprint_int
-  (atstype_int c) {
-  return (isprint(c) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_isprint_int]
-#define atspre_isprint_char(c) atspre_isprint_int((atstype_int)(c))
-ATSinline()
-atstype_bool
-atspre_ispunct_int
-  (atstype_int c) {
-  return (ispunct(c) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_ispunct_int]
-#define atspre_ispunct_char(c) atspre_ispunct_int((atstype_int)(c))
-
-ATSinline()
-atstype_bool
-atspre_islower_int
-  (atstype_int c) {
-  return (islower(c) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_islower_int]
-#define atspre_islower_char(c) atspre_islower_int((atstype_int)(c))
-ATSinline()
-atstype_bool
-atspre_isupper_int
-  (atstype_int c) {
-  return (isupper(c) ? atsbool_true : atsbool_false) ;
-} // end of [atspre_isupper_int]
-#define atspre_isupper_char(c) atspre_isupper_int((atstype_int)(c))
-
-/* ****** ****** */
-
-#define atspre_toascii toascii
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_tolower_int
-  (atstype_int c) { return tolower(c) ; }
-ATSinline()
-atstype_char
-atspre_tolower_char
-  (atstype_char c) { return tolower(c) ; }
-//
-ATSinline()
-atstype_int
-atspre_toupper_int
-  (atstype_int c) { return toupper(c) ; }
-ATSinline()
-atstype_char
-atspre_toupper_char
-  (atstype_char c) { return toupper(c) ; }
-//
-/* ****** ****** */
-
-ATSinline()
-atstype_char
-atspre_int2digit
-  (atstype_int i) { return ('0' + i) ; }
-// end of [atspre_int2digit]
-ATSinline()
-atstype_char
-atspre_int2xdigit
-  (atstype_int i) {
-  return (i < 10) ? ('0' + i) : ('a' + (i - 10)) ;
-} // end of [atspre_int2xdigit]
-ATSinline()
-atstype_char
-atspre_int2xxdigit
-  (atstype_int i) {
-  return (i < 10) ? ('0' + i) : ('A' + (i - 10)) ;
-} // end of [atspre_int2xxdigit]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_byte2int (atstype_byte b) { return ((atstype_int)b) ; }
-ATSinline()
-atstype_byte
-atspre_int2byte (atstype_int i) { return ((atstype_byte)i) ; }
-
-ATSinline()
-atstype_uint
-atspre_byte2uint (atstype_byte b) { return ((atstype_uint)b) ; }
-ATSinline()
-atstype_byte
-atspre_uint2byte (atstype_uint u) { return ((atstype_byte)u) ; }
-
-/* ****** ****** */
-
-#define atspre_byte2int0 atspre_byte2int
-#define atspre_int2byte0 atspre_int2byte
-#define atspre_byte2uint0 atspre_byte2uint
-#define atspre_uint2byte0 atspre_uint2byte
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_CHAR
-
-/* ****** ****** */
-
-/* end of [char.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/filebas.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/filebas.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/filebas.cats
+++ /dev/null
@@ -1,385 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Start time: January, 2013 *)
-(* Authoremail: hwxiATcsDOTbuDOTedu *)
-*/
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/filebas.atxt
-** Time of generation: Thu Mar 22 01:15:17 2018
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_FILEBAS
-#define ATSLIB_PRELUDE_CATS_FILEBAS
-
-/* ****** ****** */
-
-#include <stdio.h>
-#include <string.h>
-#include <sys/stat.h>
-
-/* ****** ****** */
-
-#define atspre_FILE_stdin stdin
-#define atspre_FILE_stdout stdout
-#define atspre_FILE_stderr stderr
-
-/* ****** ****** */
-
-#define atspre_file_mode_r "r"
-#define atspre_file_mode_rr "r+"
-#define atspre_file_mode_w "w"
-#define atspre_file_mode_ww "w+"
-#define atspre_file_mode_a "a"
-#define atspre_file_mode_aa "a+"
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_test_file_exists
-  (atstype_string path)
-{
-  int err;
-  struct stat st ;
-  err = stat((const char*)path, &st) ;
-  return
-  (err==0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_test_file_exists]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_test_file_mode_fun
-(
-  atstype_string path, atstype_funptr pred
-)
-{
-  int err;
-  struct stat st ;
-  err = stat ((const char*)path, &st) ;
-  if (err < 0) return -1 ;
-  return
-  ((atstype_bool(*)(atstype_uint))(pred))(st.st_mode) ? 1 : 0 ;
-}
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_test_file_isreg
-  (atstype_string path)
-{
-  int err;
-  struct stat st ;
-  err = stat ((const char*)path, &st) ;
-  if (err < 0) return -1 ;
-  return (S_ISREG(st.st_mode)) ? 1 : 0 ;
-} // end of [atspre_test_file_isreg]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_test_file_isdir
-  (atstype_string path)
-{
-  int err;
-  struct stat st ;
-  err = stat ((const char*)path, &st) ;
-  if (err < 0) return -1 ;
-  return (S_ISDIR(st.st_mode)) ? 1 : 0 ;
-} // end of [atspre_test_file_isdir]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_test_file_isblk
-  (atstype_string path)
-{
-  int err;
-  struct stat st ;
-  err = stat ((const char*)path, &st) ;
-  if (err < 0) return -1 ;
-  return (S_ISBLK(st.st_mode)) ? 1 : 0 ;
-} // end of [atspre_test_file_isblk]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_test_file_ischr
-  (atstype_string path)
-{
-  int err;
-  struct stat st ;
-  err = stat ((const char*)path, &st) ;
-  if (err < 0) return -1 ;
-  return (S_ISCHR(st.st_mode)) ? 1 : 0 ;
-} // end of [atspre_test_file_ischr]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_test_file_isfifo
-  (atstype_string path)
-{
-  int err;
-  struct stat st ;
-  err = stat ((const char*)path, &st) ;
-  if (err < 0) return -1 ;
-  return (S_ISFIFO(st.st_mode)) ? 1 : 0 ;
-} // end of [atspre_test_file_isfifo]
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fileref_close
-  (atstype_ref filr)
-{
-  int err ;
-  err = fclose((FILE*)filr) ;
-  if (err < 0) {
-    fprintf(
-      stderr
-    , "exit(ATS): [atspre_fileref_close] failed.\n"
-    ) ;
-    exit(1) ;
-  }
-  return ;
-} // end of [atspre_fileref_close]
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fileref_flush
-  (atstype_ref filr)
-{
-  int err ;
-  err = fflush((FILE*)filr) ;
-  if (err < 0) {
-    fprintf(
-      stderr
-    , "exit(ATS): [atspre_fileref_fflush] failed.\n"
-    ) ;
-    exit(1) ;
-  }
-  return ;
-} // end of [atspre_fileref_flush]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_ref
-atspre_fileref_open_exn
-  (atstype_string path, atstype_string fm)
-{
-  FILE* filr ;
-  filr = fopen((char*)path, (char*)fm) ;
-  if (!filr) {
-    fprintf(
-      stderr
-    , "exit(ATS): [atspre_fileref_open_exn(%s, %s)] failed.\n"
-    , (char*)path, (char*)fm
-    ) ;
-    exit(1) ;
-  }
-  return filr ;
-} // end of [atspre_fileref_open]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_fileref_getc
-  (atstype_ref filr)
-  { return fgetc((FILE*)filr) ; }
-// end of [atspre_fileref_getc]
-
-/* ****** ****** */
-//
-ATSinline()
-atsvoid_t0ype
-atspre_fileref_putc
-(
-  atstype_ref filr, atstype_int c
-) {
-  fputc (c, (FILE*)filr) ; return ;
-} // end of [atspre_fileref_putc]
-//
-#define \
-atspre_fileref_putc_int atspre_fileref_putc
-#define \
-atspre_fileref_putc_char atspre_fileref_putc
-//
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fileref_puts
-( atstype_ref fout
-, atstype_ptr data)
-{
-  fputs((char*)data, (FILE*)fout) ; return ;
-} // end of [atspre_fileref_puts]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_fileref_is_eof
-  (atstype_ref filr)
-{
-  int eof ;
-  eof = feof((FILE*)filr) ;
-  return
-  (eof != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_fileref_is_eof]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_fileref_load_int
-(atstype_ref finp, atstype_ref data)
-{
-  int n ;
-  n = fscanf
-      ( (FILE*)finp
-      , "%i"
-      , (atstype_int*)data) ;
-  return
-  (n==1 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_fileref_load_int]
-
-ATSinline()
-atstype_bool
-atspre_fileref_load_uint
-(atstype_ref finp, atstype_ref data)
-{
-  int n ;
-  n = fscanf
-      ( (FILE*)finp
-      , "%u"
-      , (atstype_uint*)data) ;
-  return
-  (n==1 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_fileref_load_uint]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_fileref_load_lint
-(atstype_ref finp, atstype_ref data)
-{
-  int n ;
-  n = fscanf
-      ( (FILE*)finp
-      , "%li"
-      , (atstype_lint*)data) ;
-  return
-  (n==1 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_fileref_load_lint]
-
-ATSinline()
-atstype_bool
-atspre_fileref_load_ulint
-(atstype_ref finp, atstype_ref data)
-{
-  int n ;
-  n = fscanf
-      ( (FILE*)finp
-      , "%lu"
-      , (atstype_ulint*)data) ;
-  return
-  (n==1 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_fileref_load_ulint]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_fileref_load_float
-(atstype_ref finp, atstype_ref data)
-{
-  int n ;
-  n = fscanf
-      ( (FILE*)finp
-      , "%f"
-      , (atstype_float*)data) ;
-  return
-  (n==1 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_fileref_load_float]
-
-ATSinline()
-atstype_bool
-atspre_fileref_load_double
-  (atstype_ref finp, atstype_ref data)
-{
-  int n ;
-  n = fscanf
-      ( (FILE*)finp
-      , "%lf"
-      , (atstype_double*)data) ;
-  return
-  (n==1 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_fileref_load_double]
-
-/* ****** ****** */
-
-extern
-atstype_ptr
-atspre_fileref_get_line_string_main2
-(
-  atstype_int bsz // int bsz
-, atstype_ptr filp // FILE*filp
-, atstype_ref nlen // (int)*nlen
-) ; // endfun
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_FILEBAS
-
-/* ****** ****** */
-
-/* end of [filebas.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/float.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/float.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/float.cats
+++ /dev/null
@@ -1,710 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/float.atxt
-** Time of generation: Thu Mar 22 01:15:15 2018
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: April, 2012 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_FLOAT
-#define ATSLIB_PRELUDE_CATS_FLOAT
-
-/* ****** ****** */
-
-ATSinline()
-atstype_float
-atspre_g0int2float_int_float
-  (atstype_int x) { return ((atstype_float)x) ; }
-// end of [atspre_g0int2float_int_float]
-
-ATSinline()
-atstype_double
-atspre_g0int2float_int_double
-  (atstype_int x) { return ((atstype_double)x) ; }
-// end of [atspre_g0int2float_int_double]
-
-ATSinline()
-atstype_double
-atspre_g0int2float_lint_double
-  (atstype_lint x) { return ((atstype_double)x) ; }
-// end of [atspre_g0int2float_lint_double]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_g0float2int_float_int
-  (atstype_float x) { return ((atstype_int)x) ; }
-ATSinline()
-atstype_lint
-atspre_g0float2int_float_lint
-  (atstype_float x) { return ((atstype_lint)x) ; }
-ATSinline()
-atstype_llint
-atspre_g0float2int_float_llint
-  (atstype_float x) { return ((atstype_llint)x) ; }
-
-ATSinline()
-atstype_int
-atspre_g0float2int_double_int
-  (atstype_double x) { return ((atstype_int)x) ; }
-ATSinline()
-atstype_lint
-atspre_g0float2int_double_lint
-  (atstype_double x) { return ((atstype_lint)x) ; }
-ATSinline()
-atstype_llint
-atspre_g0float2int_double_llint
-  (atstype_double x) { return ((atstype_llint)x) ; }
-
-/* ****** ****** */
-
-ATSinline()
-atstype_float
-atspre_g0float2float_float_float (atstype_float x) { return (x) ; }
-
-ATSinline()
-atstype_double
-atspre_g0float2float_double_double (atstype_double x) { return (x) ; }
-
-ATSinline()
-atstype_double
-atspre_g0float2float_float_double
-(
-atstype_float x
-)
-{
- return ((atstype_double)x) ;
-}
-
-ATSinline()
-atstype_float
-atspre_g0float2float_double_float
-(
-atstype_double x
-)
-{
- return ((atstype_float)x) ;
-}
-
-/* ****** ****** */
-//
-extern double atof (const char *inp) ;
-//
-ATSinline()
-atstype_double
-atspre_g0string2float_double
-  (atstype_string inp) { return atof((char*)inp) ; }
-//
-/* ****** ****** */
-
-ATSinline()
-atstype_float
-atspre_g0float_neg_float (atstype_float f) { return (-f) ; }
-ATSinline()
-atstype_double
-atspre_g0float_neg_double (atstype_double f) { return (-f) ; }
-ATSinline()
-atstype_ldouble
-atspre_g0float_neg_ldouble (atstype_ldouble f) { return (-f) ; }
-
-ATSinline()
-atstype_float
-atspre_g0float_abs_float (atstype_float f) { return (f >= 0 ? f : -f) ; }
-ATSinline()
-atstype_double
-atspre_g0float_abs_double (atstype_double f) { return (f >= 0 ? f : -f) ; }
-ATSinline()
-atstype_ldouble
-atspre_g0float_abs_ldouble (atstype_ldouble f) { return (f >= 0 ? f : -f) ; }
-
-ATSinline()
-atstype_float
-atspre_g0float_succ_float (atstype_float f) { return (f+1) ; }
-ATSinline()
-atstype_double
-atspre_g0float_succ_double (atstype_double f) { return (f+1) ; }
-ATSinline()
-atstype_ldouble
-atspre_g0float_succ_ldouble (atstype_ldouble f) { return (f+1) ; }
-
-ATSinline()
-atstype_float
-atspre_g0float_pred_float (atstype_float f) { return (f-1) ; }
-ATSinline()
-atstype_double
-atspre_g0float_pred_double (atstype_double f) { return (f-1) ; }
-ATSinline()
-atstype_ldouble
-atspre_g0float_pred_ldouble (atstype_ldouble f) { return (f-1) ; }
-
-/* ****** ****** */
-//
-//
-ATSinline()
-atstype_float
-atspre_g0float_add_float
-  (atstype_float f1, atstype_float f2) { return (f1 + f2) ; }
-// end of [atspre_g0float_add_float]
-ATSinline()
-atstype_float
-atspre_g0float_sub_float
-  (atstype_float f1, atstype_float f2) { return (f1 - f2) ; }
-// end of [atspre_g0float_sub_float]
-ATSinline()
-atstype_float
-atspre_g0float_mul_float
-  (atstype_float f1, atstype_float f2) { return (f1 * f2) ; }
-// end of [atspre_g0float_mul_float]
-ATSinline()
-atstype_float
-atspre_g0float_div_float
-  (atstype_float f1, atstype_float f2) { return (f1 / f2) ; }
-// end of [atspre_g0float_div_float]
-//
-ATSinline()
-atstype_double
-atspre_g0float_add_double
-  (atstype_double f1, atstype_double f2) { return (f1 + f2) ; }
-// end of [atspre_g0float_add_double]
-ATSinline()
-atstype_double
-atspre_g0float_sub_double
-  (atstype_double f1, atstype_double f2) { return (f1 - f2) ; }
-// end of [atspre_g0float_sub_double]
-ATSinline()
-atstype_double
-atspre_g0float_mul_double
-  (atstype_double f1, atstype_double f2) { return (f1 * f2) ; }
-// end of [atspre_g0float_mul_double]
-ATSinline()
-atstype_double
-atspre_g0float_div_double
-  (atstype_double f1, atstype_double f2) { return (f1 / f2) ; }
-// end of [atspre_g0float_div_double]
-//
-ATSinline()
-atstype_ldouble
-atspre_g0float_add_ldouble
-  (atstype_ldouble f1, atstype_ldouble f2) { return (f1 + f2) ; }
-// end of [atspre_g0float_add_ldouble]
-ATSinline()
-atstype_ldouble
-atspre_g0float_sub_ldouble
-  (atstype_ldouble f1, atstype_ldouble f2) { return (f1 - f2) ; }
-// end of [atspre_g0float_sub_ldouble]
-ATSinline()
-atstype_ldouble
-atspre_g0float_mul_ldouble
-  (atstype_ldouble f1, atstype_ldouble f2) { return (f1 * f2) ; }
-// end of [atspre_g0float_mul_ldouble]
-ATSinline()
-atstype_ldouble
-atspre_g0float_div_ldouble
-  (atstype_ldouble f1, atstype_ldouble f2) { return (f1 / f2) ; }
-// end of [atspre_g0float_div_ldouble]
-//
-extern atstype_float fmodf (atstype_float, atstype_float) ;
-extern atstype_double fmod (atstype_double, atstype_double) ;
-extern atstype_ldouble fmodl (atstype_ldouble, atstype_ldouble) ;
-//
-ATSinline()
-atstype_float
-atspre_g0float_mod_float
-  (atstype_float f1, atstype_float f2) { return fmodf(f1, f2) ; }
-ATSinline()
-atstype_double
-atspre_g0float_mod_double
-  (atstype_double f1, atstype_double f2) { return fmod(f1, f2) ; }
-ATSinline()
-atstype_ldouble
-atspre_g0float_mod_ldouble
-  (atstype_ldouble f1, atstype_ldouble f2) { return fmodl(f1, f2) ; }
-//
-/* ****** ****** */
-//
-//
-ATSinline()
-atstype_bool
-atspre_g0float_lt_float
-  (atstype_float f1, atstype_float f2) {
-  return (f1 < f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_lt_float]
-ATSinline()
-atstype_bool
-atspre_g0float_lte_float
-  (atstype_float f1, atstype_float f2) {
-  return (f1 <= f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_lte_float]
-ATSinline()
-atstype_bool
-atspre_g0float_gt_float
-  (atstype_float f1, atstype_float f2) {
-  return (f1 > f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_gt_float]
-ATSinline()
-atstype_bool
-atspre_g0float_gte_float
-  (atstype_float f1, atstype_float f2) {
-  return (f1 >= f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_gte_float]
-ATSinline()
-atstype_bool
-atspre_g0float_eq_float
-  (atstype_float f1, atstype_float f2) {
-  return (f1 == f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_eq_float]
-ATSinline()
-atstype_bool
-atspre_g0float_neq_float
-  (atstype_float f1, atstype_float f2) {
-  return (f1 != f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_neq_float]
-//
-ATSinline()
-atstype_bool
-atspre_g0float_lt_double
-  (atstype_double f1, atstype_double f2) {
-  return (f1 < f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_lt_double]
-ATSinline()
-atstype_bool
-atspre_g0float_lte_double
-  (atstype_double f1, atstype_double f2) {
-  return (f1 <= f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_lte_double]
-ATSinline()
-atstype_bool
-atspre_g0float_gt_double
-  (atstype_double f1, atstype_double f2) {
-  return (f1 > f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_gt_double]
-ATSinline()
-atstype_bool
-atspre_g0float_gte_double
-  (atstype_double f1, atstype_double f2) {
-  return (f1 >= f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_gte_double]
-ATSinline()
-atstype_bool
-atspre_g0float_eq_double
-  (atstype_double f1, atstype_double f2) {
-  return (f1 == f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_eq_double]
-ATSinline()
-atstype_bool
-atspre_g0float_neq_double
-  (atstype_double f1, atstype_double f2) {
-  return (f1 != f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_neq_double]
-//
-ATSinline()
-atstype_bool
-atspre_g0float_lt_ldouble
-  (atstype_ldouble f1, atstype_ldouble f2) {
-  return (f1 < f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_lt_ldouble]
-ATSinline()
-atstype_bool
-atspre_g0float_lte_ldouble
-  (atstype_ldouble f1, atstype_ldouble f2) {
-  return (f1 <= f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_lte_ldouble]
-ATSinline()
-atstype_bool
-atspre_g0float_gt_ldouble
-  (atstype_ldouble f1, atstype_ldouble f2) {
-  return (f1 > f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_gt_ldouble]
-ATSinline()
-atstype_bool
-atspre_g0float_gte_ldouble
-  (atstype_ldouble f1, atstype_ldouble f2) {
-  return (f1 >= f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_gte_ldouble]
-ATSinline()
-atstype_bool
-atspre_g0float_eq_ldouble
-  (atstype_ldouble f1, atstype_ldouble f2) {
-  return (f1 == f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_eq_ldouble]
-ATSinline()
-atstype_bool
-atspre_g0float_neq_ldouble
-  (atstype_ldouble f1, atstype_ldouble f2) {
-  return (f1 != f2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0float_neq_ldouble]
-//
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_g0float_compare_float
-(
-  atstype_float f1, atstype_float f2
-)
-{
-  if (f1 > f2) return 1 ; else if (f1 < f2) return -1 ; else return 0 ;
-} // end of [atspre_g0float_compare_float]
-
-ATSinline()
-atstype_int
-atspre_g0float_compare_double
-(
-  atstype_double f1, atstype_double f2
-)
-{
-  if (f1 > f2) return 1 ; else if (f1 < f2) return -1 ; else return 0 ;
-} // end of [atspre_g0float_compare_double]
-
-ATSinline()
-atstype_int
-atspre_g0float_compare_ldouble
-(
-  atstype_ldouble f1, atstype_ldouble f2
-)
-{
-  if (f1 > f2) return 1 ; else if (f1 < f2) return -1 ; else return 0 ;
-} // end of [atspre_g0float_compare_ldouble]
-
-/* ****** ****** */
-
-ATSinline()
-atstype_float
-atspre_g0float_min_float
-  (atstype_float f1, atstype_float f2) { return (f1 <= f2 ? f1 : f2) ; }
-// end of [atspre_g0float_min_float]
-ATSinline()
-atstype_double
-atspre_g0float_min_double
-  (atstype_double f1, atstype_double f2) { return (f1 <= f2 ? f1 : f2) ; }
-// end of [atspre_g0float_min_double]
-ATSinline()
-atstype_ldouble
-atspre_g0float_min_ldouble
-  (atstype_ldouble f1, atstype_ldouble f2) { return (f1 <= f2 ? f1 : f2) ; }
-// end of [atspre_g0float_min_ldouble]
-
-ATSinline()
-atstype_float
-atspre_g0float_max_float
-  (atstype_float f1, atstype_float f2) { return (f1 >= f2 ? f1 : f2) ; }
-// end of [atspre_g0float_max_float]
-ATSinline()
-atstype_double
-atspre_g0float_max_double
-  (atstype_double f1, atstype_double f2) { return (f1 >= f2 ? f1 : f2) ; }
-// end of [atspre_g0float_max_double]
-ATSinline()
-atstype_ldouble
-atspre_g0float_max_ldouble
-  (atstype_ldouble f1, atstype_ldouble f2) { return (f1 >= f2 ? f1 : f2) ; }
-// end of [atspre_g0float_max_ldouble]
-
-/* ****** ****** */
-//
-//
-ATSinline()
-atstype_float
-atspre_add_int_float
-  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) + f2) ; }
-// end of [atspre_add_int_float]
-ATSinline()
-atstype_float
-atspre_sub_int_float
-  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) - f2) ; }
-// end of [atspre_sub_int_float]
-ATSinline()
-atstype_float
-atspre_mul_int_float
-  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) * f2) ; }
-// end of [atspre_mul_int_float]
-ATSinline()
-atstype_float
-atspre_div_int_float
-  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) / f2) ; }
-// end of [atspre_div_int_float]
-//
-ATSinline()
-atstype_double
-atspre_add_int_double
-  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) + f2) ; }
-// end of [atspre_add_int_double]
-ATSinline()
-atstype_double
-atspre_sub_int_double
-  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) - f2) ; }
-// end of [atspre_sub_int_double]
-ATSinline()
-atstype_double
-atspre_mul_int_double
-  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) * f2) ; }
-// end of [atspre_mul_int_double]
-ATSinline()
-atstype_double
-atspre_div_int_double
-  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) / f2) ; }
-// end of [atspre_div_int_double]
-//
-ATSinline()
-atstype_ldouble
-atspre_add_int_ldouble
-  (atstype_int i1, atstype_ldouble f2) { return (((atstype_ldouble)i1) + f2) ; }
-// end of [atspre_add_int_ldouble]
-ATSinline()
-atstype_ldouble
-atspre_sub_int_ldouble
-  (atstype_int i1, atstype_ldouble f2) { return (((atstype_ldouble)i1) - f2) ; }
-// end of [atspre_sub_int_ldouble]
-ATSinline()
-atstype_ldouble
-atspre_mul_int_ldouble
-  (atstype_int i1, atstype_ldouble f2) { return (((atstype_ldouble)i1) * f2) ; }
-// end of [atspre_mul_int_ldouble]
-ATSinline()
-atstype_ldouble
-atspre_div_int_ldouble
-  (atstype_int i1, atstype_ldouble f2) { return (((atstype_ldouble)i1) / f2) ; }
-// end of [atspre_div_int_ldouble]
-//
-/* ****** ****** */
-//
-//
-ATSinline()
-atstype_float
-atspre_add_float_int
-  (atstype_float f1, atstype_int i2) { return (f1 + ((atstype_float)i2)) ; }
-// end of [atspre_add_float_int]
-ATSinline()
-atstype_float
-atspre_sub_float_int
-  (atstype_float f1, atstype_int i2) { return (f1 - ((atstype_float)i2)) ; }
-// end of [atspre_sub_float_int]
-ATSinline()
-atstype_float
-atspre_mul_float_int
-  (atstype_float f1, atstype_int i2) { return (f1 * ((atstype_float)i2)) ; }
-// end of [atspre_mul_float_int]
-ATSinline()
-atstype_float
-atspre_div_float_int
-  (atstype_float f1, atstype_int i2) { return (f1 / ((atstype_float)i2)) ; }
-// end of [atspre_div_float_int]
-//
-ATSinline()
-atstype_double
-atspre_add_double_int
-  (atstype_double f1, atstype_int i2) { return (f1 + ((atstype_double)i2)) ; }
-// end of [atspre_add_double_int]
-ATSinline()
-atstype_double
-atspre_sub_double_int
-  (atstype_double f1, atstype_int i2) { return (f1 - ((atstype_double)i2)) ; }
-// end of [atspre_sub_double_int]
-ATSinline()
-atstype_double
-atspre_mul_double_int
-  (atstype_double f1, atstype_int i2) { return (f1 * ((atstype_double)i2)) ; }
-// end of [atspre_mul_double_int]
-ATSinline()
-atstype_double
-atspre_div_double_int
-  (atstype_double f1, atstype_int i2) { return (f1 / ((atstype_double)i2)) ; }
-// end of [atspre_div_double_int]
-//
-ATSinline()
-atstype_ldouble
-atspre_add_ldouble_int
-  (atstype_ldouble f1, atstype_int i2) { return (f1 + ((atstype_ldouble)i2)) ; }
-// end of [atspre_add_ldouble_int]
-ATSinline()
-atstype_ldouble
-atspre_sub_ldouble_int
-  (atstype_ldouble f1, atstype_int i2) { return (f1 - ((atstype_ldouble)i2)) ; }
-// end of [atspre_sub_ldouble_int]
-ATSinline()
-atstype_ldouble
-atspre_mul_ldouble_int
-  (atstype_ldouble f1, atstype_int i2) { return (f1 * ((atstype_ldouble)i2)) ; }
-// end of [atspre_mul_ldouble_int]
-ATSinline()
-atstype_ldouble
-atspre_div_ldouble_int
-  (atstype_ldouble f1, atstype_int i2) { return (f1 / ((atstype_ldouble)i2)) ; }
-// end of [atspre_div_ldouble_int]
-//
-/* ****** ****** */
-//
-//
-ATSinline()
-atstype_bool
-atspre_lt_int_float
-  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) < f2) ; }
-// end of [atspre_lt_int_float]
-ATSinline()
-atstype_bool
-atspre_lte_int_float
-  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) <= f2) ; }
-// end of [atspre_lte_int_float]
-ATSinline()
-atstype_bool
-atspre_gt_int_float
-  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) > f2) ; }
-// end of [atspre_gt_int_float]
-ATSinline()
-atstype_bool
-atspre_gte_int_float
-  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) >= f2) ; }
-// end of [atspre_gte_int_float]
-ATSinline()
-atstype_bool
-atspre_eq_int_float
-  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) == f2) ; }
-// end of [atspre_eq_int_float]
-ATSinline()
-atstype_bool
-atspre_neq_int_float
-  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) != f2) ; }
-// end of [atspre_neq_int_float]
-//
-ATSinline()
-atstype_bool
-atspre_lt_int_double
-  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) < f2) ; }
-// end of [atspre_lt_int_double]
-ATSinline()
-atstype_bool
-atspre_lte_int_double
-  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) <= f2) ; }
-// end of [atspre_lte_int_double]
-ATSinline()
-atstype_bool
-atspre_gt_int_double
-  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) > f2) ; }
-// end of [atspre_gt_int_double]
-ATSinline()
-atstype_bool
-atspre_gte_int_double
-  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) >= f2) ; }
-// end of [atspre_gte_int_double]
-ATSinline()
-atstype_bool
-atspre_eq_int_double
-  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) == f2) ; }
-// end of [atspre_eq_int_double]
-ATSinline()
-atstype_bool
-atspre_neq_int_double
-  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) != f2) ; }
-// end of [atspre_neq_int_double]
-//
-/* ****** ****** */
-//
-//
-ATSinline()
-atstype_bool
-atspre_lt_float_int
-  (atstype_float f1, atstype_int i2) { return (f1 < ((atstype_float)i2)) ; }
-// end of [atspre_lt_float_int]
-ATSinline()
-atstype_bool
-atspre_lte_float_int
-  (atstype_float f1, atstype_int i2) { return (f1 <= ((atstype_float)i2)) ; }
-// end of [atspre_lte_float_int]
-ATSinline()
-atstype_bool
-atspre_gt_float_int
-  (atstype_float f1, atstype_int i2) { return (f1 > ((atstype_float)i2)) ; }
-// end of [atspre_gt_float_int]
-ATSinline()
-atstype_bool
-atspre_gte_float_int
-  (atstype_float f1, atstype_int i2) { return (f1 >= ((atstype_float)i2)) ; }
-// end of [atspre_gte_float_int]
-ATSinline()
-atstype_bool
-atspre_eq_float_int
-  (atstype_float f1, atstype_int i2) { return (f1 == ((atstype_float)i2)) ; }
-// end of [atspre_eq_float_int]
-ATSinline()
-atstype_bool
-atspre_neq_float_int
-  (atstype_float f1, atstype_int i2) { return (f1 != ((atstype_float)i2)) ; }
-// end of [atspre_neq_float_int]
-//
-ATSinline()
-atstype_bool
-atspre_lt_double_int
-  (atstype_double f1, atstype_int i2) { return (f1 < ((atstype_double)i2)) ; }
-// end of [atspre_lt_double_int]
-ATSinline()
-atstype_bool
-atspre_lte_double_int
-  (atstype_double f1, atstype_int i2) { return (f1 <= ((atstype_double)i2)) ; }
-// end of [atspre_lte_double_int]
-ATSinline()
-atstype_bool
-atspre_gt_double_int
-  (atstype_double f1, atstype_int i2) { return (f1 > ((atstype_double)i2)) ; }
-// end of [atspre_gt_double_int]
-ATSinline()
-atstype_bool
-atspre_gte_double_int
-  (atstype_double f1, atstype_int i2) { return (f1 >= ((atstype_double)i2)) ; }
-// end of [atspre_gte_double_int]
-ATSinline()
-atstype_bool
-atspre_eq_double_int
-  (atstype_double f1, atstype_int i2) { return (f1 == ((atstype_double)i2)) ; }
-// end of [atspre_eq_double_int]
-ATSinline()
-atstype_bool
-atspre_neq_double_int
-  (atstype_double f1, atstype_int i2) { return (f1 != ((atstype_double)i2)) ; }
-// end of [atspre_neq_double_int]
-//
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_FLOAT
-
-/* ****** ****** */
-
-/* end of [float.cats] */
-
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/fprintf.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/fprintf.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/fprintf.cats
+++ /dev/null
@@ -1,580 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/fprintf.atxt
-** Time of generation: Thu Mar 22 01:15:17 2018
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: September, 2015 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_FPRINTF
-#define ATSLIB_PRELUDE_CATS_FPRINTF
-
-/* ****** ****** */
-//
-// HX-2013-09: declared in [stdio.h]
-//
-#ifndef fprintf
-extern
-int fprintf (FILE *stream, const char *format, ...) ;
-#endif // end of [ifndef]
-//
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_bool (
-  atstype_ref out, atstype_bool x
-) {
-  int err = 0 ;
-  err += fprintf((FILE*)out, "%s", atspre_bool2string(x)) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_bool] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end [atspre_fprint_bool]
-#define atspre_print_bool(x) atspre_fprint_bool(stdout, (x))
-#define atspre_prerr_bool(x) atspre_fprint_bool(stderr, (x))
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_char
-(
-  atstype_ref out, atstype_char c
-) {
-  int err = 0 ;
-  err += fprintf ((FILE*)out, "%c", c) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_char] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end of [atspre_fprint_char]
-#define atspre_print_char(c) atspre_fprint_char(stdout, (c))
-#define atspre_prerr_char(c) atspre_fprint_char(stderr, (c))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_uchar
-(
-  atstype_ref out, atstype_uchar c
-) {
-  atspre_fprint_char (out, (atstype_char)c) ; return ;
-} // end of [atspre_fprint_uchar]
-#define atspre_print_uchar(c) atspre_fprint_uchar(stdout, (c))
-#define atspre_prerr_uchar(c) atspre_fprint_uchar(stderr, (c))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_schar
-(
-  atstype_ref out, atstype_schar c
-) {
-  atspre_fprint_char (out, (atstype_char)c) ; return ;
-} // end of [atspre_fprint_schar]
-#define atspre_print_schar(c) atspre_fprint_schar(stdout, (c))
-#define atspre_prerr_schar(c) atspre_fprint_schar(stderr, (c))
-
-/* ****** ****** */
-  
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_int
-(
-  atstype_ref out, atstype_int x
-) {
-  int err = 0 ;
-  err += fprintf((FILE*)out, "%i", x) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_int] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end [atspre_fprint_int]
-#define atspre_print_int(x) atspre_fprint_int(stdout, (x))
-#define atspre_prerr_int(x) atspre_fprint_int(stderr, (x))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_lint
-(
-  atstype_ref out, atstype_lint x
-) {
-  int err = 0 ;
-  err += fprintf((FILE*)out, "%li", x) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_lint] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end [atspre_fprint_lint]
-#define atspre_print_lint(x) atspre_fprint_lint(stdout, (x))
-#define atspre_prerr_lint(x) atspre_fprint_lint(stderr, (x))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_llint
-(
-  atstype_ref out, atstype_llint x
-) {
-  int err = 0 ;
-  err += fprintf((FILE*)out, "%lli", x) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_llint] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end [atspre_fprint_llint]
-#define atspre_print_llint(x) atspre_fprint_llint(stdout, (x))
-#define atspre_prerr_llint(x) atspre_fprint_llint(stderr, (x))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_ssize
-(
-  atstype_ref out, atstype_ssize x
-) {
-  int err = 0 ;
-  err += fprintf((FILE*)out, "%li", x) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_ssize] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end [atspre_fprint_ssize]
-#define atspre_print_ssize(x) atspre_fprint_ssize(stdout, (x))
-#define atspre_prerr_ssize(x) atspre_fprint_ssize(stderr, (x))
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_uint
-(
-  atstype_ref out, atstype_uint x
-) {
-  int err = 0 ;
-  err += fprintf((FILE*)out, "%u", x) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_uint] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end [atspre_fprint_uint]
-#define atspre_print_uint(x) atspre_fprint_uint(stdout, (x))
-#define atspre_prerr_uint(x) atspre_fprint_uint(stderr, (x))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_ulint
-(
-  atstype_ref out, atstype_ulint x
-) {
-  int err = 0 ;
-  err += fprintf((FILE*)out, "%lu", x) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_ulint] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end [atspre_fprint_ulint]
-#define atspre_print_ulint(x) atspre_fprint_ulint(stdout, (x))
-#define atspre_prerr_ulint(x) atspre_fprint_ulint(stderr, (x))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_ullint
-(
-  atstype_ref out, atstype_ullint x
-) {
-  int err = 0 ;
-  err += fprintf((FILE*)out, "%llu", x) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_ullint] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end [atspre_fprint_ullint]
-#define atspre_print_ullint(x) atspre_fprint_ullint(stdout, (x))
-#define atspre_prerr_ullint(x) atspre_fprint_ullint(stderr, (x))
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_size
-(
-  atstype_ref out, atstype_size x
-) {
-  int err = 0 ;
-  atstype_ulint x2 = x ;
-  err += fprintf((FILE*)out, "%lu", x2) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_size] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end [atspre_fprint_size]
-#define atspre_print_size(x) atspre_fprint_size(stdout, (x))
-#define atspre_prerr_size(x) atspre_fprint_size(stderr, (x))
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_ptr (
-  atstype_ref out, atstype_ptr x
-) {
-  int err ;
-  err = fprintf((FILE*)out, "%p", x) ;
-  return ;
-} // end [atspre_fprint_ptr]
-#define atspre_print_ptr(x) atspre_fprint_ptr(stdout, (x))
-#define atspre_prerr_ptr(x) atspre_fprint_ptr(stderr, (x))
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_float (
-  atstype_ref r, atstype_float x
-) {
-  int err = 0 ;
-  err += fprintf((FILE*)r, "%f", x) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_float] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end [atspre_fprint_float]
-#define atspre_print_float(x) atspre_fprint_float(stdout, (x))
-#define atspre_prerr_float(x) atspre_fprint_float(stderr, (x))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_double (
-  atstype_ref r, atstype_double x
-) {
-  int err = 0 ;
-  err += fprintf((FILE*)r, "%f", x) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_double] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end [atspre_fprint_double]
-#define atspre_print_double(x) atspre_fprint_double(stdout, (x))
-#define atspre_prerr_double(x) atspre_fprint_double(stderr, (x))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_ldouble (
-  atstype_ref r, atstype_ldouble x
-) {
-  int err = 0 ;
-  err += fprintf((FILE*)r, "%Lf", x) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_ldouble] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end [atspre_fprint_ldouble]
-#define atspre_print_ldouble(x) atspre_fprint_ldouble(stdout, (x))
-#define atspre_prerr_ldouble(x) atspre_fprint_ldouble(stderr, (x))
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_intptr
-(
-  atstype_ref r, atstype_intptr x
-) {
-  int err ;
-  err = fprintf((FILE*)r, "%lli", (atstype_llint)x) ;
-  return ;
-} // end [atspre_fprint_intptr]
-#define atspre_print_intptr(x) atspre_fprint_intptr(stdout, (x))
-#define atspre_prerr_intptr(x) atspre_fprint_intptr(stderr, (x))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_uintptr
-(
-  atstype_ref r, atstype_uintptr x
-) {
-  int err ;
-  err = fprintf((FILE*)r, "%llu", (atstype_ullint)x) ;
-  return ;
-} // end [atspre_fprint_uintptr]
-#define atspre_print_uintptr(x) atspre_fprint_uintptr(stdout, (x))
-#define atspre_prerr_uintptr(x) atspre_fprint_uintptr(stderr, (x))
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_int8
-(
-  atstype_ref r, atstype_int8 x
-) {
-  int err ;
-  err = fprintf((FILE*)r, "%i", (atstype_int)x) ;
-  return ;
-} // end [atspre_fprint_int8]
-#define atspre_print_int8(x) atspre_fprint_int8(stdout, (x))
-#define atspre_prerr_int8(x) atspre_fprint_int8(stderr, (x))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_int16
-(
-  atstype_ref r, atstype_int16 x
-) {
-  int err ;
-  err = fprintf((FILE*)r, "%i", (atstype_int)x) ;
-  return ;
-} // end [atspre_fprint_int16]
-#define atspre_print_int16(x) atspre_fprint_int16(stdout, (x))
-#define atspre_prerr_int16(x) atspre_fprint_int16(stderr, (x))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_int32
-(
-  atstype_ref r, atstype_int32 x
-) {
-  int err ;
-  err = fprintf((FILE*)r, "%li", (atstype_lint)x) ;
-  return ;
-} // end [atspre_fprint_int32]
-#define atspre_print_int32(x) atspre_fprint_int32(stdout, (x))
-#define atspre_prerr_int32(x) atspre_fprint_int32(stderr, (x))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_int64
-(
-  atstype_ref r, atstype_int64 x
-) {
-  int err ;
-  err = fprintf((FILE*)r, "%lli", (atstype_llint)x) ;
-  return ;
-} // end [atspre_fprint_int64]
-#define atspre_print_int64(x) atspre_fprint_int64(stdout, (x))
-#define atspre_prerr_int64(x) atspre_fprint_int64(stderr, (x))
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_uint8
-(
-  atstype_ref r, atstype_uint8 x
-) {
-  int err ;
-  err = fprintf((FILE*)r, "%u", (atstype_uint)x) ;
-  return ;
-} // end [atspre_fprint_uint8]
-#define atspre_print_uint8(x) atspre_fprint_uint8(stdout, (x))
-#define atspre_prerr_uint8(x) atspre_fprint_uint8(stderr, (x))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_uint16
-(
-  atstype_ref r, atstype_uint16 x
-) {
-  int err ;
-  err = fprintf((FILE*)r, "%u", (atstype_uint)x) ;
-  return ;
-} // end [atspre_fprint_uint16]
-#define atspre_print_uint16(x) atspre_fprint_uint16(stdout, (x))
-#define atspre_prerr_uint16(x) atspre_fprint_uint16(stderr, (x))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_uint32
-(
-  atstype_ref r, atstype_uint32 x
-) {
-  int err ;
-  err = fprintf((FILE*)r, "%lu", (atstype_ulint)x) ;
-  return ;
-} // end [atspre_fprint_uint32]
-#define atspre_print_uint32(x) atspre_fprint_uint32(stdout, (x))
-#define atspre_prerr_uint32(x) atspre_fprint_uint32(stderr, (x))
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_uint64
-(
-  atstype_ref r, atstype_uint64 x
-) {
-  int err ;
-  err = fprintf((FILE*)r, "%llu", (atstype_ullint)x) ;
-  return ;
-} // end [atspre_fprint_uint64]
-#define atspre_print_uint64(x) atspre_fprint_uint64(stdout, (x))
-#define atspre_prerr_uint64(x) atspre_fprint_uint64(stderr, (x))
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_string
-(
-  atstype_ref out, atstype_string x
-) {
-  int err = 0 ;
-  err += fprintf((FILE*)out, "%s", (char*)x) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_string] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end of [atspre_fprint_string]
-#define atspre_print_string(x) atspre_fprint_string(stdout, (x))
-#define atspre_prerr_string(x) atspre_fprint_string(stderr, (x))
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_substring
-(
-  atstype_ref out
-, atstype_string x
-, atstype_size st, atstype_size ln  
-) {
-  int err = 0 ;
-  err += fwrite(((char*)x)+st, 1, ln, out) ;
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_substring] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end of [atspre_fprint_substring]
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_stropt
-(
-  atstype_ref out, atstype_stropt x
-) {
-  int err = 0 ;
-  if (!x)
-  {
-    err += fprintf((FILE*)out, "strnone()") ;
-  } else {
-    err += fprintf((FILE*)out, "strsome(%s)", (char*)x) ;
-  }
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_stropt] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end of [atspre_fprint_stropt]
-#define atspre_print_stropt(x) atspre_fprint_stropt(stdout, (x))
-#define atspre_prerr_stropt(x) atspre_fprint_stropt(stderr, (x))
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_fprint_strptr
-(
-  atstype_ref out, atstype_strptr x
-) {
-  int err = 0 ;
-  if (x != 0) {
-    err += fprintf((FILE*)out, "%s", (char*)x) ;
-  } else {
-    err += fprintf((FILE*)out, "%s", "(strnull)") ;
-  } // end of [if]
-/*
-  if (err < 0) {
-    fprintf(stderr, "exit(ATS): [fprint_strptr] failed.") ; exit(1) ;
-  } // end of [if]
-*/
-  return ;
-} // end of [atspre_fprint_strptr]
-#define atspre_print_strptr(x) atspre_fprint_strptr(stdout, (x))
-#define atspre_prerr_strptr(x) atspre_fprint_strptr(stderr, (x))
-
-/* ****** ****** */
-
-#define atspre_fprint_strbuf atspre_fprint_strptr
-#define atspre_print_strbuf(x) atspre_fprint_strbuf(stdout, (x))
-#define atspre_prerr_strbuf(x) atspre_fprint_strbuf(stderr, (x))
-
-/* ****** ****** */
-
-#define atspre_fprint_strnptr atspre_fprint_strptr
-#define atspre_print_strnptr(x) atspre_fprint_strbuf(stdout, (x))
-#define atspre_prerr_strnptr(x) atspre_fprint_strbuf(stderr, (x))
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_FPRINTF
-
-/* ****** ****** */
-
-/* end of [fprintf.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer.cats
+++ /dev/null
@@ -1,1275 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/integer.atxt
-** Time of generation: Thu Mar 22 01:15:12 2018
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_INTEGER
-#define ATSLIB_PRELUDE_CATS_INTEGER
-
-/* ****** ****** */
-//
-#define \
-atspre_g0int2int_int_int(x) ((atstype_int)(x))
-#define \
-atspre_g1int2int_int_int(x) atspre_g0int2int_int_int(x)
-//
-/* ****** ****** */
-//
-#define \
-atspre_g0int2uint_int_uint(x) ((atstype_uint)(x))
-#define \
-atspre_g1int2uint_int_uint(x) atspre_g0int2uint_int_uint(x)
-//
-/* ****** ****** */
-//
-#define atspre_g0uint2int_uint_int(x) ((atstype_int)(x))
-//
-/* ****** ****** */
-//
-#define \
-atspre_g0uint2uint_uint_uint(x) (x)
-#define \
-atspre_g1uint2uint_uint_uint(x) atspre_g0uint2uint_uint_uint(x)
-//
-/* ****** ****** */
-//
-#define atspre_g0uint2uint_ulint_uint(x) ((atstype_uint)(x))
-#define atspre_g0uint2uint_ulint_ulint(x) (x)
-#define atspre_g0uint2uint_ulint_ullint(x) ((atstype_ullint)(x))
-#define atspre_g1uint2uint_ulint_uint atspre_g0uint2uint_ulint_uint
-#define atspre_g1uint2uint_ulint_ulint atspre_g0uint2uint_ulint_ulint
-#define atspre_g1uint2uint_ulint_ullint atspre_g0uint2uint_ulint_ullint
-//
-/* ****** ****** */
-//
-#define atspre_g0uint2uint_usint_uint(x) ((atstype_uint)(x))
-//
-/* ****** ****** */
-//
-extern int atoi (const char *inp) ;
-extern long int atol (const char *inp) ;
-extern long long int atoll (const char *inp) ;
-//
-ATSinline()
-atstype_int
-atspre_g0string2int_int
-  (atstype_string inp) { return atoi((char*)inp) ; }
-ATSinline()
-atstype_lint
-atspre_g0string2int_lint
-  (atstype_string inp) { return atol((char*)inp) ; }
-ATSinline()
-atstype_llint
-atspre_g0string2int_llint
-  (atstype_string inp) { return atoll((char*)inp) ; }
-//
-/* ****** ****** */
-//
-extern
-unsigned long int
-strtoul(const char *nptr, char **endptr, int base);
-extern
-unsigned long long int
-strtoull(const char *nptr, char **endptr, int base);
-//
-ATSinline()
-atstype_uint
-atspre_g0string2uint_uint
-  (atstype_string inp) { return strtoul((char*)inp, NULL, 10) ; }
-ATSinline()
-atstype_ulint
-atspre_g0string2uint_ulint
-  (atstype_string inp) { return strtoul((char*)inp, NULL, 10) ; }
-ATSinline()
-atstype_ullint
-atspre_g0string2uint_ullint
-  (atstype_string inp) { return strtoull((char*)inp, NULL, 10) ; }
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_int
-atspre_g0int_neg_int
-  (atstype_int x) { return (-x) ; }
-// end of [atspre_g0int_neg_int]
-ATSinline()
-atstype_int
-atspre_g0int_abs_int
-  (atstype_int x) { return (x >= 0 ? x : -x) ; }
-// end of [atspre_g0int_abs_int]
-ATSinline()
-atstype_int
-atspre_g0int_succ_int
-  (atstype_int x) { return (x + 1) ; }
-// end of [atspre_g0int_succ_int]
-ATSinline()
-atstype_int
-atspre_g0int_pred_int
-  (atstype_int x) { return (x - 1) ; }
-// end of [atspre_g0int_pred_int]
-ATSinline()
-atstype_int
-atspre_g0int_half_int
-  (atstype_int x) { return (x / 2) ; }
-// end of [atspre_g0int_half_int]
-ATSinline()
-atstype_int
-atspre_g0int_add_int
-  (atstype_int x1, atstype_int x2) { return (x1 + x2) ; }
-// end of [atspre_g0int_add_int]
-ATSinline()
-atstype_int
-atspre_g0int_sub_int
-  (atstype_int x1, atstype_int x2) { return (x1 - x2) ; }
-// end of [atspre_g0int_sub_int]
-ATSinline()
-atstype_int
-atspre_g0int_mul_int
-  (atstype_int x1, atstype_int x2) { return (x1 * x2) ; }
-// end of [atspre_g0int_mul_int]
-ATSinline()
-atstype_int
-atspre_g0int_div_int
-  (atstype_int x1, atstype_int x2) { return (x1 / x2) ; }
-// end of [atspre_g0int_div_int]
-ATSinline()
-atstype_int
-atspre_g0int_mod_int
-  (atstype_int x1, atstype_int x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_mod_int]
-ATSinline()
-atstype_int
-atspre_g0int_nmod_int
-  (atstype_int x1, atstype_int x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_nmod_int]
-ATSinline()
-atstype_int
-atspre_g0int_asl_int
-  (atstype_int x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0int_asl_int]
-ATSinline()
-atstype_int
-atspre_g0int_asr_int
-  (atstype_int x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0int_asr_int]
-ATSinline()
-atstype_bool
-atspre_g0int_lt_int
-(
-  atstype_int x1, atstype_int x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lt_int]
-ATSinline()
-atstype_bool
-atspre_g0int_lte_int
-(
-  atstype_int x1, atstype_int x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lte_int]
-ATSinline()
-atstype_bool
-atspre_g0int_gt_int
-(
-  atstype_int x1, atstype_int x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gt_int]
-ATSinline()
-atstype_bool
-atspre_g0int_gte_int
-(
-  atstype_int x1, atstype_int x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gte_int]
-ATSinline()
-atstype_bool
-atspre_g0int_eq_int
-(
-  atstype_int x1, atstype_int x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_eq_int]
-ATSinline()
-atstype_bool
-atspre_g0int_neq_int
-(
-  atstype_int x1, atstype_int x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_neq_int]
-ATSinline()
-atstype_int
-atspre_g0int_compare_int
-(
-  atstype_int x1, atstype_int x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0int_compare_int]
-ATSinline()
-atstype_int
-atspre_g0int_max_int
-  (atstype_int x1, atstype_int x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_max_int]
-ATSinline()
-atstype_int
-atspre_g0int_min_int
-  (atstype_int x1, atstype_int x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_min_int]
-ATSinline()
-atstype_bool
-atspre_g0int_isltz_int (atstype_int x)
-{
-  return (x < 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltz_int]
-ATSinline()
-atstype_bool
-atspre_g0int_isltez_int (atstype_int x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltez_int]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtz_int (atstype_int x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtz_int]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtez_int (atstype_int x)
-{
-  return (x >= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtez_int]
-ATSinline()
-atstype_bool
-atspre_g0int_iseqz_int (atstype_int x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_iseqz_int]
-ATSinline()
-atstype_bool
-atspre_g0int_isneqz_int (atstype_int x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isneqz_int]
-//
-ATSinline()
-atstype_lint
-atspre_g0int_neg_lint
-  (atstype_lint x) { return (-x) ; }
-// end of [atspre_g0int_neg_lint]
-ATSinline()
-atstype_lint
-atspre_g0int_abs_lint
-  (atstype_lint x) { return (x >= 0 ? x : -x) ; }
-// end of [atspre_g0int_abs_lint]
-ATSinline()
-atstype_lint
-atspre_g0int_succ_lint
-  (atstype_lint x) { return (x + 1) ; }
-// end of [atspre_g0int_succ_lint]
-ATSinline()
-atstype_lint
-atspre_g0int_pred_lint
-  (atstype_lint x) { return (x - 1) ; }
-// end of [atspre_g0int_pred_lint]
-ATSinline()
-atstype_lint
-atspre_g0int_half_lint
-  (atstype_lint x) { return (x / 2) ; }
-// end of [atspre_g0int_half_lint]
-ATSinline()
-atstype_lint
-atspre_g0int_add_lint
-  (atstype_lint x1, atstype_lint x2) { return (x1 + x2) ; }
-// end of [atspre_g0int_add_lint]
-ATSinline()
-atstype_lint
-atspre_g0int_sub_lint
-  (atstype_lint x1, atstype_lint x2) { return (x1 - x2) ; }
-// end of [atspre_g0int_sub_lint]
-ATSinline()
-atstype_lint
-atspre_g0int_mul_lint
-  (atstype_lint x1, atstype_lint x2) { return (x1 * x2) ; }
-// end of [atspre_g0int_mul_lint]
-ATSinline()
-atstype_lint
-atspre_g0int_div_lint
-  (atstype_lint x1, atstype_lint x2) { return (x1 / x2) ; }
-// end of [atspre_g0int_div_lint]
-ATSinline()
-atstype_lint
-atspre_g0int_mod_lint
-  (atstype_lint x1, atstype_lint x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_mod_lint]
-ATSinline()
-atstype_lint
-atspre_g0int_nmod_lint
-  (atstype_lint x1, atstype_lint x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_nmod_lint]
-ATSinline()
-atstype_lint
-atspre_g0int_asl_lint
-  (atstype_lint x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0int_asl_lint]
-ATSinline()
-atstype_lint
-atspre_g0int_asr_lint
-  (atstype_lint x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0int_asr_lint]
-ATSinline()
-atstype_bool
-atspre_g0int_lt_lint
-(
-  atstype_lint x1, atstype_lint x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lt_lint]
-ATSinline()
-atstype_bool
-atspre_g0int_lte_lint
-(
-  atstype_lint x1, atstype_lint x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lte_lint]
-ATSinline()
-atstype_bool
-atspre_g0int_gt_lint
-(
-  atstype_lint x1, atstype_lint x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gt_lint]
-ATSinline()
-atstype_bool
-atspre_g0int_gte_lint
-(
-  atstype_lint x1, atstype_lint x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gte_lint]
-ATSinline()
-atstype_bool
-atspre_g0int_eq_lint
-(
-  atstype_lint x1, atstype_lint x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_eq_lint]
-ATSinline()
-atstype_bool
-atspre_g0int_neq_lint
-(
-  atstype_lint x1, atstype_lint x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_neq_lint]
-ATSinline()
-atstype_int
-atspre_g0int_compare_lint
-(
-  atstype_lint x1, atstype_lint x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0int_compare_lint]
-ATSinline()
-atstype_lint
-atspre_g0int_max_lint
-  (atstype_lint x1, atstype_lint x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_max_lint]
-ATSinline()
-atstype_lint
-atspre_g0int_min_lint
-  (atstype_lint x1, atstype_lint x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_min_lint]
-ATSinline()
-atstype_bool
-atspre_g0int_isltz_lint (atstype_lint x)
-{
-  return (x < 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltz_lint]
-ATSinline()
-atstype_bool
-atspre_g0int_isltez_lint (atstype_lint x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltez_lint]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtz_lint (atstype_lint x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtz_lint]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtez_lint (atstype_lint x)
-{
-  return (x >= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtez_lint]
-ATSinline()
-atstype_bool
-atspre_g0int_iseqz_lint (atstype_lint x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_iseqz_lint]
-ATSinline()
-atstype_bool
-atspre_g0int_isneqz_lint (atstype_lint x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isneqz_lint]
-//
-ATSinline()
-atstype_llint
-atspre_g0int_neg_llint
-  (atstype_llint x) { return (-x) ; }
-// end of [atspre_g0int_neg_llint]
-ATSinline()
-atstype_llint
-atspre_g0int_abs_llint
-  (atstype_llint x) { return (x >= 0 ? x : -x) ; }
-// end of [atspre_g0int_abs_llint]
-ATSinline()
-atstype_llint
-atspre_g0int_succ_llint
-  (atstype_llint x) { return (x + 1) ; }
-// end of [atspre_g0int_succ_llint]
-ATSinline()
-atstype_llint
-atspre_g0int_pred_llint
-  (atstype_llint x) { return (x - 1) ; }
-// end of [atspre_g0int_pred_llint]
-ATSinline()
-atstype_llint
-atspre_g0int_half_llint
-  (atstype_llint x) { return (x / 2) ; }
-// end of [atspre_g0int_half_llint]
-ATSinline()
-atstype_llint
-atspre_g0int_add_llint
-  (atstype_llint x1, atstype_llint x2) { return (x1 + x2) ; }
-// end of [atspre_g0int_add_llint]
-ATSinline()
-atstype_llint
-atspre_g0int_sub_llint
-  (atstype_llint x1, atstype_llint x2) { return (x1 - x2) ; }
-// end of [atspre_g0int_sub_llint]
-ATSinline()
-atstype_llint
-atspre_g0int_mul_llint
-  (atstype_llint x1, atstype_llint x2) { return (x1 * x2) ; }
-// end of [atspre_g0int_mul_llint]
-ATSinline()
-atstype_llint
-atspre_g0int_div_llint
-  (atstype_llint x1, atstype_llint x2) { return (x1 / x2) ; }
-// end of [atspre_g0int_div_llint]
-ATSinline()
-atstype_llint
-atspre_g0int_mod_llint
-  (atstype_llint x1, atstype_llint x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_mod_llint]
-ATSinline()
-atstype_llint
-atspre_g0int_nmod_llint
-  (atstype_llint x1, atstype_llint x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_nmod_llint]
-ATSinline()
-atstype_llint
-atspre_g0int_asl_llint
-  (atstype_llint x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0int_asl_llint]
-ATSinline()
-atstype_llint
-atspre_g0int_asr_llint
-  (atstype_llint x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0int_asr_llint]
-ATSinline()
-atstype_bool
-atspre_g0int_lt_llint
-(
-  atstype_llint x1, atstype_llint x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lt_llint]
-ATSinline()
-atstype_bool
-atspre_g0int_lte_llint
-(
-  atstype_llint x1, atstype_llint x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lte_llint]
-ATSinline()
-atstype_bool
-atspre_g0int_gt_llint
-(
-  atstype_llint x1, atstype_llint x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gt_llint]
-ATSinline()
-atstype_bool
-atspre_g0int_gte_llint
-(
-  atstype_llint x1, atstype_llint x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gte_llint]
-ATSinline()
-atstype_bool
-atspre_g0int_eq_llint
-(
-  atstype_llint x1, atstype_llint x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_eq_llint]
-ATSinline()
-atstype_bool
-atspre_g0int_neq_llint
-(
-  atstype_llint x1, atstype_llint x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_neq_llint]
-ATSinline()
-atstype_int
-atspre_g0int_compare_llint
-(
-  atstype_llint x1, atstype_llint x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0int_compare_llint]
-ATSinline()
-atstype_llint
-atspre_g0int_max_llint
-  (atstype_llint x1, atstype_llint x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_max_llint]
-ATSinline()
-atstype_llint
-atspre_g0int_min_llint
-  (atstype_llint x1, atstype_llint x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_min_llint]
-ATSinline()
-atstype_bool
-atspre_g0int_isltz_llint (atstype_llint x)
-{
-  return (x < 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltz_llint]
-ATSinline()
-atstype_bool
-atspre_g0int_isltez_llint (atstype_llint x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltez_llint]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtz_llint (atstype_llint x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtz_llint]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtez_llint (atstype_llint x)
-{
-  return (x >= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtez_llint]
-ATSinline()
-atstype_bool
-atspre_g0int_iseqz_llint (atstype_llint x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_iseqz_llint]
-ATSinline()
-atstype_bool
-atspre_g0int_isneqz_llint (atstype_llint x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isneqz_llint]
-//
-/* ****** ****** */
-
-#define atspre_g1int_neg_int atspre_g0int_neg_int
-#define atspre_g1int_abs_int atspre_g0int_abs_int
-#define atspre_g1int_succ_int atspre_g0int_succ_int
-#define atspre_g1int_pred_int atspre_g0int_pred_int
-#define atspre_g1int_half_int atspre_g0int_half_int
-#define atspre_g1int_add_int atspre_g0int_add_int
-#define atspre_g1int_sub_int atspre_g0int_sub_int
-#define atspre_g1int_mul_int atspre_g0int_mul_int
-#define atspre_g1int_div_int atspre_g0int_div_int
-#define atspre_g1int_nmod_int atspre_g0int_nmod_int
-#define atspre_g1int_isltz_int atspre_g0int_isltz_int
-#define atspre_g1int_isltez_int atspre_g0int_isltez_int
-#define atspre_g1int_isgtz_int atspre_g0int_isgtz_int
-#define atspre_g1int_isgtez_int atspre_g0int_isgtez_int
-#define atspre_g1int_iseqz_int atspre_g0int_iseqz_int
-#define atspre_g1int_isneqz_int atspre_g0int_isneqz_int
-#define atspre_g1int_lt_int atspre_g0int_lt_int
-#define atspre_g1int_lte_int atspre_g0int_lte_int
-#define atspre_g1int_gt_int atspre_g0int_gt_int
-#define atspre_g1int_gte_int atspre_g0int_gte_int
-#define atspre_g1int_eq_int atspre_g0int_eq_int
-#define atspre_g1int_neq_int atspre_g0int_neq_int
-#define atspre_g1int_compare_int atspre_g0int_compare_int
-#define atspre_g1int_max_int atspre_g0int_max_int
-#define atspre_g1int_min_int atspre_g0int_min_int
-
-/* ****** ****** */
-
-#define atspre_g1int_neg_lint atspre_g0int_neg_lint
-#define atspre_g1int_succ_lint atspre_g0int_succ_lint
-#define atspre_g1int_pred_lint atspre_g0int_pred_lint
-#define atspre_g1int_half_lint atspre_g0int_half_lint
-#define atspre_g1int_add_lint atspre_g0int_add_lint
-#define atspre_g1int_sub_lint atspre_g0int_sub_lint
-#define atspre_g1int_mul_lint atspre_g0int_mul_lint
-#define atspre_g1int_div_lint atspre_g0int_div_lint
-#define atspre_g1int_nmod_lint atspre_g0int_nmod_lint
-#define atspre_g1int_isltz_lint atspre_g0int_isltz_lint
-#define atspre_g1int_isltez_lint atspre_g0int_isltez_lint
-#define atspre_g1int_isgtz_lint atspre_g0int_isgtz_lint
-#define atspre_g1int_isgtez_lint atspre_g0int_isgtez_lint
-#define atspre_g1int_iseqz_lint atspre_g0int_iseqz_lint
-#define atspre_g1int_isneqz_lint atspre_g0int_isneqz_lint
-#define atspre_g1int_lt_lint atspre_g0int_lt_lint
-#define atspre_g1int_lte_lint atspre_g0int_lte_lint
-#define atspre_g1int_gt_lint atspre_g0int_gt_lint
-#define atspre_g1int_gte_lint atspre_g0int_gte_lint
-#define atspre_g1int_eq_lint atspre_g0int_eq_lint
-#define atspre_g1int_neq_lint atspre_g0int_neq_lint
-#define atspre_g1int_compare_lint atspre_g0int_compare_lint
-#define atspre_g1int_max_lint atspre_g0int_max_lint
-#define atspre_g1int_min_lint atspre_g0int_min_lint
-
-/* ****** ****** */
-
-#define atspre_g1int_neg_llint atspre_g0int_neg_llint
-#define atspre_g1int_succ_llint atspre_g0int_succ_llint
-#define atspre_g1int_pred_llint atspre_g0int_pred_llint
-#define atspre_g1int_half_llint atspre_g0int_half_llint
-#define atspre_g1int_add_llint atspre_g0int_add_llint
-#define atspre_g1int_sub_llint atspre_g0int_sub_llint
-#define atspre_g1int_mul_llint atspre_g0int_mul_llint
-#define atspre_g1int_div_llint atspre_g0int_div_llint
-#define atspre_g1int_nmod_llint atspre_g0int_nmod_llint
-#define atspre_g1int_isltz_llint atspre_g0int_isltz_llint
-#define atspre_g1int_isltez_llint atspre_g0int_isltez_llint
-#define atspre_g1int_isgtz_llint atspre_g0int_isgtz_llint
-#define atspre_g1int_isgtez_llint atspre_g0int_isgtez_llint
-#define atspre_g1int_iseqz_llint atspre_g0int_iseqz_llint
-#define atspre_g1int_isneqz_llint atspre_g0int_isneqz_llint
-#define atspre_g1int_lt_llint atspre_g0int_lt_llint
-#define atspre_g1int_lte_llint atspre_g0int_lte_llint
-#define atspre_g1int_gt_llint atspre_g0int_gt_llint
-#define atspre_g1int_gte_llint atspre_g0int_gte_llint
-#define atspre_g1int_eq_llint atspre_g0int_eq_llint
-#define atspre_g1int_neq_llint atspre_g0int_neq_llint
-#define atspre_g1int_compare_llint atspre_g0int_compare_llint
-#define atspre_g1int_max_llint atspre_g0int_max_llint
-#define atspre_g1int_min_llint atspre_g0int_min_llint
-
-/* ****** ****** */
-//
-ATSinline()
-atstype_uint
-atspre_g0uint_succ_uint
-  (atstype_uint x) { return (x + 1) ; }
-// end of [atspre_g0uint_succ_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_pred_uint
-  (atstype_uint x) { return (x - 1) ; }
-// end of [atspre_g0uint_pred_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_half_uint
-  (atstype_uint x) { return (x >> 1) ; }
-// end of [atspre_g0uint_half_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_add_uint
-  (atstype_uint x1, atstype_uint x2) { return (x1 + x2) ; }
-// end of [atspre_g0uint_add_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_sub_uint
-  (atstype_uint x1, atstype_uint x2) { return (x1 - x2) ; }
-// end of [atspre_g0uint_sub_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_mul_uint
-  (atstype_uint x1, atstype_uint x2) { return (x1 * x2) ; }
-// end of [atspre_g0uint_mul_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_div_uint
-  (atstype_uint x1, atstype_uint x2) { return (x1 / x2) ; }
-// end of [atspre_g0uint_div_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_mod_uint
-  (atstype_uint x1, atstype_uint x2) { return (x1 % x2) ; }
-// end of [atspre_g0uint_mod_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_lsl_uint
-  (atstype_uint x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0uint_lsl_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_lsr_uint
-  (atstype_uint x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0uint_lsr_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_lnot_uint
-  (atstype_uint x) { return ~(x) ; }
-// end of [atspre_g0uint_lnot_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_lor_uint
-  (atstype_uint x, atstype_uint y) { return (x | y) ; }
-// end of [atspre_g0uint_uint_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_land_uint
-  (atstype_uint x, atstype_uint y) { return (x & y) ; }
-// end of [atspre_g0uint_uint_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_lxor_uint
-  (atstype_uint x, atstype_uint y) { return (x ^ y) ; }
-// end of [atspre_g0uint_uint_uint]
-ATSinline()
-atstype_bool
-atspre_g0uint_lt_uint
-(
-  atstype_uint x1, atstype_uint x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lt_uint]
-ATSinline()
-atstype_bool
-atspre_g0uint_lte_uint
-(
-  atstype_uint x1, atstype_uint x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lte_uint]
-ATSinline()
-atstype_bool
-atspre_g0uint_gt_uint
-(
-  atstype_uint x1, atstype_uint x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gt_uint]
-ATSinline()
-atstype_bool
-atspre_g0uint_gte_uint
-(
-  atstype_uint x1, atstype_uint x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gte_uint]
-ATSinline()
-atstype_bool
-atspre_g0uint_eq_uint
-(
-  atstype_uint x1, atstype_uint x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_eq_uint]
-ATSinline()
-atstype_bool
-atspre_g0uint_neq_uint
-(
-  atstype_uint x1, atstype_uint x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_neq_uint]
-ATSinline()
-atstype_int
-atspre_g0uint_compare_uint
-(
-  atstype_uint x1, atstype_uint x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0uint_compare_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_max_uint
-  (atstype_uint x1, atstype_uint x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_max_uint]
-ATSinline()
-atstype_uint
-atspre_g0uint_min_uint
-  (atstype_uint x1, atstype_uint x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_min_uint]
-ATSinline()
-atstype_bool
-atspre_g0uint_isltez_uint (atstype_uint x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isltez_uint]
-ATSinline()
-atstype_bool
-atspre_g0uint_isgtz_uint (atstype_uint x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isgtz_uint]
-ATSinline()
-atstype_bool
-atspre_g0uint_iseqz_uint (atstype_uint x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_iseqz_uint]
-ATSinline()
-atstype_bool
-atspre_g0uint_isneqz_uint (atstype_uint x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isneqz_uint]
-//
-ATSinline()
-atstype_ulint
-atspre_g0uint_succ_ulint
-  (atstype_ulint x) { return (x + 1) ; }
-// end of [atspre_g0uint_succ_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_pred_ulint
-  (atstype_ulint x) { return (x - 1) ; }
-// end of [atspre_g0uint_pred_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_half_ulint
-  (atstype_ulint x) { return (x >> 1) ; }
-// end of [atspre_g0uint_half_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_add_ulint
-  (atstype_ulint x1, atstype_ulint x2) { return (x1 + x2) ; }
-// end of [atspre_g0uint_add_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_sub_ulint
-  (atstype_ulint x1, atstype_ulint x2) { return (x1 - x2) ; }
-// end of [atspre_g0uint_sub_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_mul_ulint
-  (atstype_ulint x1, atstype_ulint x2) { return (x1 * x2) ; }
-// end of [atspre_g0uint_mul_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_div_ulint
-  (atstype_ulint x1, atstype_ulint x2) { return (x1 / x2) ; }
-// end of [atspre_g0uint_div_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_mod_ulint
-  (atstype_ulint x1, atstype_ulint x2) { return (x1 % x2) ; }
-// end of [atspre_g0uint_mod_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_lsl_ulint
-  (atstype_ulint x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0uint_lsl_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_lsr_ulint
-  (atstype_ulint x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0uint_lsr_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_lnot_ulint
-  (atstype_ulint x) { return ~(x) ; }
-// end of [atspre_g0uint_lnot_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_lor_ulint
-  (atstype_ulint x, atstype_ulint y) { return (x | y) ; }
-// end of [atspre_g0uint_ulint_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_land_ulint
-  (atstype_ulint x, atstype_ulint y) { return (x & y) ; }
-// end of [atspre_g0uint_ulint_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_lxor_ulint
-  (atstype_ulint x, atstype_ulint y) { return (x ^ y) ; }
-// end of [atspre_g0uint_ulint_ulint]
-ATSinline()
-atstype_bool
-atspre_g0uint_lt_ulint
-(
-  atstype_ulint x1, atstype_ulint x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lt_ulint]
-ATSinline()
-atstype_bool
-atspre_g0uint_lte_ulint
-(
-  atstype_ulint x1, atstype_ulint x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lte_ulint]
-ATSinline()
-atstype_bool
-atspre_g0uint_gt_ulint
-(
-  atstype_ulint x1, atstype_ulint x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gt_ulint]
-ATSinline()
-atstype_bool
-atspre_g0uint_gte_ulint
-(
-  atstype_ulint x1, atstype_ulint x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gte_ulint]
-ATSinline()
-atstype_bool
-atspre_g0uint_eq_ulint
-(
-  atstype_ulint x1, atstype_ulint x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_eq_ulint]
-ATSinline()
-atstype_bool
-atspre_g0uint_neq_ulint
-(
-  atstype_ulint x1, atstype_ulint x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_neq_ulint]
-ATSinline()
-atstype_int
-atspre_g0uint_compare_ulint
-(
-  atstype_ulint x1, atstype_ulint x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0uint_compare_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_max_ulint
-  (atstype_ulint x1, atstype_ulint x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_max_ulint]
-ATSinline()
-atstype_ulint
-atspre_g0uint_min_ulint
-  (atstype_ulint x1, atstype_ulint x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_min_ulint]
-ATSinline()
-atstype_bool
-atspre_g0uint_isltez_ulint (atstype_ulint x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isltez_ulint]
-ATSinline()
-atstype_bool
-atspre_g0uint_isgtz_ulint (atstype_ulint x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isgtz_ulint]
-ATSinline()
-atstype_bool
-atspre_g0uint_iseqz_ulint (atstype_ulint x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_iseqz_ulint]
-ATSinline()
-atstype_bool
-atspre_g0uint_isneqz_ulint (atstype_ulint x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isneqz_ulint]
-//
-ATSinline()
-atstype_ullint
-atspre_g0uint_succ_ullint
-  (atstype_ullint x) { return (x + 1) ; }
-// end of [atspre_g0uint_succ_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_pred_ullint
-  (atstype_ullint x) { return (x - 1) ; }
-// end of [atspre_g0uint_pred_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_half_ullint
-  (atstype_ullint x) { return (x >> 1) ; }
-// end of [atspre_g0uint_half_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_add_ullint
-  (atstype_ullint x1, atstype_ullint x2) { return (x1 + x2) ; }
-// end of [atspre_g0uint_add_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_sub_ullint
-  (atstype_ullint x1, atstype_ullint x2) { return (x1 - x2) ; }
-// end of [atspre_g0uint_sub_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_mul_ullint
-  (atstype_ullint x1, atstype_ullint x2) { return (x1 * x2) ; }
-// end of [atspre_g0uint_mul_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_div_ullint
-  (atstype_ullint x1, atstype_ullint x2) { return (x1 / x2) ; }
-// end of [atspre_g0uint_div_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_mod_ullint
-  (atstype_ullint x1, atstype_ullint x2) { return (x1 % x2) ; }
-// end of [atspre_g0uint_mod_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_lsl_ullint
-  (atstype_ullint x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0uint_lsl_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_lsr_ullint
-  (atstype_ullint x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0uint_lsr_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_lnot_ullint
-  (atstype_ullint x) { return ~(x) ; }
-// end of [atspre_g0uint_lnot_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_lor_ullint
-  (atstype_ullint x, atstype_ullint y) { return (x | y) ; }
-// end of [atspre_g0uint_ullint_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_land_ullint
-  (atstype_ullint x, atstype_ullint y) { return (x & y) ; }
-// end of [atspre_g0uint_ullint_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_lxor_ullint
-  (atstype_ullint x, atstype_ullint y) { return (x ^ y) ; }
-// end of [atspre_g0uint_ullint_ullint]
-ATSinline()
-atstype_bool
-atspre_g0uint_lt_ullint
-(
-  atstype_ullint x1, atstype_ullint x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lt_ullint]
-ATSinline()
-atstype_bool
-atspre_g0uint_lte_ullint
-(
-  atstype_ullint x1, atstype_ullint x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lte_ullint]
-ATSinline()
-atstype_bool
-atspre_g0uint_gt_ullint
-(
-  atstype_ullint x1, atstype_ullint x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gt_ullint]
-ATSinline()
-atstype_bool
-atspre_g0uint_gte_ullint
-(
-  atstype_ullint x1, atstype_ullint x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gte_ullint]
-ATSinline()
-atstype_bool
-atspre_g0uint_eq_ullint
-(
-  atstype_ullint x1, atstype_ullint x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_eq_ullint]
-ATSinline()
-atstype_bool
-atspre_g0uint_neq_ullint
-(
-  atstype_ullint x1, atstype_ullint x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_neq_ullint]
-ATSinline()
-atstype_int
-atspre_g0uint_compare_ullint
-(
-  atstype_ullint x1, atstype_ullint x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0uint_compare_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_max_ullint
-  (atstype_ullint x1, atstype_ullint x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_max_ullint]
-ATSinline()
-atstype_ullint
-atspre_g0uint_min_ullint
-  (atstype_ullint x1, atstype_ullint x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_min_ullint]
-ATSinline()
-atstype_bool
-atspre_g0uint_isltez_ullint (atstype_ullint x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isltez_ullint]
-ATSinline()
-atstype_bool
-atspre_g0uint_isgtz_ullint (atstype_ullint x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isgtz_ullint]
-ATSinline()
-atstype_bool
-atspre_g0uint_iseqz_ullint (atstype_ullint x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_iseqz_ullint]
-ATSinline()
-atstype_bool
-atspre_g0uint_isneqz_ullint (atstype_ullint x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isneqz_ullint]
-//
-/* ****** ****** */
-
-#define atspre_g1uint_succ_uint atspre_g0uint_succ_uint
-#define atspre_g1uint_pred_uint atspre_g0uint_pred_uint
-#define atspre_g1uint_half_uint atspre_g0uint_half_uint
-#define atspre_g1uint_add_uint atspre_g0uint_add_uint
-#define atspre_g1uint_sub_uint atspre_g0uint_sub_uint
-#define atspre_g1uint_mul_uint atspre_g0uint_mul_uint
-#define atspre_g1uint_div_uint atspre_g0uint_div_uint
-#define atspre_g1uint_mod_uint atspre_g0uint_mod_uint
-#define atspre_g1uint_isgtz_uint atspre_g0uint_isgtz_uint
-#define atspre_g1uint_iseqz_uint atspre_g0uint_iseqz_uint
-#define atspre_g1uint_isneqz_uint atspre_g0uint_isneqz_uint
-#define atspre_g1uint_lt_uint atspre_g0uint_lt_uint
-#define atspre_g1uint_lte_uint atspre_g0uint_lte_uint
-#define atspre_g1uint_gt_uint atspre_g0uint_gt_uint
-#define atspre_g1uint_gte_uint atspre_g0uint_gte_uint
-#define atspre_g1uint_eq_uint atspre_g0uint_eq_uint
-#define atspre_g1uint_neq_uint atspre_g0uint_neq_uint
-#define atspre_g1uint_compare_uint atspre_g0uint_compare_uint
-#define atspre_g1uint_max_uint atspre_g0uint_max_uint
-#define atspre_g1uint_min_uint atspre_g0uint_min_uint
-
-/* ****** ****** */
-
-#define atspre_g1uint_succ_ulint atspre_g0uint_succ_ulint
-#define atspre_g1uint_pred_ulint atspre_g0uint_pred_ulint
-#define atspre_g1uint_half_ulint atspre_g0uint_half_ulint
-#define atspre_g1uint_add_ulint atspre_g0uint_add_ulint
-#define atspre_g1uint_sub_ulint atspre_g0uint_sub_ulint
-#define atspre_g1uint_mul_ulint atspre_g0uint_mul_ulint
-#define atspre_g1uint_div_ulint atspre_g0uint_div_ulint
-#define atspre_g1uint_mod_ulint atspre_g0uint_mod_ulint
-#define atspre_g1uint_isgtz_ulint atspre_g0uint_isgtz_ulint
-#define atspre_g1uint_iseqz_ulint atspre_g0uint_iseqz_ulint
-#define atspre_g1uint_isneqz_ulint atspre_g0uint_isneqz_ulint
-#define atspre_g1uint_lt_ulint atspre_g0uint_lt_ulint
-#define atspre_g1uint_lte_ulint atspre_g0uint_lte_ulint
-#define atspre_g1uint_gt_ulint atspre_g0uint_gt_ulint
-#define atspre_g1uint_gte_ulint atspre_g0uint_gte_ulint
-#define atspre_g1uint_eq_ulint atspre_g0uint_eq_ulint
-#define atspre_g1uint_neq_ulint atspre_g0uint_neq_ulint
-#define atspre_g1uint_compare_ulint atspre_g0uint_compare_ulint
-#define atspre_g1uint_max_ulint atspre_g0uint_max_ulint
-#define atspre_g1uint_min_ulint atspre_g0uint_min_ulint
-
-/* ****** ****** */
-
-#define atspre_g1uint_succ_ullint atspre_g0uint_succ_ullint
-#define atspre_g1uint_pred_ullint atspre_g0uint_pred_ullint
-#define atspre_g1uint_half_ullint atspre_g0uint_half_ullint
-#define atspre_g1uint_add_ullint atspre_g0uint_add_ullint
-#define atspre_g1uint_sub_ullint atspre_g0uint_sub_ullint
-#define atspre_g1uint_mul_ullint atspre_g0uint_mul_ullint
-#define atspre_g1uint_div_ullint atspre_g0uint_div_ullint
-#define atspre_g1uint_mod_ullint atspre_g0uint_mod_ullint
-#define atspre_g1uint_isgtz_ullint atspre_g0uint_isgtz_ullint
-#define atspre_g1uint_iseqz_ullint atspre_g0uint_iseqz_ullint
-#define atspre_g1uint_isneqz_ullint atspre_g0uint_isneqz_ullint
-#define atspre_g1uint_lt_ullint atspre_g0uint_lt_ullint
-#define atspre_g1uint_lte_ullint atspre_g0uint_lte_ullint
-#define atspre_g1uint_gt_ullint atspre_g0uint_gt_ullint
-#define atspre_g1uint_gte_ullint atspre_g0uint_gte_ullint
-#define atspre_g1uint_eq_ullint atspre_g0uint_eq_ullint
-#define atspre_g1uint_neq_ullint atspre_g0uint_neq_ullint
-#define atspre_g1uint_compare_ullint atspre_g0uint_compare_ullint
-#define atspre_g1uint_max_ullint atspre_g0uint_max_ullint
-#define atspre_g1uint_min_ullint atspre_g0uint_min_ullint
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER
-
-/* ****** ****** */
-
-/* end of [integer.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_fixed.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_fixed.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_fixed.cats
+++ /dev/null
@@ -1,1425 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/integer_fixed.atxt
-** Time of generation: Thu Mar 22 01:15:16 2018
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_INTEGER_FIXED
-#define ATSLIB_PRELUDE_CATS_INTEGER_FIXED
-
-/* ****** ****** */
-
-#include <stdint.h>
-
-/* ****** ****** */
-
-typedef int8_t atstype_int8 ;
-typedef int16_t atstype_int16 ;
-typedef int32_t atstype_int32 ;
-typedef int64_t atstype_int64 ;
-
-typedef uint8_t atstype_uint8 ;
-typedef uint16_t atstype_uint16 ;
-typedef uint32_t atstype_uint32 ;
-typedef uint64_t atstype_uint64 ;
-
-/* ****** ****** */
-
-#define \
-atspre_g0int2int_int8_int(x) ((atstype_int)(x))
-#define \
-atspre_g0int2int_int16_int(x) ((atstype_int)(x))
-#define \
-atspre_g0int2int_int32_int(x) ((atstype_int)(x))
-#define \
-atspre_g0int2int_int64_int(x) ((atstype_int)(x))
-
-/* ****** ****** */
-//
-ATSinline()
-atstype_int8
-atspre_g0int_neg_int8
-  (atstype_int8 x) { return (-x) ; }
-// end of [atspre_g0int_neg_int8]
-ATSinline()
-atstype_int8
-atspre_g0int_abs_int8
-  (atstype_int8 x) { return (x >= 0 ? x : -x) ; }
-// end of [atspre_g0int_abs_int8]
-ATSinline()
-atstype_int8
-atspre_g0int_succ_int8
-  (atstype_int8 x) { return (x + 1) ; }
-// end of [atspre_g0int_succ_int8]
-ATSinline()
-atstype_int8
-atspre_g0int_pred_int8
-  (atstype_int8 x) { return (x - 1) ; }
-// end of [atspre_g0int_pred_int8]
-ATSinline()
-atstype_int8
-atspre_g0int_half_int8
-  (atstype_int8 x) { return (x / 2) ; }
-// end of [atspre_g0int_half_int8]
-ATSinline()
-atstype_int8
-atspre_g0int_add_int8
-  (atstype_int8 x1, atstype_int8 x2) { return (x1 + x2) ; }
-// end of [atspre_g0int_add_int8]
-ATSinline()
-atstype_int8
-atspre_g0int_sub_int8
-  (atstype_int8 x1, atstype_int8 x2) { return (x1 - x2) ; }
-// end of [atspre_g0int_sub_int8]
-ATSinline()
-atstype_int8
-atspre_g0int_mul_int8
-  (atstype_int8 x1, atstype_int8 x2) { return (x1 * x2) ; }
-// end of [atspre_g0int_mul_int8]
-ATSinline()
-atstype_int8
-atspre_g0int_div_int8
-  (atstype_int8 x1, atstype_int8 x2) { return (x1 / x2) ; }
-// end of [atspre_g0int_div_int8]
-ATSinline()
-atstype_int8
-atspre_g0int_mod_int8
-  (atstype_int8 x1, atstype_int8 x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_mod_int8]
-ATSinline()
-atstype_int8
-atspre_g0int_nmod_int8
-  (atstype_int8 x1, atstype_int8 x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_nmod_int8]
-ATSinline()
-atstype_int8
-atspre_g0int_asl_int8
-  (atstype_int8 x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0int_asl_int8]
-ATSinline()
-atstype_int8
-atspre_g0int_asr_int8
-  (atstype_int8 x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0int_asr_int8]
-ATSinline()
-atstype_bool
-atspre_g0int_lt_int8
-(
-  atstype_int8 x1, atstype_int8 x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lt_int8]
-ATSinline()
-atstype_bool
-atspre_g0int_lte_int8
-(
-  atstype_int8 x1, atstype_int8 x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lte_int8]
-ATSinline()
-atstype_bool
-atspre_g0int_gt_int8
-(
-  atstype_int8 x1, atstype_int8 x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gt_int8]
-ATSinline()
-atstype_bool
-atspre_g0int_gte_int8
-(
-  atstype_int8 x1, atstype_int8 x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gte_int8]
-ATSinline()
-atstype_bool
-atspre_g0int_eq_int8
-(
-  atstype_int8 x1, atstype_int8 x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_eq_int8]
-ATSinline()
-atstype_bool
-atspre_g0int_neq_int8
-(
-  atstype_int8 x1, atstype_int8 x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_neq_int8]
-ATSinline()
-atstype_int
-atspre_g0int_compare_int8
-(
-  atstype_int8 x1, atstype_int8 x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0int_compare_int8]
-ATSinline()
-atstype_int8
-atspre_g0int_max_int8
-  (atstype_int8 x1, atstype_int8 x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_max_int8]
-ATSinline()
-atstype_int8
-atspre_g0int_min_int8
-  (atstype_int8 x1, atstype_int8 x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_min_int8]
-ATSinline()
-atstype_bool
-atspre_g0int_isltz_int8 (atstype_int8 x)
-{
-  return (x < 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltz_int8]
-ATSinline()
-atstype_bool
-atspre_g0int_isltez_int8 (atstype_int8 x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltez_int8]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtz_int8 (atstype_int8 x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtz_int8]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtez_int8 (atstype_int8 x)
-{
-  return (x >= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtez_int8]
-ATSinline()
-atstype_bool
-atspre_g0int_iseqz_int8 (atstype_int8 x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_iseqz_int8]
-ATSinline()
-atstype_bool
-atspre_g0int_isneqz_int8 (atstype_int8 x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isneqz_int8]
-ATSinline()
-atstype_int16
-atspre_g0int_neg_int16
-  (atstype_int16 x) { return (-x) ; }
-// end of [atspre_g0int_neg_int16]
-ATSinline()
-atstype_int16
-atspre_g0int_abs_int16
-  (atstype_int16 x) { return (x >= 0 ? x : -x) ; }
-// end of [atspre_g0int_abs_int16]
-ATSinline()
-atstype_int16
-atspre_g0int_succ_int16
-  (atstype_int16 x) { return (x + 1) ; }
-// end of [atspre_g0int_succ_int16]
-ATSinline()
-atstype_int16
-atspre_g0int_pred_int16
-  (atstype_int16 x) { return (x - 1) ; }
-// end of [atspre_g0int_pred_int16]
-ATSinline()
-atstype_int16
-atspre_g0int_half_int16
-  (atstype_int16 x) { return (x / 2) ; }
-// end of [atspre_g0int_half_int16]
-ATSinline()
-atstype_int16
-atspre_g0int_add_int16
-  (atstype_int16 x1, atstype_int16 x2) { return (x1 + x2) ; }
-// end of [atspre_g0int_add_int16]
-ATSinline()
-atstype_int16
-atspre_g0int_sub_int16
-  (atstype_int16 x1, atstype_int16 x2) { return (x1 - x2) ; }
-// end of [atspre_g0int_sub_int16]
-ATSinline()
-atstype_int16
-atspre_g0int_mul_int16
-  (atstype_int16 x1, atstype_int16 x2) { return (x1 * x2) ; }
-// end of [atspre_g0int_mul_int16]
-ATSinline()
-atstype_int16
-atspre_g0int_div_int16
-  (atstype_int16 x1, atstype_int16 x2) { return (x1 / x2) ; }
-// end of [atspre_g0int_div_int16]
-ATSinline()
-atstype_int16
-atspre_g0int_mod_int16
-  (atstype_int16 x1, atstype_int16 x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_mod_int16]
-ATSinline()
-atstype_int16
-atspre_g0int_nmod_int16
-  (atstype_int16 x1, atstype_int16 x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_nmod_int16]
-ATSinline()
-atstype_int16
-atspre_g0int_asl_int16
-  (atstype_int16 x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0int_asl_int16]
-ATSinline()
-atstype_int16
-atspre_g0int_asr_int16
-  (atstype_int16 x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0int_asr_int16]
-ATSinline()
-atstype_bool
-atspre_g0int_lt_int16
-(
-  atstype_int16 x1, atstype_int16 x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lt_int16]
-ATSinline()
-atstype_bool
-atspre_g0int_lte_int16
-(
-  atstype_int16 x1, atstype_int16 x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lte_int16]
-ATSinline()
-atstype_bool
-atspre_g0int_gt_int16
-(
-  atstype_int16 x1, atstype_int16 x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gt_int16]
-ATSinline()
-atstype_bool
-atspre_g0int_gte_int16
-(
-  atstype_int16 x1, atstype_int16 x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gte_int16]
-ATSinline()
-atstype_bool
-atspre_g0int_eq_int16
-(
-  atstype_int16 x1, atstype_int16 x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_eq_int16]
-ATSinline()
-atstype_bool
-atspre_g0int_neq_int16
-(
-  atstype_int16 x1, atstype_int16 x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_neq_int16]
-ATSinline()
-atstype_int
-atspre_g0int_compare_int16
-(
-  atstype_int16 x1, atstype_int16 x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0int_compare_int16]
-ATSinline()
-atstype_int16
-atspre_g0int_max_int16
-  (atstype_int16 x1, atstype_int16 x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_max_int16]
-ATSinline()
-atstype_int16
-atspre_g0int_min_int16
-  (atstype_int16 x1, atstype_int16 x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_min_int16]
-ATSinline()
-atstype_bool
-atspre_g0int_isltz_int16 (atstype_int16 x)
-{
-  return (x < 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltz_int16]
-ATSinline()
-atstype_bool
-atspre_g0int_isltez_int16 (atstype_int16 x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltez_int16]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtz_int16 (atstype_int16 x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtz_int16]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtez_int16 (atstype_int16 x)
-{
-  return (x >= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtez_int16]
-ATSinline()
-atstype_bool
-atspre_g0int_iseqz_int16 (atstype_int16 x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_iseqz_int16]
-ATSinline()
-atstype_bool
-atspre_g0int_isneqz_int16 (atstype_int16 x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isneqz_int16]
-ATSinline()
-atstype_int32
-atspre_g0int_neg_int32
-  (atstype_int32 x) { return (-x) ; }
-// end of [atspre_g0int_neg_int32]
-ATSinline()
-atstype_int32
-atspre_g0int_abs_int32
-  (atstype_int32 x) { return (x >= 0 ? x : -x) ; }
-// end of [atspre_g0int_abs_int32]
-ATSinline()
-atstype_int32
-atspre_g0int_succ_int32
-  (atstype_int32 x) { return (x + 1) ; }
-// end of [atspre_g0int_succ_int32]
-ATSinline()
-atstype_int32
-atspre_g0int_pred_int32
-  (atstype_int32 x) { return (x - 1) ; }
-// end of [atspre_g0int_pred_int32]
-ATSinline()
-atstype_int32
-atspre_g0int_half_int32
-  (atstype_int32 x) { return (x / 2) ; }
-// end of [atspre_g0int_half_int32]
-ATSinline()
-atstype_int32
-atspre_g0int_add_int32
-  (atstype_int32 x1, atstype_int32 x2) { return (x1 + x2) ; }
-// end of [atspre_g0int_add_int32]
-ATSinline()
-atstype_int32
-atspre_g0int_sub_int32
-  (atstype_int32 x1, atstype_int32 x2) { return (x1 - x2) ; }
-// end of [atspre_g0int_sub_int32]
-ATSinline()
-atstype_int32
-atspre_g0int_mul_int32
-  (atstype_int32 x1, atstype_int32 x2) { return (x1 * x2) ; }
-// end of [atspre_g0int_mul_int32]
-ATSinline()
-atstype_int32
-atspre_g0int_div_int32
-  (atstype_int32 x1, atstype_int32 x2) { return (x1 / x2) ; }
-// end of [atspre_g0int_div_int32]
-ATSinline()
-atstype_int32
-atspre_g0int_mod_int32
-  (atstype_int32 x1, atstype_int32 x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_mod_int32]
-ATSinline()
-atstype_int32
-atspre_g0int_nmod_int32
-  (atstype_int32 x1, atstype_int32 x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_nmod_int32]
-ATSinline()
-atstype_int32
-atspre_g0int_asl_int32
-  (atstype_int32 x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0int_asl_int32]
-ATSinline()
-atstype_int32
-atspre_g0int_asr_int32
-  (atstype_int32 x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0int_asr_int32]
-ATSinline()
-atstype_bool
-atspre_g0int_lt_int32
-(
-  atstype_int32 x1, atstype_int32 x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lt_int32]
-ATSinline()
-atstype_bool
-atspre_g0int_lte_int32
-(
-  atstype_int32 x1, atstype_int32 x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lte_int32]
-ATSinline()
-atstype_bool
-atspre_g0int_gt_int32
-(
-  atstype_int32 x1, atstype_int32 x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gt_int32]
-ATSinline()
-atstype_bool
-atspre_g0int_gte_int32
-(
-  atstype_int32 x1, atstype_int32 x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gte_int32]
-ATSinline()
-atstype_bool
-atspre_g0int_eq_int32
-(
-  atstype_int32 x1, atstype_int32 x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_eq_int32]
-ATSinline()
-atstype_bool
-atspre_g0int_neq_int32
-(
-  atstype_int32 x1, atstype_int32 x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_neq_int32]
-ATSinline()
-atstype_int
-atspre_g0int_compare_int32
-(
-  atstype_int32 x1, atstype_int32 x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0int_compare_int32]
-ATSinline()
-atstype_int32
-atspre_g0int_max_int32
-  (atstype_int32 x1, atstype_int32 x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_max_int32]
-ATSinline()
-atstype_int32
-atspre_g0int_min_int32
-  (atstype_int32 x1, atstype_int32 x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_min_int32]
-ATSinline()
-atstype_bool
-atspre_g0int_isltz_int32 (atstype_int32 x)
-{
-  return (x < 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltz_int32]
-ATSinline()
-atstype_bool
-atspre_g0int_isltez_int32 (atstype_int32 x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltez_int32]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtz_int32 (atstype_int32 x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtz_int32]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtez_int32 (atstype_int32 x)
-{
-  return (x >= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtez_int32]
-ATSinline()
-atstype_bool
-atspre_g0int_iseqz_int32 (atstype_int32 x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_iseqz_int32]
-ATSinline()
-atstype_bool
-atspre_g0int_isneqz_int32 (atstype_int32 x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isneqz_int32]
-ATSinline()
-atstype_int64
-atspre_g0int_neg_int64
-  (atstype_int64 x) { return (-x) ; }
-// end of [atspre_g0int_neg_int64]
-ATSinline()
-atstype_int64
-atspre_g0int_abs_int64
-  (atstype_int64 x) { return (x >= 0 ? x : -x) ; }
-// end of [atspre_g0int_abs_int64]
-ATSinline()
-atstype_int64
-atspre_g0int_succ_int64
-  (atstype_int64 x) { return (x + 1) ; }
-// end of [atspre_g0int_succ_int64]
-ATSinline()
-atstype_int64
-atspre_g0int_pred_int64
-  (atstype_int64 x) { return (x - 1) ; }
-// end of [atspre_g0int_pred_int64]
-ATSinline()
-atstype_int64
-atspre_g0int_half_int64
-  (atstype_int64 x) { return (x / 2) ; }
-// end of [atspre_g0int_half_int64]
-ATSinline()
-atstype_int64
-atspre_g0int_add_int64
-  (atstype_int64 x1, atstype_int64 x2) { return (x1 + x2) ; }
-// end of [atspre_g0int_add_int64]
-ATSinline()
-atstype_int64
-atspre_g0int_sub_int64
-  (atstype_int64 x1, atstype_int64 x2) { return (x1 - x2) ; }
-// end of [atspre_g0int_sub_int64]
-ATSinline()
-atstype_int64
-atspre_g0int_mul_int64
-  (atstype_int64 x1, atstype_int64 x2) { return (x1 * x2) ; }
-// end of [atspre_g0int_mul_int64]
-ATSinline()
-atstype_int64
-atspre_g0int_div_int64
-  (atstype_int64 x1, atstype_int64 x2) { return (x1 / x2) ; }
-// end of [atspre_g0int_div_int64]
-ATSinline()
-atstype_int64
-atspre_g0int_mod_int64
-  (atstype_int64 x1, atstype_int64 x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_mod_int64]
-ATSinline()
-atstype_int64
-atspre_g0int_nmod_int64
-  (atstype_int64 x1, atstype_int64 x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_nmod_int64]
-ATSinline()
-atstype_int64
-atspre_g0int_asl_int64
-  (atstype_int64 x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0int_asl_int64]
-ATSinline()
-atstype_int64
-atspre_g0int_asr_int64
-  (atstype_int64 x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0int_asr_int64]
-ATSinline()
-atstype_bool
-atspre_g0int_lt_int64
-(
-  atstype_int64 x1, atstype_int64 x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lt_int64]
-ATSinline()
-atstype_bool
-atspre_g0int_lte_int64
-(
-  atstype_int64 x1, atstype_int64 x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lte_int64]
-ATSinline()
-atstype_bool
-atspre_g0int_gt_int64
-(
-  atstype_int64 x1, atstype_int64 x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gt_int64]
-ATSinline()
-atstype_bool
-atspre_g0int_gte_int64
-(
-  atstype_int64 x1, atstype_int64 x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gte_int64]
-ATSinline()
-atstype_bool
-atspre_g0int_eq_int64
-(
-  atstype_int64 x1, atstype_int64 x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_eq_int64]
-ATSinline()
-atstype_bool
-atspre_g0int_neq_int64
-(
-  atstype_int64 x1, atstype_int64 x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_neq_int64]
-ATSinline()
-atstype_int
-atspre_g0int_compare_int64
-(
-  atstype_int64 x1, atstype_int64 x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0int_compare_int64]
-ATSinline()
-atstype_int64
-atspre_g0int_max_int64
-  (atstype_int64 x1, atstype_int64 x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_max_int64]
-ATSinline()
-atstype_int64
-atspre_g0int_min_int64
-  (atstype_int64 x1, atstype_int64 x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_min_int64]
-ATSinline()
-atstype_bool
-atspre_g0int_isltz_int64 (atstype_int64 x)
-{
-  return (x < 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltz_int64]
-ATSinline()
-atstype_bool
-atspre_g0int_isltez_int64 (atstype_int64 x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltez_int64]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtz_int64 (atstype_int64 x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtz_int64]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtez_int64 (atstype_int64 x)
-{
-  return (x >= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtez_int64]
-ATSinline()
-atstype_bool
-atspre_g0int_iseqz_int64 (atstype_int64 x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_iseqz_int64]
-ATSinline()
-atstype_bool
-atspre_g0int_isneqz_int64 (atstype_int64 x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isneqz_int64]
-//
-/* ****** ****** */
-//
-#define \
-atspre_g0int2uint_int8_uint(x) ((atstype_uint)(x))
-#define \
-atspre_g0int2uint_int16_uint(x) ((atstype_uint)(x))
-#define \
-atspre_g0int2uint_int32_uint(x) ((atstype_uint)(x))
-#define \
-atspre_g0int2uint_int64_uint(x) ((atstype_uint)(x))
-//
-#define \
-atspre_g0uint2int_uint8_int(x) ((atstype_int)(x))
-#define \
-atspre_g0uint2int_uint16_int(x) ((atstype_int)(x))
-#define \
-atspre_g0uint2int_uint32_int(x) ((atstype_int)(x))
-#define \
-atspre_g0uint2int_uint64_int(x) ((atstype_int)(x))
-//
-#define \
-atspre_g0uint2uint_uint8_uint(x) ((atstype_uint)(x))
-#define \
-atspre_g0uint2uint_uint16_uint(x) ((atstype_uint)(x))
-#define \
-atspre_g0uint2uint_uint32_uint(x) ((atstype_uint)(x))
-#define \
-atspre_g0uint2uint_uint64_uint(x) ((atstype_uint)(x))
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_uint8
-atspre_g0uint_succ_uint8
-  (atstype_uint8 x) { return (x + 1) ; }
-// end of [atspre_g0uint_succ_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_pred_uint8
-  (atstype_uint8 x) { return (x - 1) ; }
-// end of [atspre_g0uint_pred_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_half_uint8
-  (atstype_uint8 x) { return (x >> 1) ; }
-// end of [atspre_g0uint_half_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_add_uint8
-  (atstype_uint8 x1, atstype_uint8 x2) { return (x1 + x2) ; }
-// end of [atspre_g0uint_add_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_sub_uint8
-  (atstype_uint8 x1, atstype_uint8 x2) { return (x1 - x2) ; }
-// end of [atspre_g0uint_sub_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_mul_uint8
-  (atstype_uint8 x1, atstype_uint8 x2) { return (x1 * x2) ; }
-// end of [atspre_g0uint_mul_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_div_uint8
-  (atstype_uint8 x1, atstype_uint8 x2) { return (x1 / x2) ; }
-// end of [atspre_g0uint_div_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_mod_uint8
-  (atstype_uint8 x1, atstype_uint8 x2) { return (x1 % x2) ; }
-// end of [atspre_g0uint_mod_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_lsl_uint8
-  (atstype_uint8 x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0uint_lsl_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_lsr_uint8
-  (atstype_uint8 x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0uint_lsr_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_lnot_uint8
-  (atstype_uint8 x) { return ~(x) ; }
-// end of [atspre_g0uint_lnot_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_lor_uint8
-  (atstype_uint8 x, atstype_uint8 y) { return (x | y) ; }
-// end of [atspre_g0uint_uint8_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_land_uint8
-  (atstype_uint8 x, atstype_uint8 y) { return (x & y) ; }
-// end of [atspre_g0uint_uint8_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_lxor_uint8
-  (atstype_uint8 x, atstype_uint8 y) { return (x ^ y) ; }
-// end of [atspre_g0uint_uint8_uint8]
-ATSinline()
-atstype_bool
-atspre_g0uint_lt_uint8
-(
-  atstype_uint8 x1, atstype_uint8 x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lt_uint8]
-ATSinline()
-atstype_bool
-atspre_g0uint_lte_uint8
-(
-  atstype_uint8 x1, atstype_uint8 x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lte_uint8]
-ATSinline()
-atstype_bool
-atspre_g0uint_gt_uint8
-(
-  atstype_uint8 x1, atstype_uint8 x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gt_uint8]
-ATSinline()
-atstype_bool
-atspre_g0uint_gte_uint8
-(
-  atstype_uint8 x1, atstype_uint8 x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gte_uint8]
-ATSinline()
-atstype_bool
-atspre_g0uint_eq_uint8
-(
-  atstype_uint8 x1, atstype_uint8 x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_eq_uint8]
-ATSinline()
-atstype_bool
-atspre_g0uint_neq_uint8
-(
-  atstype_uint8 x1, atstype_uint8 x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_neq_uint8]
-ATSinline()
-atstype_int
-atspre_g0uint_compare_uint8
-(
-  atstype_uint8 x1, atstype_uint8 x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0uint_compare_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_max_uint8
-  (atstype_uint8 x1, atstype_uint8 x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_max_uint8]
-ATSinline()
-atstype_uint8
-atspre_g0uint_min_uint8
-  (atstype_uint8 x1, atstype_uint8 x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_min_uint8]
-ATSinline()
-atstype_bool
-atspre_g0uint_isltez_uint8 (atstype_uint8 x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isltez_uint8]
-ATSinline()
-atstype_bool
-atspre_g0uint_isgtz_uint8 (atstype_uint8 x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isgtz_uint8]
-ATSinline()
-atstype_bool
-atspre_g0uint_iseqz_uint8 (atstype_uint8 x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_iseqz_uint8]
-ATSinline()
-atstype_bool
-atspre_g0uint_isneqz_uint8 (atstype_uint8 x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isneqz_uint8]
-ATSinline()
-atstype_uint16
-atspre_g0uint_succ_uint16
-  (atstype_uint16 x) { return (x + 1) ; }
-// end of [atspre_g0uint_succ_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_pred_uint16
-  (atstype_uint16 x) { return (x - 1) ; }
-// end of [atspre_g0uint_pred_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_half_uint16
-  (atstype_uint16 x) { return (x >> 1) ; }
-// end of [atspre_g0uint_half_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_add_uint16
-  (atstype_uint16 x1, atstype_uint16 x2) { return (x1 + x2) ; }
-// end of [atspre_g0uint_add_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_sub_uint16
-  (atstype_uint16 x1, atstype_uint16 x2) { return (x1 - x2) ; }
-// end of [atspre_g0uint_sub_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_mul_uint16
-  (atstype_uint16 x1, atstype_uint16 x2) { return (x1 * x2) ; }
-// end of [atspre_g0uint_mul_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_div_uint16
-  (atstype_uint16 x1, atstype_uint16 x2) { return (x1 / x2) ; }
-// end of [atspre_g0uint_div_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_mod_uint16
-  (atstype_uint16 x1, atstype_uint16 x2) { return (x1 % x2) ; }
-// end of [atspre_g0uint_mod_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_lsl_uint16
-  (atstype_uint16 x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0uint_lsl_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_lsr_uint16
-  (atstype_uint16 x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0uint_lsr_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_lnot_uint16
-  (atstype_uint16 x) { return ~(x) ; }
-// end of [atspre_g0uint_lnot_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_lor_uint16
-  (atstype_uint16 x, atstype_uint16 y) { return (x | y) ; }
-// end of [atspre_g0uint_uint16_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_land_uint16
-  (atstype_uint16 x, atstype_uint16 y) { return (x & y) ; }
-// end of [atspre_g0uint_uint16_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_lxor_uint16
-  (atstype_uint16 x, atstype_uint16 y) { return (x ^ y) ; }
-// end of [atspre_g0uint_uint16_uint16]
-ATSinline()
-atstype_bool
-atspre_g0uint_lt_uint16
-(
-  atstype_uint16 x1, atstype_uint16 x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lt_uint16]
-ATSinline()
-atstype_bool
-atspre_g0uint_lte_uint16
-(
-  atstype_uint16 x1, atstype_uint16 x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lte_uint16]
-ATSinline()
-atstype_bool
-atspre_g0uint_gt_uint16
-(
-  atstype_uint16 x1, atstype_uint16 x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gt_uint16]
-ATSinline()
-atstype_bool
-atspre_g0uint_gte_uint16
-(
-  atstype_uint16 x1, atstype_uint16 x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gte_uint16]
-ATSinline()
-atstype_bool
-atspre_g0uint_eq_uint16
-(
-  atstype_uint16 x1, atstype_uint16 x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_eq_uint16]
-ATSinline()
-atstype_bool
-atspre_g0uint_neq_uint16
-(
-  atstype_uint16 x1, atstype_uint16 x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_neq_uint16]
-ATSinline()
-atstype_int
-atspre_g0uint_compare_uint16
-(
-  atstype_uint16 x1, atstype_uint16 x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0uint_compare_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_max_uint16
-  (atstype_uint16 x1, atstype_uint16 x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_max_uint16]
-ATSinline()
-atstype_uint16
-atspre_g0uint_min_uint16
-  (atstype_uint16 x1, atstype_uint16 x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_min_uint16]
-ATSinline()
-atstype_bool
-atspre_g0uint_isltez_uint16 (atstype_uint16 x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isltez_uint16]
-ATSinline()
-atstype_bool
-atspre_g0uint_isgtz_uint16 (atstype_uint16 x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isgtz_uint16]
-ATSinline()
-atstype_bool
-atspre_g0uint_iseqz_uint16 (atstype_uint16 x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_iseqz_uint16]
-ATSinline()
-atstype_bool
-atspre_g0uint_isneqz_uint16 (atstype_uint16 x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isneqz_uint16]
-ATSinline()
-atstype_uint32
-atspre_g0uint_succ_uint32
-  (atstype_uint32 x) { return (x + 1) ; }
-// end of [atspre_g0uint_succ_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_pred_uint32
-  (atstype_uint32 x) { return (x - 1) ; }
-// end of [atspre_g0uint_pred_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_half_uint32
-  (atstype_uint32 x) { return (x >> 1) ; }
-// end of [atspre_g0uint_half_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_add_uint32
-  (atstype_uint32 x1, atstype_uint32 x2) { return (x1 + x2) ; }
-// end of [atspre_g0uint_add_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_sub_uint32
-  (atstype_uint32 x1, atstype_uint32 x2) { return (x1 - x2) ; }
-// end of [atspre_g0uint_sub_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_mul_uint32
-  (atstype_uint32 x1, atstype_uint32 x2) { return (x1 * x2) ; }
-// end of [atspre_g0uint_mul_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_div_uint32
-  (atstype_uint32 x1, atstype_uint32 x2) { return (x1 / x2) ; }
-// end of [atspre_g0uint_div_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_mod_uint32
-  (atstype_uint32 x1, atstype_uint32 x2) { return (x1 % x2) ; }
-// end of [atspre_g0uint_mod_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_lsl_uint32
-  (atstype_uint32 x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0uint_lsl_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_lsr_uint32
-  (atstype_uint32 x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0uint_lsr_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_lnot_uint32
-  (atstype_uint32 x) { return ~(x) ; }
-// end of [atspre_g0uint_lnot_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_lor_uint32
-  (atstype_uint32 x, atstype_uint32 y) { return (x | y) ; }
-// end of [atspre_g0uint_uint32_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_land_uint32
-  (atstype_uint32 x, atstype_uint32 y) { return (x & y) ; }
-// end of [atspre_g0uint_uint32_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_lxor_uint32
-  (atstype_uint32 x, atstype_uint32 y) { return (x ^ y) ; }
-// end of [atspre_g0uint_uint32_uint32]
-ATSinline()
-atstype_bool
-atspre_g0uint_lt_uint32
-(
-  atstype_uint32 x1, atstype_uint32 x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lt_uint32]
-ATSinline()
-atstype_bool
-atspre_g0uint_lte_uint32
-(
-  atstype_uint32 x1, atstype_uint32 x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lte_uint32]
-ATSinline()
-atstype_bool
-atspre_g0uint_gt_uint32
-(
-  atstype_uint32 x1, atstype_uint32 x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gt_uint32]
-ATSinline()
-atstype_bool
-atspre_g0uint_gte_uint32
-(
-  atstype_uint32 x1, atstype_uint32 x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gte_uint32]
-ATSinline()
-atstype_bool
-atspre_g0uint_eq_uint32
-(
-  atstype_uint32 x1, atstype_uint32 x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_eq_uint32]
-ATSinline()
-atstype_bool
-atspre_g0uint_neq_uint32
-(
-  atstype_uint32 x1, atstype_uint32 x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_neq_uint32]
-ATSinline()
-atstype_int
-atspre_g0uint_compare_uint32
-(
-  atstype_uint32 x1, atstype_uint32 x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0uint_compare_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_max_uint32
-  (atstype_uint32 x1, atstype_uint32 x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_max_uint32]
-ATSinline()
-atstype_uint32
-atspre_g0uint_min_uint32
-  (atstype_uint32 x1, atstype_uint32 x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_min_uint32]
-ATSinline()
-atstype_bool
-atspre_g0uint_isltez_uint32 (atstype_uint32 x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isltez_uint32]
-ATSinline()
-atstype_bool
-atspre_g0uint_isgtz_uint32 (atstype_uint32 x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isgtz_uint32]
-ATSinline()
-atstype_bool
-atspre_g0uint_iseqz_uint32 (atstype_uint32 x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_iseqz_uint32]
-ATSinline()
-atstype_bool
-atspre_g0uint_isneqz_uint32 (atstype_uint32 x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isneqz_uint32]
-ATSinline()
-atstype_uint64
-atspre_g0uint_succ_uint64
-  (atstype_uint64 x) { return (x + 1) ; }
-// end of [atspre_g0uint_succ_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_pred_uint64
-  (atstype_uint64 x) { return (x - 1) ; }
-// end of [atspre_g0uint_pred_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_half_uint64
-  (atstype_uint64 x) { return (x >> 1) ; }
-// end of [atspre_g0uint_half_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_add_uint64
-  (atstype_uint64 x1, atstype_uint64 x2) { return (x1 + x2) ; }
-// end of [atspre_g0uint_add_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_sub_uint64
-  (atstype_uint64 x1, atstype_uint64 x2) { return (x1 - x2) ; }
-// end of [atspre_g0uint_sub_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_mul_uint64
-  (atstype_uint64 x1, atstype_uint64 x2) { return (x1 * x2) ; }
-// end of [atspre_g0uint_mul_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_div_uint64
-  (atstype_uint64 x1, atstype_uint64 x2) { return (x1 / x2) ; }
-// end of [atspre_g0uint_div_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_mod_uint64
-  (atstype_uint64 x1, atstype_uint64 x2) { return (x1 % x2) ; }
-// end of [atspre_g0uint_mod_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_lsl_uint64
-  (atstype_uint64 x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0uint_lsl_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_lsr_uint64
-  (atstype_uint64 x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0uint_lsr_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_lnot_uint64
-  (atstype_uint64 x) { return ~(x) ; }
-// end of [atspre_g0uint_lnot_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_lor_uint64
-  (atstype_uint64 x, atstype_uint64 y) { return (x | y) ; }
-// end of [atspre_g0uint_uint64_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_land_uint64
-  (atstype_uint64 x, atstype_uint64 y) { return (x & y) ; }
-// end of [atspre_g0uint_uint64_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_lxor_uint64
-  (atstype_uint64 x, atstype_uint64 y) { return (x ^ y) ; }
-// end of [atspre_g0uint_uint64_uint64]
-ATSinline()
-atstype_bool
-atspre_g0uint_lt_uint64
-(
-  atstype_uint64 x1, atstype_uint64 x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lt_uint64]
-ATSinline()
-atstype_bool
-atspre_g0uint_lte_uint64
-(
-  atstype_uint64 x1, atstype_uint64 x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lte_uint64]
-ATSinline()
-atstype_bool
-atspre_g0uint_gt_uint64
-(
-  atstype_uint64 x1, atstype_uint64 x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gt_uint64]
-ATSinline()
-atstype_bool
-atspre_g0uint_gte_uint64
-(
-  atstype_uint64 x1, atstype_uint64 x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gte_uint64]
-ATSinline()
-atstype_bool
-atspre_g0uint_eq_uint64
-(
-  atstype_uint64 x1, atstype_uint64 x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_eq_uint64]
-ATSinline()
-atstype_bool
-atspre_g0uint_neq_uint64
-(
-  atstype_uint64 x1, atstype_uint64 x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_neq_uint64]
-ATSinline()
-atstype_int
-atspre_g0uint_compare_uint64
-(
-  atstype_uint64 x1, atstype_uint64 x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0uint_compare_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_max_uint64
-  (atstype_uint64 x1, atstype_uint64 x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_max_uint64]
-ATSinline()
-atstype_uint64
-atspre_g0uint_min_uint64
-  (atstype_uint64 x1, atstype_uint64 x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_min_uint64]
-ATSinline()
-atstype_bool
-atspre_g0uint_isltez_uint64 (atstype_uint64 x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isltez_uint64]
-ATSinline()
-atstype_bool
-atspre_g0uint_isgtz_uint64 (atstype_uint64 x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isgtz_uint64]
-ATSinline()
-atstype_bool
-atspre_g0uint_iseqz_uint64 (atstype_uint64 x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_iseqz_uint64]
-ATSinline()
-atstype_bool
-atspre_g0uint_isneqz_uint64 (atstype_uint64 x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isneqz_uint64]
-//
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER_FIXED
-
-/* ****** ****** */
-
-/* end of [integer_fixed.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_long.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_long.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_long.cats
+++ /dev/null
@@ -1,124 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/integer_long.atxt
-** Time of generation: Thu Mar 22 01:15:13 2018
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_INTEGER_LONG
-#define ATSLIB_PRELUDE_CATS_INTEGER_LONG
-
-/* ****** ****** */
-//
-#define \
-atspre_g0int2int_int_lint(x) ((atstype_lint)(x))
-#define \
-atspre_g1int2int_int_lint(x) atspre_g0int2int_int_lint(x)
-//
-#define \
-atspre_g0int2int_int_llint(x) ((atstype_llint)(x))
-#define \
-atspre_g1int2int_int_llint(x) atspre_g0int2int_int_llint(x)
-//
-/* ****** ****** */
-//
-#define \
-atspre_g0int2int_lint_int(x) ((atstype_int)(x))
-#define \
-atspre_g1int2int_lint_int(x) atspre_g0int2int_lint_int(x)
-//
-#define \
-atspre_g0int2int_lint_lint(x) ((atstype_lint)(x))
-#define \
-atspre_g1int2int_lint_lint(x) atspre_g0int2int_lint_lint(x)
-//
-#define \
-atspre_g0int2int_lint_llint(x) ((atstype_llint)(x))
-#define \
-atspre_g1int2int_lint_llint(x) atspre_g0int2int_lint_llint(x)
-//
-/* ****** ****** */
-//
-#define \
-atspre_g0int2uint_int_ulint(x) ((atstype_ulint)(x))
-#define \
-atspre_g1int2uint_int_ulint(x) atspre_g0int2uint_int_ulint(x)
-//
-#define \
-atspre_g0int2uint_int_ullint(x) ((atstype_ullint)(x))
-#define \
-atspre_g1int2uint_int_ullint(x) atspre_g0int2uint_int_ullint(x)
-//
-#define \
-atspre_g0int2uint_lint_ulint(x) ((atstype_ulint)(x))
-#define \
-atspre_g1int2uint_lint_ulint(x) atspre_g0int2uint_lint_ulint(x)
-//
-#define \
-atspre_g0int2uint_lint_ullint(x) ((atstype_ullint)(x))
-#define \
-atspre_g1int2uint_lint_ullint(x) atspre_g0int2uint_lint_ullint(x)
-//
-#define \
-atspre_g0int2uint_llint_ullint(x) ((atstype_ullint)(x))
-#define \
-atspre_g1int2uint_llint_ullint(x) atspre_g0int2uint_llint_ullint(x)
-//
-/* ****** ****** */
-
-#define atspre_g0uint2int_uint_lint(x) ((atstype_lint)(x))
-#define atspre_g0uint2int_uint_llint(x) ((atstype_llint)(x))
-#define atspre_g1uint2int_uint_int atspre_g0uint2int_uint_int
-#define atspre_g1uint2int_uint_lint atspre_g0uint2int_uint_lint
-#define atspre_g1uint2int_uint_llint atspre_g0uint2int_uint_llint
-#define atspre_g0uint2uint_uint_ulint(x) ((atstype_ulint)(x))
-#define atspre_g0uint2uint_uint_ullint(x) ((atstype_ullint)(x))
-#define atspre_g1uint2uint_uint_ulint atspre_g0uint2uint_uint_ulint
-#define atspre_g1uint2uint_uint_ullint atspre_g0uint2uint_uint_ullint
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER_LONG
-
-/* ****** ****** */
-
-/* end of [integer_long.cats] */
-
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_ptr.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_ptr.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_ptr.cats
+++ /dev/null
@@ -1,475 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/integer_ptr.atxt
-** Time of generation: Thu Mar 22 01:15:16 2018
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_INTEGER_PTR
-#define ATSLIB_PRELUDE_CATS_INTEGER_PTR
-
-/* ****** ****** */
-
-#include <stdint.h>
-
-/* ****** ****** */
-
-typedef intptr_t atstype_intptr ;
-typedef uintptr_t atstype_uintptr ;
-
-/* ****** ****** */
-//
-#define \
-atspre_g0int2int_int_intptr(x) ((atstype_intptr)(x))
-#define \
-atspre_g0int2int_lint_intptr(x) ((atstype_intptr)(x))
-//
-#define \
-atspre_g0int2uint_int_uintptr(x) ((atstype_uintptr)(x))
-//
-#define \
-atspre_g0uint2uint_uint_uintptr(x) ((atstype_uintptr)(x))
-#define \
-atspre_g0uint2uint_ulint_uintptr(x) ((atstype_uintptr)(x))
-//
-/* ****** ****** */
-//
-#define \
-atspre_g1int2int_int_intptr atspre_g0int2int_int_intptr
-#define \
-atspre_g1int2int_lint_intptr atspre_g0int2int_lint_intptr
-//
-#define \
-atspre_g1int2uint_int_uintptr atspre_g0int2uint_int_uintptr
-//
-#define \
-atspre_g1uint2uint_uint_uintptr atspre_g0uint2uint_uint_uintptr
-#define \
-atspre_g1uint2uint_ulint_uintptr atspre_g0uint2uint_ulint_uintptr
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_intptr
-atspre_g0int_neg_intptr
-  (atstype_intptr x) { return (-x) ; }
-// end of [atspre_g0int_neg_intptr]
-ATSinline()
-atstype_intptr
-atspre_g0int_abs_intptr
-  (atstype_intptr x) { return (x >= 0 ? x : -x) ; }
-// end of [atspre_g0int_abs_intptr]
-ATSinline()
-atstype_intptr
-atspre_g0int_succ_intptr
-  (atstype_intptr x) { return (x + 1) ; }
-// end of [atspre_g0int_succ_intptr]
-ATSinline()
-atstype_intptr
-atspre_g0int_pred_intptr
-  (atstype_intptr x) { return (x - 1) ; }
-// end of [atspre_g0int_pred_intptr]
-ATSinline()
-atstype_intptr
-atspre_g0int_half_intptr
-  (atstype_intptr x) { return (x / 2) ; }
-// end of [atspre_g0int_half_intptr]
-ATSinline()
-atstype_intptr
-atspre_g0int_add_intptr
-  (atstype_intptr x1, atstype_intptr x2) { return (x1 + x2) ; }
-// end of [atspre_g0int_add_intptr]
-ATSinline()
-atstype_intptr
-atspre_g0int_sub_intptr
-  (atstype_intptr x1, atstype_intptr x2) { return (x1 - x2) ; }
-// end of [atspre_g0int_sub_intptr]
-ATSinline()
-atstype_intptr
-atspre_g0int_mul_intptr
-  (atstype_intptr x1, atstype_intptr x2) { return (x1 * x2) ; }
-// end of [atspre_g0int_mul_intptr]
-ATSinline()
-atstype_intptr
-atspre_g0int_div_intptr
-  (atstype_intptr x1, atstype_intptr x2) { return (x1 / x2) ; }
-// end of [atspre_g0int_div_intptr]
-ATSinline()
-atstype_intptr
-atspre_g0int_mod_intptr
-  (atstype_intptr x1, atstype_intptr x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_mod_intptr]
-ATSinline()
-atstype_intptr
-atspre_g0int_nmod_intptr
-  (atstype_intptr x1, atstype_intptr x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_nmod_intptr]
-ATSinline()
-atstype_intptr
-atspre_g0int_asl_intptr
-  (atstype_intptr x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0int_asl_intptr]
-ATSinline()
-atstype_intptr
-atspre_g0int_asr_intptr
-  (atstype_intptr x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0int_asr_intptr]
-ATSinline()
-atstype_bool
-atspre_g0int_lt_intptr
-(
-  atstype_intptr x1, atstype_intptr x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lt_intptr]
-ATSinline()
-atstype_bool
-atspre_g0int_lte_intptr
-(
-  atstype_intptr x1, atstype_intptr x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lte_intptr]
-ATSinline()
-atstype_bool
-atspre_g0int_gt_intptr
-(
-  atstype_intptr x1, atstype_intptr x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gt_intptr]
-ATSinline()
-atstype_bool
-atspre_g0int_gte_intptr
-(
-  atstype_intptr x1, atstype_intptr x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gte_intptr]
-ATSinline()
-atstype_bool
-atspre_g0int_eq_intptr
-(
-  atstype_intptr x1, atstype_intptr x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_eq_intptr]
-ATSinline()
-atstype_bool
-atspre_g0int_neq_intptr
-(
-  atstype_intptr x1, atstype_intptr x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_neq_intptr]
-ATSinline()
-atstype_int
-atspre_g0int_compare_intptr
-(
-  atstype_intptr x1, atstype_intptr x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0int_compare_intptr]
-ATSinline()
-atstype_intptr
-atspre_g0int_max_intptr
-  (atstype_intptr x1, atstype_intptr x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_max_intptr]
-ATSinline()
-atstype_intptr
-atspre_g0int_min_intptr
-  (atstype_intptr x1, atstype_intptr x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_min_intptr]
-ATSinline()
-atstype_bool
-atspre_g0int_isltz_intptr (atstype_intptr x)
-{
-  return (x < 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltz_intptr]
-ATSinline()
-atstype_bool
-atspre_g0int_isltez_intptr (atstype_intptr x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltez_intptr]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtz_intptr (atstype_intptr x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtz_intptr]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtez_intptr (atstype_intptr x)
-{
-  return (x >= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtez_intptr]
-ATSinline()
-atstype_bool
-atspre_g0int_iseqz_intptr (atstype_intptr x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_iseqz_intptr]
-ATSinline()
-atstype_bool
-atspre_g0int_isneqz_intptr (atstype_intptr x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isneqz_intptr]
-//
-#define atspre_g1int_abs_intptr atspre_g0int_abs_intptr
-#define atspre_g1int_neg_intptr atspre_g0int_neg_intptr
-#define atspre_g1int_succ_intptr atspre_g0int_succ_intptr
-#define atspre_g1int_pred_intptr atspre_g0int_pred_intptr
-#define atspre_g1int_half_intptr atspre_g0int_half_intptr
-#define atspre_g1int_add_intptr atspre_g0int_add_intptr
-#define atspre_g1int_sub_intptr atspre_g0int_sub_intptr
-#define atspre_g1int_mul_intptr atspre_g0int_mul_intptr
-#define atspre_g1int_div_intptr atspre_g0int_div_intptr
-#define atspre_g1int_nmod_intptr atspre_g0int_nmod_intptr
-#define atspre_g1int_lt_intptr atspre_g0int_lt_intptr
-#define atspre_g1int_lte_intptr atspre_g0int_lte_intptr
-#define atspre_g1int_gt_intptr atspre_g0int_gt_intptr
-#define atspre_g1int_gte_intptr atspre_g0int_gte_intptr
-#define atspre_g1int_eq_intptr atspre_g0int_eq_intptr
-#define atspre_g1int_neq_intptr atspre_g0int_neq_intptr
-#define atspre_g1int_compare_intptr atspre_g0int_compare_intptr
-#define atspre_g1int_max_intptr atspre_g0int_max_intptr
-#define atspre_g1int_min_intptr atspre_g0int_min_intptr
-#define atspre_g1int_isltz_intptr atspre_g0int_isltz_intptr
-#define atspre_g1int_isltez_intptr atspre_g0int_isltez_intptr
-#define atspre_g1int_isgtz_intptr atspre_g0int_isgtz_intptr
-#define atspre_g1int_isgtez_intptr atspre_g0int_isgtez_intptr
-#define atspre_g1int_iseqz_intptr atspre_g0int_iseqz_intptr
-#define atspre_g1int_isneqz_intptr atspre_g0int_isneqz_intptr
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_uintptr
-atspre_g0uint_succ_uintptr
-  (atstype_uintptr x) { return (x + 1) ; }
-// end of [atspre_g0uint_succ_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_pred_uintptr
-  (atstype_uintptr x) { return (x - 1) ; }
-// end of [atspre_g0uint_pred_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_half_uintptr
-  (atstype_uintptr x) { return (x >> 1) ; }
-// end of [atspre_g0uint_half_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_add_uintptr
-  (atstype_uintptr x1, atstype_uintptr x2) { return (x1 + x2) ; }
-// end of [atspre_g0uint_add_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_sub_uintptr
-  (atstype_uintptr x1, atstype_uintptr x2) { return (x1 - x2) ; }
-// end of [atspre_g0uint_sub_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_mul_uintptr
-  (atstype_uintptr x1, atstype_uintptr x2) { return (x1 * x2) ; }
-// end of [atspre_g0uint_mul_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_div_uintptr
-  (atstype_uintptr x1, atstype_uintptr x2) { return (x1 / x2) ; }
-// end of [atspre_g0uint_div_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_mod_uintptr
-  (atstype_uintptr x1, atstype_uintptr x2) { return (x1 % x2) ; }
-// end of [atspre_g0uint_mod_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_lsl_uintptr
-  (atstype_uintptr x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0uint_lsl_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_lsr_uintptr
-  (atstype_uintptr x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0uint_lsr_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_lnot_uintptr
-  (atstype_uintptr x) { return ~(x) ; }
-// end of [atspre_g0uint_lnot_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_lor_uintptr
-  (atstype_uintptr x, atstype_uintptr y) { return (x | y) ; }
-// end of [atspre_g0uint_uintptr_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_land_uintptr
-  (atstype_uintptr x, atstype_uintptr y) { return (x & y) ; }
-// end of [atspre_g0uint_uintptr_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_lxor_uintptr
-  (atstype_uintptr x, atstype_uintptr y) { return (x ^ y) ; }
-// end of [atspre_g0uint_uintptr_uintptr]
-ATSinline()
-atstype_bool
-atspre_g0uint_lt_uintptr
-(
-  atstype_uintptr x1, atstype_uintptr x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lt_uintptr]
-ATSinline()
-atstype_bool
-atspre_g0uint_lte_uintptr
-(
-  atstype_uintptr x1, atstype_uintptr x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lte_uintptr]
-ATSinline()
-atstype_bool
-atspre_g0uint_gt_uintptr
-(
-  atstype_uintptr x1, atstype_uintptr x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gt_uintptr]
-ATSinline()
-atstype_bool
-atspre_g0uint_gte_uintptr
-(
-  atstype_uintptr x1, atstype_uintptr x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gte_uintptr]
-ATSinline()
-atstype_bool
-atspre_g0uint_eq_uintptr
-(
-  atstype_uintptr x1, atstype_uintptr x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_eq_uintptr]
-ATSinline()
-atstype_bool
-atspre_g0uint_neq_uintptr
-(
-  atstype_uintptr x1, atstype_uintptr x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_neq_uintptr]
-ATSinline()
-atstype_int
-atspre_g0uint_compare_uintptr
-(
-  atstype_uintptr x1, atstype_uintptr x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0uint_compare_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_max_uintptr
-  (atstype_uintptr x1, atstype_uintptr x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_max_uintptr]
-ATSinline()
-atstype_uintptr
-atspre_g0uint_min_uintptr
-  (atstype_uintptr x1, atstype_uintptr x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_min_uintptr]
-ATSinline()
-atstype_bool
-atspre_g0uint_isltez_uintptr (atstype_uintptr x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isltez_uintptr]
-ATSinline()
-atstype_bool
-atspre_g0uint_isgtz_uintptr (atstype_uintptr x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isgtz_uintptr]
-ATSinline()
-atstype_bool
-atspre_g0uint_iseqz_uintptr (atstype_uintptr x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_iseqz_uintptr]
-ATSinline()
-atstype_bool
-atspre_g0uint_isneqz_uintptr (atstype_uintptr x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isneqz_uintptr]
-//
-#define atspre_g1uint_succ_uintptr atspre_g0uint_succ_uintptr
-#define atspre_g1uint_pred_uintptr atspre_g0uint_pred_uintptr
-#define atspre_g1uint_half_uintptr atspre_g0uint_half_uintptr
-#define atspre_g1uint_add_uintptr atspre_g0uint_add_uintptr
-#define atspre_g1uint_sub_uintptr atspre_g0uint_sub_uintptr
-#define atspre_g1uint_mul_uintptr atspre_g0uint_mul_uintptr
-#define atspre_g1uint_div_uintptr atspre_g0uint_div_uintptr
-#define atspre_g1uint_mod_uintptr atspre_g0uint_mod_uintptr
-#define atspre_g1uint_lt_uintptr atspre_g0uint_lt_uintptr
-#define atspre_g1uint_lte_uintptr atspre_g0uint_lte_uintptr
-#define atspre_g1uint_gt_uintptr atspre_g0uint_gt_uintptr
-#define atspre_g1uint_gte_uintptr atspre_g0uint_gte_uintptr
-#define atspre_g1uint_eq_uintptr atspre_g0uint_eq_uintptr
-#define atspre_g1uint_neq_uintptr atspre_g0uint_neq_uintptr
-#define atspre_g1uint_compare_uintptr atspre_g0uint_compare_uintptr
-#define atspre_g1uint_max_uintptr atspre_g0uint_max_uintptr
-#define atspre_g1uint_min_uintptr atspre_g0uint_min_uintptr
-#define atspre_g1uint_isltez_uintptr atspre_g0uint_isltez_uintptr
-#define atspre_g1uint_isgtz_uintptr atspre_g0uint_isgtz_uintptr
-#define atspre_g1uint_iseqz_uintptr atspre_g0uint_iseqz_uintptr
-#define atspre_g1uint_isneqz_uintptr atspre_g0uint_isneqz_uintptr
-//
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER_PTR
-
-/* ****** ****** */
-
-/* end of [integer_ptr.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_short.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_short.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_short.cats
+++ /dev/null
@@ -1,479 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/integer_short.atxt
-** Time of generation: Thu Mar 22 01:15:13 2018
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_INTEGER_SHORT
-#define ATSLIB_PRELUDE_CATS_INTEGER_SHORT
-
-/* ****** ****** */
-//
-#define \
-atspre_g0int2int_int_sint(x) ((atstype_sint)(x))
-#define \
-atspre_g1int2int_int_sint(x) atspre_g0int2int_int_sint(x)
-#define \
-atspre_g0uint2int_uint_sint(x) ((atstype_sint)(x))
-#define \
-atspre_g1uint2int_uint_sint(x) atspre_g0uint2int_uint_sint(x)
-//
-#define \
-atspre_g0int2uint_int_usint(x) ((atstype_usint)(x))
-#define \
-atspre_g1int2uint_int_usint(x) atspre_g0int2uint_int_usint(x)
-#define \
-atspre_g0uint2uint_uint_usint(x) ((atstype_usint)(x))
-#define \
-atspre_g1uint2uint_uint_usint(x) atspre_g0uint2uint_uint_usint(x)
-//
-/* ****** ****** */
-//
-#define \
-atspre_g0int2uint_sint_usint(x) ((atstype_usint)(x))
-#define \
-atspre_g1int2uint_sint_usint(x) atspre_g0int2uint_sint_usint(x)
-#define \
-atspre_g0uint2int_usint_sint(x) ((atstype_usint)(x))
-#define \
-atspre_g1uint2int_usint_sint(x) atspre_g0uint2int_sint_usint(x)
-//
-/* ****** ****** */
-//
-#define \
-atspre_g0int2int_sint_int(x) ((atstype_int)(x))
-#define \
-atspre_g1int2int_sint_int(x) atspre_g0int2int_sint_int(x)
-//
-#define \
-atspre_g0uint2uint_usint_uint(x) ((atstype_uint)(x))
-#define \
-atspre_g1uint2uint_usint_uint(x) atspre_g0uint2uint_usint_uint(x)
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_sint
-atspre_g0int_neg_sint
-  (atstype_sint x) { return (-x) ; }
-// end of [atspre_g0int_neg_sint]
-ATSinline()
-atstype_sint
-atspre_g0int_abs_sint
-  (atstype_sint x) { return (x >= 0 ? x : -x) ; }
-// end of [atspre_g0int_abs_sint]
-ATSinline()
-atstype_sint
-atspre_g0int_succ_sint
-  (atstype_sint x) { return (x + 1) ; }
-// end of [atspre_g0int_succ_sint]
-ATSinline()
-atstype_sint
-atspre_g0int_pred_sint
-  (atstype_sint x) { return (x - 1) ; }
-// end of [atspre_g0int_pred_sint]
-ATSinline()
-atstype_sint
-atspre_g0int_half_sint
-  (atstype_sint x) { return (x / 2) ; }
-// end of [atspre_g0int_half_sint]
-ATSinline()
-atstype_sint
-atspre_g0int_add_sint
-  (atstype_sint x1, atstype_sint x2) { return (x1 + x2) ; }
-// end of [atspre_g0int_add_sint]
-ATSinline()
-atstype_sint
-atspre_g0int_sub_sint
-  (atstype_sint x1, atstype_sint x2) { return (x1 - x2) ; }
-// end of [atspre_g0int_sub_sint]
-ATSinline()
-atstype_sint
-atspre_g0int_mul_sint
-  (atstype_sint x1, atstype_sint x2) { return (x1 * x2) ; }
-// end of [atspre_g0int_mul_sint]
-ATSinline()
-atstype_sint
-atspre_g0int_div_sint
-  (atstype_sint x1, atstype_sint x2) { return (x1 / x2) ; }
-// end of [atspre_g0int_div_sint]
-ATSinline()
-atstype_sint
-atspre_g0int_mod_sint
-  (atstype_sint x1, atstype_sint x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_mod_sint]
-ATSinline()
-atstype_sint
-atspre_g0int_nmod_sint
-  (atstype_sint x1, atstype_sint x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_nmod_sint]
-ATSinline()
-atstype_sint
-atspre_g0int_asl_sint
-  (atstype_sint x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0int_asl_sint]
-ATSinline()
-atstype_sint
-atspre_g0int_asr_sint
-  (atstype_sint x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0int_asr_sint]
-ATSinline()
-atstype_bool
-atspre_g0int_lt_sint
-(
-  atstype_sint x1, atstype_sint x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lt_sint]
-ATSinline()
-atstype_bool
-atspre_g0int_lte_sint
-(
-  atstype_sint x1, atstype_sint x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lte_sint]
-ATSinline()
-atstype_bool
-atspre_g0int_gt_sint
-(
-  atstype_sint x1, atstype_sint x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gt_sint]
-ATSinline()
-atstype_bool
-atspre_g0int_gte_sint
-(
-  atstype_sint x1, atstype_sint x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gte_sint]
-ATSinline()
-atstype_bool
-atspre_g0int_eq_sint
-(
-  atstype_sint x1, atstype_sint x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_eq_sint]
-ATSinline()
-atstype_bool
-atspre_g0int_neq_sint
-(
-  atstype_sint x1, atstype_sint x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_neq_sint]
-ATSinline()
-atstype_int
-atspre_g0int_compare_sint
-(
-  atstype_sint x1, atstype_sint x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0int_compare_sint]
-ATSinline()
-atstype_sint
-atspre_g0int_max_sint
-  (atstype_sint x1, atstype_sint x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_max_sint]
-ATSinline()
-atstype_sint
-atspre_g0int_min_sint
-  (atstype_sint x1, atstype_sint x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_min_sint]
-ATSinline()
-atstype_bool
-atspre_g0int_isltz_sint (atstype_sint x)
-{
-  return (x < 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltz_sint]
-ATSinline()
-atstype_bool
-atspre_g0int_isltez_sint (atstype_sint x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltez_sint]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtz_sint (atstype_sint x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtz_sint]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtez_sint (atstype_sint x)
-{
-  return (x >= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtez_sint]
-ATSinline()
-atstype_bool
-atspre_g0int_iseqz_sint (atstype_sint x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_iseqz_sint]
-ATSinline()
-atstype_bool
-atspre_g0int_isneqz_sint (atstype_sint x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isneqz_sint]
-//
-#define atspre_g1int_abs_sint atspre_g0int_abs_sint
-#define atspre_g1int_neg_sint atspre_g0int_neg_sint
-#define atspre_g1int_succ_sint atspre_g0int_succ_sint
-#define atspre_g1int_pred_sint atspre_g0int_pred_sint
-#define atspre_g1int_half_sint atspre_g0int_half_sint
-#define atspre_g1int_add_sint atspre_g0int_add_sint
-#define atspre_g1int_sub_sint atspre_g0int_sub_sint
-#define atspre_g1int_mul_sint atspre_g0int_mul_sint
-#define atspre_g1int_div_sint atspre_g0int_div_sint
-#define atspre_g1int_nmod_sint atspre_g0int_nmod_sint
-#define atspre_g1int_lt_sint atspre_g0int_lt_sint
-#define atspre_g1int_lte_sint atspre_g0int_lte_sint
-#define atspre_g1int_gt_sint atspre_g0int_gt_sint
-#define atspre_g1int_gte_sint atspre_g0int_gte_sint
-#define atspre_g1int_eq_sint atspre_g0int_eq_sint
-#define atspre_g1int_neq_sint atspre_g0int_neq_sint
-#define atspre_g1int_compare_sint atspre_g0int_compare_sint
-#define atspre_g1int_max_sint atspre_g0int_max_sint
-#define atspre_g1int_min_sint atspre_g0int_min_sint
-#define atspre_g1int_isltz_sint atspre_g0int_isltz_sint
-#define atspre_g1int_isltez_sint atspre_g0int_isltez_sint
-#define atspre_g1int_isgtz_sint atspre_g0int_isgtz_sint
-#define atspre_g1int_isgtez_sint atspre_g0int_isgtez_sint
-#define atspre_g1int_iseqz_sint atspre_g0int_iseqz_sint
-#define atspre_g1int_isneqz_sint atspre_g0int_isneqz_sint
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_usint
-atspre_g0uint_succ_usint
-  (atstype_usint x) { return (x + 1) ; }
-// end of [atspre_g0uint_succ_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_pred_usint
-  (atstype_usint x) { return (x - 1) ; }
-// end of [atspre_g0uint_pred_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_half_usint
-  (atstype_usint x) { return (x >> 1) ; }
-// end of [atspre_g0uint_half_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_add_usint
-  (atstype_usint x1, atstype_usint x2) { return (x1 + x2) ; }
-// end of [atspre_g0uint_add_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_sub_usint
-  (atstype_usint x1, atstype_usint x2) { return (x1 - x2) ; }
-// end of [atspre_g0uint_sub_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_mul_usint
-  (atstype_usint x1, atstype_usint x2) { return (x1 * x2) ; }
-// end of [atspre_g0uint_mul_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_div_usint
-  (atstype_usint x1, atstype_usint x2) { return (x1 / x2) ; }
-// end of [atspre_g0uint_div_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_mod_usint
-  (atstype_usint x1, atstype_usint x2) { return (x1 % x2) ; }
-// end of [atspre_g0uint_mod_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_lsl_usint
-  (atstype_usint x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0uint_lsl_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_lsr_usint
-  (atstype_usint x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0uint_lsr_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_lnot_usint
-  (atstype_usint x) { return ~(x) ; }
-// end of [atspre_g0uint_lnot_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_lor_usint
-  (atstype_usint x, atstype_usint y) { return (x | y) ; }
-// end of [atspre_g0uint_usint_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_land_usint
-  (atstype_usint x, atstype_usint y) { return (x & y) ; }
-// end of [atspre_g0uint_usint_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_lxor_usint
-  (atstype_usint x, atstype_usint y) { return (x ^ y) ; }
-// end of [atspre_g0uint_usint_usint]
-ATSinline()
-atstype_bool
-atspre_g0uint_lt_usint
-(
-  atstype_usint x1, atstype_usint x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lt_usint]
-ATSinline()
-atstype_bool
-atspre_g0uint_lte_usint
-(
-  atstype_usint x1, atstype_usint x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lte_usint]
-ATSinline()
-atstype_bool
-atspre_g0uint_gt_usint
-(
-  atstype_usint x1, atstype_usint x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gt_usint]
-ATSinline()
-atstype_bool
-atspre_g0uint_gte_usint
-(
-  atstype_usint x1, atstype_usint x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gte_usint]
-ATSinline()
-atstype_bool
-atspre_g0uint_eq_usint
-(
-  atstype_usint x1, atstype_usint x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_eq_usint]
-ATSinline()
-atstype_bool
-atspre_g0uint_neq_usint
-(
-  atstype_usint x1, atstype_usint x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_neq_usint]
-ATSinline()
-atstype_int
-atspre_g0uint_compare_usint
-(
-  atstype_usint x1, atstype_usint x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0uint_compare_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_max_usint
-  (atstype_usint x1, atstype_usint x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_max_usint]
-ATSinline()
-atstype_usint
-atspre_g0uint_min_usint
-  (atstype_usint x1, atstype_usint x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_min_usint]
-ATSinline()
-atstype_bool
-atspre_g0uint_isltez_usint (atstype_usint x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isltez_usint]
-ATSinline()
-atstype_bool
-atspre_g0uint_isgtz_usint (atstype_usint x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isgtz_usint]
-ATSinline()
-atstype_bool
-atspre_g0uint_iseqz_usint (atstype_usint x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_iseqz_usint]
-ATSinline()
-atstype_bool
-atspre_g0uint_isneqz_usint (atstype_usint x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isneqz_usint]
-//
-#define atspre_g1uint_succ_usint atspre_g0uint_succ_usint
-#define atspre_g1uint_pred_usint atspre_g0uint_pred_usint
-#define atspre_g1uint_half_usint atspre_g0uint_half_usint
-#define atspre_g1uint_add_usint atspre_g0uint_add_usint
-#define atspre_g1uint_sub_usint atspre_g0uint_sub_usint
-#define atspre_g1uint_mul_usint atspre_g0uint_mul_usint
-#define atspre_g1uint_div_usint atspre_g0uint_div_usint
-#define atspre_g1uint_mod_usint atspre_g0uint_mod_usint
-#define atspre_g1uint_lt_usint atspre_g0uint_lt_usint
-#define atspre_g1uint_lte_usint atspre_g0uint_lte_usint
-#define atspre_g1uint_gt_usint atspre_g0uint_gt_usint
-#define atspre_g1uint_gte_usint atspre_g0uint_gte_usint
-#define atspre_g1uint_eq_usint atspre_g0uint_eq_usint
-#define atspre_g1uint_neq_usint atspre_g0uint_neq_usint
-#define atspre_g1uint_compare_usint atspre_g0uint_compare_usint
-#define atspre_g1uint_max_usint atspre_g0uint_max_usint
-#define atspre_g1uint_min_usint atspre_g0uint_min_usint
-#define atspre_g1uint_isltez_usint atspre_g0uint_isltez_usint
-#define atspre_g1uint_isgtz_usint atspre_g0uint_isgtz_usint
-#define atspre_g1uint_iseqz_usint atspre_g0uint_iseqz_usint
-#define atspre_g1uint_isneqz_usint atspre_g0uint_isneqz_usint
-//
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER_SHORT
-
-/* ****** ****** */
-
-/* end of [integer_short.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_size.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_size.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/integer_size.cats
+++ /dev/null
@@ -1,533 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/integer_size.atxt
-** Time of generation: Thu Mar 22 01:15:12 2018
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_INTEGER_SIZE
-#define ATSLIB_PRELUDE_CATS_INTEGER_SIZE
-
-/* ****** ****** */
-//
-#define \
-atspre_g0int2uint_int_size(x) ((atstype_size)(x))
-#define \
-atspre_g1int2uint_int_size(x) atspre_g0int2uint_int_size(x)
-#define \
-atspre_g0uint2uint_uint_size(x) ((atstype_size)(x))
-#define \
-atspre_g1uint2uint_uint_size(x) atspre_g0uint2uint_uint_size(x)
-//
-#define \
-atspre_g0int2int_int_ssize(x) ((atstype_ssize)(x))
-#define \
-atspre_g1int2int_int_ssize(x) atspre_g0int2int_int_ssize(x)
-#define \
-atspre_g0uint2int_uint_ssize(x) ((atstype_ssize)(x))
-#define \
-atspre_g1uint2int_uint_ssize(x) atspre_g0uint2int_uint_ssize(x)
-//
-/* ****** ****** */
-//
-#define \
-atspre_g0int2uint_lint_size(x) ((atstype_size)(x))
-#define \
-atspre_g1int2uint_lint_size(x) atspre_g0int2uint_lint_size(x)
-#define \
-atspre_g0uint2uint_ulint_size(x) ((atstype_size)(x))
-#define \
-atspre_g1uint2uint_ulint_size(x) atspre_g0uint2uint_ulint_size(x)
-//
-/* ****** ****** */
-//
-#define \
-atspre_g0int2int_lint_ssize(ssz) ((atstype_ssize)(ssz))
-#define \
-atspre_g1int2int_lint_ssize(ssz) atspre_g0int2int_lint_ssize(ssz)
-//
-/* ****** ****** */
-//
-#define \
-atspre_g0uint2int_size_int(sz) ((atstype_int)(sz))
-#define \
-atspre_g1uint2int_size_int(sz) atspre_g0uint2int_size_int(sz)
-//
-#define \
-atspre_g0uint2uint_size_uint(sz) ((atstype_uint)(sz))
-#define \
-atspre_g1uint2uint_size_uint(sz) atspre_g0uint2uint_size_uint(sz)
-//
-#define \
-atspre_g0uint2uint_size_size(sz) ((atstype_size)(sz))
-#define \
-atspre_g1uint2uint_size_size(sz) atspre_g0uint2uint_size_size(sz)
-//
-/* ****** ****** */
-//
-#define \
-atspre_g0int2int_ssize_int(ssz) ((atstype_int)(ssz))
-#define \
-atspre_g1int2int_ssize_int(ssz) atspre_g0int2int_ssize_int(ssz)
-//
-#define \
-atspre_g0int2uint_ssize_uint(ssz) ((atstype_uint)(ssz))
-#define \
-atspre_g1int2uint_ssize_uint(ssz) atspre_g0int2uint_ssize_uint(ssz)
-//
-#define \
-atspre_g0int2int_ssize_ssize(ssz) ((atstype_ssize)(ssz))
-#define \
-atspre_g1int2int_ssize_ssize(ssz) atspre_g0int2int_ssize_ssize(ssz)
-//
-/* ****** ****** */
-//
-#define \
-atspre_g0uint2int_size_ssize(sz) ((atstype_ssize)(sz))
-#define \
-atspre_g1uint2int_size_ssize(sz) atspre_g0uint2int_size_ssize(sz)
-#define \
-atspre_g0int2uint_ssize_size(ssz) ((atstype_size)(ssz))
-#define \
-atspre_g1int2uint_ssize_size(ssz) atspre_g0int2uint_ssize_size(ssz)
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_size
-atspre_g0uint_succ_size
-  (atstype_size x) { return (x + 1) ; }
-// end of [atspre_g0uint_succ_size]
-ATSinline()
-atstype_size
-atspre_g0uint_pred_size
-  (atstype_size x) { return (x - 1) ; }
-// end of [atspre_g0uint_pred_size]
-ATSinline()
-atstype_size
-atspre_g0uint_half_size
-  (atstype_size x) { return (x >> 1) ; }
-// end of [atspre_g0uint_half_size]
-ATSinline()
-atstype_size
-atspre_g0uint_add_size
-  (atstype_size x1, atstype_size x2) { return (x1 + x2) ; }
-// end of [atspre_g0uint_add_size]
-ATSinline()
-atstype_size
-atspre_g0uint_sub_size
-  (atstype_size x1, atstype_size x2) { return (x1 - x2) ; }
-// end of [atspre_g0uint_sub_size]
-ATSinline()
-atstype_size
-atspre_g0uint_mul_size
-  (atstype_size x1, atstype_size x2) { return (x1 * x2) ; }
-// end of [atspre_g0uint_mul_size]
-ATSinline()
-atstype_size
-atspre_g0uint_div_size
-  (atstype_size x1, atstype_size x2) { return (x1 / x2) ; }
-// end of [atspre_g0uint_div_size]
-ATSinline()
-atstype_size
-atspre_g0uint_mod_size
-  (atstype_size x1, atstype_size x2) { return (x1 % x2) ; }
-// end of [atspre_g0uint_mod_size]
-ATSinline()
-atstype_size
-atspre_g0uint_lsl_size
-  (atstype_size x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0uint_lsl_size]
-ATSinline()
-atstype_size
-atspre_g0uint_lsr_size
-  (atstype_size x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0uint_lsr_size]
-ATSinline()
-atstype_size
-atspre_g0uint_lnot_size
-  (atstype_size x) { return ~(x) ; }
-// end of [atspre_g0uint_lnot_size]
-ATSinline()
-atstype_size
-atspre_g0uint_lor_size
-  (atstype_size x, atstype_size y) { return (x | y) ; }
-// end of [atspre_g0uint_size_size]
-ATSinline()
-atstype_size
-atspre_g0uint_land_size
-  (atstype_size x, atstype_size y) { return (x & y) ; }
-// end of [atspre_g0uint_size_size]
-ATSinline()
-atstype_size
-atspre_g0uint_lxor_size
-  (atstype_size x, atstype_size y) { return (x ^ y) ; }
-// end of [atspre_g0uint_size_size]
-ATSinline()
-atstype_bool
-atspre_g0uint_lt_size
-(
-  atstype_size x1, atstype_size x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lt_size]
-ATSinline()
-atstype_bool
-atspre_g0uint_lte_size
-(
-  atstype_size x1, atstype_size x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_lte_size]
-ATSinline()
-atstype_bool
-atspre_g0uint_gt_size
-(
-  atstype_size x1, atstype_size x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gt_size]
-ATSinline()
-atstype_bool
-atspre_g0uint_gte_size
-(
-  atstype_size x1, atstype_size x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_gte_size]
-ATSinline()
-atstype_bool
-atspre_g0uint_eq_size
-(
-  atstype_size x1, atstype_size x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_eq_size]
-ATSinline()
-atstype_bool
-atspre_g0uint_neq_size
-(
-  atstype_size x1, atstype_size x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_neq_size]
-ATSinline()
-atstype_int
-atspre_g0uint_compare_size
-(
-  atstype_size x1, atstype_size x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0uint_compare_size]
-ATSinline()
-atstype_size
-atspre_g0uint_max_size
-  (atstype_size x1, atstype_size x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_max_size]
-ATSinline()
-atstype_size
-atspre_g0uint_min_size
-  (atstype_size x1, atstype_size x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0uint_min_size]
-ATSinline()
-atstype_bool
-atspre_g0uint_isltez_size (atstype_size x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isltez_size]
-ATSinline()
-atstype_bool
-atspre_g0uint_isgtz_size (atstype_size x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isgtz_size]
-ATSinline()
-atstype_bool
-atspre_g0uint_iseqz_size (atstype_size x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_iseqz_size]
-ATSinline()
-atstype_bool
-atspre_g0uint_isneqz_size (atstype_size x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0uint_isneqz_size]
-//
-#define atspre_g1uint_succ_size atspre_g0uint_succ_size
-#define atspre_g1uint_pred_size atspre_g0uint_pred_size
-#define atspre_g1uint_half_size atspre_g0uint_half_size
-#define atspre_g1uint_add_size atspre_g0uint_add_size
-#define atspre_g1uint_sub_size atspre_g0uint_sub_size
-#define atspre_g1uint_mul_size atspre_g0uint_mul_size
-#define atspre_g1uint_div_size atspre_g0uint_div_size
-#define atspre_g1uint_mod_size atspre_g0uint_mod_size
-#define atspre_g1uint_lt_size atspre_g0uint_lt_size
-#define atspre_g1uint_lte_size atspre_g0uint_lte_size
-#define atspre_g1uint_gt_size atspre_g0uint_gt_size
-#define atspre_g1uint_gte_size atspre_g0uint_gte_size
-#define atspre_g1uint_eq_size atspre_g0uint_eq_size
-#define atspre_g1uint_neq_size atspre_g0uint_neq_size
-#define atspre_g1uint_compare_size atspre_g0uint_compare_size
-#define atspre_g1uint_max_size atspre_g0uint_max_size
-#define atspre_g1uint_min_size atspre_g0uint_min_size
-#define atspre_g1uint_isltez_size atspre_g0uint_isltez_size
-#define atspre_g1uint_isgtz_size atspre_g0uint_isgtz_size
-#define atspre_g1uint_iseqz_size atspre_g0uint_iseqz_size
-#define atspre_g1uint_isneqz_size atspre_g0uint_isneqz_size
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_ssize
-atspre_g0int_neg_ssize
-  (atstype_ssize x) { return (-x) ; }
-// end of [atspre_g0int_neg_ssize]
-ATSinline()
-atstype_ssize
-atspre_g0int_abs_ssize
-  (atstype_ssize x) { return (x >= 0 ? x : -x) ; }
-// end of [atspre_g0int_abs_ssize]
-ATSinline()
-atstype_ssize
-atspre_g0int_succ_ssize
-  (atstype_ssize x) { return (x + 1) ; }
-// end of [atspre_g0int_succ_ssize]
-ATSinline()
-atstype_ssize
-atspre_g0int_pred_ssize
-  (atstype_ssize x) { return (x - 1) ; }
-// end of [atspre_g0int_pred_ssize]
-ATSinline()
-atstype_ssize
-atspre_g0int_half_ssize
-  (atstype_ssize x) { return (x / 2) ; }
-// end of [atspre_g0int_half_ssize]
-ATSinline()
-atstype_ssize
-atspre_g0int_add_ssize
-  (atstype_ssize x1, atstype_ssize x2) { return (x1 + x2) ; }
-// end of [atspre_g0int_add_ssize]
-ATSinline()
-atstype_ssize
-atspre_g0int_sub_ssize
-  (atstype_ssize x1, atstype_ssize x2) { return (x1 - x2) ; }
-// end of [atspre_g0int_sub_ssize]
-ATSinline()
-atstype_ssize
-atspre_g0int_mul_ssize
-  (atstype_ssize x1, atstype_ssize x2) { return (x1 * x2) ; }
-// end of [atspre_g0int_mul_ssize]
-ATSinline()
-atstype_ssize
-atspre_g0int_div_ssize
-  (atstype_ssize x1, atstype_ssize x2) { return (x1 / x2) ; }
-// end of [atspre_g0int_div_ssize]
-ATSinline()
-atstype_ssize
-atspre_g0int_mod_ssize
-  (atstype_ssize x1, atstype_ssize x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_mod_ssize]
-ATSinline()
-atstype_ssize
-atspre_g0int_nmod_ssize
-  (atstype_ssize x1, atstype_ssize x2) { return (x1 % x2) ; }
-// end of [atspre_g0int_nmod_ssize]
-ATSinline()
-atstype_ssize
-atspre_g0int_asl_ssize
-  (atstype_ssize x, atstype_int n) { return (x << n) ; }
-// end of [atspre_g0int_asl_ssize]
-ATSinline()
-atstype_ssize
-atspre_g0int_asr_ssize
-  (atstype_ssize x, atstype_int n) { return (x >> n) ; }
-// end of [atspre_g0int_asr_ssize]
-ATSinline()
-atstype_bool
-atspre_g0int_lt_ssize
-(
-  atstype_ssize x1, atstype_ssize x2
-) {
-  return (x1 < x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lt_ssize]
-ATSinline()
-atstype_bool
-atspre_g0int_lte_ssize
-(
-  atstype_ssize x1, atstype_ssize x2
-) {
-  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_lte_ssize]
-ATSinline()
-atstype_bool
-atspre_g0int_gt_ssize
-(
-  atstype_ssize x1, atstype_ssize x2
-) {
-  return (x1 > x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gt_ssize]
-ATSinline()
-atstype_bool
-atspre_g0int_gte_ssize
-(
-  atstype_ssize x1, atstype_ssize x2
-) {
-  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_gte_ssize]
-ATSinline()
-atstype_bool
-atspre_g0int_eq_ssize
-(
-  atstype_ssize x1, atstype_ssize x2
-) {
-  return (x1 == x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_eq_ssize]
-ATSinline()
-atstype_bool
-atspre_g0int_neq_ssize
-(
-  atstype_ssize x1, atstype_ssize x2
-) {
-  return (x1 != x2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_neq_ssize]
-ATSinline()
-atstype_int
-atspre_g0int_compare_ssize
-(
-  atstype_ssize x1, atstype_ssize x2
-) {
-  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
-} // end of [atspre_g0int_compare_ssize]
-ATSinline()
-atstype_ssize
-atspre_g0int_max_ssize
-  (atstype_ssize x1, atstype_ssize x2) { return (x1 >= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_max_ssize]
-ATSinline()
-atstype_ssize
-atspre_g0int_min_ssize
-  (atstype_ssize x1, atstype_ssize x2) { return (x1 <= x2 ? x1 : x2) ; }
-// end of [atspre_g0int_min_ssize]
-ATSinline()
-atstype_bool
-atspre_g0int_isltz_ssize (atstype_ssize x)
-{
-  return (x < 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltz_ssize]
-ATSinline()
-atstype_bool
-atspre_g0int_isltez_ssize (atstype_ssize x)
-{
-  return (x <= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isltez_ssize]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtz_ssize (atstype_ssize x)
-{
-  return (x > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtz_ssize]
-ATSinline()
-atstype_bool
-atspre_g0int_isgtez_ssize (atstype_ssize x)
-{
-  return (x >= 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isgtez_ssize]
-ATSinline()
-atstype_bool
-atspre_g0int_iseqz_ssize (atstype_ssize x)
-{
-  return (x == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_iseqz_ssize]
-ATSinline()
-atstype_bool
-atspre_g0int_isneqz_ssize (atstype_ssize x)
-{
-  return (x != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_g0int_isneqz_ssize]
-//
-#define atspre_g1int_abs_ssize atspre_g0int_abs_ssize
-#define atspre_g1int_neg_ssize atspre_g0int_neg_ssize
-#define atspre_g1int_succ_ssize atspre_g0int_succ_ssize
-#define atspre_g1int_pred_ssize atspre_g0int_pred_ssize
-#define atspre_g1int_half_ssize atspre_g0int_half_ssize
-#define atspre_g1int_add_ssize atspre_g0int_add_ssize
-#define atspre_g1int_sub_ssize atspre_g0int_sub_ssize
-#define atspre_g1int_mul_ssize atspre_g0int_mul_ssize
-#define atspre_g1int_div_ssize atspre_g0int_div_ssize
-#define atspre_g1int_nmod_ssize atspre_g0int_nmod_ssize
-#define atspre_g1int_lt_ssize atspre_g0int_lt_ssize
-#define atspre_g1int_lte_ssize atspre_g0int_lte_ssize
-#define atspre_g1int_gt_ssize atspre_g0int_gt_ssize
-#define atspre_g1int_gte_ssize atspre_g0int_gte_ssize
-#define atspre_g1int_eq_ssize atspre_g0int_eq_ssize
-#define atspre_g1int_neq_ssize atspre_g0int_neq_ssize
-#define atspre_g1int_compare_ssize atspre_g0int_compare_ssize
-#define atspre_g1int_max_ssize atspre_g0int_max_ssize
-#define atspre_g1int_min_ssize atspre_g0int_min_ssize
-#define atspre_g1int_isltz_ssize atspre_g0int_isltz_ssize
-#define atspre_g1int_isltez_ssize atspre_g0int_isltez_ssize
-#define atspre_g1int_isgtz_ssize atspre_g0int_isgtz_ssize
-#define atspre_g1int_isgtez_ssize atspre_g0int_isgtez_ssize
-#define atspre_g1int_iseqz_ssize atspre_g0int_iseqz_ssize
-#define atspre_g1int_isneqz_ssize atspre_g0int_isneqz_ssize
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_size
-atspre_g0string2uint_size
-  (atstype_string inp)
-  { return strtoul((char*)inp, NULL, 10) ; }
-//
-ATSinline()
-atstype_ssize
-atspre_g0string2int_ssize
-  (atstype_string inp) { return atol((char*)inp) ; }
-//
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER_SIZE
-
-/* ****** ****** */
-
-/* end of [integer_size.cats] */
-
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/list.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/list.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/list.cats
+++ /dev/null
@@ -1,55 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/list.atxt
-** Time of generation: Thu Mar 22 01:15:17 2018
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_LIST
-#define ATSLIB_PRELUDE_CATS_LIST
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_LIST
-
-/* ****** ****** */
-
-/* end of [list.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/matrix.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/matrix.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/matrix.cats
+++ /dev/null
@@ -1,55 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/matrix.atxt
-** Time of generation: Thu Mar 22 01:15:19 2018
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_MATRIX
-#define ATSLIB_PRELUDE_CATS_MATRIX
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_MATRIX
-
-/* ****** ****** */
-
-/* end of [matrix.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/matrixptr.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/matrixptr.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/matrixptr.cats
+++ /dev/null
@@ -1,64 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/matrixptr.atxt
-** Time of generation: Thu Mar 22 01:15:19 2018
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_MATRIXPTR
-#define ATSLIB_PRELUDE_CATS_MATRIXPTR
-
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_matrixptr_free
-  (atstype_arrptr ptr) { ATS_MFREE (ptr) ; return ; }
-// end of [atspre_matrixptr_free]
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_MATRIXPTR
-
-/* ****** ****** */
-
-/* end of [matrixptr.cats] */
-
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/memory.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/memory.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/memory.cats
+++ /dev/null
@@ -1,72 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/memory.atxt
-** Time of generation: Thu Mar 22 01:15:16 2018
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_MEMORY
-#define ATSLIB_PRELUDE_CATS_MEMORY
-
-/* ****** ****** */
-
-#define atspre_minit_gc ATS_MINIT
-
-/* ****** ****** */
-
-#define atspre_mfree_gc ATS_MFREE
-
-/* ****** ****** */
-
-#define atspre_malloc_gc ATS_MALLOC
-
-/* ****** ****** */
-
-#define atspre_calloc_gc ATS_CALLOC
-#define atspre_realloc_gc ATS_REALLOC
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_MEMORY
-
-/* ****** ****** */
-
-/* end of [memory.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/option.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/option.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/option.cats
+++ /dev/null
@@ -1,55 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/option.atxt
-** Time of generation: Thu Mar 22 01:15:18 2018
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: January, 2013 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_OPTION
-#define ATSLIB_PRELUDE_CATS_OPTION
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_OPTION
-
-/* ****** ****** */
-
-/* end of [option.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/pointer.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/pointer.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/pointer.cats
+++ /dev/null
@@ -1,254 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/pointer.atxt
-** Time of generation: Thu Mar 22 01:15:12 2018
-*/
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: hwxi AT cs DOT bu DOT edu *)
-(* Start time: February, 2012 *)
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_POINTER
-#define ATSLIB_PRELUDE_CATS_POINTER
-
-/* ****** ****** */
-
-#ifndef memset
-extern
-void *memset(void *bufp, int c, size_t n) ;
-#endif // #ifndef
-
-/* ****** ****** */
-
-ATSinline()
-atstype_ptr
-atspre_ptr_null () { return (void*)0 ; }
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_ptr_is_null
-  (atstype_ptr p) {
-  return (p == (void*)0) ? atsbool_true : atsbool_false ;
-} // end of [atspre_ptr_is_null]
-#define atspre_ptr0_is_null atspre_ptr_is_null
-#define atspre_ptr1_is_null atspre_ptr_is_null
-
-ATSinline()
-atstype_bool
-atspre_ptr_isnot_null
-  (atstype_ptr p) {
-  return (p != (void*)0) ? atsbool_true : atsbool_false ;
-} // end of [atspre_ptr_isnot_null]
-#define atspre_ptr0_isnot_null atspre_ptr_isnot_null
-#define atspre_ptr1_isnot_null atspre_ptr_isnot_null
-
-/* ****** ****** */
-
-ATSinline()
-atstype_ptr
-atspre_add_ptr_bsz
-  (atstype_ptr p, atstype_size ofs) { return ((char*)p + ofs) ; }
-// end of [atspre_add_ptr_bsz]
-#define atspre_add_ptr0_bsz atspre_add_ptr_bsz
-#define atspre_add_ptr1_bsz atspre_add_ptr_bsz
-
-ATSinline()
-atstype_ptr
-atspre_sub_ptr_bsz
-  (atstype_ptr p, atstype_size ofs) { return ((char*)p - ofs) ; }
-// end of [atspre_sub_ptr_bsz]
-#define atspre_sub_ptr0_bsz atspre_sub_ptr_bsz
-#define atspre_sub_ptr1_bsz atspre_sub_ptr_bsz
-
-/* ****** ****** */
-
-ATSinline()
-atstype_ssize
-atspre_sub_ptr_ptr
-  (atstype_ptr p1, atstype_ptr p2) { return ((char*)p1 - (char*)p2) ; }
-// end of [atspre_sub_ptr_ptr]
-#define atspre_sub_ptr0_ptr0 atspre_sub_ptr_ptr
-#define atspre_sub_ptr1_ptr1 atspre_sub_ptr_ptr
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_lt_ptr_ptr
-  (atstype_ptr p1, atstype_ptr p2) {
-  return (p1 < p2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_lt_ptr_ptr]
-#define atspre_lt_ptr0_ptr0 atspre_lt_ptr_ptr
-#define atspre_lt_ptr1_ptr1 atspre_lt_ptr_ptr
-
-ATSinline()
-atstype_bool
-atspre_lte_ptr_ptr
-  (atstype_ptr p1, atstype_ptr p2) {
-  return (p1 <= p2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_lte_ptr_ptr]
-#define atspre_lte_ptr0_ptr0 atspre_lte_ptr_ptr
-#define atspre_lte_ptr1_ptr1 atspre_lte_ptr_ptr
-
-ATSinline()
-atstype_bool
-atspre_gt_ptr_ptr
-  (atstype_ptr p1, atstype_ptr p2) {
-  return (p1 > p2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_gt_ptr_ptr]
-#define atspre_gt_ptr0_ptr0 atspre_gt_ptr_ptr
-#define atspre_gt_ptr1_ptr1 atspre_gt_ptr_ptr
-
-ATSinline()
-atstype_bool
-atspre_gte_ptr_ptr
-  (atstype_ptr p1, atstype_ptr p2) {
-  return (p1 >= p2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_gte_ptr_ptr]
-#define atspre_gte_ptr0_ptr0 atspre_gte_ptr_ptr
-#define atspre_gte_ptr1_ptr1 atspre_gte_ptr_ptr
-
-ATSinline()
-atstype_bool
-atspre_eq_ptr_ptr
-  (atstype_ptr p1, atstype_ptr p2) {
-  return (p1 == p2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_eq_ptr_ptr]
-#define atspre_eq_ptr0_ptr0 atspre_eq_ptr_ptr
-#define atspre_eq_ptr1_ptr1 atspre_eq_ptr_ptr
-
-ATSinline()
-atstype_bool
-atspre_neq_ptr_ptr
-  (atstype_ptr p1, atstype_ptr p2) {
-  return (p1 != p2 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_neq_ptr_ptr]
-#define atspre_neq_ptr0_ptr0 atspre_neq_ptr_ptr
-#define atspre_neq_ptr1_ptr1 atspre_neq_ptr_ptr
-
-
-ATSinline()
-atstype_int
-atspre_compare_ptr_ptr
-(
-  atstype_ptr p1, atstype_ptr p2
-) {
-  if (p1 >= p2) {
-    if (p1 > p2) return 1 ; else return 0 ;
-  } else return (-1) ;
-} // end of [atspre_compare_ptr_ptr]
-#define atspre_compare_ptr0_ptr0 atspre_compare_ptr_ptr
-#define atspre_compare_ptr1_ptr1 atspre_compare_ptr_ptr
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_gt_ptr_intz
-  (atstype_ptr p, atstype_int _)
-{
-  return (p > 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_gt_ptr_intz]
-#define atspre_gt_ptr0_intz atspre_gt_ptr_intz
-#define atspre_gt_ptr1_intz atspre_gt_ptr_intz
-
-ATSinline()
-atstype_bool
-atspre_eq_ptr_intz
-  (atstype_ptr p, atstype_int _)
-{
-  return (p == 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_eq_ptr_intz]
-#define atspre_eq_ptr0_intz atspre_eq_ptr_intz
-#define atspre_eq_ptr1_intz atspre_eq_ptr_intz
-  
-ATSinline()
-atstype_bool
-atspre_neq_ptr_intz
-  (atstype_ptr p, atstype_int _)
-{
-  return (p != 0 ? atsbool_true : atsbool_false) ;
-} // end of [atspre_neq_ptr_intz]
-#define atspre_neq_ptr0_intz atspre_neq_ptr_intz
-#define atspre_neq_ptr1_intz atspre_neq_ptr_intz
-
-/* ****** ****** */
-//
-#define atspre_aptr_null() atsptr_null
-//
-#define atspre_aptr_is_null atspre_ptr_is_null
-#define atspre_aptr_isnot_null atspre_ptr_isnot_null
-//
-/* ****** ****** */
-//
-#define atspre_cptr_null() atsptr_null
-//
-#define atspre_cptr_is_null atspre_ptr_is_null
-#define atspre_cptr_isnot_null atspre_ptr_isnot_null
-//
-/* ****** ****** */
-
-#define atspre_gt_cptr_intz atspre_gt_ptr_intz
-#define atspre_eq_cptr_intz atspre_eq_ptr_intz
-#define atspre_neq_cptr_intz atspre_neq_ptr_intz
-
-/* ****** ****** */
-//
-#define atspre_ptr_free atspre_mfree_gc
-#define atspre_ptr_alloc_tsz atspre_malloc_gc
-//
-/* ****** ****** */
-
-ATSinline()
-atsvoid_t0ype
-atspre_ptr_nullize_tsz
-(
-  atstype_ptr p, atstype_size tsz
-) {
-  memset (p, 0, tsz) ; return /*void*/ ;
-} // end of [atspre_ptr_nullize_tsz]
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_POINTER
-
-/* ****** ****** */
-
-/* end of [pointer.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/string.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/string.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/string.cats
+++ /dev/null
@@ -1,262 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: April, 2012 *)
-*/
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/string.atxt
-** Time of generation: Thu Mar 22 01:15:15 2018
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_STRING
-#define ATSLIB_PRELUDE_CATS_STRING
-
-/* ****** ****** */
-//
-// [string.h]
-//
-extern
-size_t strlen (const char *str) ;
-extern
-int // (sign)
-strcmp (const char *x1, const char *x2) ;
-//
-extern
-char *strchr(const char *str1, int c2) ;
-extern
-char *strrchr(const char *str1, int c2) ;
-extern
-char *strstr(const char *str1, const char *str2) ;
-//
-extern
-size_t strspn(const char *str1, const char *acc2) ;
-extern
-size_t strcspn(const char *str1, const char *rej2) ;
-//
-#ifndef memcpy
-extern
-void *memcpy(void *dest, const void *src, size_t n) ;
-#endif // #ifndef
-//
-/* ****** ****** */
-
-#define atspre_stropt_none() atsptr_null
-
-/* ****** ****** */
-
-ATSinline()
-atstype_bool
-atspre_lt_string_string
-(
-  atstype_string x1, atstype_string x2
-) {
-  int sgn = strcmp((char*)x1, (char*)x2) ;
-  return (sgn < 0 ? atsbool_true : atsbool_false) ;
-} // [atspre_lt_string_string]
-
-ATSinline()
-atstype_bool
-atspre_lte_string_string
-(
-  atstype_string x1, atstype_string x2
-) {
-  int sgn = strcmp((char*)x1, (char*)x2) ;
-  return (sgn <= 0 ? atsbool_true : atsbool_false) ;
-} // [atspre_lte_string_string]
-
-ATSinline()
-atstype_bool
-atspre_gt_string_string
-(
-  atstype_string x1, atstype_string x2
-) {
-  int sgn = strcmp((char*)x1, (char*)x2) ;
-  return (sgn > 0 ? atsbool_true : atsbool_false) ;
-} // [atspre_gt_string_string]
-
-ATSinline()
-atstype_bool
-atspre_gte_string_string
-(
-  atstype_string x1, atstype_string x2
-) {
-  int sgn = strcmp((char*)x1, (char*)x2) ;
-  return (sgn >= 0 ? atsbool_true : atsbool_false) ;
-} // [atspre_gte_string_string]
-
-ATSinline()
-atstype_bool
-atspre_eq_string_string
-(
-  atstype_string x1, atstype_string x2
-) {
-  int sgn = strcmp((char*)x1, (char*)x2) ;
-  return (sgn == 0 ? atsbool_true : atsbool_false) ;
-} // [atspre_eq_string_string]
-
-ATSinline()
-atstype_bool
-atspre_neq_string_string
-(
-  atstype_string x1, atstype_string x2
-) {
-  int sgn = strcmp((char*)x1, (char*)x2) ;
-  return (sgn != 0 ? atsbool_true : atsbool_false) ;
-} // [atspre_neq_string_string]
-
-/* ****** ****** */
-
-#define atspre_string_equal atspre_eq_string_string
-#define atspre_string_noteq atspre_neq_string_string
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_compare_string_string
-(
-  atstype_string x1, atstype_string x2
-) {
-  return atspre_int2sgn(strcmp((char*)x1, (char*)x2)) ;
-} // [atspre_compare_string_string]
-
-/* ****** ****** */
-
-#define atspre_strcmp strcmp
-#define atspre_strlen strlen
-#define atspre_strchr strchr
-#define atspre_strrchr strrchr
-#define atspre_strstr strstr
-#define atspre_strspn strspn
-#define atspre_strcspn strcspn
-
-#define atspre_string_memcpy memcpy
-
-/* ****** ****** */
-//
-// HX-2013-09: declared in [stdio.h]
-//
-#ifndef snprintf
-extern
-int snprintf (char *str, size_t size, const char *format, ...) ;
-#endif // end of [ifndef]
-//
-/* ****** ****** */
-//
-ATSinline()
-atstype_string
-atspre_g0int2string_int
-  (atstype_int x)
-{
-  size_t n0 ;
-  char *res ;
-  size_t ntot ;
-  n0 = 4 ;
-  res = ATS_MALLOC(n0) ;
-  ntot = snprintf(res, n0, "%i", x) ;
-  if (ntot >= n0)
-  {
-    ATS_MFREE(res) ;
-    res = (char*)ATS_MALLOC(ntot+1) ;
-    ntot = snprintf(res, ntot+1, "%i", x) ;
-  }
-  return res ;
-}
-//
-ATSinline()
-atstype_string
-atspre_g0int2string_lint
-  (atstype_lint x)
-{
-  size_t n0 ;
-  char *res ;
-  size_t ntot ;
-  n0 = 4 ;
-  res = ATS_MALLOC(n0) ;
-  ntot = snprintf(res, n0, "%li", x) ;
-  if (ntot >= n0)
-  {
-    ATS_MFREE(res) ;
-    res = (char*)ATS_MALLOC(ntot+1) ;
-    ntot = snprintf(res, ntot+1, "%li", x) ;
-  }
-  return res ;
-}
-//
-ATSinline()
-atstype_string
-atspre_g0int2string_llint
-  (atstype_llint x)
-{
-  size_t n0 ;
-  char *res ;
-  size_t ntot ;
-  n0 = 8 ;
-  res = ATS_MALLOC(n0) ;
-  ntot = snprintf(res, n0, "%lli", x) ;
-  if (ntot >= n0)
-  {
-    ATS_MFREE(res) ;
-    res = (char*)ATS_MALLOC(ntot+1) ;
-    ntot = snprintf(res, ntot+1, "%lli", x) ;
-  }
-  return res ;
-}
-//
-/* ****** ****** */
-//
-#include <stdarg.h>
-//
-// HX-2013-11:
-// these are implemented in [string.dats]
-//
-extern
-atstype_string // Strptr0
-atspre_string_make_snprintf(atstype_string fmt, ...) ;
-extern
-atstype_string // Strptr0
-atspre_string_make_vsnprintf
-  (atstype_size bsz0, atstype_string fmt, va_list ap0) ;
-//
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_STRING
-
-/* ****** ****** */
-
-/* end of [string.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/strptr.cats b/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/strptr.cats
deleted file mode 100644
--- a/.atspkg/contrib/ats-includes-0.3.10/prelude/CATS/strptr.cats
+++ /dev/null
@@ -1,94 +0,0 @@
-/***********************************************************************/
-/*                                                                     */
-/*                         Applied Type System                         */
-/*                                                                     */
-/***********************************************************************/
-
-/* (*
-** ATS/Postiats - Unleashing the Potential of Types!
-** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
-** All rights reserved
-**
-** ATS is free software;  you can  redistribute it and/or modify it under
-** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
-** Free Software Foundation; either version 3, or (at  your  option)  any
-** later version.
-**
-** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
-** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
-** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
-** for more details.
-**
-** You  should  have  received  a  copy of the GNU General Public License
-** along  with  ATS;  see the  file COPYING.  If not, please write to the
-** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
-** 02110-1301, USA.
-*) */
-
-/* ****** ****** */
-
-/*
-(* Author: Hongwei Xi *)
-(* Authoremail: gmhwxiATgmailDOTcom *)
-(* Start time: March, 2013 *)
-*/
-
-/* ****** ****** */
-
-/*
-** Source:
-** $PATSHOME/prelude/CATS/CODEGEN/strptr.atxt
-** Time of generation: Thu Mar 22 01:15:15 2018
-*/
-
-/* ****** ****** */
-
-#ifndef ATSLIB_PRELUDE_CATS_STRPTR
-#define ATSLIB_PRELUDE_CATS_STRPTR
-
-/* ****** ****** */
-//
-// [string.h]
-//
-extern
-int // (sign)
-strcmp(const char *x1, const char *x2) ;
-
-/* ****** ****** */
-
-#define atspre_strptr_null() atsptr_null
-
-/* ****** ****** */
-
-#define atspre_strptr_free atspre_mfree_gc
-#define atspre_strnptr_free atspre_mfree_gc
-
-/* ****** ****** */
-
-ATSinline()
-atstype_int
-atspre_compare_strptr_strptr
-(
-  atstype_strptr x1, atstype_strptr x2
-) {
-  if(x1==0)
-  {
-    return (x2==0 ? 0 : -1) ;
-  } else {
-    return (x2==0 ? 1 : atspre_compare_string_string(x1, x2)) ;
-  } // end of [if]
-} // end of [atspre_compare_strptr_strptr]
-
-/* ****** ****** */
-
-#define atspre_eq_strptr_string atspre_eq_string_string 
-#define atspre_neq_strptr_string atspre_neq_string_string 
-#define atspre_compare_strptr_string atspre_compare_string_string 
-
-/* ****** ****** */
-
-#endif // ifndef ATSLIB_PRELUDE_CATS_STRPTR
-
-/* ****** ****** */
-
-/* end of [strptr.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_basics.h b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_basics.h
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_basics.h
@@ -0,0 +1,172 @@
+/* ******************************************************************* */
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/* ******************************************************************* */
+
+/*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+** 
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+** 
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: October, 2012 *)
+*/
+
+/* ****** ****** */
+
+#ifndef PATS_CCOMP_BASICS_H
+#define PATS_CCOMP_BASICS_H
+
+/* ****** ****** */
+//
+// HX: boolean values
+//
+#define atsbool_true 1
+#define atsbool_false 0
+//
+#define atsptr_null ((void*)0)
+#define the_atsptr_null ((void*)0)
+//
+/* ****** ****** */
+//
+#define ATSstruct struct
+//
+/* ****** ****** */
+/*
+#define ATStypedef typedef
+*/
+//
+/* ****** ****** */
+
+#ifndef \
+ATS_EXTERN_DEF__
+#define ATSextern() extern
+#else
+#define ATSextern() ATS_EXTERN_DEF__
+#endif // #ifndef
+
+/* ****** ****** */
+
+#ifndef \
+ATS_STATIC_DEF__
+#define ATSstatic() static
+#else
+#define ATSstatic() ATS_STATIC_DEF__
+#endif // #ifndef
+
+/* ****** ****** */
+
+#ifndef \
+ATS_INLINE_DEF__
+#define ATSinline() static inline
+#else
+#define ATSinline() ATS_INLINE_DEF__
+#endif // #ifndef
+
+/* ****** ****** */
+//
+#define ATSdynload()
+//
+#define ATSdynloadflag_sta(flag)
+#define ATSdynloadflag_ext(flag) ATSextern() int flag
+//
+#define ATSdynloadflag_init(flag) int flag = 0
+//
+#define ATSdynloadflag_minit(flag) int flag = 0
+//
+#define ATSdynloadset(flag) flag = 1
+#define ATSdynloadfcall(dynloadfun) dynloadfun()
+//
+/* ****** ****** */
+
+#ifndef \
+_ATS_CCOMP_EXCEPTION_NONE_
+//
+#define \
+ATSdynexn_dec(d2c) \
+atstype_exncon d2c = { 0, "__ATSEXNMSG__" }
+//
+#define \
+ATSdynexn_extdec(d2c) ATSextern() atstype_exncon d2c
+//
+#define \
+ATSdynexn_initize(d2c, exnmsg) the_atsexncon_initize(&(d2c), exnmsg)
+//
+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
+
+/* ****** ****** */
+
+#define ATSassume(flag) void *flag = (void*)0
+
+/* ****** ****** */
+//
+#define ATSclosurerize_end(flab)
+#define ATSclosurerize_beg(flab, tenvs, targs, tres)
+//
+/* ****** ****** */
+
+#define ATSdyncst_mac(d2c)
+#define ATSdyncst_castfn(d2c)
+#define ATSdyncst_extfun(d2c, targs, tres) ATSextern() tres d2c targs
+#define ATSdyncst_stafun(d2c, targs, tres) ATSstatic() tres d2c targs
+
+/* ****** ****** */
+
+#define ATSdyncst_valimp(d2c, type) type d2c
+#define ATSdyncst_valdec(d2c, type) ATSextern() type d2c
+
+/* ****** ****** */
+//
+#define \
+ATSmainats_void_0(err) mainats_void_0()
+#define \
+ATSmainats_argc_argv_0(argc, argv, err) mainats_argc_argv_0(argc, argv)
+#define \
+ATSmainats_argc_argv_envp_0(argc, argv, envp, err) mainats_argc_argv_envp_0(argc, argv, envp)
+//
+#define \
+ATSmainats_void_int(err) err = mainats_void_int()
+#define \
+ATSmainats_argc_argv_int(argc, argv, err) err = mainats_argc_argv_int(argc, argv)
+#define \
+ATSmainats_argc_argv_envp_int(argc, argv, envp, err) err = mainats_argc_argv_envp_int(argc, argv, envp)
+//
+/* ****** ****** */
+//
+extern
+void atsruntime_raise (void *exn) ;
+extern
+void atsruntime_handle_uncaughtexn (void *exn0) ;
+extern
+void atsruntime_handle_unmatchedval (char *msg0) ;
+extern
+void atsruntime_handle_unmatchedarg (char *msg0) ;
+//
+/* ****** ****** */
+
+#endif /* PATS_CCOMP_BASICS_H */
+
+/* ****** ****** */
+
+/* end of [pats_ccomp_basics.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_config.h b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_config.h
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_config.h
@@ -0,0 +1,49 @@
+/* ******************************************************************* */
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/* ******************************************************************* */
+
+/*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+** 
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+** 
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef PATS_CCOMP_CONFIG_H
+#define PATS_CCOMP_CONFIG_H
+
+/* ****** ****** */
+
+// HX: it is yet empty
+
+/* ****** ****** */
+
+#endif /* PATS_CCOMP_CONFIG_H */
+
+/* end of [pats_ccomp_config.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_exception.h b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_exception.h
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_exception.h
@@ -0,0 +1,179 @@
+/* ******************************************************************* */
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/* ******************************************************************* */
+
+/*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+** 
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+** 
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: June, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef PATS_CCOMP_EXCEPTION_H
+#define PATS_CCOMP_EXCEPTION_H
+
+/* ****** ****** */
+
+/*
+use -D_XOPEN_SOURCE
+*/
+#include <setjmp.h>
+
+/* ****** ****** */
+
+#define atstype_jmp_buf jmp_buf
+#define atspre_setjmp(env, mask) setjmp(env)
+#define atspre_longjmp(env, ret) longjmp(env, ret)
+
+/* ****** ****** */
+
+/*
+#include <alloca.h>
+*/
+extern void *alloca (size_t bsz) ;
+
+/* ****** ****** */
+
+/*
+extern
+atstype_exncon *atspre_AssertExn_make() ;
+extern
+atstype_exncon *atspre_NotFoundExn_make() ;
+extern
+atstype_exncon *atspre_IllegalArgExn_make(const char*) ;
+extern
+atstype_exncon *atspre_ListSubscriptExn_make() ;
+extern
+atstype_exncon *atspre_StreamSubscriptExn_make() ;
+extern
+atstype_exncon *atspre_ArraySubscriptExn_make() ;
+extern
+atstype_exncon *atspre_MatrixSubscriptExn_make() ;
+//
+extern atstype_exncon *atspre_NotSomeExn_make() ;
+//
+extern
+atstype_bool atspre_isListSubscriptExn (const atstype_exncon*) ;
+extern
+atstype_bool atspre_isStreamSubscriptExn (const atstype_exncon*) ;
+extern
+atstype_bool atspre_isArraySubscriptExn (const atstype_exncon*) ;
+extern
+atstype_bool atspre_isMatrixSubscriptExn (const atstype_exncon*) ;
+//
+extern atstype_bool atspre_isNotSomeExn (const atstype_exncon*) ; 
+*/
+
+/* ****** ****** */
+
+typedef
+struct atsexnframe
+{
+  atstype_jmp_buf env ;
+  atstype_exnconptr exn ;
+  struct atsexnframe *prev ;
+} atsexnframe_t ;
+
+typedef
+atsexnframe_t *atsexnframe_ptr ;
+
+/* ****** ****** */
+
+#define \
+atsexnframe_alloc() alloca(sizeof(atsexnframe_t))
+#define \
+atsexnframe_mfree(frame) /* there-is-nothing-to-do */
+
+/* ****** ****** */
+
+extern
+atsexnframe_ptr *my_atsexnframe_getref () ;
+
+/* ****** ****** */
+
+static
+inline
+void my_atsexnframe_enter
+(
+  atsexnframe_ptr frame
+, atsexnframe_ptr *framep
+) {
+  frame->prev = *framep ; *framep = frame ; return ;
+} // end of [my_atsexnframe_enter]
+
+static
+inline
+void my_atsexnframe_leave
+(
+  atsexnframe_ptr *framep
+) {
+  atsexnframe_mfree(*framep) ; *framep = (*framep)->prev ; return ;
+} // end of [my_atsexnframe_leave]
+
+/* ****** ****** */
+
+/*
+** HX:
+** beg-of-WARNING:
+** DO NOT USE THE FOLLOWING MACROS:
+*/
+
+#define \
+ATStrywith_try(tmpexn) \
+do { \
+  int flag ; \
+  atsexnframe_ptr frame ; \
+  atsexnframe_ptr *framep ; \
+  frame = atsexnframe_alloc() ; \
+  framep = my_atsexnframe_getref() ; \
+  my_atsexnframe_enter(frame, framep) ; \
+  flag = atspre_setjmp(frame->env, 1) ; \
+  if (flag==0) { /* normal */
+
+#define \
+ATStrywith_with(tmpexn) \
+    my_atsexnframe_leave(framep) ; \
+  } else { /* flag<>0 : exceptional */ \
+    tmpexn = (*framep)->exn ; \
+    my_atsexnframe_leave(framep) ;
+
+#define \
+ATStrywith_end(tmpexn) \
+  } \
+} while(0) ; /* end of [do] */
+
+/* end-of-WARNING */
+
+/* ****** ****** */
+
+#endif /* PATS_CCOMP_EXCEPTION_H */
+
+/* ****** ****** */
+
+/* end of [pats_ccomp_exception.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_instrset.h b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_instrset.h
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_instrset.h
@@ -0,0 +1,441 @@
+/* ******************************************************************* */
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/* ******************************************************************* */
+
+/*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+** 
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+** 
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: October, 2012 *)
+*/
+
+/* ****** ****** */
+
+#ifndef PATS_CCOMP_INSTRSET_H
+#define PATS_CCOMP_INSTRSET_H
+
+/* ****** ****** */
+//
+// HX: boolean values
+//
+#define atsbool_true 1
+#define atsbool_false 0
+//
+/* ****** ****** */
+
+#define ATStysum() struct{ int contag; }
+#define ATStyexn() struct{ int exntag; char *exnmsg; }
+#define ATStylist(tyelt) struct{ tyelt head; void *tail; }
+#define ATStyclo() struct{ void *cfun; }
+
+/* ****** ****** */
+//
+// HX: for supporting lazy-evaluation
+//
+#define \
+ATStylazy(tyval) \
+  struct{ int flag; union{ void* thunk; tyval saved; } lazy; }
+//
+/* ****** ****** */
+
+#define ATSif(x) if(x)
+#define ATSthen()
+#define ATSelse() else
+
+/* ****** ****** */
+
+#define ATSifthen(x) if(x)
+#define ATSifnthen(x) if(!(x))
+
+/* ****** ****** */
+
+#define ATSdo() do
+#define ATSwhile(x) while(x)
+#define ATSbreak() break
+#define ATScontinue() continue
+
+/* ****** ****** */
+//
+// HX: handling for/while loops
+//
+#define \
+ATSloop_open(init, fini, cont) \
+  do { init:
+#define \
+ATSloop_close(init, fini, cont) \
+  goto init ; fini: break ; } while(0)
+//
+#define ATSbreak2(fini) goto fini
+#define ATScontinue2(cont) goto cont
+//
+/* ****** ****** */
+
+#define ATSreturn(x) return(x)
+#define ATSreturn_void(x) return
+
+/* ****** ****** */
+
+#define ATSFCreturn(x) return(x)
+#define ATSFCreturn_void(x) (x); return
+
+/* ****** ****** */
+//
+#define ATSbranch_beg()
+#define ATSbranch_end() break ;
+//
+#define ATScaseof_beg() do {
+#define ATScaseof_end() } while(0) ;
+//
+/* ****** ****** */
+
+#define ATSextcode_beg()
+#define ATSextcode_end()
+
+/* ****** ****** */
+
+#define ATSfunbody_beg()
+#define ATSfunbody_end()
+
+/* ****** ****** */
+
+#define ATSPMVint(i) i
+#define ATSPMVintrep(rep) (rep)
+
+#define ATSPMVbool_true() atsbool_true
+#define ATSPMVbool_false() atsbool_false
+#define ATSPMVchar(c) (c)
+#define ATSPMVfloat(rep) (rep)
+#define ATSPMVstring(str) (str)
+
+#define ATSPMVi0nt(tok) (tok)
+#define ATSPMVf0loat(tok) (tok)
+
+/* ****** ****** */
+
+#define ATSCSTSPmyfil(info) info
+#define ATSCSTSPmyloc(info) info
+
+/* ****** ****** */
+//
+#define ATSPMVtop() atserror_top
+//
+#define ATSPMVempty() /*empty*/
+#define ATSPMVextval(name) (name)
+//
+/* ****** ****** */
+
+#define ATSPMVptrof(lval) (&(lval))
+#define ATSPMVptrof_void(lval) ((void*)0)
+
+/* ****** ****** */
+
+#define ATSPMVrefarg0(val) (val)
+#define ATSPMVrefarg1(ref) (ref)
+
+/* ****** ****** */
+
+#define ATSPMVvararg0() 0
+#define ATSPMVvararg1(...) __VA_ARGS__
+  
+/* ****** ****** */
+
+#define ATSPMVtyrep(rep) (rep)
+
+/* ****** ****** */
+
+#define ATSPMVsizeof(hit) (sizeof(hit))
+
+/* ****** ****** */
+//
+#define ATSPMVfunlab(flab) (flab)
+//
+// HX-2015-07-06: not yet in use:
+//
+#define ATSPMVfunlab2(flab, arity) (flab)
+//
+/* ****** ****** */
+
+#define ATSPMVcfunlab(knd, flab, env) (flab##__closurerize)env
+
+/* ****** ****** */
+
+//
+// HX: castfn application
+//
+#define ATSPMVcastfn(d2c, hit, arg) ((hit)arg)
+//
+/* ****** ****** */
+
+#define ATSfuncall(fun, funarg) (fun)funarg
+
+/* ****** ****** */
+//
+#define ATSextfcall(fun, funarg) (fun)funarg
+#define ATSextmcall(obj, mtd, funarg) (obj->mtd)funarg
+//
+/* ****** ****** */
+//
+#define \
+ATSfunclo_fun(pmv, targs, tres) ((tres(*)targs)(pmv))
+#define \
+ATSfunclo_clo(pmv, targs, tres) ((tres(*)targs)(((ATStyclo()*)pmv)->cfun))
+//
+/* ****** ****** */
+//
+#define ATStmpdec(tmp, hit) hit tmp
+#define ATStmpdec_void(tmp)
+//
+#define ATSstatmpdec(tmp, hit) static hit tmp
+#define ATSstatmpdec_void(tmp)
+//
+/* ****** ****** */
+
+#define ATSderef(pmv, hit) (*(hit*)pmv)
+
+/* ****** ****** */
+//
+// HX: [ATSSELcon] is the same as [ATSSELboxrec]
+//
+#define ATSSELcon(pmv, tysum, lab) (((tysum*)pmv)->lab)
+//
+#define ATSSELrecsin(pmv, tyrec, lab) (pmv)
+#define ATSSELfltrec(pmv, tyrec, lab) ((pmv).lab)
+#define ATSSELboxrec(pmv, tyrec, lab) (((tyrec*)pmv)->lab)
+#define ATSSELarrind(pmv, tyarr, lab) (((tyarr)pmv).lab)
+#define ATSSELarrptrind(pmv, tyelt, lab) (((tyelt*)pmv)lab)
+//
+/* ****** ****** */
+//
+#define ATSCKnot(x) ((x)==0)
+//
+#define ATSCKiseqz(x) ((x)==0)
+#define ATSCKisneqz(x) ((x)!=0)
+//
+#define ATSCKptriscons(x) (0 != (void*)(x))
+#define ATSCKptrisnull(x) (0 == (void*)(x))
+//
+/* ****** ****** */
+//
+#define ATSCKpat_int(pmv, pat) ((pmv)==pat)
+#define ATSCKpat_bool(pmv, pat) ((pmv)==pat)
+#define ATSCKpat_char(pmv, pat) ((pmv)==pat)
+#define ATSCKpat_float(pmv, pat) ((pmv)==pat)
+#define ATSCKpat_string(pmv, pat) (atspre_string_equal(pmv, pat))
+//
+/*
+** a datatype should not contain more than 1024 constructors!
+*/
+#define ATS_DATACONMAX 1024
+//
+#define ATSCKpat_con0(pmv, tag) ((pmv)==(void*)tag)
+#define ATSCKpat_con1(pmv, tag) \
+  ((pmv)>=(void*)ATS_DATACONMAX && ((ATStysum()*)(pmv))->contag==tag)
+//
+#define ATSCKpat_exn0(pmv, d2con) ((pmv)==(void*)(&(d2con)))
+#define ATSCKpat_exn1(pmv, d2con) (((ATStyexn()*)(pmv))->exntag==(&(d2con))->exntag)
+//
+/* ****** ****** */
+//
+#define ATSINSlab(lab) lab
+#define ATSINSgoto(lab) goto lab
+//
+#define ATSINSflab(flab) flab
+#define ATSINSfgoto(flab) goto flab
+//
+/* ****** ****** */
+
+#define ATSINSfreeclo(cloptr) ATS_MFREE(cloptr)
+#define ATSINSfreecon(datconptr) ATS_MFREE(datconptr)
+
+/* ****** ****** */
+
+#define ATSINSmove(tmp, val) (tmp = val)
+#define ATSINSpmove(tmp, hit, val) (*(hit*)tmp = val)
+
+/* ****** ****** */
+/*
+** HX-2013-01-20:
+** Do not have parentheses around [command]
+*/
+#define ATSINSmove_void(tmp, command) command
+#define ATSINSpmove_void(tmp, hit, command) command
+
+/* ****** ****** */
+
+#define ATSINSmove_ptralloc(tmp, hit) (tmp = ATS_MALLOC(sizeof(hit)))
+
+/* ****** ****** */
+//
+#define \
+ATSINSmove_nil(tmp) (tmp = ((void*)0))
+//
+#define \
+ATSINSmove_con0(tmp, tag) (tmp = ((void*)tag))
+//
+#define ATSINSmove_con1_beg()
+#define ATSINSmove_con1_end()
+#define ATSINSmove_con1_new(tmp, tysum) (tmp = ATS_MALLOC(sizeof(tysum)))
+#define ATSINSstore_con1_tag(tmp, val) (((ATStysum()*)(tmp))->contag = val)
+#define ATSINSstore_con1_ofs(tmp, tysum, lab, val) (((tysum*)(tmp))->lab = val)
+//
+/* ****** ****** */
+//
+#define ATSINSmove_exn0(tmp, d2con) (tmp = &(d2con))
+//
+#define ATSINSmove_exn1_beg()
+#define ATSINSmove_exn1_end()
+#define ATSINSmove_exn1_new(tmp, tyexn) (tmp = ATS_MALLOC(sizeof(tyexn)))
+#define ATSINSstore_exn1_tag(tmp, d2con) (((ATStyexn()*)tmp)->exntag = (&(d2con))->exntag)
+#define ATSINSstore_exn1_msg(tmp, d2con) (((ATStyexn()*)tmp)->exnmsg = (&(d2con))->exnmsg)
+//
+/* ****** ****** */
+//
+#define ATStailcal_beg() do {
+#define ATStailcal_end() } while(0) ;
+//
+#define ATSINSmove_tlcal(apy, tmp) (apy = tmp)
+#define ATSINSargmove_tlcal(arg, apy) (arg = apy)
+//
+/* ****** ****** */
+
+#define ATSINSmove_fltrec_beg()
+#define ATSINSmove_fltrec_end()
+#define ATSINSstore_fltrec_ofs(tmp, tyrec, lab, val) ((tmp).lab = val)
+
+/* ****** ****** */
+
+#define ATSINSmove_boxrec_beg()
+#define ATSINSmove_boxrec_end()
+#define ATSINSmove_boxrec_new(tmp, tyrec) (tmp = ATS_MALLOC(sizeof(tyrec)))
+#define ATSINSstore_boxrec_ofs(tmp, tyrec, lab, val) (((tyrec*)(tmp))->lab = val)
+
+/* ****** ****** */
+
+#define ATSINSload(tmp, pmv) (tmp = pmv)
+#define ATSINSstore(pmv1, pmv2) (pmv1 = pmv2)
+#define ATSINSxstore(tmp, pmv1, pmv2) (tmp = pmv1, pmv1 = pmv2, pmv2 = tmp)
+
+/* ****** ****** */
+//
+#define ATSINSmove_list_nil(tmp) (tmp = (void*)0)
+#define ATSINSmove_list_phead(tmp1, tmp2, tyelt) (tmp1 = &(((ATStylist(tyelt)*)(*(void**)tmp2))->head))
+#define ATSINSmove_list_ptail(tmp1, tmp2, tyelt) (tmp1 = &(((ATStylist(tyelt)*)(*(void**)tmp2))->tail))
+#define ATSINSpmove_list_nil(tmp) (*(void**)tmp = (void*)0)
+#define ATSINSpmove_list_cons(tmp, tyelt) (*(void**)tmp = ATS_MALLOC(sizeof(ATStylist(tyelt))))
+//
+/* ****** ****** */
+//
+#define ATSINSstore_arrpsz_asz(tmp, asz) ((tmp).size = asz)
+#define ATSINSstore_arrpsz_ptr(tmp, tyelt, asz) ((tmp).ptr = ATS_MALLOC(asz*sizeof(tyelt)))
+//
+#define ATSINSmove_arrpsz_ptr(tmp, psz) (tmp = (psz).ptr)
+//
+#define ATSINSupdate_ptrinc(tmp, tyelt) (tmp = (tyelt*)(tmp) + 1)
+#define ATSINSupdate_ptrdec(tmp, tyelt) (tmp = (tyelt*)(tmp) - 1)
+//
+/* ****** ****** */
+
+#define ATSINSextvar_assign(var, pmv) var = (pmv)
+#define ATSINSdyncst_valbind(d2cst, pmv) d2cst = (pmv)
+
+/* ****** ****** */
+
+#define ATSINSclosure_initize(flab, tmpenv) (flab##__closureinit)tmpenv
+
+/* ****** ****** */
+//
+#define ATSINSraise_exn(tmp, pmv) atsruntime_raise(pmv)
+//
+/* ****** ****** */
+//
+#define ATSINScaseof_fail(msg) atsruntime_handle_unmatchedval(msg)
+#define ATSINSfunarg_fail(msg) atsruntime_handle_unmatchedarg(msg)
+//
+/* ****** ****** */
+
+#define \
+ATSINSmove_delay(tmpret, tyval, pmv_thk) \
+do { \
+  tmpret = \
+    ATS_MALLOC(sizeof(ATStylazy(tyval))) ; \
+  (*(ATStylazy(tyval)*)tmpret).flag = 0 ; \
+  (*(ATStylazy(tyval)*)tmpret).lazy.thunk = pmv_thk ; \
+} while(0) ; /* end of [do ... while ...] */
+
+#define \
+ATSINSmove_lazyeval(tmpret, tyval, pmv_lazy) \
+do { \
+  if ( \
+    (*(ATStylazy(tyval)*)pmv_lazy).flag==0 \
+  ) { \
+    (*(ATStylazy(tyval)*)pmv_lazy).flag += 1 ; \
+    atstype_cloptr __thunk = (*(ATStylazy(tyval)*)pmv_lazy).lazy.thunk ; \
+    tmpret = ATSfuncall(ATSfunclo_clo(__thunk, (atstype_cloptr), tyval), (__thunk)) ; \
+    (*(ATStylazy(tyval)*)pmv_lazy).lazy.saved = tmpret ; \
+  } else { \
+    tmpret = (*(ATStylazy(tyval)*)pmv_lazy).lazy.saved ; \
+  } /* end of [if] */ \
+} while(0) /* end of [do ... while ...] */
+
+/* ****** ****** */
+
+#define \
+ATSINSmove_ldelay(tmpret, tyval, __thunk) \
+do { \
+  ATSINSmove(tmpret, __thunk) ; \
+} while(0) /* end of [do ... while ...] */
+
+#define \
+ATSINSmove_llazyeval(tmpret, tyval, __thunk) \
+do { \
+  tmpret = \
+  ATSfuncall(ATSfunclo_clo(__thunk, (atstype_cloptr, atstype_bool), tyval), (__thunk, atsbool_true)) ; \
+  ATS_MFREE(__thunk) ; \
+} while(0) /* end of [do ... while ...] */
+
+/* ****** ****** */
+
+#define \
+atspre_lazy_vt_free(__thunk) \
+do { \
+  ATSfuncall(ATSfunclo_clo(__thunk, (atstype_cloptr, atstype_bool), void), (__thunk, atsbool_false)) ; \
+  ATS_MFREE(__thunk) ; \
+} while(0) /* atspre_lazy_vt_free */
+
+/* ****** ****** */
+//
+// HX-2014-10:
+//
+#define atspre_lazy2cloref(pmv_lazy) ((*(ATStylazy(atstype_ptr)*)pmv_lazy).lazy.thunk)
+//
+/* ****** ****** */
+
+#endif /* PATS_CCOMP_INSTRSET_H */
+
+/* ****** ****** */
+
+/* end of [pats_ccomp_instrset.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc.h b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc.h
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc.h
@@ -0,0 +1,132 @@
+/* ******************************************************************* */
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/* ******************************************************************* */
+
+/*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+** 
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+** 
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: October, 2012 *)
+*/
+
+/* ****** ****** */
+
+#ifndef PATS_CCOMP_MEMALLOC_H
+#define PATS_CCOMP_MEMALLOC_H
+
+/* ****** ****** */
+//
+// HX: for size_t
+//
+#include <stddef.h>
+//
+/* ****** ****** */
+//
+extern
+void atsruntime_mfree_undef (void *ptr) ;
+//
+extern
+void *atsruntime_malloc_undef (size_t bsz) ;
+extern
+void *atsruntime_calloc_undef (size_t asz, size_t tsz) ;
+extern
+void *atsruntime_realloc_undef (void *ptr, size_t bsz) ;
+//
+/* ****** ****** */
+
+#ifdef ATS_MEMALLOC_FLAG
+#undef ATS_MEMALLOC_FLAG
+#endif // ifdef(ATS_MEMALLOC_FLAG)
+
+/* ****** ****** */
+
+#ifdef ATS_MEMALLOC_LIBC
+//
+#define ATS_MEMALLOC_FLAG
+//
+#include "pats_ccomp_memalloc_libc.h"
+//
+#define ATS_MINIT atsruntime_minit_libc
+#define ATS_MFREE atsruntime_mfree_libc
+#define ATS_MALLOC atsruntime_malloc_libc_exn
+#define ATS_CALLOC atsruntime_calloc_libc_exn
+#define ATS_REALLOC atsruntime_realloc_libc_exn
+//
+#endif // end of [ATS_MEMALLOC_LIBC]
+
+/* ****** ****** */
+
+#ifdef ATS_MEMALLOC_GCBDW
+//
+#define ATS_MEMALLOC_FLAG
+//
+#include "pats_ccomp_memalloc_gcbdw.h"
+//
+#define ATS_MINIT atsruntime_minit_gcbdw
+#define ATS_MFREE atsruntime_mfree_gcbdw
+#define ATS_MALLOC atsruntime_malloc_gcbdw_exn
+#define ATS_CALLOC atsruntime_calloc_gcbdw_exn
+#define ATS_REALLOC atsruntime_realloc_gcbdw_exn
+//
+#endif // end of [ATS_MEMALLOC_GCBDW]
+
+/* ****** ****** */
+
+#ifdef ATS_MEMALLOC_USER
+//
+#define ATS_MEMALLOC_FLAG
+//
+#include "pats_ccomp_memalloc_user.h"
+//
+#define ATS_MINIT atsruntime_minit_user
+#define ATS_MFREE atsruntime_mfree_user
+#define ATS_MALLOC atsruntime_malloc_user
+#define ATS_CALLOC atsruntime_calloc_user
+#define ATS_REALLOC atsruntime_realloc_user
+//
+#endif // end of [ATS_MEMALLOC_USER]
+
+/* ****** ****** */
+
+#ifndef ATS_MEMALLOC_FLAG
+#define ATS_MEMALLOC_FLAG
+//
+#define ATS_MINIT atsruntime_minit_undef
+#define ATS_MFREE atsruntime_mfree_undef
+#define ATS_MALLOC atsruntime_malloc_undef
+#define ATS_CALLOC atsruntime_calloc_undef
+#define ATS_REALLOC atsruntime_realloc_undef
+//
+#endif // end of [ATS_MEMALLOC_FLAG]
+
+/* ****** ****** */
+
+#endif /* PATS_CCOMP_MEMALLOC_H */
+
+/* ****** ****** */
+
+/* end of [pats_ccomp_memalloc.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc_gcbdw.h b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc_gcbdw.h
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc_gcbdw.h
@@ -0,0 +1,146 @@
+/* ******************************************************************* */
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/* ******************************************************************* */
+
+/*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+** 
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+** 
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: March, 2013 *)
+*/
+
+/* ****** ****** */
+//
+#include <stdio.h>
+/*
+extern
+int fprintf (FILE *stream, const char *format, ...) ;
+*/
+/* ****** ****** */
+/*
+#include <stdlib.h>
+*/
+extern void exit (int code) ; 
+
+/* ****** ****** */
+/*
+#include <gc.h>
+*/
+extern void GC_init () ;
+extern void GC_free (void *ptr) ;
+extern void *GC_malloc(size_t bsz) ;
+extern void *GC_realloc(void *ptr, size_t bsz) ;
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atsruntime_minit_gcbdw
+  (/*void*/) { GC_init() ; return ; }
+// end of [atsruntime_minit_gcbdw]
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atsruntime_mfree_gcbdw
+  (void *ptr) { GC_free(ptr) ; return ; }
+// end of [atsruntime_mfree_gcbdw]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_ptr
+atsruntime_malloc_gcbdw
+  (size_t bsz) { return GC_malloc(bsz) ; }
+// end of [atsruntime_malloc_gcbdw]
+
+ATSinline()
+atstype_ptr
+atsruntime_malloc_gcbdw_exn
+  (size_t bsz)
+{
+  void *ptr ;
+  ptr = atsruntime_malloc_gcbdw(bsz) ;
+  if (!ptr)
+  {
+    fprintf(
+      stderr, "exit(ATS): atsruntime_malloc_gcbdw_exn: [malloc] failed.\n"
+    ) ; exit(1) ;
+  } // end of [if]
+  return (ptr) ;
+} /* end of [atsruntime_malloc_gcbdw_exn] */
+
+/* ****** ****** */
+//
+// HX:
+// [GC_malloc] already
+// clears the allocated region!
+//
+ATSinline()
+atstype_ptr
+atsruntime_calloc_gcbdw
+  (size_t asz, size_t tsz)
+{
+  return atsruntime_malloc_gcbdw (asz*tsz) ;
+} // end of [atsruntime_calloc_gcbdw]
+
+ATSinline()
+atstype_ptr
+atsruntime_calloc_gcbdw_exn
+  (size_t asz, size_t tsz)
+{
+  return atsruntime_malloc_gcbdw_exn (asz*tsz) ;
+} // end of [atsruntime_calloc_gcbdw_exn]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_ptr
+atsruntime_realloc_gcbdw
+  (void *ptr, size_t bsz) { return GC_realloc(ptr, bsz) ; }
+// end of [atsruntime_realloc_gcbdw]
+
+ATSinline()
+atstype_ptr
+atsruntime_realloc_gcbdw_exn
+  (void *ptr, size_t bsz)
+{
+  void *ptr2 ;
+  ptr2 = atsruntime_realloc_gcbdw(ptr, bsz) ;
+  if (!ptr2)
+  {
+    fprintf(
+    stderr, "exit(ATS): atsruntime_realloc_gcbdw_exn: [realloc] failed.\n"
+    ) ; exit(1) ;
+  } // end of [if]
+  return (ptr2) ;
+} /* end of [atsruntime_realloc_gcbdw_exn] */
+
+/* ****** ****** */
+
+/* end of [pats_ccomp_memalloc_gcbdw.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc_libc.h b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc_libc.h
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc_libc.h
@@ -0,0 +1,140 @@
+/* ******************************************************************* */
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/* ******************************************************************* */
+
+/*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+** 
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+** 
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: March, 2013 *)
+*/
+
+/* ****** ****** */
+//
+#include <stdio.h>
+/*
+extern
+int fprintf (FILE *stream, const char *format, ...) ;
+*/
+/* ****** ****** */
+//
+// stdlib.h
+//
+extern void exit (int code) ;
+//
+extern void free (void *ptr) ;
+extern void *malloc (size_t bsz) ;
+extern void *calloc(size_t asz, size_t tsz) ;
+extern void *realloc(void *ptr, size_t bsz) ;
+//
+/* ****** ****** */
+//
+ATSinline()
+atsvoid_t0ype
+atsruntime_minit_libc() { return ; }
+//
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atsruntime_mfree_libc
+  (atstype_ptr ptr) { free(ptr) ; return ; }
+// end of [atsruntime_mfree_libc]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_ptr
+atsruntime_malloc_libc
+  (atstype_size bsz) { return malloc(bsz) ; }
+// end of [atsruntime_malloc_libc]
+
+ATSinline()
+atstype_ptr
+atsruntime_malloc_libc_exn
+  (atstype_size bsz)
+{
+  atstype_ptr p ;
+  p = atsruntime_malloc_libc(bsz) ;
+  if (!p) {
+    fprintf(stderr, "exit(ATS): atsruntime_malloc_libc_exn: [malloc] failed.\n") ;
+    exit(1) ;
+  } // end of [if]
+  return (p) ;
+} /* end of [atsruntime_malloc_libc_exn] */
+
+/* ****** ****** */
+
+ATSinline()
+atstype_ptr
+atsruntime_calloc_libc
+  (atstype_size asz, atstype_size tsz) { return calloc(asz, tsz) ; }
+// end of [atsruntime_calloc_libc]
+
+ATSinline()
+atstype_ptr
+atsruntime_calloc_libc_exn
+(
+  atstype_size asz, atstype_size tsz
+)
+{
+  atstype_ptr p ;
+  p = atsruntime_calloc_libc(asz, tsz) ;
+  if (!p) {
+    fprintf(stderr, "exit(ATS): atsruntime_calloc_libc_exn: [calloc] failed.\n") ;
+    exit(1) ;
+  } // end of [if]
+  return (p) ;
+} /* end of [atsruntime_calloc_libc_exn] */
+
+/* ****** ****** */
+
+ATSinline()
+atstype_ptr
+atsruntime_realloc_libc
+  (atstype_ptr ptr, atstype_size bsz) { return realloc(ptr, bsz) ; }
+// end of [atsruntime_realloc_libc]
+
+ATSinline()
+atstype_ptr
+atsruntime_realloc_libc_exn
+(
+  atstype_ptr ptr, atstype_size bsz
+)
+{
+  atstype_ptr p ;
+  p = atsruntime_realloc_libc(ptr, bsz) ;
+  if (!p) {
+    fprintf(stderr, "exit(ATS): atsruntime_realloc_libc_exn: [realloc] failed.\n") ;
+    exit(1) ;
+  } // end of [if]
+  return (p) ;
+} /* end of [atsruntime_realloc_libc_exn] */
+
+/* ****** ****** */
+
+/* end of [pats_ccomp_memalloc_libc.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc_user.h b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc_user.h
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc_user.h
@@ -0,0 +1,74 @@
+/* ******************************************************************* */
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/* ******************************************************************* */
+
+/*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+** 
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+** 
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: March, 2013 *)
+*/
+
+/* ****** ****** */
+//
+#include <stdio.h>
+/*
+extern
+int fprintf (FILE *stream, const char *format, ...) ;
+*/
+/* ****** ****** */
+//
+// stdlib.h
+//
+extern void exit (int code) ;
+//
+/* ****** ****** */
+
+extern void atsruntime_mfree_user (void *ptr) ;
+extern void *atsruntime_malloc_user (size_t bsz) ;
+extern void *atsruntime_calloc_user (size_t asz, size_t tsz) ;
+extern void *atsruntime_realloc_user (void *ptr, size_t bsz) ;
+
+/* ****** ****** */
+
+ATSinline()
+atstype_ptr
+atsruntime_malloc_user_exn
+  (atstype_size bsz)
+{
+  atstype_ptr p ;
+  p = atsruntime_malloc_user(bsz) ;
+  if (!p) {
+    fprintf(stderr, "exit(ATS): atsruntime_malloc_user_exn: [malloc] failed.\n") ;
+    exit(1) ;
+  } // end of [if]
+  return (p) ;
+} /* end of [atsruntime_malloc_user_exn] */
+
+/* ****** ****** */
+
+/* end of [pats_ccomp_memalloc_user.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc_user2.h b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc_user2.h
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloc_user2.h
@@ -0,0 +1,58 @@
+/* ******************************************************************* */
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/* ******************************************************************* */
+
+/*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+** 
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+** 
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: March, 2013 *)
+*/
+
+/* ****** ****** */
+//
+#include <stdio.h>
+/*
+extern
+int fprintf (FILE *stream, const char *format, ...) ;
+*/
+/* ****** ****** */
+//
+// stdlib.h
+//
+extern void exit (int code) ;
+//
+/* ****** ****** */
+
+extern void atsruntime_mfree_user2 (void *ptr) ;
+extern void *atsruntime_malloc_user2 (size_t bsz) ;
+extern void *atsruntime_calloc_user2 (size_t asz, size_t tsz) ;
+extern void *atsruntime_realloc_user2 (void *ptr, size_t bsz) ;
+
+/* ****** ****** */
+
+/* end of [pats_ccomp_memalloc_user2.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloca.h b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloca.h
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_memalloca.h
@@ -0,0 +1,69 @@
+/* ******************************************************************* */
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/* ******************************************************************* */
+
+/*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+** 
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+** 
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: March, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef PATS_CCOMP_MEMALLOCA_H
+#define PATS_CCOMP_MEMALLOCA_H
+
+/* ****** ****** */
+//
+// alloca.h
+//
+extern void *alloca (size_t bsz) ;
+//
+/* ****** ****** */
+//
+// HX: [afree] matches [alloca]
+//
+ATSinline()
+atsvoid_t0ype
+atsruntime_afree_libc
+  (atstype_ptr ptr) { return ; }
+// end of [atsruntime_afree_libc]
+
+ATSinline()
+atstype_ptr
+atsruntime_alloca_libc
+  (atstype_size bsz) { return alloca(bsz) ; }
+// end of [atsruntime_alloca_libc]
+
+/* ****** ****** */
+
+#endif /* PATS_CCOMP_MEMALLOCA_H */
+
+/* ****** ****** */
+
+/* end of [pats_ccomp_memalloca.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_runtime.c b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_runtime.c
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_runtime.c
@@ -0,0 +1,166 @@
+/* ******************************************************************* */
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/* ******************************************************************* */
+
+/*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+** 
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+** 
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: April, 2013 *)
+*/
+
+/* ****** ****** */
+//
+#include <stdio.h>
+//
+extern void exit (int) ; // in [stdlib.h]
+//
+/* ****** ****** */
+
+#include "pats_ccomp_basics.h"
+#include "pats_ccomp_typedefs.h"
+
+/* ****** ****** */
+//
+// HX-2013-04: some pre-initialized exceptions
+//
+/* ****** ****** */
+
+#ifndef \
+_ATS_CCOMP_EXCEPTION_NONE_
+//
+atstype_exncon
+ATSLIB_056_prelude__AssertExn = { 10, "AssertException" } ;
+atstype_exncon
+ATSLIB_056_prelude__GenerallyExn = { 20, "GenerallyException" } ;
+atstype_exncon
+ATSLIB_056_prelude__IllegalArgExn = { 30, "IllegalArgException" } ;
+//
+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
+
+/* ****** ****** */
+
+#ifndef \
+_ATS_CCOMP_EXCEPTION_NONE_
+//
+atstype_exncon
+ATSLIB_056_prelude__NotSomeExn = { 40, "NotSomeException" } ;
+atstype_exncon
+ATSLIB_056_prelude__NotFoundExn = { 41, "NotFoundException" } ;
+//
+atstype_exncon
+ATSLIB_056_prelude__ListSubscriptExn = { 50, "ListSubscriptException" } ;
+atstype_exncon
+ATSLIB_056_prelude__StreamSubscriptExn = { 51, "StreamSubscriptException" } ;
+//
+atstype_exncon
+ATSLIB_056_prelude__ArraySubscriptExn = { 60, "ArraySubscriptException" } ;
+atstype_exncon
+ATSLIB_056_prelude__MatrixSubscriptExn = { 61, "MatrixSubscriptException" } ;
+//
+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
+
+/* ****** ****** */
+
+#ifndef \
+_ATS_CCOMP_EXCEPTION_NONE_
+//
+extern
+void
+the_atsexncon_initize
+(
+  atstype_exncon *d2c, char* exnmsg
+)
+{
+//
+  static int the_atsexntag = 1024 ;
+//
+  if (!d2c->exntag)
+  {
+    d2c->exntag = the_atsexntag ;
+    the_atsexntag = the_atsexntag + 1 ;
+  }
+  d2c->exnmsg = exnmsg ;
+  return ;
+} // end of [the_atsexncon_initize]
+//
+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
+
+/* ****** ****** */
+//
+// HX-2013:
+// for reporting pattern matching failure
+//
+extern
+void
+atsruntime_handle_unmatchedval
+  (char *msg0)
+{
+  fprintf
+  ( stderr
+  , "exit(ATS): unmatched value at run-time:\n%s\n", msg0
+  ) ; exit(1) ;
+  return ; // deadcode
+} /* end of [atsruntime_handle_unmatchedval] */
+//
+/* ****** ****** */
+//
+// HX-2014-06:
+// for reporting funarg-pattern matching failure
+//
+extern
+void
+atsruntime_handle_unmatchedarg
+  (char *msg0)
+{
+  fprintf
+  ( stderr
+  , "exit(ATS): unmatched funarg at run-time:\n%s\n", msg0
+  ) ; exit(1) ;
+  return ; // deadcode
+} /* end of [atsruntime_handle_unmatchedarg] */
+//
+/* ****** ****** */
+//
+// HX-2014-06:
+// for reporting failure due to uncaught exception
+//
+extern
+void
+atsruntime_handle_uncaughtexn_rest
+  (atstype_exncon *exn0)
+{
+  fprintf
+  ( stderr
+  , "exit(ATS): uncaught exception at run-time:\n%s(%d)\n", exn0->exnmsg, exn0->exntag
+  ) ; exit(1) ;
+  return ; // deadcode
+} /* end of [atsruntime_handle_uncaughtexn_rest] */
+//
+/* ****** ****** */
+
+/* end of [pats_ccomp_runtime.c] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_runtime2_dats.c b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_runtime2_dats.c
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_runtime2_dats.c
@@ -0,0 +1,390 @@
+/*
+**
+** The C code is generated by ATS/Postiats
+** The compilation time is: 2014-8-4: 12h:36m
+**
+*/
+/*
+typedefs-for-tyrecs-and-tysums(beg)
+*/
+typedef
+ATSstruct {
+int exntag ;
+char *exnmsg ;
+atstkind_type(atstype_ptrk) atslab__0; 
+} pats_ccomp_runtime2_tyexn ;
+/*
+typedefs-for-tyrecs-and-tysums(end)
+*/
+/*
+dynconlst-declaration(beg)
+*/
+/*
+dynconlst-declaration(end)
+*/
+/*
+dyncstlst-declaration(beg)
+*/
+ATSdyncst_mac(atspre_prerr_string)
+ATSdyncst_mac(atspre_prerr_newline)
+ATSdyncst_mac(atspre_exit)
+ATSdyncst_extfun(atsruntime_handle_uncaughtexn_rest, (atstype_exnconptr), atsvoid_t0ype) ;
+/*
+dyncstlst-declaration(end)
+*/
+/*
+dynvalist-implementation(beg)
+*/
+/*
+dynvalist-implementation(end)
+*/
+/*
+exnconlst-declaration(beg)
+*/
+/*
+assumelst-declaration(beg)
+*/
+/*
+assumelst-declaration(end)
+*/
+/*
+extypelst-declaration(beg)
+*/
+/*
+extypelst-declaration(end)
+*/
+
+/* ****** ****** */
+
+/*
+/home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1541(line=43, offs=3) -- 2287(line=72, offs=4)
+*/
+/*
+local: 
+global: atsruntime_handle_uncaughtexn$0$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atsvoid_t0ype
+atsruntime_handle_uncaughtexn(void *arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec_void(tmpret0) ;
+ATStmpdec(tmp1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp2, atstkind_type(atstype_ptrk)) ;
+ATStmpdec_void(tmp3) ;
+ATStmpdec_void(tmp4) ;
+ATStmpdec_void(tmp5) ;
+ATStmpdec_void(tmp6) ;
+ATStmpdec_void(tmp7) ;
+ATStmpdec_void(tmp8) ;
+ATStmpdec_void(tmp9) ;
+ATStmpdec_void(tmp10) ;
+ATStmpdec_void(tmp11) ;
+ATStmpdec_void(tmp12) ;
+ATStmpdec_void(tmp13) ;
+ATStmpdec_void(tmp14) ;
+ATStmpdec_void(tmp15) ;
+ATStmpdec_void(tmp16) ;
+/* tmpvardeclst(end) */
+/* funbodyinstrlst(beg) */
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1509(line=42, offs=1) -- 2287(line=72, offs=4)
+*/
+ATSINSflab(__patsflab_atsruntime_handle_uncaughtexn):
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1641(line=51, offs=1) -- 2280(line=70, offs=65)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1659(line=53, offs=3) -- 1672(line=53, offs=16)
+*/
+ATSINSlab(__atstmplab0):
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1542(line=43, offs=4) -- 1545(line=43, offs=7)
+*/
+ATSifnthen(ATSCKpat_exn0(arg0, ATSLIB_056_prelude__AssertExn)) { ATSINSgoto(__atstmplab2) ; } ;
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1672(line=53, offs=16) -- 1672(line=53, offs=16)
+*/
+ATSINSlab(__atstmplab1):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1676(line=53, offs=20) -- 1761(line=56, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1693(line=54, offs=14) -- 1706(line=54, offs=27)
+*/
+ATSINSmove_void(tmp3, atspre_prerr_string(ATSPMVstring("exit(ATS): uncaught exception at run-time"))) ;
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1720(line=55, offs=14) -- 1744(line=55, offs=38)
+*/
+ATSINSmove_void(tmp4, atspre_prerr_string(ATSPMVstring(": AssertExn"))) ;
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1720(line=55, offs=14) -- 1744(line=55, offs=38)
+*/
+ATSINSmove_void(tmp5, atspre_prerr_newline()) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1748(line=55, offs=42) -- 1754(line=55, offs=48)
+*/
+ATSINSmove_void(tmpret0, atspre_exit(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1676(line=53, offs=20) -- 1761(line=56, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1788(line=57, offs=3) -- 1803(line=57, offs=18)
+*/
+ATSINSlab(__atstmplab2):
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1542(line=43, offs=4) -- 1545(line=43, offs=7)
+*/
+ATSifnthen(ATSCKpat_exn0(arg0, ATSLIB_056_prelude__NotFoundExn)) { ATSINSgoto(__atstmplab4) ; } ;
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1803(line=57, offs=18) -- 1803(line=57, offs=18)
+*/
+ATSINSlab(__atstmplab3):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1807(line=57, offs=22) -- 1894(line=60, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1824(line=58, offs=14) -- 1837(line=58, offs=27)
+*/
+ATSINSmove_void(tmp6, atspre_prerr_string(ATSPMVstring("exit(ATS): uncaught exception at run-time"))) ;
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1851(line=59, offs=14) -- 1877(line=59, offs=40)
+*/
+ATSINSmove_void(tmp7, atspre_prerr_string(ATSPMVstring(": NotFoundExn"))) ;
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1851(line=59, offs=14) -- 1877(line=59, offs=40)
+*/
+ATSINSmove_void(tmp8, atspre_prerr_newline()) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1881(line=59, offs=44) -- 1887(line=59, offs=50)
+*/
+ATSINSmove_void(tmpret0, atspre_exit(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1807(line=57, offs=22) -- 1894(line=60, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1921(line=61, offs=3) -- 1940(line=61, offs=22)
+*/
+ATSINSlab(__atstmplab4):
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1542(line=43, offs=4) -- 1545(line=43, offs=7)
+*/
+ATSifnthen(ATSCKpat_exn1(arg0, ATSLIB_056_prelude__GenerallyExn)) { ATSINSgoto(__atstmplab6) ; } ;
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1940(line=61, offs=22) -- 1940(line=61, offs=22)
+*/
+ATSINSlab(__atstmplab5):
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1936(line=61, offs=18) -- 1939(line=61, offs=21)
+*/
+ATSINSmove(tmp1, ATSSELcon(arg0, pats_ccomp_runtime2_tyexn, atslab__0)) ;
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1921(line=61, offs=3) -- 2039(line=64, offs=6)
+*/
+/*
+ATSINSfreecon(arg0) ;
+*/
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1944(line=61, offs=26) -- 2039(line=64, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1961(line=62, offs=14) -- 1974(line=62, offs=27)
+*/
+ATSINSmove_void(tmp9, atspre_prerr_string(ATSPMVstring("exit(ATS): uncaught exception at run-time"))) ;
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1988(line=63, offs=14) -- 2022(line=63, offs=48)
+*/
+ATSINSmove_void(tmp10, atspre_prerr_string(ATSPMVstring(": GenerallyExn: "))) ;
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1988(line=63, offs=14) -- 2022(line=63, offs=48)
+*/
+ATSINSmove_void(tmp11, atspre_prerr_string(tmp1)) ;
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1988(line=63, offs=14) -- 2022(line=63, offs=48)
+*/
+ATSINSmove_void(tmp12, atspre_prerr_newline()) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2026(line=63, offs=52) -- 2032(line=63, offs=58)
+*/
+ATSINSmove_void(tmpret0, atspre_exit(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1944(line=61, offs=26) -- 2039(line=64, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2066(line=65, offs=3) -- 2086(line=65, offs=23)
+*/
+ATSINSlab(__atstmplab6):
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 1542(line=43, offs=4) -- 1545(line=43, offs=7)
+*/
+ATSifnthen(ATSCKpat_exn1(arg0, ATSLIB_056_prelude__IllegalArgExn)) { ATSINSgoto(__atstmplab8) ; } ;
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2086(line=65, offs=23) -- 2086(line=65, offs=23)
+*/
+ATSINSlab(__atstmplab7):
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2082(line=65, offs=19) -- 2085(line=65, offs=22)
+*/
+ATSINSmove(tmp2, ATSSELcon(arg0, pats_ccomp_runtime2_tyexn, atslab__0)) ;
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2066(line=65, offs=3) -- 2186(line=68, offs=6)
+*/
+/*
+ATSINSfreecon(arg0) ;
+*/
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2090(line=65, offs=27) -- 2186(line=68, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2107(line=66, offs=14) -- 2120(line=66, offs=27)
+*/
+ATSINSmove_void(tmp13, atspre_prerr_string(ATSPMVstring("exit(ATS): uncaught exception at run-time"))) ;
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2134(line=67, offs=14) -- 2169(line=67, offs=49)
+*/
+ATSINSmove_void(tmp14, atspre_prerr_string(ATSPMVstring(": IllegalArgExn: "))) ;
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2134(line=67, offs=14) -- 2169(line=67, offs=49)
+*/
+ATSINSmove_void(tmp15, atspre_prerr_string(tmp2)) ;
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2134(line=67, offs=14) -- 2169(line=67, offs=49)
+*/
+ATSINSmove_void(tmp16, atspre_prerr_newline()) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2173(line=67, offs=53) -- 2179(line=67, offs=59)
+*/
+ATSINSmove_void(tmpret0, atspre_exit(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2090(line=65, offs=27) -- 2186(line=68, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2219(line=70, offs=4) -- 2219(line=70, offs=4)
+*/
+ATSINSlab(__atstmplab8):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/hwxi/research/Postiats/git/ccomp/runtime/pats_ccomp_runtime2.dats: 2240(line=70, offs=25) -- 2279(line=70, offs=64)
+*/
+ATSINSmove_void(tmpret0, atsruntime_handle_uncaughtexn_rest(arg0)) ;
+
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/* funbodyinstrlst(end) */
+ATSreturn_void(tmpret0) ;
+} /* end of [atsruntime_handle_uncaughtexn] */
+
+/* ****** ****** */
+
+/* end of [pats_ccomp_runtime2_dats.c] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_runtime_memalloc.c b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_runtime_memalloc.c
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_runtime_memalloc.c
@@ -0,0 +1,104 @@
+/* ******************************************************************* */
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/* ******************************************************************* */
+
+/*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+** 
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+** 
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: April, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifdef ATS_MEMALLOC_LIBC
+
+extern
+void
+atsruntime_mfree_undef (void *ptr)
+{
+ atsruntime_mfree_libc (ptr) ; return ;
+}
+extern
+void
+*atsruntime_malloc_undef (size_t bsz)
+{
+ return atsruntime_malloc_libc (bsz) ;
+}
+extern
+void
+*atsruntime_calloc_undef
+  (size_t asz, size_t tsz)
+{
+ return atsruntime_calloc_libc (asz, tsz) ;
+}
+extern
+void
+*atsruntime_realloc_undef
+   (void *ptr, size_t bsz)
+{
+ return atsruntime_realloc_libc (ptr, bsz) ;
+}
+
+#endif // ATS_MEMALLOC_LIBC
+
+/* ****** ****** */
+
+#ifdef ATS_MEMALLOC_GCBDW
+
+extern
+void
+atsruntime_mfree_undef (void *ptr)
+{
+ atsruntime_mfree_gcbdw (ptr) ; return ;
+}
+extern
+void
+*atsruntime_malloc_undef (size_t bsz)
+{
+ return atsruntime_malloc_gcbdw (bsz) ;
+}
+extern
+void
+*atsruntime_calloc_undef
+  (size_t asz, size_t tsz)
+{
+ return atsruntime_calloc_gcbdw (asz, tsz) ;
+}
+extern
+void
+*atsruntime_realloc_undef
+   (void *ptr, size_t bsz)
+{
+ return atsruntime_realloc_gcbdw (ptr, bsz) ;
+}
+
+#endif // ATS_MEMALLOC_GCBDW
+
+/* ****** ****** */
+
+/* end of [pats_ccomp_runtime_memalloc.c] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_runtime_trywith.c b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_runtime_trywith.c
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_runtime_trywith.c
@@ -0,0 +1,86 @@
+/* ******************************************************************* */
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/* ******************************************************************* */
+
+/*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+** 
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+** 
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: April, 2013 *)
+*/
+
+/* ****** ****** */
+//
+#include "pats_ccomp_basics.h"
+#include "pats_ccomp_typedefs.h"
+#include "pats_ccomp_exception.h"
+//
+/* ****** ****** */
+//
+// HX-2013-06:
+// it is only for single-threaded programs
+//
+/* ****** ****** */
+
+extern
+atsexnframe_ptr
+*my_atsexnframe_getref ()
+{
+//
+static
+atsexnframe_t *my_atsexnframe = (void*)0 ;
+//
+return &(my_atsexnframe) ;
+//
+} // end of [my_atsexnframe_getref]
+
+/* ****** ****** */
+
+extern
+void
+atsruntime_raise
+  (void *exn0)
+{
+//
+  atsexnframe_t *frame ;
+  frame = *(my_atsexnframe_getref()) ;
+//
+  do {
+    if (!frame) break ;
+    (frame)->exn = (atstype_exnconptr)exn0 ;
+    atspre_longjmp((frame)->env, 1/*retval*/) ;
+  } while (0) ; // end of [do]
+//
+  atsruntime_handle_uncaughtexn(exn0) ;
+//
+  return ;
+//
+} /* end of [atsruntime_raise] */
+
+/* ****** ****** */
+
+/* end of [pats_ccomp_runtime_trywith.c] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_typedefs.h b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_typedefs.h
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/pats_ccomp_typedefs.h
@@ -0,0 +1,225 @@
+/* ******************************************************************* */
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/* ******************************************************************* */
+
+/*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2011-20?? Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+** 
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+** 
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: October, 2012 *)
+*/
+
+/* ****** ****** */
+
+#ifndef PATS_CCOMP_TYPEDEFS_H
+#define PATS_CCOMP_TYPEDEFS_H
+
+/* ****** ****** */
+
+/*
+** HX:
+** of indefinite size
+*/
+struct atstype_struct ;
+
+/* ****** ****** */
+
+typedef void atstype_void ;
+typedef void atsvoid_t0ype ;
+
+/* ****** ****** */
+
+typedef int atstype_int ;
+typedef unsigned int atstype_uint ;
+
+typedef long int atstype_lint ;
+typedef unsigned long int atstype_ulint ;
+
+typedef long long int atstype_llint ;
+typedef unsigned long long int atstype_ullint ;
+
+typedef short int atstype_sint ;
+typedef unsigned short int atstype_usint ;
+
+/* ****** ****** */
+
+typedef atstype_lint atstype_ssize ;
+typedef atstype_ulint atstype_size ;
+
+/* ****** ****** */
+//
+// HX: true/false: 1/0
+//
+typedef int atstype_bool ;
+//
+/* ****** ****** */
+
+typedef unsigned char atstype_byte ;
+
+/* ****** ****** */
+
+typedef char atstype_char ;
+typedef signed char atstype_schar ;
+typedef unsigned char atstype_uchar ;
+
+/* ****** ****** */
+
+typedef char *atstype_string ;
+typedef char *atstype_stropt ;
+typedef char *atstype_strptr ;
+
+/* ****** ****** */
+
+typedef float atstype_float ;
+typedef double atstype_double ;
+typedef long double atstype_ldouble ;
+
+/* ****** ****** */
+/*
+** HX: for pointers
+*/
+typedef void *atstype_ptr ;
+typedef void *atstype_ptrk ;
+/*
+** HX: for references
+*/
+typedef void *atstype_ref ;
+/*
+** HX: for boxed values
+*/
+typedef void* atstype_boxed ;
+/*
+** HX: for [datconptr]
+*/
+typedef void* atstype_datconptr ;
+/*
+** HX: for [datcontyp]
+*/
+typedef void* atstype_datcontyp ;
+
+/* ****** ****** */
+
+#ifdef \
+_ATS_CCOMP_EXCEPTION_NONE_
+//
+// HX: should a message be issued?
+//
+#else
+//
+typedef struct
+{
+  atstype_int exntag ;
+  atstype_string exnmsg ;
+} atstype_exncon ;
+//
+typedef
+atstype_exncon *atstype_exnconptr ;
+//
+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
+
+/* ****** ****** */
+/*
+** HX: for pointers to arrays
+*/
+typedef void* atstype_arrptr ;
+/*
+** HX: for arrays plus size info
+*/
+typedef
+struct {
+  atstype_arrptr ptr ; atstype_size size ;
+} atstype_arrpsz ;
+
+/* ****** ****** */
+
+typedef void* atstype_funptr ;
+typedef void* atstype_cloptr ;
+
+/* ****** ****** */
+
+#define atstkind_type(tk) tk
+#define atstkind_t0ype(tk) tk
+
+/* ****** ****** */
+//
+// HX-2014-09-16:
+// making it unusable unless
+// _ATS_ARRAY_FIELD is defined
+//
+#ifdef _ATS_ARRAY_FIELD_
+#define atstyarr_field(fname) fname[]
+#else
+#define atstyarr_field(fname) atstyarr_field_undef(fname)
+#endif // end of [_ATS_ARRAY_FIELD_]
+//
+/* ****** ****** */
+//
+// HX-2014-05:
+// making it not usable!!!
+//
+#ifdef _ATSTYPE_VAR_SIZE_
+// HX: it is set by the user
+#else
+#define _ATSTYPE_VAR_SIZE_ 0X10000
+#endif // end of [#ifdef]
+//
+// HX-2014-05:
+// for 8-bit or 16-bit march,
+// _ATSTYPE_VAR_SIZE can be set to 0X100
+//
+typedef
+struct{char _[_ATSTYPE_VAR_SIZE_];} atstype_var[0] ;
+//
+/* ****** ****** */
+
+#define atstyvar_type(a) atstype_var
+
+/* ****** ****** */
+
+#define atstybox_type(hit) atstype_boxed
+
+/* ****** ****** */
+
+#define atstyclo_top struct{ void *cfun; }
+#define atstyclo_type(flab) flab##__closure_t0ype
+
+/* ****** ****** */
+
+#define atsvararg_type(hit) ...
+
+/* ****** ****** */
+
+#define atsrefarg0_type(hit) hit
+#define atsrefarg1_type(hit) atstype_ref
+
+/* ****** ****** */
+
+#endif /* PATS_CCOMP_TYPEDEFS_H */
+
+/* ****** ****** */
+
+/* end of [pats_ccomp_typedefs.h] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/alloca.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/alloca.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/alloca.cats
@@ -0,0 +1,61 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: February, 2014 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_ALLOCA
+#define ATSLIB_LIBATS_LIBC_CATS_ALLOCA
+
+/* ****** ****** */
+
+#include <alloca.h>
+
+/* ****** ****** */
+//
+#define atslib_libats_libc_alloca(bsz) alloca(bsz)
+//
+/* ****** ****** */
+//
+#define atslib_libats_libc_ptr_alloca_tsz(tsz) alloca(tsz)
+//
+#define atslib_libats_libc_array_ptr_alloca_tsz(asz, tsz) alloca((asz)*(tsz))
+//
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_ALLOCA
+
+/* ****** ****** */
+
+/* end of [alloca.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/dirent.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/dirent.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/dirent.cats
@@ -0,0 +1,120 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: March, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_DIRENT
+#define ATSLIB_LIBATS_LIBC_CATS_DIRENT
+
+/* ****** ****** */
+
+#include <sys/types.h>
+#include <dirent.h> // HX: after sys/types
+
+/* ****** ****** */
+
+#include "share/H/pats_atslib.h"
+
+/* ****** ****** */
+//
+typedef DIR atslib_libats_libc_DIR_type ;
+//
+typedef
+struct dirent atslib_libats_libc_dirent_type ;
+//
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_dirent_get_d_ino(ent) \
+(((atslib_libats_libc_dirent_type*)ent)->d_ino)
+#define \
+atslib_libats_libc_dirent_get_d_name(ent) \
+(((atslib_libats_libc_dirent_type*)ent)->d_name)
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_direntp_get_d_name(entp) \
+(((atslib_libats_libc_dirent_type*)entp)->d_name)
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_direntp_free(x) atspre_mfree_gc(x)
+
+/* ****** ****** */
+
+#define atslib_libats_libc_alphasort alphasort
+#define atslib_libats_libc_versionsort versionsort
+
+/* ****** ****** */
+
+#define atslib_libats_libc_opendir opendir
+
+/* ****** ****** */
+
+#define atslib_libats_libc_closedir closedir
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_readdir readdir
+#define \
+atslib_libats_libc_readdir_r(dirp, ent, res) \
+  readdir_r((DIR*)dirp, (struct dirent*)ent, (struct dirent**)res)
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_scandir(dirp, namelst, filter, compar) \
+  scandir((char*)dirp, (struct dirent***)namelst, (void*)filter, (void*)compar)
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_rewinddir rewinddir
+
+/* ****** ****** */
+
+#define atslib_libats_libc_seekdir seekdir
+#define atslib_libats_libc_telldir telldir
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_DIRENT
+
+/* ****** ****** */
+
+/* end of [dirent.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/dlfcn.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/dlfcn.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/dlfcn.cats
@@ -0,0 +1,75 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: December, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_DLFCN
+#define ATSLIB_LIBATS_LIBC_CATS_DLFCN
+
+/* ****** ****** */
+
+#include <dlfcn.h>
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_dlopen dlopen
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_dlclose dlclose
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_dlerror dlerror
+
+/* ****** ****** */
+
+#define atslib_libats_libc_dlsym dlsym
+
+/* ****** ****** */
+
+#define atslib_libats_libc_dladdr dladdr
+#define atslib_libats_libc_dlvsym dlvsym
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_DLFCN
+
+/* ****** ****** */
+
+/* end of [dlfcn.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/errno.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/errno.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/errno.cats
@@ -0,0 +1,85 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/libc/CATS/CODEGEN/errno.atxt
+** Time of generation: Mon Sep  5 20:36:41 2016
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: February, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_ERRNO
+#define ATSLIB_LIBATS_LIBC_CATS_ERRNO
+
+/* ****** ****** */
+
+#include <errno.h>
+
+/* ****** ****** */
+
+typedef int errno_t ;
+
+/* ****** ****** */
+
+#define ENONE 0
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_the_errno_get() (errno)
+#define \
+atslib_libats_libc_the_errno_set(x) (errno = (x))
+#define \
+atslib_libats_libc_the_errno_reset() (errno = ENONE)
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atslib_libats_libc_the_errno_test(errno_t x)
+{
+  return (errno==(x)) ? atsbool_true : atsbool_false ;
+} /* end of [atslib_libats_libc_the_errno_test] */
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_ERRNO
+
+/* ****** ****** */
+
+/* end of [errno.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/fcntl.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/fcntl.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/fcntl.cats
@@ -0,0 +1,85 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: February, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_FCNTL
+#define ATSLIB_LIBATS_LIBC_CATS_FCNTL
+
+/* ****** ****** */
+
+#include <sys/types.h>
+#include <fcntl.h> // HX: after sys/types
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fildes_get_int(fd) (fd)
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atslib_libats_libc_fildes_isgtez
+  (atstype_int fd)
+{
+  return (fd >= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atslib_libats_libc_fildes_isgtez]
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_fcntlflags_lor(x1, x2) ((x1)|(x2))
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_fcntl_getfl(fd) fcntl(fd, F_GETFL)
+#define \
+atslib_libats_libc_fcntl_setfl(fd, flags) fcntl(fd, F_SETFL, flags)
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_open_flags(path, flags) open((char*)path, flags)
+#define \
+atslib_libats_libc_open_flags_mode(path, flags, mode) open((char*)path, flags, mode)
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_FCNTL
+
+/* ****** ****** */
+
+/* end of [fcntl.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/float.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/float.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/float.cats
@@ -0,0 +1,51 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: October, 2014 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_FLOAT
+#define ATSLIB_LIBATS_LIBC_CATS_FLOAT
+
+/* ****** ****** */
+
+#include <float.h>
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_FLOAT
+
+/* ****** ****** */
+
+/* end of [float.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/fnmatch.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/fnmatch.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/fnmatch.cats
@@ -0,0 +1,58 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: March, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_FNMATCH
+#define ATSLIB_LIBATS_LIBC_CATS_FNMATCH
+
+/* ****** ****** */
+
+#include <fnmatch.h>
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_fnmatch_null(pat, str) fnmatch((char*)pat, (char*)str, 0)
+#define \
+atslib_libats_libc_fnmatch_flags(pat, str, flags) fnmatch((char*)pat, (char*)str, flags)
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_FNMATCH
+
+/* ****** ****** */
+
+/* end of [fnmatch.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/malloc.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/malloc.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/malloc.cats
@@ -0,0 +1,60 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: March, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_MALLOC
+#define ATSLIB_LIBATS_LIBC_CATS_MALLOC
+
+/* ****** ****** */
+
+#include <malloc.h>
+
+/* ****** ****** */
+
+#define atslib_libats_libc_mallopt mallopt
+#define atslib_libats_libc_malloc_trim malloc_trim
+#define atslib_libats_libc_malloc_usable_size malloc_usable_size
+#define atslib_libats_libc_malloc_stats malloc_stats
+#define atslib_libats_libc_malloc_get_state malloc_get_state
+#define atslib_libats_libc_malloc_set_state malloc_set_state
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_MALLOC
+
+/* ****** ****** */
+
+/* end of [malloc.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/math.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/math.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/math.cats
@@ -0,0 +1,235 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: March, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_MATH
+#define ATSLIB_LIBATS_LIBC_CATS_MATH
+
+/* ****** ****** */
+
+#include <math.h>
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_isfinite_float isfinite
+#define \
+atslib_libats_libc_isfinite_double isfinite
+#define \
+atslib_libats_libc_isfinite_ldouble isfinite
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_isnormal_float isnormal
+#define \
+atslib_libats_libc_isnormal_double isnormal
+#define \
+atslib_libats_libc_isnormal_ldouble isnormal
+
+/* ****** ****** */
+
+#define atslib_libats_libc_isinf_float isinf
+#define atslib_libats_libc_isinf_double isinf
+#define atslib_libats_libc_isinf_ldouble isinf
+
+/* ****** ****** */
+
+#define atslib_libats_libc_isnan_float isnan
+#define atslib_libats_libc_isnan_double isnan
+#define atslib_libats_libc_isnan_ldouble isnan
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fpclassify_float fpclassify
+#define atslib_libats_libc_fpclassify_double fpclassify
+#define atslib_libats_libc_fpclassify_ldouble fpclassify
+
+/* ****** ****** */
+
+#define atslib_libats_libc_ceil_float ceilf
+#define atslib_libats_libc_ceil_double ceil
+#define atslib_libats_libc_ceil_ldouble ceill
+
+/* ****** ****** */
+
+#define atslib_libats_libc_floor_float floorf
+#define atslib_libats_libc_floor_double floor
+#define atslib_libats_libc_floor_ldouble floorl
+
+/* ****** ****** */
+
+#define atslib_libats_libc_round_float roundf
+#define atslib_libats_libc_round_double round
+#define atslib_libats_libc_round_ldouble roundl
+
+/* ****** ****** */
+
+#define atslib_libats_libc_trunc_float truncf
+#define atslib_libats_libc_trunc_double trunc
+#define atslib_libats_libc_trunc_ldouble truncl
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fmod_float fmodf
+#define atslib_libats_libc_fmod_double fmod
+#define atslib_libats_libc_fmod_ldouble fmodl
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fmax_float fmaxf
+#define atslib_libats_libc_fmax_double fmax
+#define atslib_libats_libc_fmax_ldouble fmaxl
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fmin_float fminf
+#define atslib_libats_libc_fmin_double fmin
+#define atslib_libats_libc_fmin_ldouble fminl
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fdim_float fdimf
+#define atslib_libats_libc_fdim_double fdim
+#define atslib_libats_libc_fdim_ldouble fdiml
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fma_float fmaf
+#define atslib_libats_libc_fma_double fma
+#define atslib_libats_libc_fma_ldouble fmal
+
+/* ****** ****** */
+
+#define atslib_libats_libc_sqrt_float sqrtf
+#define atslib_libats_libc_sqrt_double sqrt
+#define atslib_libats_libc_sqrt_ldouble sqrtl
+
+/* ****** ****** */
+
+#define atslib_libats_libc_cbrt_float cbrtf
+#define atslib_libats_libc_cbrt_double cbrt
+#define atslib_libats_libc_cbrt_ldouble cbrtl
+
+/* ****** ****** */
+
+#define atslib_libats_libc_pow_float powf
+#define atslib_libats_libc_pow_double pow
+#define atslib_libats_libc_pow_ldouble powl
+
+/* ****** ****** */
+
+#define atslib_libats_libc_exp_float expf
+#define atslib_libats_libc_exp_double exp
+#define atslib_libats_libc_exp_ldouble expl
+
+/* ****** ****** */
+//
+#define atslib_libats_libc_log_float logf
+#define atslib_libats_libc_log_double log
+#define atslib_libats_libc_log_ldouble logl
+//
+#define atslib_libats_libc_log10_float log10f
+#define atslib_libats_libc_log10_double log10
+#define atslib_libats_libc_log10_ldouble log10l
+//
+/* ****** ****** */
+//
+#define atslib_libats_libc_sin_float sinf
+#define atslib_libats_libc_sin_double sin
+#define atslib_libats_libc_sin_ldouble sinl
+//
+#define atslib_libats_libc_cos_float cosf
+#define atslib_libats_libc_cos_double cos
+#define atslib_libats_libc_cos_ldouble cosl
+//
+#define atslib_libats_libc_tan_float tanf
+#define atslib_libats_libc_tan_double tan
+#define atslib_libats_libc_tan_ldouble tanl
+//
+/* ****** ****** */
+//
+#define atslib_libats_libc_asin_float asinf
+#define atslib_libats_libc_asin_double asin
+#define atslib_libats_libc_asin_ldouble asinl
+//
+#define atslib_libats_libc_acos_float acosf
+#define atslib_libats_libc_acos_double acos
+#define atslib_libats_libc_acos_ldouble cosl
+//
+#define atslib_libats_libc_atan_float atanf
+#define atslib_libats_libc_atan_double atan
+#define atslib_libats_libc_atan_ldouble atanl
+//
+#define atslib_libats_libc_atan2_float atan2f
+#define atslib_libats_libc_atan2_double atan2
+#define atslib_libats_libc_atan2_ldouble atan2l
+//
+/* ****** ****** */
+//
+#define atslib_libats_libc_sinh_float sinhf
+#define atslib_libats_libc_sinh_double sinh
+#define atslib_libats_libc_sinh_ldouble sinhl
+//
+#define atslib_libats_libc_cosh_float coshf
+#define atslib_libats_libc_cosh_double cosh
+#define atslib_libats_libc_cosh_ldouble coshl
+//
+#define atslib_libats_libc_tanh_float tanhf
+#define atslib_libats_libc_tanh_double tanh
+#define atslib_libats_libc_tanh_ldouble tanhl
+//
+/* ****** ****** */
+
+#define atslib_libats_libc_asinh_float asinhf
+#define atslib_libats_libc_asinh_double asinh
+#define atslib_libats_libc_asinh_ldouble asinhl
+//
+#define atslib_libats_libc_acosh_float acoshf
+#define atslib_libats_libc_acosh_double acosh
+#define atslib_libats_libc_acosh_ldouble acoshl
+//
+#define atslib_libats_libc_atanh_float atanhf
+#define atslib_libats_libc_atanh_double atanh
+#define atslib_libats_libc_atanh_ldouble atanhl
+//
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_MATH
+
+/* ****** ****** */
+
+/* end of [math.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/signal.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/signal.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/signal.cats
@@ -0,0 +1,125 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: April, 2014 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_SIGNAL
+#define ATSLIB_LIBATS_LIBC_CATS_SIGNAL
+
+/* ****** ****** */
+
+#include <signal.h>
+
+/* ****** ****** */
+//
+typedef int signum_t ;
+//
+typedef
+void (*sighandler_t)(signum_t) ;
+//
+/* ****** ****** */
+
+typedef
+struct sigaction
+atslib_libats_libc_sigaction_struct ;
+
+/* ****** ****** */
+
+#define atslib_libats_libc_signal signal
+
+/* ****** ****** */
+
+#define atslib_libats_libc_sigaddset sigaddset
+#define atslib_libats_libc_sigdelset sigdelset
+#define atslib_libats_libc_sigemptyset sigemptyset
+#define atslib_libats_libc_sigfillset sigfillset
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_sigaction sigaction
+#define \
+atslib_libats_libc_sigaction_null(sgn, act) \
+atslib_libats_libc_sigaction(sgn, act, (atslib_libats_libc_sigaction_struct*)0)
+
+/* ****** ****** */
+
+#define atslib_libats_libc_kill kill
+#define atslib_libats_libc_killpg killpg
+#define atslib_libats_libc_raise raise
+
+/* ****** ****** */
+
+#define atslib_libats_libc_sigset sigset
+#define atslib_libats_libc_sighold sighold
+#define atslib_libats_libc_sigignore sigignore
+#define atslib_libats_libc_sigrelse sigrelse
+
+/* ****** ****** */
+
+#define atslib_libats_libc_sigwait sigwait
+
+/* ****** ****** */
+
+#define atslib_libats_libc_sigpause sigpause
+#define atslib_libats_libc_sigsuspend sigsuspend
+
+/* ****** ****** */
+
+#define atslib_libats_libc_sigpending sigpending
+#define atslib_libats_libc_siginterrupt siginterrupt
+
+/* ****** ****** */
+
+#define atslib_libats_libc_psignal psignal
+
+/* ****** ****** */
+
+/*
+//
+// declared in <string.h>
+//
+extern
+char* strsignal (int signum) ;
+*/
+#define atslib_libats_libc_strsignal strsignal
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SIGNAL
+
+/* ****** ****** */
+
+/* end of [signal.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/stdio.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/stdio.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/stdio.cats
@@ -0,0 +1,226 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: September, 2011 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_STDIO
+#define ATSLIB_LIBATS_LIBC_CATS_STDIO
+
+/* ****** ****** */
+
+#include <stdio.h>
+/*
+extern
+void
+perror (const char* str) ; // in [stdio.h]
+*/
+extern void exit (int status) ; // in [stdlib.h]
+
+/* ****** ****** */
+//
+#define \
+atslib_libats_libc_FILEptr_is_null(p) (p == 0)
+#define \
+atslib_libats_libc_FILEptr_isnot_null(p) (p != 0)
+//
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_clearerr(p) clearerr(((FILE*)p))
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fopen fopen
+#define atslib_libats_libc_fopen_ref_exn atslib_libats_libc_fopen_exn
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fclose fclose
+#define atslib_libats_libc_fclose0 atslib_libats_libc_fclose
+#define atslib_libats_libc_fclose1 atslib_libats_libc_fclose
+#define atslib_libats_libc_fclose0_exn atslib_libats_libc_fclose_exn
+#define atslib_libats_libc_fclose1_exn atslib_libats_libc_fclose_exn
+
+/*
+#define atslib_libats_libc_fclose_stdin() atslib_libats_libc_fclose_exn(stdin)
+#define atslib_libats_libc_fclose_stdout() atslib_libats_libc_fclose_exn(stdout)
+#define atslib_libats_libc_fclose_stderr() atslib_libats_libc_fclose_exn(stderr)
+*/
+
+/* ****** ****** */
+//
+#define atslib_libats_libc_fflush fflush
+#define atslib_libats_libc_fflush0 atslib_libats_libc_fflush
+#define atslib_libats_libc_fflush1 atslib_libats_libc_fflush
+#define atslib_libats_libc_fflush0_exn atslib_libats_libc_fflush_exn
+#define atslib_libats_libc_fflush1_exn atslib_libats_libc_fflush_exn
+//
+#define atslib_libats_libc_fflush_all() atslib_libats_libc_fclose_exn((FILE*)0)
+#define atslib_libats_libc_fflush_stdout() atslib_libats_libc_fclose_exn(stdout)
+//
+/* ****** ****** */
+
+#define atslib_libats_libc_fileno fileno
+#define atslib_libats_libc_fileno0 atslib_libats_libc_fileno
+#define atslib_libats_libc_fileno1 atslib_libats_libc_fileno
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fdopen fdopen
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_feof(p) feof(((FILE*)p))
+#define atslib_libats_libc_feof0 atslib_libats_libc_feof
+#define atslib_libats_libc_feof1 atslib_libats_libc_feof
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_ferror(p) ferror(((FILE*)p))
+#define atslib_libats_libc_ferror0 atslib_libats_libc_ferror
+#define atslib_libats_libc_ferror1 atslib_libats_libc_ferror
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fgetc fgetc
+#define atslib_libats_libc_fgetc0 atslib_libats_libc_fgetc
+#define atslib_libats_libc_fgetc1 atslib_libats_libc_fgetc
+
+/* ****** ****** */
+
+#define atslib_libats_libc_getchar getchar
+#define atslib_libats_libc_getchar0 atslib_libats_libc_getchar
+#define atslib_libats_libc_getchar1 atslib_libats_libc_getchar
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fputc fputc
+#define atslib_libats_libc_fputc0_int atslib_libats_libc_fputc
+#define atslib_libats_libc_fputc0_char(c, fp) atslib_libats_libc_fputc((int)c, fp)
+#define atslib_libats_libc_fputc1_int atslib_libats_libc_fputc
+#define atslib_libats_libc_fputc1_char(c, fp) atslib_libats_libc_fputc((int)c, fp)
+
+#define atslib_libats_libc_fputc0_exn_int atslib_libats_libc_fputc_exn
+#define atslib_libats_libc_fputc0_exn_char atslib_libats_libc_fputc_exn
+
+/* ****** ****** */
+
+#define atslib_libats_libc_putchar putchar
+#define atslib_libats_libc_putchar0 atslib_libats_libc_putchar
+#define atslib_libats_libc_putchar1 atslib_libats_libc_putchar
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fgets fgets
+#define atslib_libats_libc_fgets0 atslib_libats_libc_fgets
+#define atslib_libats_libc_fgets1 atslib_libats_libc_fgets
+#define atslib_libats_libc_fgets1_err atslib_libats_libc_fgets
+#define atslib_libats_libc_fgets0_gc atslib_libats_libc_fgets_gc
+#define atslib_libats_libc_fgets1_gc atslib_libats_libc_fgets_gc
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fputs fputs
+#define atslib_libats_libc_fputs0 atslib_libats_libc_fputs
+#define atslib_libats_libc_fputs1 atslib_libats_libc_fputs
+#define atslib_libats_libc_fputs0_exn atslib_libats_libc_fputs_exn
+#define atslib_libats_libc_fputs1_exn atslib_libats_libc_fputs_exn
+
+/* ****** ****** */
+
+#define atslib_libats_libc_puts puts
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fread fread
+#define atslib_libats_libc_fread0 atslib_libats_libc_fread
+#define atslib_libats_libc_fread1 atslib_libats_libc_fread
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fwrite fwrite
+#define atslib_libats_libc_fwrite0 atslib_libats_libc_fwrite
+#define atslib_libats_libc_fwrite1 atslib_libats_libc_fwrite
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fseek fseek
+#define atslib_libats_libc_fseek0 atslib_libats_libc_fseek
+#define atslib_libats_libc_fseek1 atslib_libats_libc_fseek
+
+/* ****** ****** */
+
+#define atslib_libats_libc_ftell ftell
+#define atslib_libats_libc_ftell0 atslib_libats_libc_ftell
+#define atslib_libats_libc_ftell1 atslib_libats_libc_ftell
+
+/* ****** ****** */
+
+#define atslib_libats_libc_perror perror
+
+/* ****** ****** */
+
+#define atslib_libats_libc_popen popen
+
+/* ****** ****** */
+
+#define atslib_libats_libc_pclose0_exn atslib_libats_libc_pclose_exn
+#define atslib_libats_libc_pclose1_exn atslib_libats_libc_pclose_exn
+
+/* ****** ****** */
+
+#define atslib_libats_libc_remove remove
+#define atslib_libats_libc_rename rename
+
+/* ****** ****** */
+
+#define atslib_libats_libc_rewind rewind
+#define atslib_libats_libc_rewind0 atslib_libats_libc_rewind
+#define atslib_libats_libc_rewind1 atslib_libats_libc_rewind
+
+/* ****** ****** */
+
+#define atslib_libats_libc_tmpfile tmpfile
+#define atslib_libats_libc_tmpfile_ref_exn atslib_libats_libc_tmpfile_exn
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_STDIO
+
+/* ****** ****** */
+
+/* end of [stdio.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/stdlib.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/stdlib.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/stdlib.cats
@@ -0,0 +1,206 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: February, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef \
+ATSLIB_LIBATS_LIBC_CATS_STDLIB
+#define \
+ATSLIB_LIBATS_LIBC_CATS_STDLIB
+
+/* ****** ****** */
+
+#include <stdlib.h>
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_abort abort
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc__Exit _Exit
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_atexit atexit
+
+/* ****** ****** */
+
+#define atslib_libats_libc_abs abs
+#define atslib_libats_libc_labs labs
+#define atslib_libats_libc_llabs llabs
+
+/* ****** ****** */
+
+#define atslib_libats_libc_div div
+#define atslib_libats_libc_ldiv ldiv
+#define atslib_libats_libc_lldiv lldiv
+
+/* ****** ****** */
+
+#define atslib_libats_libc_a64l a64l
+#define atslib_libats_libc_l64a l64a
+
+/* ****** ****** */
+
+#define atslib_libats_libc_atoi atoi
+#define atslib_libats_libc_atol atol
+#define atslib_libats_libc_atoll atoll
+
+/* ****** ****** */
+
+#define atslib_libats_libc_atof atof
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_strtol0(nptr, base) \
+atslib_libats_libc_strtol_unsafe(nptr, 0, base)
+#define \
+atslib_libats_libc_strtol1(nptr, endptr, base) \
+atslib_libats_libc_strtol_unsafe(nptr, endptr, base)
+#define \
+atslib_libats_libc_strtol_unsafe(nptr, endptr, base) \
+strtol((char*)(nptr), (char**)(endptr), base)
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_strtoll0(nptr, base) \
+atslib_libats_libc_strtoll_unsafe(nptr, 0, base)
+#define \
+atslib_libats_libc_strtoll1(nptr, endptr, base) \
+atslib_libats_libc_strtoll_unsafe(nptr, endptr, base)
+#define \
+atslib_libats_libc_strtoll_unsafe(nptr, endptr, base) \
+strtoll((char*)(nptr), (char**)(endptr), base)
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_strtof0(nptr) \
+atslib_libats_libc_strtof_unsafe(nptr, 0)
+#define \
+atslib_libats_libc_strtof1(nptr, endptr) \
+atslib_libats_libc_strtof_unsafe(nptr, endptr)
+#define \
+atslib_libats_libc_strtof_unsafe(nptr, endptr) \
+strtof((char*)(nptr), (char**)(endptr))
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_strtod0(nptr) \
+atslib_libats_libc_strtod_unsafe(nptr, 0)
+#define \
+atslib_libats_libc_strtod1(nptr, endptr) \
+atslib_libats_libc_strtod_unsafe(nptr, endptr)
+#define \
+atslib_libats_libc_strtod_unsafe(nptr, endptr) \
+strtod((char*)(nptr), (char**)(endptr))
+
+/* ****** ****** */
+
+#define atslib_libats_libc_getenv getenv
+#define atslib_libats_libc_putenv putenv
+#define atslib_libats_libc_setenv setenv
+#define atslib_libats_libc_unsetenv unsetenv
+
+/* ****** ****** */
+
+#define atslib_libats_libc_rand rand
+#define atslib_libats_libc_srand srand
+#define atslib_libats_libc_rand_r rand_r
+
+/* ****** ****** */
+
+#define atslib_libats_libc_random random
+#define atslib_libats_libc_srandom srandom
+
+/* ****** ****** */
+//
+#define atslib_libats_libc_seed48 seed48
+#define atslib_libats_libc_srand48 srand48
+//
+#define atslib_libats_libc_drand48 drand48
+#define atslib_libats_libc_erand48 erand48
+#define atslib_libats_libc_lrand48 lrand48
+#define atslib_libats_libc_nrand48 nrand48
+#define atslib_libats_libc_mrand48 mrand48
+#define atslib_libats_libc_jrand48 jrand48
+#define atslib_libats_libc_lcong48 lcong48
+//
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_qsort\
+(base, nmemb, size, compar) \
+qsort(base, nmemb, size, (void*)compar)
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_bsearch\
+(key, base, nmemb, size, compar) \
+bsearch(key, base, nmemb, size, (void*)compar)
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_mkstemp mkstemp
+#define \
+atslib_libats_libc_mkostemp mkostemp
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_mfree_libc free
+#define \
+atslib_libats_libc_malloc_libc malloc
+
+/* ****** ****** */
+
+#define atslib_libats_libc_system system
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_STDLIB
+
+/* ****** ****** */
+
+/* end of [stdlib.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/string.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/string.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/string.cats
@@ -0,0 +1,139 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: February, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_STRING
+#define ATSLIB_LIBATS_LIBC_CATS_STRING
+
+/* ****** ****** */
+
+#include <errno.h>
+#include <string.h>
+
+/* ****** ****** */
+
+#define atslib_libats_libc_strcmp strcmp
+#define atslib_libats_libc_strncmp strncmp
+
+/* ****** ****** */
+
+#define atslib_libats_libc_strcoll strcoll
+
+/* ****** ****** */
+
+#define atslib_libats_libc_strspn strspn
+#define atslib_libats_libc_strcspn strcspn
+
+/* ****** ****** */
+
+#define atslib_libats_libc_strlen strlen
+#define atslib_libats_libc_strnlen strnlen
+
+/* ****** ****** */
+
+#define atslib_libats_libc_strcat strcat
+#define atslib_libats_libc_strcat_unsafe strcat
+#define atslib_libats_libc_strncat_unsafe strncat
+
+/* ****** ****** */
+
+#define atslib_libats_libc_strcpy strcpy
+#define atslib_libats_libc_strcpy_unsafe strcpy
+#define atslib_libats_libc_strncpy_unsafe strncpy
+
+/* ****** ****** */
+
+#define atslib_libats_libc_strdup strdup
+#define atslib_libats_libc_strndup strndup
+#define atslib_libats_libc_strdup_free atsruntime_mfree_libc
+
+#define atslib_libats_libc_strdupa strdupa
+#define atslib_libats_libc_strndupa strndupa
+#define atslib_libats_libc_strdupa_free atsruntime_afree_libc
+
+/* ****** ****** */
+
+#define atslib_libats_libc_strfry strfry
+
+/* ****** ****** */
+
+#define atslib_libats_libc_memcpy memcpy
+#define atslib_libats_libc_memcpy_unsafe memcpy
+
+/* ****** ****** */
+
+#define atslib_libats_libc_memccpy_unsafe memccpy
+
+/* ****** ****** */
+
+#define atslib_libats_libc_mempcpy mempcpy
+#define atslib_libats_libc_mempcpy_unsafe mempcpy
+
+/* ****** ****** */
+
+#define atslib_libats_libc_memset_unsafe memset
+
+/* ****** ****** */
+
+#define atslib_libats_libc_memmove_unsafe memmove
+
+/* ****** ****** */
+
+#define atslib_libats_libc_strerror strerror
+#define atslib_libats_libc_strerror_r strerror_r
+
+/* ****** ****** */
+
+ATSinline()
+atstype_ptr
+atslib_libats_libc_strdup_gc
+  (atstype_string src)
+{
+  char *dst ;
+  size_t len, len1 ;
+  len = atslib_libats_libc_strlen((char*)src) ;
+  len1 = len + 1;
+  dst = atspre_malloc_gc(len1) ;
+  return atslib_libats_libc_memcpy(dst, src, len1) ;
+} // end of [atslib_libats_libc_strdup_gc]
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_STRING
+
+/* ****** ****** */
+
+/* end of [string.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/strings.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/strings.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/strings.cats
@@ -0,0 +1,64 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: February, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_STRINGS
+#define ATSLIB_LIBATS_LIBC_CATS_STRINGS
+
+/* ****** ****** */
+
+#include <strings.h>
+
+/* ****** ****** */
+
+#define atslib_libats_libc_index_int index
+#define atslib_libats_libc_index_char(c) index((int)c)
+
+#define atslib_libats_libc_rindex_int rindex
+#define atslib_libats_libc_rindex_char(c) rindex((int)c)
+
+/* ****** ****** */
+
+#define atslib_libats_libc_strcasecmp strcasecmp
+#define atslib_libats_libc_strncasecmp strncasecmp
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_STRINGS
+
+/* ****** ****** */
+
+/* end of [strings.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/mman.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/mman.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/mman.cats
@@ -0,0 +1,59 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: October, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_MMAN
+#define ATSLIB_LIBATS_LIBC_CATS_SYS_MMAN
+
+/* ****** ****** */
+//
+#include <fcntl.h>
+#include <sys/types.h>
+//
+#include <sys/mman.h>
+//
+/* ****** ****** */
+
+#define atslib_libats_libc_shm_open shm_open
+#define atslib_libats_libc_shm_unlink shm_unlink
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_MMAN
+
+/* ****** ****** */
+
+/* end of [mman.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/socket.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/socket.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/socket.cats
@@ -0,0 +1,135 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: November, 2014 *)
+*/
+
+/* ****** ****** */
+
+#ifndef \
+ATSLIB_LIBATS_LIBC_CATS_SYS_SOCKET
+#define \
+ATSLIB_LIBATS_LIBC_CATS_SYS_SOCKET
+
+/* ****** ****** */
+//
+#include <unistd.h>
+#include <sys/socket.h>
+//
+/* ****** ****** */
+//
+/*
+//
+// socket address family
+//
+typedef
+unsigned short int sa_family_t;
+*/
+//
+// socket protocol family
+//
+typedef
+unsigned short int sp_family_t;
+//
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_socket_AF_type socket_AF_type
+#define \
+atslib_libats_libc_socket_PF_type socket_PF_type
+
+/* ****** ****** */
+//
+#define \
+atslib_libats_libc_bind_err(fd, sa, len) \
+  bind(fd, (const struct sockaddr*)sa, len)
+//
+extern
+void
+atslib_libats_libc_bind_exn
+(
+  int sockfd, atstype_ptr sa, socklen_t salen
+); // end of [atslib_libats_libc_bind_exn]
+//
+/* ****** ****** */
+//
+#define \
+atslib_libats_libc_listen_err(fd, qsz) listen(fd, qsz)
+//
+extern
+void
+atslib_libats_libc_listen_exn(int sockfd, int listenqsz);
+//
+/* ****** ****** */
+//
+#define \
+atslib_libats_libc_connect_err(fd, sa, len) \
+  connect(fd, (const struct sockaddr*)sa, len)
+//
+extern
+void
+atslib_libats_libc_connect_exn
+(
+  int sockfd, atstype_ptr sa, socklen_t salen
+); // end of [atslib_libats_libc_connect_exn]
+//
+/* ****** ****** */
+//
+#define \
+atslib_libats_libc_accept_err(fd, sa, len) \
+  accept(fd, (struct sockaddr*)sa, (socklen_t*)len)
+//
+#define \
+atslib_libats_libc_accept_null_err(fd) atslib_libats_libc_accept_err(fd, 0, 0)
+//
+/* ****** ****** */
+
+#define atslib_libats_libc_socket_close(fd) close(fd)
+
+/* ****** ****** */
+
+#define atslib_libats_libc_shutdown(fd, how) shutdown(fd, how)
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_socket_read(fd, bufp, bsz) read(fd, (char*)bufp, bsz)
+#define \
+atslib_libats_libc_socket_write(fd, bufp, bsz) write(fd, (const char*)bufp, bsz)
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_SOCKET
+
+/* ****** ****** */
+
+/* end of [socket.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/socket_in.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/socket_in.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/socket_in.cats
@@ -0,0 +1,78 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: November, 2014 *)
+*/
+
+/* ****** ****** */
+
+#ifndef \
+ATSLIB_LIBATS_LIBC_CATS_SYS_SOCKET_IN
+#define \
+ATSLIB_LIBATS_LIBC_CATS_SYS_SOCKET_IN
+
+/* ****** ****** */
+//
+#include <sys/socket.h>
+#include <netinet/in.h>
+//
+/* ****** ****** */
+//
+#ifdef memset
+#else
+extern
+void *memset (void *p, int c, size_t n) ;
+#endif // ifdef(memset)
+//
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atslib_libats_libc_sockaddr_in_init
+(
+  atstype_ptr sa
+, sa_family_t af, in_addr_t inp, in_port_t port
+) {
+  struct sockaddr_in *sa2 = sa ;
+  (void)memset(sa2, 0, sizeof(struct sockaddr_in)) ;
+  sa2->sin_family = af ;
+  sa2->sin_addr.s_addr = inp ;
+  sa2->sin_port = port ;
+} // end of [atslib_libats_libc_sockaddr_in_init]
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_SOCKET_IN
+
+/* ****** ****** */
+
+/* end of [socket_in.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/stat.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/stat.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/stat.cats
@@ -0,0 +1,82 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: March, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef \
+ATSLIB_LIBATS_LIBC_CATS_SYS_STAT
+#define \
+ATSLIB_LIBATS_LIBC_CATS_SYS_STAT
+
+/* ****** ****** */
+
+#include <sys/stat.h>
+
+/* ****** ****** */
+
+typedef
+struct stat
+atslib_libats_libc_stat_struct ;
+
+/* ****** ****** */
+
+#define atslib_libats_libc_umask umask
+
+/* ****** ****** */
+
+#define atslib_libats_libc_chmod chmod
+
+/* ****** ****** */
+
+#define atslib_libats_libc_mkdir mkdir
+#define atslib_libats_libc_mkdirat mkdirat
+
+/* ****** ****** */
+
+#define atslib_libats_libc_mkfifo mkfifo
+
+/* ****** ****** */
+
+#define atslib_libats_libc_stat stat
+#define atslib_libats_libc_fstat fstat
+#define atslib_libats_libc_lstat lstat
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_STAT
+
+/* ****** ****** */
+
+/* end of [stat.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/time.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/time.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/time.cats
@@ -0,0 +1,94 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: August, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef \
+ATSLIB_LIBATS_LIBC_CATS_SYS_TIME
+#define \
+ATSLIB_LIBATS_LIBC_CATS_SYS_TIME
+
+/* ****** ****** */
+
+#include <sys/time.h>
+
+/* ****** ****** */
+//
+typedef
+struct timeval
+atslib_libats_libc_timeval_type ;
+typedef
+struct timezone
+atslib_libats_libc_timezone_type ;
+//
+typedef
+struct itimerval
+atslib_libats_libc_itimerval_type ;
+//
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_gettimeofday_tv(tv) gettimeofday(tv, NULL)
+#define \
+atslib_libats_libc_gettimeofday_tz(tz) gettimeofday(NULL, tz)
+
+#define \
+atslib_libats_libc_settimeofday_tv(tv) settimeofday(tv, NULL)
+#define \
+atslib_libats_libc_settimeofday_tz(tz) settimeofday(NULL, tz)
+#define \
+atslib_libats_libc_settimeofday_tvtz(tv, tz) settimeofday(tv, tz)
+
+/* ****** ****** */
+
+#define atslib_libats_libc_utimes utimes
+#define atslib_libats_libc_futimes futimes
+#define atslib_libats_libc_futimesat futimesat
+
+/* ****** ****** */
+//
+#define atslib_libats_libc_getitimer getitimer
+//
+#define atslib_libats_libc_setitimer setitimer
+#define \
+atslib_libats_libc_setitimer_null(which, itval) setitimer(which, itval, NULL)
+//
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_TIME
+
+/* ****** ****** */
+
+/* end of [time.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/types.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/types.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/types.cats
@@ -0,0 +1,166 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: March, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef \
+ATSLIB_LIBATS_LIBC_CATS_SYS_TYPES
+#define \
+ATSLIB_LIBATS_LIBC_CATS_SYS_TYPES
+
+/* ****** ****** */
+
+#include <sys/types.h>
+
+/* ****** ****** */
+
+typedef mode_t atslib_libats_libc_mode_type ;
+
+/* ****** ****** */
+//
+// HX-2013-8:
+// [atslib_libats_libc_time_type] is already
+// defined in [libats/libc/CATS/time.cats]
+//
+typedef time_t atslib_libats_libc_types_time_type ;
+//
+/* ****** ****** */
+
+#if(0)
+//
+// HX-2013-05: where are they?
+// HX-2013-06: they are declared in [time.h]
+//
+typedef clock_t atslib_libats_libc_clock_type ;
+typedef clockid_t atslib_libats_libc_clockid_type ;
+#endif
+
+/* ****** ****** */
+
+typedef ino_t atslib_libats_libc_ino_type ;
+typedef off_t atslib_libats_libc_off_type ;
+
+/* ****** ****** */
+
+typedef pid_t atslib_libats_libc_pid_type ;
+typedef uid_t atslib_libats_libc_uid_type ;
+typedef gid_t atslib_libats_libc_gid_type ;
+
+/* ****** ****** */
+
+ATSinline()
+atslib_libats_libc_mode_type
+atslib_libats_libc_lor_mode_mode
+(
+  atslib_libats_libc_mode_type m1
+, atslib_libats_libc_mode_type m2
+) {
+  return (m1 | m2) ;
+} // end of [atslib_libats_libc_lor_mode_mode]
+
+ATSinline()
+atslib_libats_libc_mode_type
+atslib_libats_libc_land_mode_mode
+(
+  atslib_libats_libc_mode_type m1
+, atslib_libats_libc_mode_type m2
+) {
+  return (m1 & m2) ;
+} // end of [atslib_libats_libc_land_mode_mode]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atslib_libats_libc_lt_time_time
+(
+  atslib_libats_libc_types_time_type t1
+, atslib_libats_libc_types_time_type t2
+)
+{
+  return \
+  (t1 < t2 ? atsbool_true : atsbool_false) ;
+} // end of [atslib_libats_libc_lt_time_time]
+ATSinline()
+atstype_bool
+atslib_libats_libc_lte_time_time
+(
+  atslib_libats_libc_types_time_type t1
+, atslib_libats_libc_types_time_type t2
+)
+{
+  return \
+  (t1 <= t2 ? atsbool_true : atsbool_false) ;
+} // end of [atslib_libats_libc_lte_time_time]
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_gt_time_time(t1, t2) \
+  atslib_libats_libc_lt_time_time(t2, t1)
+#define \
+atslib_libats_libc_gte_time_time(t1, t2) \
+  atslib_libats_libc_lte_time_time(t2, t1)
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atslib_libats_libc_eq_time_time
+(
+  atslib_libats_libc_types_time_type t1
+, atslib_libats_libc_types_time_type t2
+)
+{
+  return (t1 == t2 ? atsbool_true : atsbool_false) ;
+} // end of [atslib_libats_libc_eq_time_time]
+ATSinline()
+atstype_bool
+atslib_libats_libc_neq_time_time
+(
+  atslib_libats_libc_types_time_type t1
+, atslib_libats_libc_types_time_type t2
+)
+{
+  return (t1 != t2 ? atsbool_true : atsbool_false) ;
+} // end of [atslib_libats_libc_neq_time_time]
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_TYPES
+
+/* ****** ****** */
+
+/* end of [types.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/wait.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/wait.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/wait.cats
@@ -0,0 +1,60 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: October, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef \
+ATSLIB_LIBATS_LIBC_CATS_SYS_WAIT
+#define \
+ATSLIB_LIBATS_LIBC_CATS_SYS_WAIT
+
+/* ****** ****** */
+//
+#include <sys/wait.h>
+//
+/* ****** ****** */
+//
+#define \
+atslib_libats_libc_wait_void() wait((int*)0)
+#define \
+atslib_libats_libc_wait_status(x) wait((int*)x)
+//
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_SYS_WAIT
+
+/* ****** ****** */
+
+/* end of [wait.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/time.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/time.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/time.cats
@@ -0,0 +1,206 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: March, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_TIME
+#define ATSLIB_LIBATS_LIBC_CATS_TIME
+
+/* ****** ****** */
+
+#include <time.h>
+
+/* ****** ****** */
+//
+typedef
+time_t
+atslib_libats_libc_time_type ;
+//
+typedef
+struct tm
+atslib_libats_libc_tm_struct_type ;
+//
+/* ****** ****** */
+
+typedef
+clock_t
+atslib_libats_libc_clock_type ;
+
+/* ****** ****** */
+
+typedef
+struct timespec
+atslib_libats_libc_timespec_type ;
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_difftime difftime
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_time_get() time((time_t*)0)
+
+ATSinline()
+atstype_bool
+atslib_libats_libc_time_getset
+(
+  atstype_ref tval
+) {
+  return (time((time_t*)tval) >= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atslib_libats_libc_time_getset]
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_ctime ctime
+#define \
+atslib_libats_libc_ctime_r ctime_r
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atslib_libats_libc_tm_get_sec
+  (atstype_ptr tm) {
+  return ((struct tm*)tm)->tm_sec ;
+} // end of [atslib_libats_libc_tm_get_sec]
+
+ATSinline()
+atstype_int
+atslib_libats_libc_tm_get_min
+  (atstype_ptr tm) {
+  return ((struct tm*)tm)->tm_min ;
+} // end of [atslib_libats_libc_tm_get_min]
+
+ATSinline()
+atstype_int
+atslib_libats_libc_tm_get_hour
+  (atstype_ptr tm) {
+  return ((struct tm*)tm)->tm_hour ;
+} // end of [atslib_libats_libc_tm_get_hour]
+
+ATSinline()
+atstype_int
+atslib_libats_libc_tm_get_mday
+  (atstype_ptr tm) {
+  return ((struct tm*)tm)->tm_mday ;
+} // end of [atslib_libats_libc_tm_get_mday]
+
+ATSinline()
+atstype_int
+atslib_libats_libc_tm_get_mon
+  (atstype_ptr tm) {
+  return ((struct tm*)tm)->tm_mon ;
+} // end of [atslib_libats_libc_tm_get_mon]
+
+ATSinline()
+atstype_int
+atslib_libats_libc_tm_get_year
+  (atstype_ptr tm) {
+  return ((struct tm*)tm)->tm_year ;
+} // end of [atslib_libats_libc_tm_get_year]
+
+ATSinline()
+atstype_int
+atslib_libats_libc_tm_get_wday
+  (atstype_ptr tm) {
+  return ((struct tm*)tm)->tm_wday ;
+} // end of [atslib_libats_libc_tm_get_wday]
+
+ATSinline()
+atstype_int
+atslib_libats_libc_tm_get_yday
+  (atstype_ptr tm) {
+  return ((struct tm*)tm)->tm_yday ;
+} // end of [atslib_libats_libc_tm_get_yday]
+
+ATSinline()
+atstype_int
+atslib_libats_libc_tm_get_isdst
+  (atstype_ptr tm) {
+  return ((struct tm*)tm)->tm_isdst ;
+} // end of [atslib_libats_libc_tm_get_isdst]
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_mktime mktime
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_asctime asctime
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_gmtime gmtime
+#define \
+atslib_libats_libc_gmtime_r gmtime_r
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_localtime localtime
+#define \
+atslib_libats_libc_localtime_r localtime_r
+
+/* ****** ****** */
+
+#define atslib_libats_libc_tzset tzset
+
+/* ****** ****** */
+
+#define atslib_libats_libc_clock clock
+
+#define \
+atslib_libats_libc_clock_getres clock_getres
+
+/* ****** ****** */
+
+#define \
+atslib_libats_libc_clock_gettime clock_gettime
+#define \
+atslib_libats_libc_clock_settime clock_settime
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_TIME
+
+/* ****** ****** */
+
+/* end of [time.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/unistd.cats b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/unistd.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/unistd.cats
@@ -0,0 +1,174 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2015 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: April, 2012 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_LIBATS_LIBC_CATS_UNISTD
+#define ATSLIB_LIBATS_LIBC_CATS_UNISTD
+
+/* ****** ****** */
+
+#include <unistd.h>
+
+/* ****** ****** */
+
+#define atslib_libats_libc_close close
+#define atslib_libats_libc_close0 atslib_libats_libc_close
+#define atslib_libats_libc_close1 atslib_libats_libc_close
+#define atslib_libats_libc_close0_exn atslib_libats_libc_close_exn
+#define atslib_libats_libc_close1_exn atslib_libats_libc_close_exn
+
+/* ****** ****** */
+
+#define atslib_libats_libc_dup dup
+#define atslib_libats_libc_dup_fildes dup
+#define atslib_libats_libc_dup2 dup2
+#define atslib_libats_libc_dup3 dup3
+
+/* ****** ****** */
+
+#define atslib_libats_libc_execv(path, argv) execv((char*)path, (char**)argv)
+#define atslib_libats_libc_execvp(path, argv) execvp((char*)path, (char**)argv)
+
+/* ****** ****** */
+
+#define atslib_libats_libc_encrypt encrypt
+
+/* ****** ****** */
+
+#define atslib_libats_libc_fork fork
+
+/* ****** ****** */
+
+#define atslib_libats_libc_getcwd getcwd
+
+/* ****** ****** */
+
+#define atslib_libats_libc_getlogin getlogin
+#define atslib_libats_libc_getlogin_r getlogin_r
+
+/* ****** ****** */
+
+#define atslib_libats_libc_getpid getpid
+#define atslib_libats_libc_getppid getppid
+
+/* ****** ****** */
+
+#define atslib_libats_libc_getuid getuid
+#define atslib_libats_libc_setuid setuid
+#define atslib_libats_libc_geteuid geteuid
+#define atslib_libats_libc_seteuid seteuid
+
+/* ****** ****** */
+
+#define atslib_libats_libc_getgid getgid
+#define atslib_libats_libc_setgid setgid
+#define atslib_libats_libc_getegid getegid
+#define atslib_libats_libc_setegid setegid
+
+/* ****** ****** */
+
+#define atslib_libats_libc_setreuid setreuid
+#define atslib_libats_libc_setregid setregid
+#define atslib_libats_libc_setresuid setresuid
+#define atslib_libats_libc_setresgid setresgid
+
+/* ****** ****** */
+
+#define atslib_libats_libc_setfsuid setfsuid
+#define atslib_libats_libc_setfsgid setfsgid
+
+/* ****** ****** */
+
+#define atslib_libats_libc_pause pause
+
+/* ****** ****** */
+
+#define atslib_libats_libc_read_err read
+#define atslib_libats_libc_write_err write
+
+/* ****** ****** */
+
+#define atslib_libats_libc_pread pread
+#define atslib_libats_libc_pwrite pwrite
+
+/* ****** ****** */
+
+#define atslib_libats_libc_alarm alarm
+#define atslib_libats_libc_alarm_set alarm
+#define atslib_libats_libc_alarm_cancel() alarm(0)
+
+/* ****** ****** */
+
+#define atslib_libats_libc_sleep_int sleep
+#define atslib_libats_libc_sleep_uint sleep
+
+/* ****** ****** */
+
+#define atslib_libats_libc_usleep_int usleep
+#define atslib_libats_libc_usleep_uint usleep
+
+/* ****** ****** */
+
+#define atslib_libats_libc_rmdir rmdir
+
+/* ****** ****** */
+
+#define atslib_libats_libc_link link
+#define atslib_libats_libc_unlink unlink
+
+/* ****** ****** */
+
+#define atslib_libats_libc_symlink symlink
+#define atslib_libats_libc_readlink readlink
+
+/* ****** ****** */
+
+#define atslib_libats_libc_sync sync
+#define atslib_libats_libc_fsync fsync
+#define atslib_libats_libc_fdatasync fdatasync
+
+/* ****** ****** */
+
+#define atslib_libats_libc_truncate truncate
+#define atslib_libats_libc_ftruncate ftruncate
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_LIBATS_LIBC_CATS_UNISTD
+
+/* ****** ****** */
+
+/* end of [unistd.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/array.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/array.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/array.cats
@@ -0,0 +1,115 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/array.atxt
+** Time of generation: Mon Jun  4 01:42:55 2018
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_ARRAY
+#define ATSLIB_PRELUDE_CATS_ARRAY
+
+/* ****** ****** */
+//
+// [stdlib.h]
+//
+extern
+void qsort
+(
+  void *base, size_t nmemb, size_t size
+, int(*compar)(const void *, const void *)
+) ; // end of [qsort]
+extern
+void *bsearch
+(
+  const void *key
+, const void *base
+, size_t nmemb, size_t size
+, int (*compar)(const void *, const void *)
+) ; // end of [bsearch]
+//
+#define atspre_array_qsort qsort
+#define atspre_array_bsearch bsearch
+//
+/* ****** ****** */
+//
+// [string.h]
+//
+#ifndef memcpy
+extern
+void *memcpy(void *dst, const void *src, size_t n) ;
+#endif // #ifndef
+#ifndef memmove
+extern
+void *memmove(void *dst, const void *src, size_t n) ;
+#endif // #ifndef
+//
+#define atspre_array_memcpy memcpy
+#define atspre_array_memmove memmove
+//
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_array_foreach_funenv_tsz
+(
+  atstype_ptr A
+, atstype_size n
+, atstype_size tsz
+, atstype_funptr f
+, atstype_boxed env
+) {
+  char *p ;
+  size_t i ;
+  p = (char*)A ;
+  for (i = 0 ; i < n ; i += 1)
+  {
+    ((void(*)(void*, void*))(f))(p, env) ; p += tsz ;
+  }
+  return ;
+} // end of [atspre_array_foreach_funenv_tsz]
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_ARRAY
+
+/* ****** ****** */
+
+/* end of [array.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/arrayptr.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/arrayptr.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/arrayptr.cats
@@ -0,0 +1,82 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/arrayptr.atxt
+** Time of generation: Mon Jun  4 01:42:55 2018
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_ARRAYPTR
+#define ATSLIB_PRELUDE_CATS_ARRAYPTR
+
+/* ****** ****** */
+
+ATSinline()
+atstype_arrptr
+atspre_arrpsz_get_ptrsize
+(
+  atstype_arrpsz psz, atstype_ref asz
+) {
+  *(size_t*)asz = psz.size ; return (psz.ptr) ;
+} // en of [atspre_arrpsz_get_ptrsize]
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_arrayptr_free
+  (atstype_arrptr p0) { ATS_MFREE (p0) ; return ; }
+// end of [atspre_arrayptr_free]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_arrptr
+atspre_arrayptr_make_arrpsz
+  (atstype_arrpsz psz) { return (psz).ptr ; }
+// end of [atspre_arrayptr_make_arrpsz]
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_ARRAYPTR
+
+/* ****** ****** */
+
+/* end of [arrayptr.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/arrayref.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/arrayref.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/arrayref.cats
@@ -0,0 +1,63 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/arrayref.atxt
+** Time of generation: Mon Jun  4 01:42:55 2018
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_ARRAYREF
+#define ATSLIB_PRELUDE_CATS_ARRAYREF
+
+/* ****** ****** */
+
+ATSinline()
+atstype_arrptr
+atspre_arrayref_make_arrpsz
+  (atstype_arrpsz psz) { return (psz).ptr ; }
+// end of [atspre_arrayref_make_arrpsz]
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_ARRAYREF
+
+/* ****** ****** */
+
+/* end of [arrayref.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/basics.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/basics.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/basics.cats
@@ -0,0 +1,251 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/basics.atxt
+** Time of generation: Mon Jun  4 01:42:51 2018
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_BASICS
+#define ATSLIB_PRELUDE_CATS_BASICS
+
+/* ****** ****** */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_lor_int_int
+(
+  atstype_int x1
+, atstype_int x2
+) {
+  return ((x1)|(x2)) ;
+} /* [atspre_lor_int_int] */
+
+ATSinline()
+atstype_int
+atspre_land_int_int
+(
+  atstype_int x1
+, atstype_int x2
+) {
+  return ((x1)&(x2)) ;
+} /* [atspre_land_int_int] */
+
+ATSinline()
+atstype_int
+atspre_lxor_int_int
+(
+  atstype_int x1
+, atstype_int x2
+) {
+  return ((x1)^(x2)) ;
+} /* [atspre_lxor_int_int] */
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_int2sgn
+  (atstype_int x)
+{
+  return ((x < 0) ? -1 : ((x > 0) ? 1 : 0)) ;
+} /* [atspre_int2sgn] */
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_cloptr_free
+(
+  atstype_cloptr pclo
+) {
+  ATS_MFREE (pclo) ; return ;
+} /* [atspre_cloptr_free] */
+
+/* ****** ****** */
+
+ATSinline()
+atstype_string
+atspre_argv_get_at
+(
+  atstype_arrptr argv, atstype_int i
+)
+{
+  return (((atstype_string*)argv)[i]) ;
+} /* end of [atspre_argv_get_at] */
+
+ATSinline()
+atsvoid_t0ype
+atspre_argv_set_at
+(
+  atstype_arrptr argv
+, atstype_int i, atstype_string x
+)
+{
+  ((atstype_string*)argv)[i] = x ; return ;
+} /* end of [atspre_argv_set_at] */
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_exit
+ (atstype_int ecode) { exit(ecode) ; return ; }
+// end of [atspre_exit]
+
+ATSinline()
+atsvoid_t0ype
+atspre_exit_errmsg
+(
+  atstype_int ecode, atstype_string msg
+)
+{
+  fprintf(stderr, "exit(ATS): %s", (char*)msg); exit(ecode); return;
+} // end of [atspre_exit_errmsg]
+
+/* ****** ****** */
+
+#define atspre_exit_void atspre_exit
+#define atspre_exit_errmsg_void atspre_exit_errmsg
+
+/* ****** ****** */
+//
+ATSinline()
+atsvoid_t0ype
+atspre_assert_bool
+  (atstype_bool b)
+{
+  if (!b) exit(1) ; return ;
+} /* endfun */
+//
+#define atspre_assert_bool0 atspre_assert_bool
+#define atspre_assert_bool1 atspre_assert_bool
+//
+/* ****** ****** */
+//
+ATSinline()
+atsvoid_t0ype
+atspre_assert_errmsg_bool
+(
+  atstype_bool b, atstype_string msg
+)
+{
+  if (!b) {
+    fprintf(stderr, "%s", (char*)msg) ; exit(1) ;
+  } // end of [if]
+  return ;
+} /* endfun */
+//
+#define atspre_assert_errmsg_bool0 atspre_assert_errmsg_bool
+#define atspre_assert_errmsg_bool1 atspre_assert_errmsg_bool
+//
+/* ****** ****** */
+//
+ATSinline()
+atsvoid_t0ype
+atspre_assert_errmsg2_bool
+(
+  atstype_bool b
+, atstype_string msg1, atstype_string msg2
+)
+{
+  if (!b) {
+    fprintf(stderr, "%s%s", (char*)msg1, (char*)msg2) ; exit(1) ;
+  } // end of [if]
+  return ;
+} /* endfun */
+//
+#define atspre_assert_errmsg2_bool0 atspre_assert_errmsg2_bool
+#define atspre_assert_errmsg2_bool1 atspre_assert_errmsg2_bool
+//
+/* ****** ****** */
+//
+#if(0)
+//
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_void
+(
+  atstype_ref out
+, atstype_void arg
+)
+{
+  return/*do-nothing*/;
+}
+//
+#define
+atspre_print_void(x) atspre_fprint_void(stdout, x)
+#define
+atspre_prerr_void(x) atspre_fprint_void(stderr, x)
+//
+#endif // end of [if(0)]
+//  
+/* ****** ****** */
+//
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_newline
+  (atstype_ref out)
+{
+  int n ;
+  int err = -1 ;
+  n = fprintf((FILE*)out, "\n") ;
+  if (n > 0) err = fflush((FILE*)out) ;
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_newline] failed.") ; exit(1) ;
+  } // end of [if]
+  return ;
+} /* endfun */
+//
+#define atspre_print_newline() atspre_fprint_newline(stdout)
+#define atspre_prerr_newline() atspre_fprint_newline(stderr)
+//
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_BASICS
+
+/* ****** ****** */
+
+/* end of [basics.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/bool.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/bool.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/bool.cats
@@ -0,0 +1,207 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/bool.atxt
+** Time of generation: Mon Jun  4 01:42:53 2018
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: February, 2012 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_BOOL
+#define ATSLIB_PRELUDE_CATS_BOOL
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_int2bool (atstype_int x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+}
+#define atspre_int2bool0 atspre_int2bool
+#define atspre_int2bool1 atspre_int2bool
+
+/* ****** ****** */
+
+#define atspre_bool2int0(x) x
+#define atspre_bool2int1(x) x
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_neg_bool
+  (atstype_bool b) {
+  return (b) ? atsbool_false : atsbool_true ;
+} // end of [atspre_neg_bool]
+#define atspre_neg_bool0 atspre_neg_bool
+#define atspre_neg_bool1 atspre_neg_bool
+
+ATSinline()
+atstype_bool
+atspre_add_bool_bool (
+  atstype_bool b1, atstype_bool b2
+) {
+  return (b1) ? atsbool_true : (b2) ;
+} // end of [atspre_add_bool_bool]
+#define atspre_add_bool0_bool0 atspre_add_bool_bool
+#define atspre_add_bool0_bool1 atspre_add_bool_bool
+#define atspre_add_bool1_bool0 atspre_add_bool_bool
+#define atspre_add_bool1_bool1 atspre_add_bool_bool
+
+ATSinline()
+atstype_bool
+atspre_mul_bool_bool (
+  atstype_bool b1, atstype_bool b2
+) {
+  return (b1) ? (b2) : atsbool_false ;
+} // end of [atspre_mul_bool_bool]
+#define atspre_mul_bool0_bool0 atspre_mul_bool_bool
+#define atspre_mul_bool0_bool1 atspre_mul_bool_bool
+#define atspre_mul_bool1_bool0 atspre_mul_bool_bool
+#define atspre_mul_bool1_bool1 atspre_mul_bool_bool
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_xor_bool_bool (
+  atstype_bool b1, atstype_bool b2
+) {
+  return (b1) ? (!b2) : (b2) ;
+} // end of [atspre_xor_bool_bool]
+#define atspre_xor_bool0_bool0 atspre_xor_bool_bool
+#define atspre_xor_bool1_bool1 atspre_xor_bool_bool
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_lt_bool_bool (
+  atstype_bool b1, atstype_bool b2
+) {
+  return (b1) ? atsbool_false : (b2) ;
+} // end of [atspre_lt_bool_bool]
+#define atspre_lt_bool0_bool0 atspre_lt_bool_bool
+#define atspre_lt_bool1_bool1 atspre_lt_bool_bool
+ATSinline()
+atstype_bool
+atspre_lte_bool_bool (
+  atstype_bool b1, atstype_bool b2
+) {
+  return (b1) ? (b2) : atsbool_true ;
+} // end of [atspre_lte_bool_bool]
+#define atspre_lte_bool0_bool0 atspre_lte_bool_bool
+#define atspre_lte_bool1_bool1 atspre_lte_bool_bool
+
+ATSinline()
+atstype_bool
+atspre_gt_bool_bool (
+  atstype_bool b1, atstype_bool b2
+) {
+  return (b2) ? atsbool_false : (b1) ;
+} // end of [atspre_gt_bool_bool]
+#define atspre_gt_bool0_bool0 atspre_gt_bool_bool
+#define atspre_gt_bool1_bool1 atspre_gt_bool_bool
+ATSinline()
+atstype_bool
+atspre_gte_bool_bool (
+  atstype_bool b1, atstype_bool b2
+) {
+  return (b2) ? (b1) : atsbool_true ;
+} // end of [atspre_gte_bool_bool]
+#define atspre_gte_bool0_bool0 atspre_gte_bool_bool
+#define atspre_gte_bool1_bool1 atspre_gte_bool_bool
+
+ATSinline()
+atstype_bool
+atspre_eq_bool_bool (
+  atstype_bool b1, atstype_bool b2
+) {
+  return (b1 == b2) ;
+} // end of [atspre_eq_bool_bool]
+#define atspre_eq_bool0_bool0 atspre_eq_bool_bool
+#define atspre_eq_bool1_bool1 atspre_eq_bool_bool
+ATSinline()
+atstype_bool
+atspre_neq_bool_bool (
+  atstype_bool b1, atstype_bool b2
+) {
+  return (b1 != b2) ;
+} // end of [atspre_neq_bool_bool]
+#define atspre_neq_bool0_bool0 atspre_neq_bool_bool
+#define atspre_neq_bool1_bool1 atspre_neq_bool_bool
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_compare_bool_bool (
+  atstype_bool b1, atstype_bool b2
+) {
+  return (b1 - b2) ;
+} // end of [atspre_compare_bool_bool]
+#define atspre_compare_bool0_bool0 atspre_compare_bool_bool
+#define atspre_compare_bool1_bool1 atspre_compare_bool_bool
+
+/* ****** ****** */
+
+ATSinline()
+atstype_string
+atspre_bool2string (
+  atstype_bool x
+) {
+  return (x) ? "true" : "false" ;
+} // end of [atspre_bool2string]
+
+ATSinline()
+atstype_string
+atspre_bool_tostring (
+  atstype_bool x
+) {
+  return (x) ? "true" : "false" ;
+} // end of [atspre_bool_tostring]
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_BOOL
+
+/* ****** ****** */
+
+/* end of [bool.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/char.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/char.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/char.cats
@@ -0,0 +1,529 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/char.atxt
+** Time of generation: Mon Jun  4 01:42:53 2018
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: February, 2012 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_CHAR
+#define ATSLIB_PRELUDE_CATS_CHAR
+
+/* ****** ****** */
+
+#include <ctype.h>
+
+/* ****** ****** */
+
+#ifdef __CYGWIN__
+//
+#ifndef isascii
+extern int isascii (int c) ; // _XOPEN_SOURCE
+#endif // end of [isascii]
+
+#ifndef isblank
+extern int isblank (int c) ; // _XOPEN_SOURCE >= 600
+#endif // end of [isblank]
+
+#ifndef toascii
+extern int toascii (int c) ; // _XOPEN_SOURCE
+#endif // end of [toascii]
+//
+#endif // end of [#ifdef(__CYGWIN__)]
+
+/* ****** ****** */
+//
+ATSinline()
+atstype_char
+atspre_int2char
+  (atstype_int i) { return ((atstype_char)i) ; }
+ATSinline()
+atstype_schar
+atspre_int2schar
+  (atstype_int i) { return ((atstype_schar)i) ; }
+ATSinline()
+atstype_uchar
+atspre_int2uchar
+  (atstype_int i) { return ((atstype_uchar)i) ; }
+//
+#define atspre_int2char0 atspre_int2char
+#define atspre_int2schar0 atspre_int2schar
+#define atspre_int2uchar0 atspre_int2uchar
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_int
+atspre_char2int
+  (atstype_char c) { return ((atstype_int)c) ; }
+ATSinline()
+atstype_int
+atspre_schar2int
+  (atstype_schar c) { return ((atstype_int)c) ; }
+ATSinline()
+atstype_int
+atspre_uchar2int
+  (atstype_uchar c) { return ((atstype_int)c) ; }
+//
+#define atspre_char2int0 atspre_char2int
+#define atspre_schar2int0 atspre_schar2int
+#define atspre_uchar2int0 atspre_uchar2int
+//
+#define atspre_char2int1 atspre_char2int
+#define atspre_schar2int1 atspre_schar2int
+#define atspre_uchar2int1 atspre_uchar2int
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_uint
+atspre_char2uint
+  (atstype_char c) { return ((atstype_uint)c) ; }
+ATSinline()
+atstype_uint
+atspre_schar2uint
+  (atstype_schar c) { return ((atstype_uint)c) ; }
+ATSinline()
+atstype_uint
+atspre_uchar2uint
+  (atstype_uchar c) { return ((atstype_uint)c) ; }
+//
+#define atspre_char2uint0 atspre_char2uint
+#define atspre_schar2uint0 atspre_schar2uint
+#define atspre_uchar2uint0 atspre_uchar2uint
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_int
+atspre_char2u2int
+  (atstype_char c)
+  { return ((atstype_int)((atstype_uchar)c)) ; }
+ATSinline()
+atstype_uint
+atspre_char2u2uint
+  (atstype_char c)
+  { return ((atstype_uint)((atstype_uchar)c)) ; }
+//
+#define atspre_char2u2int0 atspre_char2u2int
+#define atspre_char2u2uint0 atspre_char2u2uint
+//
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_char_iseqz
+  (atstype_char c)
+{
+  return ((c == 0) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_char_iseqz]
+#define atspre_char0_iseqz(c) atspre_char_iseqz(c) 
+#define atspre_char1_iseqz(c) atspre_char_iseqz(c) 
+
+ATSinline()
+atstype_bool
+atspre_char_isneqz
+  (atstype_char c)
+{
+  return ((c != 0) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_char_isneqz]
+#define atspre_char0_isneqz(c) atspre_char_isneqz(c) 
+#define atspre_char1_isneqz(c) atspre_char_isneqz(c) 
+
+/* ****** ****** */
+//
+ATSinline()
+atstype_char
+atspre_add_char_int
+(
+  atstype_char c1, atstype_int i2
+) { return (c1 + i2) ; }
+//
+#define atspre_add_char0_int0 atspre_add_char_int
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_char
+atspre_sub_char_int
+(
+  atstype_char c1, atstype_int i2
+) { return (c1 - i2) ; }
+//
+#define atspre_sub_char0_int0 atspre_sub_char_int
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_int
+atspre_sub_char_char
+(
+  atstype_char c1, atstype_char c2
+) { return (c1 - c2) ; }
+//
+#define atspre_sub_char0_char0 atspre_sub_char_char
+//
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_lt_int_int
+  (atstype_int i1, atstype_int i2) {
+  return (i1 < i2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_lt_int_int]
+#define atspre_lt_char0_char0 atspre_lt_int_int
+#define atspre_lt_char1_char1 atspre_lt_int_int
+
+ATSinline()
+atstype_bool
+atspre_lte_int_int
+  (atstype_int i1, atstype_int i2) {
+  return (i1 <= i2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_lte_int_int]
+#define atspre_lte_char0_char0 atspre_lte_int_int
+#define atspre_lte_char1_char1 atspre_lte_int_int
+
+ATSinline()
+atstype_bool
+atspre_gt_int_int
+  (atstype_int i1, atstype_int i2) {
+  return (i1 > i2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_gt_int_int]
+#define atspre_gt_char0_char0 atspre_gt_int_int
+#define atspre_gt_char1_char1 atspre_gt_int_int
+
+ATSinline()
+atstype_bool
+atspre_gte_int_int
+  (atstype_int i1, atstype_int i2) {
+  return (i1 >= i2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_gte_int_int]
+#define atspre_gte_char0_char0 atspre_gte_int_int
+#define atspre_gte_char1_char1 atspre_gte_int_int
+
+ATSinline()
+atstype_bool
+atspre_eq_int_int
+  (atstype_int i1, atstype_int i2) {
+  return (i1 == i2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_eq_int_int]
+#define atspre_eq_char0_char0 atspre_eq_int_int
+#define atspre_eq_char1_char1 atspre_eq_int_int
+
+ATSinline()
+atstype_bool
+atspre_neq_int_int
+  (atstype_int i1, atstype_int i2) {
+  return (i1 != i2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_neq_int_int]
+#define atspre_neq_char0_char0 atspre_neq_int_int
+#define atspre_neq_char1_char1 atspre_neq_int_int
+
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_compare_int_int
+  (atstype_int i1, atstype_int i2)
+{
+  return (i1 - i2) ;
+} // end of [atspre_compare_int_int]
+#define atspre_compare_char0_char0(c1, c2) atspre_compare_int_int(c1, c2)
+#define atspre_compare_char1_char1(c1, c2) atspre_compare_int_int(c1, c2)
+
+/* ****** ****** */
+
+#define atspre_eq_char0_int0(c, i) atspre_eq_int_int(c, i)
+#define atspre_eq_int0_char0(i, c) atspre_eq_int_int(i, c)
+#define atspre_neq_char0_int0(c, i) atspre_neq_int_int(c, i)
+#define atspre_neq_int0_char0(i, c) atspre_neq_int_int(i, c)
+
+/* ****** ****** */
+
+#define atspre_compare_char0_int0(c, i) atspre_compare_int_int(c, i)
+#define atspre_compare_int0_char0(i, c) atspre_compare_int_int(i, c)
+
+/* ****** ****** */
+//
+// unsigned characters
+//
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_lt_uchar_uchar
+  (atstype_uchar c1, atstype_uchar c2) {
+  return (c1 < c2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_lt_uchar_uchar]
+#define atspre_lt_uchar0_uchar0 atspre_lt_uchar_uchar
+#define atspre_lt_uchar1_uchar1 atspre_lt_uchar_uchar
+
+ATSinline()
+atstype_bool
+atspre_lte_uchar_uchar
+  (atstype_uchar c1, atstype_uchar c2) {
+  return (c1 <= c2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_lte_uchar_uchar]
+#define atspre_lte_uchar0_uchar0 atspre_lte_uchar_uchar
+#define atspre_lte_uchar1_uchar1 atspre_lte_uchar_uchar
+
+ATSinline()
+atstype_bool
+atspre_gt_uchar_uchar
+  (atstype_uchar c1, atstype_uchar c2) {
+  return (c1 > c2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_gt_uchar_uchar]
+#define atspre_gt_uchar0_uchar0 atspre_gt_uchar_uchar
+#define atspre_gt_uchar1_uchar1 atspre_gt_uchar_uchar
+
+ATSinline()
+atstype_bool
+atspre_gte_uchar_uchar
+  (atstype_uchar c1, atstype_uchar c2) {
+  return (c1 >= c2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_gte_uchar_uchar]
+#define atspre_gte_uchar0_uchar0 atspre_gte_uchar_uchar
+#define atspre_gte_uchar1_uchar1 atspre_gte_uchar_uchar
+
+ATSinline()
+atstype_bool
+atspre_eq_uchar_uchar
+  (atstype_uchar c1, atstype_uchar c2) {
+  return (c1 == c2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_eq_uchar_uchar]
+#define atspre_eq_uchar0_uchar0 atspre_eq_uchar_uchar
+#define atspre_eq_uchar1_uchar1 atspre_eq_uchar_uchar
+
+ATSinline()
+atstype_bool
+atspre_neq_uchar_uchar
+  (atstype_uchar c1, atstype_uchar c2) {
+  return (c1 != c2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_neq_uchar_uchar]
+#define atspre_neq_uchar0_uchar0 atspre_neq_uchar_uchar
+#define atspre_neq_uchar1_uchar1 atspre_neq_uchar_uchar
+
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_compare_uchar_uchar
+  (atstype_uchar c1, atstype_uchar c2) {
+  return ((atstype_int)c1 - (atstype_int)c2) ;
+} // end of [atspre_compare_uchar_uchar]
+#define atspre_compare_uchar0_uchar0 atspre_compare_uchar_uchar
+#define atspre_compare_uchar1_uchar1 atspre_compare_uchar_uchar
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_isalpha_int
+  (atstype_int c) {
+  return (isalpha(c) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_isalpha_int]
+#define atspre_isalpha_char(c) atspre_isalpha_int((atstype_int)(c))
+ATSinline()
+atstype_bool
+atspre_isalnum_int
+  (atstype_int c) {
+  return (isalnum(c) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_isalnum_int]
+#define atspre_isalnum_char(c) atspre_isalnum_int((atstype_int)(c))
+
+ATSinline()
+atstype_bool
+atspre_isascii_int
+  (atstype_int c) {
+  return (isascii(c) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_isascii_int]
+#define atspre_isascii_char(c) atspre_isascii_int((atstype_int)(c))
+
+ATSinline()
+atstype_bool
+atspre_isblank_int
+  (atstype_int c) {
+  return (isblank(c) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_isblank_int]
+#define atspre_isblank_char(c) atspre_isblank_int((atstype_int)(c))
+ATSinline()
+atstype_bool
+atspre_isspace_int
+  (atstype_int c) {
+  return (isspace(c) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_isspace_int]
+#define atspre_isspace_char(c) atspre_isspace_int((atstype_int)(c))
+
+ATSinline()
+atstype_bool
+atspre_iscntrl_int
+  (atstype_int c) {
+  return (iscntrl(c) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_iscntrl_int]
+#define atspre_iscntrl_char(c) atspre_iscntrl_int((atstype_int)(c))
+
+ATSinline()
+atstype_bool
+atspre_isdigit_int
+  (atstype_int c) {
+  return (isdigit(c) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_isdigit_int]
+#define atspre_isdigit_char(c) atspre_isdigit_int((atstype_int)(c))
+ATSinline()
+atstype_bool
+atspre_isxdigit_int
+  (atstype_int c) {
+  return (isxdigit(c) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_isxdigit_int]
+#define atspre_isxdigit_char(c) atspre_isxdigit_int((atstype_int)(c))
+
+ATSinline()
+atstype_bool
+atspre_isgraph_int
+  (atstype_int c) {
+  return (isgraph(c) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_isgraph_int]
+#define atspre_isgraph_char(c) atspre_isgraph_int((atstype_int)(c))
+ATSinline()
+atstype_bool
+atspre_isprint_int
+  (atstype_int c) {
+  return (isprint(c) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_isprint_int]
+#define atspre_isprint_char(c) atspre_isprint_int((atstype_int)(c))
+ATSinline()
+atstype_bool
+atspre_ispunct_int
+  (atstype_int c) {
+  return (ispunct(c) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_ispunct_int]
+#define atspre_ispunct_char(c) atspre_ispunct_int((atstype_int)(c))
+
+ATSinline()
+atstype_bool
+atspre_islower_int
+  (atstype_int c) {
+  return (islower(c) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_islower_int]
+#define atspre_islower_char(c) atspre_islower_int((atstype_int)(c))
+ATSinline()
+atstype_bool
+atspre_isupper_int
+  (atstype_int c) {
+  return (isupper(c) ? atsbool_true : atsbool_false) ;
+} // end of [atspre_isupper_int]
+#define atspre_isupper_char(c) atspre_isupper_int((atstype_int)(c))
+
+/* ****** ****** */
+
+#define atspre_toascii toascii
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_tolower_int
+  (atstype_int c) { return tolower(c) ; }
+ATSinline()
+atstype_char
+atspre_tolower_char
+  (atstype_char c) { return tolower(c) ; }
+//
+ATSinline()
+atstype_int
+atspre_toupper_int
+  (atstype_int c) { return toupper(c) ; }
+ATSinline()
+atstype_char
+atspre_toupper_char
+  (atstype_char c) { return toupper(c) ; }
+//
+/* ****** ****** */
+
+ATSinline()
+atstype_char
+atspre_int2digit
+  (atstype_int i) { return ('0' + i) ; }
+// end of [atspre_int2digit]
+ATSinline()
+atstype_char
+atspre_int2xdigit
+  (atstype_int i) {
+  return (i < 10) ? ('0' + i) : ('a' + (i - 10)) ;
+} // end of [atspre_int2xdigit]
+ATSinline()
+atstype_char
+atspre_int2xxdigit
+  (atstype_int i) {
+  return (i < 10) ? ('0' + i) : ('A' + (i - 10)) ;
+} // end of [atspre_int2xxdigit]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_byte2int (atstype_byte b) { return ((atstype_int)b) ; }
+ATSinline()
+atstype_byte
+atspre_int2byte (atstype_int i) { return ((atstype_byte)i) ; }
+
+ATSinline()
+atstype_uint
+atspre_byte2uint (atstype_byte b) { return ((atstype_uint)b) ; }
+ATSinline()
+atstype_byte
+atspre_uint2byte (atstype_uint u) { return ((atstype_byte)u) ; }
+
+/* ****** ****** */
+
+#define atspre_byte2int0 atspre_byte2int
+#define atspre_int2byte0 atspre_int2byte
+#define atspre_byte2uint0 atspre_byte2uint
+#define atspre_uint2byte0 atspre_uint2byte
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_CHAR
+
+/* ****** ****** */
+
+/* end of [char.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/filebas.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/filebas.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/filebas.cats
@@ -0,0 +1,385 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Start time: January, 2013 *)
+(* Authoremail: hwxiATcsDOTbuDOTedu *)
+*/
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/filebas.atxt
+** Time of generation: Mon Jun  4 01:42:54 2018
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_FILEBAS
+#define ATSLIB_PRELUDE_CATS_FILEBAS
+
+/* ****** ****** */
+
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+
+/* ****** ****** */
+
+#define atspre_FILE_stdin stdin
+#define atspre_FILE_stdout stdout
+#define atspre_FILE_stderr stderr
+
+/* ****** ****** */
+
+#define atspre_file_mode_r "r"
+#define atspre_file_mode_rr "r+"
+#define atspre_file_mode_w "w"
+#define atspre_file_mode_ww "w+"
+#define atspre_file_mode_a "a"
+#define atspre_file_mode_aa "a+"
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_test_file_exists
+  (atstype_string path)
+{
+  int err;
+  struct stat st ;
+  err = stat((const char*)path, &st) ;
+  return
+  (err==0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_test_file_exists]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_test_file_mode_fun
+(
+  atstype_string path, atstype_funptr pred
+)
+{
+  int err;
+  struct stat st ;
+  err = stat ((const char*)path, &st) ;
+  if (err < 0) return -1 ;
+  return
+  ((atstype_bool(*)(atstype_uint))(pred))(st.st_mode) ? 1 : 0 ;
+}
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_test_file_isreg
+  (atstype_string path)
+{
+  int err;
+  struct stat st ;
+  err = stat ((const char*)path, &st) ;
+  if (err < 0) return -1 ;
+  return (S_ISREG(st.st_mode)) ? 1 : 0 ;
+} // end of [atspre_test_file_isreg]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_test_file_isdir
+  (atstype_string path)
+{
+  int err;
+  struct stat st ;
+  err = stat ((const char*)path, &st) ;
+  if (err < 0) return -1 ;
+  return (S_ISDIR(st.st_mode)) ? 1 : 0 ;
+} // end of [atspre_test_file_isdir]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_test_file_isblk
+  (atstype_string path)
+{
+  int err;
+  struct stat st ;
+  err = stat ((const char*)path, &st) ;
+  if (err < 0) return -1 ;
+  return (S_ISBLK(st.st_mode)) ? 1 : 0 ;
+} // end of [atspre_test_file_isblk]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_test_file_ischr
+  (atstype_string path)
+{
+  int err;
+  struct stat st ;
+  err = stat ((const char*)path, &st) ;
+  if (err < 0) return -1 ;
+  return (S_ISCHR(st.st_mode)) ? 1 : 0 ;
+} // end of [atspre_test_file_ischr]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_test_file_isfifo
+  (atstype_string path)
+{
+  int err;
+  struct stat st ;
+  err = stat ((const char*)path, &st) ;
+  if (err < 0) return -1 ;
+  return (S_ISFIFO(st.st_mode)) ? 1 : 0 ;
+} // end of [atspre_test_file_isfifo]
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fileref_close
+  (atstype_ref filr)
+{
+  int err ;
+  err = fclose((FILE*)filr) ;
+  if (err < 0) {
+    fprintf(
+      stderr
+    , "exit(ATS): [atspre_fileref_close] failed.\n"
+    ) ;
+    exit(1) ;
+  }
+  return ;
+} // end of [atspre_fileref_close]
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fileref_flush
+  (atstype_ref filr)
+{
+  int err ;
+  err = fflush((FILE*)filr) ;
+  if (err < 0) {
+    fprintf(
+      stderr
+    , "exit(ATS): [atspre_fileref_fflush] failed.\n"
+    ) ;
+    exit(1) ;
+  }
+  return ;
+} // end of [atspre_fileref_flush]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_ref
+atspre_fileref_open_exn
+  (atstype_string path, atstype_string fm)
+{
+  FILE* filr ;
+  filr = fopen((char*)path, (char*)fm) ;
+  if (!filr) {
+    fprintf(
+      stderr
+    , "exit(ATS): [atspre_fileref_open_exn(%s, %s)] failed.\n"
+    , (char*)path, (char*)fm
+    ) ;
+    exit(1) ;
+  }
+  return filr ;
+} // end of [atspre_fileref_open]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_fileref_getc
+  (atstype_ref filr)
+  { return fgetc((FILE*)filr) ; }
+// end of [atspre_fileref_getc]
+
+/* ****** ****** */
+//
+ATSinline()
+atsvoid_t0ype
+atspre_fileref_putc
+(
+  atstype_ref filr, atstype_int c
+) {
+  fputc (c, (FILE*)filr) ; return ;
+} // end of [atspre_fileref_putc]
+//
+#define \
+atspre_fileref_putc_int atspre_fileref_putc
+#define \
+atspre_fileref_putc_char atspre_fileref_putc
+//
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fileref_puts
+( atstype_ref fout
+, atstype_ptr data)
+{
+  fputs((char*)data, (FILE*)fout) ; return ;
+} // end of [atspre_fileref_puts]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_fileref_is_eof
+  (atstype_ref filr)
+{
+  int eof ;
+  eof = feof((FILE*)filr) ;
+  return
+  (eof != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_fileref_is_eof]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_fileref_load_int
+(atstype_ref finp, atstype_ref data)
+{
+  int n ;
+  n = fscanf
+      ( (FILE*)finp
+      , "%i"
+      , (atstype_int*)data) ;
+  return
+  (n==1 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_fileref_load_int]
+
+ATSinline()
+atstype_bool
+atspre_fileref_load_uint
+(atstype_ref finp, atstype_ref data)
+{
+  int n ;
+  n = fscanf
+      ( (FILE*)finp
+      , "%u"
+      , (atstype_uint*)data) ;
+  return
+  (n==1 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_fileref_load_uint]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_fileref_load_lint
+(atstype_ref finp, atstype_ref data)
+{
+  int n ;
+  n = fscanf
+      ( (FILE*)finp
+      , "%li"
+      , (atstype_lint*)data) ;
+  return
+  (n==1 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_fileref_load_lint]
+
+ATSinline()
+atstype_bool
+atspre_fileref_load_ulint
+(atstype_ref finp, atstype_ref data)
+{
+  int n ;
+  n = fscanf
+      ( (FILE*)finp
+      , "%lu"
+      , (atstype_ulint*)data) ;
+  return
+  (n==1 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_fileref_load_ulint]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_fileref_load_float
+(atstype_ref finp, atstype_ref data)
+{
+  int n ;
+  n = fscanf
+      ( (FILE*)finp
+      , "%f"
+      , (atstype_float*)data) ;
+  return
+  (n==1 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_fileref_load_float]
+
+ATSinline()
+atstype_bool
+atspre_fileref_load_double
+  (atstype_ref finp, atstype_ref data)
+{
+  int n ;
+  n = fscanf
+      ( (FILE*)finp
+      , "%lf"
+      , (atstype_double*)data) ;
+  return
+  (n==1 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_fileref_load_double]
+
+/* ****** ****** */
+
+extern
+atstype_ptr
+atspre_fileref_get_line_string_main2
+(
+  atstype_int bsz // int bsz
+, atstype_ptr filp // FILE*filp
+, atstype_ref nlen // (int)*nlen
+) ; // endfun
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_FILEBAS
+
+/* ****** ****** */
+
+/* end of [filebas.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/float.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/float.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/float.cats
@@ -0,0 +1,710 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/float.atxt
+** Time of generation: Mon Jun  4 01:42:53 2018
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: April, 2012 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_FLOAT
+#define ATSLIB_PRELUDE_CATS_FLOAT
+
+/* ****** ****** */
+
+ATSinline()
+atstype_float
+atspre_g0int2float_int_float
+  (atstype_int x) { return ((atstype_float)x) ; }
+// end of [atspre_g0int2float_int_float]
+
+ATSinline()
+atstype_double
+atspre_g0int2float_int_double
+  (atstype_int x) { return ((atstype_double)x) ; }
+// end of [atspre_g0int2float_int_double]
+
+ATSinline()
+atstype_double
+atspre_g0int2float_lint_double
+  (atstype_lint x) { return ((atstype_double)x) ; }
+// end of [atspre_g0int2float_lint_double]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_g0float2int_float_int
+  (atstype_float x) { return ((atstype_int)x) ; }
+ATSinline()
+atstype_lint
+atspre_g0float2int_float_lint
+  (atstype_float x) { return ((atstype_lint)x) ; }
+ATSinline()
+atstype_llint
+atspre_g0float2int_float_llint
+  (atstype_float x) { return ((atstype_llint)x) ; }
+
+ATSinline()
+atstype_int
+atspre_g0float2int_double_int
+  (atstype_double x) { return ((atstype_int)x) ; }
+ATSinline()
+atstype_lint
+atspre_g0float2int_double_lint
+  (atstype_double x) { return ((atstype_lint)x) ; }
+ATSinline()
+atstype_llint
+atspre_g0float2int_double_llint
+  (atstype_double x) { return ((atstype_llint)x) ; }
+
+/* ****** ****** */
+
+ATSinline()
+atstype_float
+atspre_g0float2float_float_float (atstype_float x) { return (x) ; }
+
+ATSinline()
+atstype_double
+atspre_g0float2float_double_double (atstype_double x) { return (x) ; }
+
+ATSinline()
+atstype_double
+atspre_g0float2float_float_double
+(
+atstype_float x
+)
+{
+ return ((atstype_double)x) ;
+}
+
+ATSinline()
+atstype_float
+atspre_g0float2float_double_float
+(
+atstype_double x
+)
+{
+ return ((atstype_float)x) ;
+}
+
+/* ****** ****** */
+//
+extern double atof (const char *inp) ;
+//
+ATSinline()
+atstype_double
+atspre_g0string2float_double
+  (atstype_string inp) { return atof((char*)inp) ; }
+//
+/* ****** ****** */
+
+ATSinline()
+atstype_float
+atspre_g0float_neg_float (atstype_float f) { return (-f) ; }
+ATSinline()
+atstype_double
+atspre_g0float_neg_double (atstype_double f) { return (-f) ; }
+ATSinline()
+atstype_ldouble
+atspre_g0float_neg_ldouble (atstype_ldouble f) { return (-f) ; }
+
+ATSinline()
+atstype_float
+atspre_g0float_abs_float (atstype_float f) { return (f >= 0 ? f : -f) ; }
+ATSinline()
+atstype_double
+atspre_g0float_abs_double (atstype_double f) { return (f >= 0 ? f : -f) ; }
+ATSinline()
+atstype_ldouble
+atspre_g0float_abs_ldouble (atstype_ldouble f) { return (f >= 0 ? f : -f) ; }
+
+ATSinline()
+atstype_float
+atspre_g0float_succ_float (atstype_float f) { return (f+1) ; }
+ATSinline()
+atstype_double
+atspre_g0float_succ_double (atstype_double f) { return (f+1) ; }
+ATSinline()
+atstype_ldouble
+atspre_g0float_succ_ldouble (atstype_ldouble f) { return (f+1) ; }
+
+ATSinline()
+atstype_float
+atspre_g0float_pred_float (atstype_float f) { return (f-1) ; }
+ATSinline()
+atstype_double
+atspre_g0float_pred_double (atstype_double f) { return (f-1) ; }
+ATSinline()
+atstype_ldouble
+atspre_g0float_pred_ldouble (atstype_ldouble f) { return (f-1) ; }
+
+/* ****** ****** */
+//
+//
+ATSinline()
+atstype_float
+atspre_g0float_add_float
+  (atstype_float f1, atstype_float f2) { return (f1 + f2) ; }
+// end of [atspre_g0float_add_float]
+ATSinline()
+atstype_float
+atspre_g0float_sub_float
+  (atstype_float f1, atstype_float f2) { return (f1 - f2) ; }
+// end of [atspre_g0float_sub_float]
+ATSinline()
+atstype_float
+atspre_g0float_mul_float
+  (atstype_float f1, atstype_float f2) { return (f1 * f2) ; }
+// end of [atspre_g0float_mul_float]
+ATSinline()
+atstype_float
+atspre_g0float_div_float
+  (atstype_float f1, atstype_float f2) { return (f1 / f2) ; }
+// end of [atspre_g0float_div_float]
+//
+ATSinline()
+atstype_double
+atspre_g0float_add_double
+  (atstype_double f1, atstype_double f2) { return (f1 + f2) ; }
+// end of [atspre_g0float_add_double]
+ATSinline()
+atstype_double
+atspre_g0float_sub_double
+  (atstype_double f1, atstype_double f2) { return (f1 - f2) ; }
+// end of [atspre_g0float_sub_double]
+ATSinline()
+atstype_double
+atspre_g0float_mul_double
+  (atstype_double f1, atstype_double f2) { return (f1 * f2) ; }
+// end of [atspre_g0float_mul_double]
+ATSinline()
+atstype_double
+atspre_g0float_div_double
+  (atstype_double f1, atstype_double f2) { return (f1 / f2) ; }
+// end of [atspre_g0float_div_double]
+//
+ATSinline()
+atstype_ldouble
+atspre_g0float_add_ldouble
+  (atstype_ldouble f1, atstype_ldouble f2) { return (f1 + f2) ; }
+// end of [atspre_g0float_add_ldouble]
+ATSinline()
+atstype_ldouble
+atspre_g0float_sub_ldouble
+  (atstype_ldouble f1, atstype_ldouble f2) { return (f1 - f2) ; }
+// end of [atspre_g0float_sub_ldouble]
+ATSinline()
+atstype_ldouble
+atspre_g0float_mul_ldouble
+  (atstype_ldouble f1, atstype_ldouble f2) { return (f1 * f2) ; }
+// end of [atspre_g0float_mul_ldouble]
+ATSinline()
+atstype_ldouble
+atspre_g0float_div_ldouble
+  (atstype_ldouble f1, atstype_ldouble f2) { return (f1 / f2) ; }
+// end of [atspre_g0float_div_ldouble]
+//
+extern atstype_float fmodf (atstype_float, atstype_float) ;
+extern atstype_double fmod (atstype_double, atstype_double) ;
+extern atstype_ldouble fmodl (atstype_ldouble, atstype_ldouble) ;
+//
+ATSinline()
+atstype_float
+atspre_g0float_mod_float
+  (atstype_float f1, atstype_float f2) { return fmodf(f1, f2) ; }
+ATSinline()
+atstype_double
+atspre_g0float_mod_double
+  (atstype_double f1, atstype_double f2) { return fmod(f1, f2) ; }
+ATSinline()
+atstype_ldouble
+atspre_g0float_mod_ldouble
+  (atstype_ldouble f1, atstype_ldouble f2) { return fmodl(f1, f2) ; }
+//
+/* ****** ****** */
+//
+//
+ATSinline()
+atstype_bool
+atspre_g0float_lt_float
+  (atstype_float f1, atstype_float f2) {
+  return (f1 < f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_lt_float]
+ATSinline()
+atstype_bool
+atspre_g0float_lte_float
+  (atstype_float f1, atstype_float f2) {
+  return (f1 <= f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_lte_float]
+ATSinline()
+atstype_bool
+atspre_g0float_gt_float
+  (atstype_float f1, atstype_float f2) {
+  return (f1 > f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_gt_float]
+ATSinline()
+atstype_bool
+atspre_g0float_gte_float
+  (atstype_float f1, atstype_float f2) {
+  return (f1 >= f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_gte_float]
+ATSinline()
+atstype_bool
+atspre_g0float_eq_float
+  (atstype_float f1, atstype_float f2) {
+  return (f1 == f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_eq_float]
+ATSinline()
+atstype_bool
+atspre_g0float_neq_float
+  (atstype_float f1, atstype_float f2) {
+  return (f1 != f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_neq_float]
+//
+ATSinline()
+atstype_bool
+atspre_g0float_lt_double
+  (atstype_double f1, atstype_double f2) {
+  return (f1 < f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_lt_double]
+ATSinline()
+atstype_bool
+atspre_g0float_lte_double
+  (atstype_double f1, atstype_double f2) {
+  return (f1 <= f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_lte_double]
+ATSinline()
+atstype_bool
+atspre_g0float_gt_double
+  (atstype_double f1, atstype_double f2) {
+  return (f1 > f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_gt_double]
+ATSinline()
+atstype_bool
+atspre_g0float_gte_double
+  (atstype_double f1, atstype_double f2) {
+  return (f1 >= f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_gte_double]
+ATSinline()
+atstype_bool
+atspre_g0float_eq_double
+  (atstype_double f1, atstype_double f2) {
+  return (f1 == f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_eq_double]
+ATSinline()
+atstype_bool
+atspre_g0float_neq_double
+  (atstype_double f1, atstype_double f2) {
+  return (f1 != f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_neq_double]
+//
+ATSinline()
+atstype_bool
+atspre_g0float_lt_ldouble
+  (atstype_ldouble f1, atstype_ldouble f2) {
+  return (f1 < f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_lt_ldouble]
+ATSinline()
+atstype_bool
+atspre_g0float_lte_ldouble
+  (atstype_ldouble f1, atstype_ldouble f2) {
+  return (f1 <= f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_lte_ldouble]
+ATSinline()
+atstype_bool
+atspre_g0float_gt_ldouble
+  (atstype_ldouble f1, atstype_ldouble f2) {
+  return (f1 > f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_gt_ldouble]
+ATSinline()
+atstype_bool
+atspre_g0float_gte_ldouble
+  (atstype_ldouble f1, atstype_ldouble f2) {
+  return (f1 >= f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_gte_ldouble]
+ATSinline()
+atstype_bool
+atspre_g0float_eq_ldouble
+  (atstype_ldouble f1, atstype_ldouble f2) {
+  return (f1 == f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_eq_ldouble]
+ATSinline()
+atstype_bool
+atspre_g0float_neq_ldouble
+  (atstype_ldouble f1, atstype_ldouble f2) {
+  return (f1 != f2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0float_neq_ldouble]
+//
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_g0float_compare_float
+(
+  atstype_float f1, atstype_float f2
+)
+{
+  if (f1 > f2) return 1 ; else if (f1 < f2) return -1 ; else return 0 ;
+} // end of [atspre_g0float_compare_float]
+
+ATSinline()
+atstype_int
+atspre_g0float_compare_double
+(
+  atstype_double f1, atstype_double f2
+)
+{
+  if (f1 > f2) return 1 ; else if (f1 < f2) return -1 ; else return 0 ;
+} // end of [atspre_g0float_compare_double]
+
+ATSinline()
+atstype_int
+atspre_g0float_compare_ldouble
+(
+  atstype_ldouble f1, atstype_ldouble f2
+)
+{
+  if (f1 > f2) return 1 ; else if (f1 < f2) return -1 ; else return 0 ;
+} // end of [atspre_g0float_compare_ldouble]
+
+/* ****** ****** */
+
+ATSinline()
+atstype_float
+atspre_g0float_min_float
+  (atstype_float f1, atstype_float f2) { return (f1 <= f2 ? f1 : f2) ; }
+// end of [atspre_g0float_min_float]
+ATSinline()
+atstype_double
+atspre_g0float_min_double
+  (atstype_double f1, atstype_double f2) { return (f1 <= f2 ? f1 : f2) ; }
+// end of [atspre_g0float_min_double]
+ATSinline()
+atstype_ldouble
+atspre_g0float_min_ldouble
+  (atstype_ldouble f1, atstype_ldouble f2) { return (f1 <= f2 ? f1 : f2) ; }
+// end of [atspre_g0float_min_ldouble]
+
+ATSinline()
+atstype_float
+atspre_g0float_max_float
+  (atstype_float f1, atstype_float f2) { return (f1 >= f2 ? f1 : f2) ; }
+// end of [atspre_g0float_max_float]
+ATSinline()
+atstype_double
+atspre_g0float_max_double
+  (atstype_double f1, atstype_double f2) { return (f1 >= f2 ? f1 : f2) ; }
+// end of [atspre_g0float_max_double]
+ATSinline()
+atstype_ldouble
+atspre_g0float_max_ldouble
+  (atstype_ldouble f1, atstype_ldouble f2) { return (f1 >= f2 ? f1 : f2) ; }
+// end of [atspre_g0float_max_ldouble]
+
+/* ****** ****** */
+//
+//
+ATSinline()
+atstype_float
+atspre_add_int_float
+  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) + f2) ; }
+// end of [atspre_add_int_float]
+ATSinline()
+atstype_float
+atspre_sub_int_float
+  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) - f2) ; }
+// end of [atspre_sub_int_float]
+ATSinline()
+atstype_float
+atspre_mul_int_float
+  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) * f2) ; }
+// end of [atspre_mul_int_float]
+ATSinline()
+atstype_float
+atspre_div_int_float
+  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) / f2) ; }
+// end of [atspre_div_int_float]
+//
+ATSinline()
+atstype_double
+atspre_add_int_double
+  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) + f2) ; }
+// end of [atspre_add_int_double]
+ATSinline()
+atstype_double
+atspre_sub_int_double
+  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) - f2) ; }
+// end of [atspre_sub_int_double]
+ATSinline()
+atstype_double
+atspre_mul_int_double
+  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) * f2) ; }
+// end of [atspre_mul_int_double]
+ATSinline()
+atstype_double
+atspre_div_int_double
+  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) / f2) ; }
+// end of [atspre_div_int_double]
+//
+ATSinline()
+atstype_ldouble
+atspre_add_int_ldouble
+  (atstype_int i1, atstype_ldouble f2) { return (((atstype_ldouble)i1) + f2) ; }
+// end of [atspre_add_int_ldouble]
+ATSinline()
+atstype_ldouble
+atspre_sub_int_ldouble
+  (atstype_int i1, atstype_ldouble f2) { return (((atstype_ldouble)i1) - f2) ; }
+// end of [atspre_sub_int_ldouble]
+ATSinline()
+atstype_ldouble
+atspre_mul_int_ldouble
+  (atstype_int i1, atstype_ldouble f2) { return (((atstype_ldouble)i1) * f2) ; }
+// end of [atspre_mul_int_ldouble]
+ATSinline()
+atstype_ldouble
+atspre_div_int_ldouble
+  (atstype_int i1, atstype_ldouble f2) { return (((atstype_ldouble)i1) / f2) ; }
+// end of [atspre_div_int_ldouble]
+//
+/* ****** ****** */
+//
+//
+ATSinline()
+atstype_float
+atspre_add_float_int
+  (atstype_float f1, atstype_int i2) { return (f1 + ((atstype_float)i2)) ; }
+// end of [atspre_add_float_int]
+ATSinline()
+atstype_float
+atspre_sub_float_int
+  (atstype_float f1, atstype_int i2) { return (f1 - ((atstype_float)i2)) ; }
+// end of [atspre_sub_float_int]
+ATSinline()
+atstype_float
+atspre_mul_float_int
+  (atstype_float f1, atstype_int i2) { return (f1 * ((atstype_float)i2)) ; }
+// end of [atspre_mul_float_int]
+ATSinline()
+atstype_float
+atspre_div_float_int
+  (atstype_float f1, atstype_int i2) { return (f1 / ((atstype_float)i2)) ; }
+// end of [atspre_div_float_int]
+//
+ATSinline()
+atstype_double
+atspre_add_double_int
+  (atstype_double f1, atstype_int i2) { return (f1 + ((atstype_double)i2)) ; }
+// end of [atspre_add_double_int]
+ATSinline()
+atstype_double
+atspre_sub_double_int
+  (atstype_double f1, atstype_int i2) { return (f1 - ((atstype_double)i2)) ; }
+// end of [atspre_sub_double_int]
+ATSinline()
+atstype_double
+atspre_mul_double_int
+  (atstype_double f1, atstype_int i2) { return (f1 * ((atstype_double)i2)) ; }
+// end of [atspre_mul_double_int]
+ATSinline()
+atstype_double
+atspre_div_double_int
+  (atstype_double f1, atstype_int i2) { return (f1 / ((atstype_double)i2)) ; }
+// end of [atspre_div_double_int]
+//
+ATSinline()
+atstype_ldouble
+atspre_add_ldouble_int
+  (atstype_ldouble f1, atstype_int i2) { return (f1 + ((atstype_ldouble)i2)) ; }
+// end of [atspre_add_ldouble_int]
+ATSinline()
+atstype_ldouble
+atspre_sub_ldouble_int
+  (atstype_ldouble f1, atstype_int i2) { return (f1 - ((atstype_ldouble)i2)) ; }
+// end of [atspre_sub_ldouble_int]
+ATSinline()
+atstype_ldouble
+atspre_mul_ldouble_int
+  (atstype_ldouble f1, atstype_int i2) { return (f1 * ((atstype_ldouble)i2)) ; }
+// end of [atspre_mul_ldouble_int]
+ATSinline()
+atstype_ldouble
+atspre_div_ldouble_int
+  (atstype_ldouble f1, atstype_int i2) { return (f1 / ((atstype_ldouble)i2)) ; }
+// end of [atspre_div_ldouble_int]
+//
+/* ****** ****** */
+//
+//
+ATSinline()
+atstype_bool
+atspre_lt_int_float
+  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) < f2) ; }
+// end of [atspre_lt_int_float]
+ATSinline()
+atstype_bool
+atspre_lte_int_float
+  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) <= f2) ; }
+// end of [atspre_lte_int_float]
+ATSinline()
+atstype_bool
+atspre_gt_int_float
+  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) > f2) ; }
+// end of [atspre_gt_int_float]
+ATSinline()
+atstype_bool
+atspre_gte_int_float
+  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) >= f2) ; }
+// end of [atspre_gte_int_float]
+ATSinline()
+atstype_bool
+atspre_eq_int_float
+  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) == f2) ; }
+// end of [atspre_eq_int_float]
+ATSinline()
+atstype_bool
+atspre_neq_int_float
+  (atstype_int i1, atstype_float f2) { return (((atstype_float)i1) != f2) ; }
+// end of [atspre_neq_int_float]
+//
+ATSinline()
+atstype_bool
+atspre_lt_int_double
+  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) < f2) ; }
+// end of [atspre_lt_int_double]
+ATSinline()
+atstype_bool
+atspre_lte_int_double
+  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) <= f2) ; }
+// end of [atspre_lte_int_double]
+ATSinline()
+atstype_bool
+atspre_gt_int_double
+  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) > f2) ; }
+// end of [atspre_gt_int_double]
+ATSinline()
+atstype_bool
+atspre_gte_int_double
+  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) >= f2) ; }
+// end of [atspre_gte_int_double]
+ATSinline()
+atstype_bool
+atspre_eq_int_double
+  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) == f2) ; }
+// end of [atspre_eq_int_double]
+ATSinline()
+atstype_bool
+atspre_neq_int_double
+  (atstype_int i1, atstype_double f2) { return (((atstype_double)i1) != f2) ; }
+// end of [atspre_neq_int_double]
+//
+/* ****** ****** */
+//
+//
+ATSinline()
+atstype_bool
+atspre_lt_float_int
+  (atstype_float f1, atstype_int i2) { return (f1 < ((atstype_float)i2)) ; }
+// end of [atspre_lt_float_int]
+ATSinline()
+atstype_bool
+atspre_lte_float_int
+  (atstype_float f1, atstype_int i2) { return (f1 <= ((atstype_float)i2)) ; }
+// end of [atspre_lte_float_int]
+ATSinline()
+atstype_bool
+atspre_gt_float_int
+  (atstype_float f1, atstype_int i2) { return (f1 > ((atstype_float)i2)) ; }
+// end of [atspre_gt_float_int]
+ATSinline()
+atstype_bool
+atspre_gte_float_int
+  (atstype_float f1, atstype_int i2) { return (f1 >= ((atstype_float)i2)) ; }
+// end of [atspre_gte_float_int]
+ATSinline()
+atstype_bool
+atspre_eq_float_int
+  (atstype_float f1, atstype_int i2) { return (f1 == ((atstype_float)i2)) ; }
+// end of [atspre_eq_float_int]
+ATSinline()
+atstype_bool
+atspre_neq_float_int
+  (atstype_float f1, atstype_int i2) { return (f1 != ((atstype_float)i2)) ; }
+// end of [atspre_neq_float_int]
+//
+ATSinline()
+atstype_bool
+atspre_lt_double_int
+  (atstype_double f1, atstype_int i2) { return (f1 < ((atstype_double)i2)) ; }
+// end of [atspre_lt_double_int]
+ATSinline()
+atstype_bool
+atspre_lte_double_int
+  (atstype_double f1, atstype_int i2) { return (f1 <= ((atstype_double)i2)) ; }
+// end of [atspre_lte_double_int]
+ATSinline()
+atstype_bool
+atspre_gt_double_int
+  (atstype_double f1, atstype_int i2) { return (f1 > ((atstype_double)i2)) ; }
+// end of [atspre_gt_double_int]
+ATSinline()
+atstype_bool
+atspre_gte_double_int
+  (atstype_double f1, atstype_int i2) { return (f1 >= ((atstype_double)i2)) ; }
+// end of [atspre_gte_double_int]
+ATSinline()
+atstype_bool
+atspre_eq_double_int
+  (atstype_double f1, atstype_int i2) { return (f1 == ((atstype_double)i2)) ; }
+// end of [atspre_eq_double_int]
+ATSinline()
+atstype_bool
+atspre_neq_double_int
+  (atstype_double f1, atstype_int i2) { return (f1 != ((atstype_double)i2)) ; }
+// end of [atspre_neq_double_int]
+//
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_FLOAT
+
+/* ****** ****** */
+
+/* end of [float.cats] */
+
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/fprintf.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/fprintf.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/fprintf.cats
@@ -0,0 +1,580 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/fprintf.atxt
+** Time of generation: Mon Jun  4 01:42:54 2018
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: September, 2015 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_FPRINTF
+#define ATSLIB_PRELUDE_CATS_FPRINTF
+
+/* ****** ****** */
+//
+// HX-2013-09: declared in [stdio.h]
+//
+#ifndef fprintf
+extern
+int fprintf (FILE *stream, const char *format, ...) ;
+#endif // end of [ifndef]
+//
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_bool (
+  atstype_ref out, atstype_bool x
+) {
+  int err = 0 ;
+  err += fprintf((FILE*)out, "%s", atspre_bool2string(x)) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_bool] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end [atspre_fprint_bool]
+#define atspre_print_bool(x) atspre_fprint_bool(stdout, (x))
+#define atspre_prerr_bool(x) atspre_fprint_bool(stderr, (x))
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_char
+(
+  atstype_ref out, atstype_char c
+) {
+  int err = 0 ;
+  err += fprintf ((FILE*)out, "%c", c) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_char] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end of [atspre_fprint_char]
+#define atspre_print_char(c) atspre_fprint_char(stdout, (c))
+#define atspre_prerr_char(c) atspre_fprint_char(stderr, (c))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_uchar
+(
+  atstype_ref out, atstype_uchar c
+) {
+  atspre_fprint_char (out, (atstype_char)c) ; return ;
+} // end of [atspre_fprint_uchar]
+#define atspre_print_uchar(c) atspre_fprint_uchar(stdout, (c))
+#define atspre_prerr_uchar(c) atspre_fprint_uchar(stderr, (c))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_schar
+(
+  atstype_ref out, atstype_schar c
+) {
+  atspre_fprint_char (out, (atstype_char)c) ; return ;
+} // end of [atspre_fprint_schar]
+#define atspre_print_schar(c) atspre_fprint_schar(stdout, (c))
+#define atspre_prerr_schar(c) atspre_fprint_schar(stderr, (c))
+
+/* ****** ****** */
+  
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_int
+(
+  atstype_ref out, atstype_int x
+) {
+  int err = 0 ;
+  err += fprintf((FILE*)out, "%i", x) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_int] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end [atspre_fprint_int]
+#define atspre_print_int(x) atspre_fprint_int(stdout, (x))
+#define atspre_prerr_int(x) atspre_fprint_int(stderr, (x))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_lint
+(
+  atstype_ref out, atstype_lint x
+) {
+  int err = 0 ;
+  err += fprintf((FILE*)out, "%li", x) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_lint] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end [atspre_fprint_lint]
+#define atspre_print_lint(x) atspre_fprint_lint(stdout, (x))
+#define atspre_prerr_lint(x) atspre_fprint_lint(stderr, (x))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_llint
+(
+  atstype_ref out, atstype_llint x
+) {
+  int err = 0 ;
+  err += fprintf((FILE*)out, "%lli", x) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_llint] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end [atspre_fprint_llint]
+#define atspre_print_llint(x) atspre_fprint_llint(stdout, (x))
+#define atspre_prerr_llint(x) atspre_fprint_llint(stderr, (x))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_ssize
+(
+  atstype_ref out, atstype_ssize x
+) {
+  int err = 0 ;
+  err += fprintf((FILE*)out, "%li", x) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_ssize] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end [atspre_fprint_ssize]
+#define atspre_print_ssize(x) atspre_fprint_ssize(stdout, (x))
+#define atspre_prerr_ssize(x) atspre_fprint_ssize(stderr, (x))
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_uint
+(
+  atstype_ref out, atstype_uint x
+) {
+  int err = 0 ;
+  err += fprintf((FILE*)out, "%u", x) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_uint] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end [atspre_fprint_uint]
+#define atspre_print_uint(x) atspre_fprint_uint(stdout, (x))
+#define atspre_prerr_uint(x) atspre_fprint_uint(stderr, (x))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_ulint
+(
+  atstype_ref out, atstype_ulint x
+) {
+  int err = 0 ;
+  err += fprintf((FILE*)out, "%lu", x) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_ulint] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end [atspre_fprint_ulint]
+#define atspre_print_ulint(x) atspre_fprint_ulint(stdout, (x))
+#define atspre_prerr_ulint(x) atspre_fprint_ulint(stderr, (x))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_ullint
+(
+  atstype_ref out, atstype_ullint x
+) {
+  int err = 0 ;
+  err += fprintf((FILE*)out, "%llu", x) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_ullint] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end [atspre_fprint_ullint]
+#define atspre_print_ullint(x) atspre_fprint_ullint(stdout, (x))
+#define atspre_prerr_ullint(x) atspre_fprint_ullint(stderr, (x))
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_size
+(
+  atstype_ref out, atstype_size x
+) {
+  int err = 0 ;
+  atstype_ulint x2 = x ;
+  err += fprintf((FILE*)out, "%lu", x2) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_size] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end [atspre_fprint_size]
+#define atspre_print_size(x) atspre_fprint_size(stdout, (x))
+#define atspre_prerr_size(x) atspre_fprint_size(stderr, (x))
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_ptr (
+  atstype_ref out, atstype_ptr x
+) {
+  int err ;
+  err = fprintf((FILE*)out, "%p", x) ;
+  return ;
+} // end [atspre_fprint_ptr]
+#define atspre_print_ptr(x) atspre_fprint_ptr(stdout, (x))
+#define atspre_prerr_ptr(x) atspre_fprint_ptr(stderr, (x))
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_float (
+  atstype_ref r, atstype_float x
+) {
+  int err = 0 ;
+  err += fprintf((FILE*)r, "%f", x) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_float] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end [atspre_fprint_float]
+#define atspre_print_float(x) atspre_fprint_float(stdout, (x))
+#define atspre_prerr_float(x) atspre_fprint_float(stderr, (x))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_double (
+  atstype_ref r, atstype_double x
+) {
+  int err = 0 ;
+  err += fprintf((FILE*)r, "%f", x) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_double] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end [atspre_fprint_double]
+#define atspre_print_double(x) atspre_fprint_double(stdout, (x))
+#define atspre_prerr_double(x) atspre_fprint_double(stderr, (x))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_ldouble (
+  atstype_ref r, atstype_ldouble x
+) {
+  int err = 0 ;
+  err += fprintf((FILE*)r, "%Lf", x) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_ldouble] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end [atspre_fprint_ldouble]
+#define atspre_print_ldouble(x) atspre_fprint_ldouble(stdout, (x))
+#define atspre_prerr_ldouble(x) atspre_fprint_ldouble(stderr, (x))
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_intptr
+(
+  atstype_ref r, atstype_intptr x
+) {
+  int err ;
+  err = fprintf((FILE*)r, "%lli", (atstype_llint)x) ;
+  return ;
+} // end [atspre_fprint_intptr]
+#define atspre_print_intptr(x) atspre_fprint_intptr(stdout, (x))
+#define atspre_prerr_intptr(x) atspre_fprint_intptr(stderr, (x))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_uintptr
+(
+  atstype_ref r, atstype_uintptr x
+) {
+  int err ;
+  err = fprintf((FILE*)r, "%llu", (atstype_ullint)x) ;
+  return ;
+} // end [atspre_fprint_uintptr]
+#define atspre_print_uintptr(x) atspre_fprint_uintptr(stdout, (x))
+#define atspre_prerr_uintptr(x) atspre_fprint_uintptr(stderr, (x))
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_int8
+(
+  atstype_ref r, atstype_int8 x
+) {
+  int err ;
+  err = fprintf((FILE*)r, "%i", (atstype_int)x) ;
+  return ;
+} // end [atspre_fprint_int8]
+#define atspre_print_int8(x) atspre_fprint_int8(stdout, (x))
+#define atspre_prerr_int8(x) atspre_fprint_int8(stderr, (x))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_int16
+(
+  atstype_ref r, atstype_int16 x
+) {
+  int err ;
+  err = fprintf((FILE*)r, "%i", (atstype_int)x) ;
+  return ;
+} // end [atspre_fprint_int16]
+#define atspre_print_int16(x) atspre_fprint_int16(stdout, (x))
+#define atspre_prerr_int16(x) atspre_fprint_int16(stderr, (x))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_int32
+(
+  atstype_ref r, atstype_int32 x
+) {
+  int err ;
+  err = fprintf((FILE*)r, "%li", (atstype_lint)x) ;
+  return ;
+} // end [atspre_fprint_int32]
+#define atspre_print_int32(x) atspre_fprint_int32(stdout, (x))
+#define atspre_prerr_int32(x) atspre_fprint_int32(stderr, (x))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_int64
+(
+  atstype_ref r, atstype_int64 x
+) {
+  int err ;
+  err = fprintf((FILE*)r, "%lli", (atstype_llint)x) ;
+  return ;
+} // end [atspre_fprint_int64]
+#define atspre_print_int64(x) atspre_fprint_int64(stdout, (x))
+#define atspre_prerr_int64(x) atspre_fprint_int64(stderr, (x))
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_uint8
+(
+  atstype_ref r, atstype_uint8 x
+) {
+  int err ;
+  err = fprintf((FILE*)r, "%u", (atstype_uint)x) ;
+  return ;
+} // end [atspre_fprint_uint8]
+#define atspre_print_uint8(x) atspre_fprint_uint8(stdout, (x))
+#define atspre_prerr_uint8(x) atspre_fprint_uint8(stderr, (x))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_uint16
+(
+  atstype_ref r, atstype_uint16 x
+) {
+  int err ;
+  err = fprintf((FILE*)r, "%u", (atstype_uint)x) ;
+  return ;
+} // end [atspre_fprint_uint16]
+#define atspre_print_uint16(x) atspre_fprint_uint16(stdout, (x))
+#define atspre_prerr_uint16(x) atspre_fprint_uint16(stderr, (x))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_uint32
+(
+  atstype_ref r, atstype_uint32 x
+) {
+  int err ;
+  err = fprintf((FILE*)r, "%lu", (atstype_ulint)x) ;
+  return ;
+} // end [atspre_fprint_uint32]
+#define atspre_print_uint32(x) atspre_fprint_uint32(stdout, (x))
+#define atspre_prerr_uint32(x) atspre_fprint_uint32(stderr, (x))
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_uint64
+(
+  atstype_ref r, atstype_uint64 x
+) {
+  int err ;
+  err = fprintf((FILE*)r, "%llu", (atstype_ullint)x) ;
+  return ;
+} // end [atspre_fprint_uint64]
+#define atspre_print_uint64(x) atspre_fprint_uint64(stdout, (x))
+#define atspre_prerr_uint64(x) atspre_fprint_uint64(stderr, (x))
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_string
+(
+  atstype_ref out, atstype_string x
+) {
+  int err = 0 ;
+  err += fprintf((FILE*)out, "%s", (char*)x) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_string] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end of [atspre_fprint_string]
+#define atspre_print_string(x) atspre_fprint_string(stdout, (x))
+#define atspre_prerr_string(x) atspre_fprint_string(stderr, (x))
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_substring
+(
+  atstype_ref out
+, atstype_string x
+, atstype_size st, atstype_size ln  
+) {
+  int err = 0 ;
+  err += fwrite(((char*)x)+st, 1, ln, out) ;
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_substring] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end of [atspre_fprint_substring]
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_stropt
+(
+  atstype_ref out, atstype_stropt x
+) {
+  int err = 0 ;
+  if (!x)
+  {
+    err += fprintf((FILE*)out, "strnone()") ;
+  } else {
+    err += fprintf((FILE*)out, "strsome(%s)", (char*)x) ;
+  }
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_stropt] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end of [atspre_fprint_stropt]
+#define atspre_print_stropt(x) atspre_fprint_stropt(stdout, (x))
+#define atspre_prerr_stropt(x) atspre_fprint_stropt(stderr, (x))
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_fprint_strptr
+(
+  atstype_ref out, atstype_strptr x
+) {
+  int err = 0 ;
+  if (x != 0) {
+    err += fprintf((FILE*)out, "%s", (char*)x) ;
+  } else {
+    err += fprintf((FILE*)out, "%s", "(strnull)") ;
+  } // end of [if]
+/*
+  if (err < 0) {
+    fprintf(stderr, "exit(ATS): [fprint_strptr] failed.") ; exit(1) ;
+  } // end of [if]
+*/
+  return ;
+} // end of [atspre_fprint_strptr]
+#define atspre_print_strptr(x) atspre_fprint_strptr(stdout, (x))
+#define atspre_prerr_strptr(x) atspre_fprint_strptr(stderr, (x))
+
+/* ****** ****** */
+
+#define atspre_fprint_strbuf atspre_fprint_strptr
+#define atspre_print_strbuf(x) atspre_fprint_strbuf(stdout, (x))
+#define atspre_prerr_strbuf(x) atspre_fprint_strbuf(stderr, (x))
+
+/* ****** ****** */
+
+#define atspre_fprint_strnptr atspre_fprint_strptr
+#define atspre_print_strnptr(x) atspre_fprint_strbuf(stdout, (x))
+#define atspre_prerr_strnptr(x) atspre_fprint_strbuf(stderr, (x))
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_FPRINTF
+
+/* ****** ****** */
+
+/* end of [fprintf.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer.cats
@@ -0,0 +1,1275 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/integer.atxt
+** Time of generation: Mon Jun  4 01:42:52 2018
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_INTEGER
+#define ATSLIB_PRELUDE_CATS_INTEGER
+
+/* ****** ****** */
+//
+#define \
+atspre_g0int2int_int_int(x) ((atstype_int)(x))
+#define \
+atspre_g1int2int_int_int(x) atspre_g0int2int_int_int(x)
+//
+/* ****** ****** */
+//
+#define \
+atspre_g0int2uint_int_uint(x) ((atstype_uint)(x))
+#define \
+atspre_g1int2uint_int_uint(x) atspre_g0int2uint_int_uint(x)
+//
+/* ****** ****** */
+//
+#define atspre_g0uint2int_uint_int(x) ((atstype_int)(x))
+//
+/* ****** ****** */
+//
+#define \
+atspre_g0uint2uint_uint_uint(x) (x)
+#define \
+atspre_g1uint2uint_uint_uint(x) atspre_g0uint2uint_uint_uint(x)
+//
+/* ****** ****** */
+//
+#define atspre_g0uint2uint_ulint_uint(x) ((atstype_uint)(x))
+#define atspre_g0uint2uint_ulint_ulint(x) (x)
+#define atspre_g0uint2uint_ulint_ullint(x) ((atstype_ullint)(x))
+#define atspre_g1uint2uint_ulint_uint atspre_g0uint2uint_ulint_uint
+#define atspre_g1uint2uint_ulint_ulint atspre_g0uint2uint_ulint_ulint
+#define atspre_g1uint2uint_ulint_ullint atspre_g0uint2uint_ulint_ullint
+//
+/* ****** ****** */
+//
+#define atspre_g0uint2uint_usint_uint(x) ((atstype_uint)(x))
+//
+/* ****** ****** */
+//
+extern int atoi (const char *inp) ;
+extern long int atol (const char *inp) ;
+extern long long int atoll (const char *inp) ;
+//
+ATSinline()
+atstype_int
+atspre_g0string2int_int
+  (atstype_string inp) { return atoi((char*)inp) ; }
+ATSinline()
+atstype_lint
+atspre_g0string2int_lint
+  (atstype_string inp) { return atol((char*)inp) ; }
+ATSinline()
+atstype_llint
+atspre_g0string2int_llint
+  (atstype_string inp) { return atoll((char*)inp) ; }
+//
+/* ****** ****** */
+//
+extern
+unsigned long int
+strtoul(const char *nptr, char **endptr, int base);
+extern
+unsigned long long int
+strtoull(const char *nptr, char **endptr, int base);
+//
+ATSinline()
+atstype_uint
+atspre_g0string2uint_uint
+  (atstype_string inp) { return strtoul((char*)inp, NULL, 10) ; }
+ATSinline()
+atstype_ulint
+atspre_g0string2uint_ulint
+  (atstype_string inp) { return strtoul((char*)inp, NULL, 10) ; }
+ATSinline()
+atstype_ullint
+atspre_g0string2uint_ullint
+  (atstype_string inp) { return strtoull((char*)inp, NULL, 10) ; }
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_int
+atspre_g0int_neg_int
+  (atstype_int x) { return (-x) ; }
+// end of [atspre_g0int_neg_int]
+ATSinline()
+atstype_int
+atspre_g0int_abs_int
+  (atstype_int x) { return (x >= 0 ? x : -x) ; }
+// end of [atspre_g0int_abs_int]
+ATSinline()
+atstype_int
+atspre_g0int_succ_int
+  (atstype_int x) { return (x + 1) ; }
+// end of [atspre_g0int_succ_int]
+ATSinline()
+atstype_int
+atspre_g0int_pred_int
+  (atstype_int x) { return (x - 1) ; }
+// end of [atspre_g0int_pred_int]
+ATSinline()
+atstype_int
+atspre_g0int_half_int
+  (atstype_int x) { return (x / 2) ; }
+// end of [atspre_g0int_half_int]
+ATSinline()
+atstype_int
+atspre_g0int_add_int
+  (atstype_int x1, atstype_int x2) { return (x1 + x2) ; }
+// end of [atspre_g0int_add_int]
+ATSinline()
+atstype_int
+atspre_g0int_sub_int
+  (atstype_int x1, atstype_int x2) { return (x1 - x2) ; }
+// end of [atspre_g0int_sub_int]
+ATSinline()
+atstype_int
+atspre_g0int_mul_int
+  (atstype_int x1, atstype_int x2) { return (x1 * x2) ; }
+// end of [atspre_g0int_mul_int]
+ATSinline()
+atstype_int
+atspre_g0int_div_int
+  (atstype_int x1, atstype_int x2) { return (x1 / x2) ; }
+// end of [atspre_g0int_div_int]
+ATSinline()
+atstype_int
+atspre_g0int_mod_int
+  (atstype_int x1, atstype_int x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_mod_int]
+ATSinline()
+atstype_int
+atspre_g0int_nmod_int
+  (atstype_int x1, atstype_int x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_nmod_int]
+ATSinline()
+atstype_int
+atspre_g0int_asl_int
+  (atstype_int x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0int_asl_int]
+ATSinline()
+atstype_int
+atspre_g0int_asr_int
+  (atstype_int x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0int_asr_int]
+ATSinline()
+atstype_bool
+atspre_g0int_lt_int
+(
+  atstype_int x1, atstype_int x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lt_int]
+ATSinline()
+atstype_bool
+atspre_g0int_lte_int
+(
+  atstype_int x1, atstype_int x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lte_int]
+ATSinline()
+atstype_bool
+atspre_g0int_gt_int
+(
+  atstype_int x1, atstype_int x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gt_int]
+ATSinline()
+atstype_bool
+atspre_g0int_gte_int
+(
+  atstype_int x1, atstype_int x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gte_int]
+ATSinline()
+atstype_bool
+atspre_g0int_eq_int
+(
+  atstype_int x1, atstype_int x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_eq_int]
+ATSinline()
+atstype_bool
+atspre_g0int_neq_int
+(
+  atstype_int x1, atstype_int x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_neq_int]
+ATSinline()
+atstype_int
+atspre_g0int_compare_int
+(
+  atstype_int x1, atstype_int x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0int_compare_int]
+ATSinline()
+atstype_int
+atspre_g0int_max_int
+  (atstype_int x1, atstype_int x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_max_int]
+ATSinline()
+atstype_int
+atspre_g0int_min_int
+  (atstype_int x1, atstype_int x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_min_int]
+ATSinline()
+atstype_bool
+atspre_g0int_isltz_int (atstype_int x)
+{
+  return (x < 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltz_int]
+ATSinline()
+atstype_bool
+atspre_g0int_isltez_int (atstype_int x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltez_int]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtz_int (atstype_int x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtz_int]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtez_int (atstype_int x)
+{
+  return (x >= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtez_int]
+ATSinline()
+atstype_bool
+atspre_g0int_iseqz_int (atstype_int x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_iseqz_int]
+ATSinline()
+atstype_bool
+atspre_g0int_isneqz_int (atstype_int x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isneqz_int]
+//
+ATSinline()
+atstype_lint
+atspre_g0int_neg_lint
+  (atstype_lint x) { return (-x) ; }
+// end of [atspre_g0int_neg_lint]
+ATSinline()
+atstype_lint
+atspre_g0int_abs_lint
+  (atstype_lint x) { return (x >= 0 ? x : -x) ; }
+// end of [atspre_g0int_abs_lint]
+ATSinline()
+atstype_lint
+atspre_g0int_succ_lint
+  (atstype_lint x) { return (x + 1) ; }
+// end of [atspre_g0int_succ_lint]
+ATSinline()
+atstype_lint
+atspre_g0int_pred_lint
+  (atstype_lint x) { return (x - 1) ; }
+// end of [atspre_g0int_pred_lint]
+ATSinline()
+atstype_lint
+atspre_g0int_half_lint
+  (atstype_lint x) { return (x / 2) ; }
+// end of [atspre_g0int_half_lint]
+ATSinline()
+atstype_lint
+atspre_g0int_add_lint
+  (atstype_lint x1, atstype_lint x2) { return (x1 + x2) ; }
+// end of [atspre_g0int_add_lint]
+ATSinline()
+atstype_lint
+atspre_g0int_sub_lint
+  (atstype_lint x1, atstype_lint x2) { return (x1 - x2) ; }
+// end of [atspre_g0int_sub_lint]
+ATSinline()
+atstype_lint
+atspre_g0int_mul_lint
+  (atstype_lint x1, atstype_lint x2) { return (x1 * x2) ; }
+// end of [atspre_g0int_mul_lint]
+ATSinline()
+atstype_lint
+atspre_g0int_div_lint
+  (atstype_lint x1, atstype_lint x2) { return (x1 / x2) ; }
+// end of [atspre_g0int_div_lint]
+ATSinline()
+atstype_lint
+atspre_g0int_mod_lint
+  (atstype_lint x1, atstype_lint x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_mod_lint]
+ATSinline()
+atstype_lint
+atspre_g0int_nmod_lint
+  (atstype_lint x1, atstype_lint x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_nmod_lint]
+ATSinline()
+atstype_lint
+atspre_g0int_asl_lint
+  (atstype_lint x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0int_asl_lint]
+ATSinline()
+atstype_lint
+atspre_g0int_asr_lint
+  (atstype_lint x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0int_asr_lint]
+ATSinline()
+atstype_bool
+atspre_g0int_lt_lint
+(
+  atstype_lint x1, atstype_lint x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lt_lint]
+ATSinline()
+atstype_bool
+atspre_g0int_lte_lint
+(
+  atstype_lint x1, atstype_lint x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lte_lint]
+ATSinline()
+atstype_bool
+atspre_g0int_gt_lint
+(
+  atstype_lint x1, atstype_lint x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gt_lint]
+ATSinline()
+atstype_bool
+atspre_g0int_gte_lint
+(
+  atstype_lint x1, atstype_lint x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gte_lint]
+ATSinline()
+atstype_bool
+atspre_g0int_eq_lint
+(
+  atstype_lint x1, atstype_lint x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_eq_lint]
+ATSinline()
+atstype_bool
+atspre_g0int_neq_lint
+(
+  atstype_lint x1, atstype_lint x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_neq_lint]
+ATSinline()
+atstype_int
+atspre_g0int_compare_lint
+(
+  atstype_lint x1, atstype_lint x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0int_compare_lint]
+ATSinline()
+atstype_lint
+atspre_g0int_max_lint
+  (atstype_lint x1, atstype_lint x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_max_lint]
+ATSinline()
+atstype_lint
+atspre_g0int_min_lint
+  (atstype_lint x1, atstype_lint x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_min_lint]
+ATSinline()
+atstype_bool
+atspre_g0int_isltz_lint (atstype_lint x)
+{
+  return (x < 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltz_lint]
+ATSinline()
+atstype_bool
+atspre_g0int_isltez_lint (atstype_lint x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltez_lint]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtz_lint (atstype_lint x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtz_lint]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtez_lint (atstype_lint x)
+{
+  return (x >= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtez_lint]
+ATSinline()
+atstype_bool
+atspre_g0int_iseqz_lint (atstype_lint x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_iseqz_lint]
+ATSinline()
+atstype_bool
+atspre_g0int_isneqz_lint (atstype_lint x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isneqz_lint]
+//
+ATSinline()
+atstype_llint
+atspre_g0int_neg_llint
+  (atstype_llint x) { return (-x) ; }
+// end of [atspre_g0int_neg_llint]
+ATSinline()
+atstype_llint
+atspre_g0int_abs_llint
+  (atstype_llint x) { return (x >= 0 ? x : -x) ; }
+// end of [atspre_g0int_abs_llint]
+ATSinline()
+atstype_llint
+atspre_g0int_succ_llint
+  (atstype_llint x) { return (x + 1) ; }
+// end of [atspre_g0int_succ_llint]
+ATSinline()
+atstype_llint
+atspre_g0int_pred_llint
+  (atstype_llint x) { return (x - 1) ; }
+// end of [atspre_g0int_pred_llint]
+ATSinline()
+atstype_llint
+atspre_g0int_half_llint
+  (atstype_llint x) { return (x / 2) ; }
+// end of [atspre_g0int_half_llint]
+ATSinline()
+atstype_llint
+atspre_g0int_add_llint
+  (atstype_llint x1, atstype_llint x2) { return (x1 + x2) ; }
+// end of [atspre_g0int_add_llint]
+ATSinline()
+atstype_llint
+atspre_g0int_sub_llint
+  (atstype_llint x1, atstype_llint x2) { return (x1 - x2) ; }
+// end of [atspre_g0int_sub_llint]
+ATSinline()
+atstype_llint
+atspre_g0int_mul_llint
+  (atstype_llint x1, atstype_llint x2) { return (x1 * x2) ; }
+// end of [atspre_g0int_mul_llint]
+ATSinline()
+atstype_llint
+atspre_g0int_div_llint
+  (atstype_llint x1, atstype_llint x2) { return (x1 / x2) ; }
+// end of [atspre_g0int_div_llint]
+ATSinline()
+atstype_llint
+atspre_g0int_mod_llint
+  (atstype_llint x1, atstype_llint x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_mod_llint]
+ATSinline()
+atstype_llint
+atspre_g0int_nmod_llint
+  (atstype_llint x1, atstype_llint x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_nmod_llint]
+ATSinline()
+atstype_llint
+atspre_g0int_asl_llint
+  (atstype_llint x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0int_asl_llint]
+ATSinline()
+atstype_llint
+atspre_g0int_asr_llint
+  (atstype_llint x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0int_asr_llint]
+ATSinline()
+atstype_bool
+atspre_g0int_lt_llint
+(
+  atstype_llint x1, atstype_llint x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lt_llint]
+ATSinline()
+atstype_bool
+atspre_g0int_lte_llint
+(
+  atstype_llint x1, atstype_llint x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lte_llint]
+ATSinline()
+atstype_bool
+atspre_g0int_gt_llint
+(
+  atstype_llint x1, atstype_llint x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gt_llint]
+ATSinline()
+atstype_bool
+atspre_g0int_gte_llint
+(
+  atstype_llint x1, atstype_llint x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gte_llint]
+ATSinline()
+atstype_bool
+atspre_g0int_eq_llint
+(
+  atstype_llint x1, atstype_llint x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_eq_llint]
+ATSinline()
+atstype_bool
+atspre_g0int_neq_llint
+(
+  atstype_llint x1, atstype_llint x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_neq_llint]
+ATSinline()
+atstype_int
+atspre_g0int_compare_llint
+(
+  atstype_llint x1, atstype_llint x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0int_compare_llint]
+ATSinline()
+atstype_llint
+atspre_g0int_max_llint
+  (atstype_llint x1, atstype_llint x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_max_llint]
+ATSinline()
+atstype_llint
+atspre_g0int_min_llint
+  (atstype_llint x1, atstype_llint x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_min_llint]
+ATSinline()
+atstype_bool
+atspre_g0int_isltz_llint (atstype_llint x)
+{
+  return (x < 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltz_llint]
+ATSinline()
+atstype_bool
+atspre_g0int_isltez_llint (atstype_llint x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltez_llint]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtz_llint (atstype_llint x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtz_llint]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtez_llint (atstype_llint x)
+{
+  return (x >= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtez_llint]
+ATSinline()
+atstype_bool
+atspre_g0int_iseqz_llint (atstype_llint x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_iseqz_llint]
+ATSinline()
+atstype_bool
+atspre_g0int_isneqz_llint (atstype_llint x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isneqz_llint]
+//
+/* ****** ****** */
+
+#define atspre_g1int_neg_int atspre_g0int_neg_int
+#define atspre_g1int_abs_int atspre_g0int_abs_int
+#define atspre_g1int_succ_int atspre_g0int_succ_int
+#define atspre_g1int_pred_int atspre_g0int_pred_int
+#define atspre_g1int_half_int atspre_g0int_half_int
+#define atspre_g1int_add_int atspre_g0int_add_int
+#define atspre_g1int_sub_int atspre_g0int_sub_int
+#define atspre_g1int_mul_int atspre_g0int_mul_int
+#define atspre_g1int_div_int atspre_g0int_div_int
+#define atspre_g1int_nmod_int atspre_g0int_nmod_int
+#define atspre_g1int_isltz_int atspre_g0int_isltz_int
+#define atspre_g1int_isltez_int atspre_g0int_isltez_int
+#define atspre_g1int_isgtz_int atspre_g0int_isgtz_int
+#define atspre_g1int_isgtez_int atspre_g0int_isgtez_int
+#define atspre_g1int_iseqz_int atspre_g0int_iseqz_int
+#define atspre_g1int_isneqz_int atspre_g0int_isneqz_int
+#define atspre_g1int_lt_int atspre_g0int_lt_int
+#define atspre_g1int_lte_int atspre_g0int_lte_int
+#define atspre_g1int_gt_int atspre_g0int_gt_int
+#define atspre_g1int_gte_int atspre_g0int_gte_int
+#define atspre_g1int_eq_int atspre_g0int_eq_int
+#define atspre_g1int_neq_int atspre_g0int_neq_int
+#define atspre_g1int_compare_int atspre_g0int_compare_int
+#define atspre_g1int_max_int atspre_g0int_max_int
+#define atspre_g1int_min_int atspre_g0int_min_int
+
+/* ****** ****** */
+
+#define atspre_g1int_neg_lint atspre_g0int_neg_lint
+#define atspre_g1int_succ_lint atspre_g0int_succ_lint
+#define atspre_g1int_pred_lint atspre_g0int_pred_lint
+#define atspre_g1int_half_lint atspre_g0int_half_lint
+#define atspre_g1int_add_lint atspre_g0int_add_lint
+#define atspre_g1int_sub_lint atspre_g0int_sub_lint
+#define atspre_g1int_mul_lint atspre_g0int_mul_lint
+#define atspre_g1int_div_lint atspre_g0int_div_lint
+#define atspre_g1int_nmod_lint atspre_g0int_nmod_lint
+#define atspre_g1int_isltz_lint atspre_g0int_isltz_lint
+#define atspre_g1int_isltez_lint atspre_g0int_isltez_lint
+#define atspre_g1int_isgtz_lint atspre_g0int_isgtz_lint
+#define atspre_g1int_isgtez_lint atspre_g0int_isgtez_lint
+#define atspre_g1int_iseqz_lint atspre_g0int_iseqz_lint
+#define atspre_g1int_isneqz_lint atspre_g0int_isneqz_lint
+#define atspre_g1int_lt_lint atspre_g0int_lt_lint
+#define atspre_g1int_lte_lint atspre_g0int_lte_lint
+#define atspre_g1int_gt_lint atspre_g0int_gt_lint
+#define atspre_g1int_gte_lint atspre_g0int_gte_lint
+#define atspre_g1int_eq_lint atspre_g0int_eq_lint
+#define atspre_g1int_neq_lint atspre_g0int_neq_lint
+#define atspre_g1int_compare_lint atspre_g0int_compare_lint
+#define atspre_g1int_max_lint atspre_g0int_max_lint
+#define atspre_g1int_min_lint atspre_g0int_min_lint
+
+/* ****** ****** */
+
+#define atspre_g1int_neg_llint atspre_g0int_neg_llint
+#define atspre_g1int_succ_llint atspre_g0int_succ_llint
+#define atspre_g1int_pred_llint atspre_g0int_pred_llint
+#define atspre_g1int_half_llint atspre_g0int_half_llint
+#define atspre_g1int_add_llint atspre_g0int_add_llint
+#define atspre_g1int_sub_llint atspre_g0int_sub_llint
+#define atspre_g1int_mul_llint atspre_g0int_mul_llint
+#define atspre_g1int_div_llint atspre_g0int_div_llint
+#define atspre_g1int_nmod_llint atspre_g0int_nmod_llint
+#define atspre_g1int_isltz_llint atspre_g0int_isltz_llint
+#define atspre_g1int_isltez_llint atspre_g0int_isltez_llint
+#define atspre_g1int_isgtz_llint atspre_g0int_isgtz_llint
+#define atspre_g1int_isgtez_llint atspre_g0int_isgtez_llint
+#define atspre_g1int_iseqz_llint atspre_g0int_iseqz_llint
+#define atspre_g1int_isneqz_llint atspre_g0int_isneqz_llint
+#define atspre_g1int_lt_llint atspre_g0int_lt_llint
+#define atspre_g1int_lte_llint atspre_g0int_lte_llint
+#define atspre_g1int_gt_llint atspre_g0int_gt_llint
+#define atspre_g1int_gte_llint atspre_g0int_gte_llint
+#define atspre_g1int_eq_llint atspre_g0int_eq_llint
+#define atspre_g1int_neq_llint atspre_g0int_neq_llint
+#define atspre_g1int_compare_llint atspre_g0int_compare_llint
+#define atspre_g1int_max_llint atspre_g0int_max_llint
+#define atspre_g1int_min_llint atspre_g0int_min_llint
+
+/* ****** ****** */
+//
+ATSinline()
+atstype_uint
+atspre_g0uint_succ_uint
+  (atstype_uint x) { return (x + 1) ; }
+// end of [atspre_g0uint_succ_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_pred_uint
+  (atstype_uint x) { return (x - 1) ; }
+// end of [atspre_g0uint_pred_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_half_uint
+  (atstype_uint x) { return (x >> 1) ; }
+// end of [atspre_g0uint_half_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_add_uint
+  (atstype_uint x1, atstype_uint x2) { return (x1 + x2) ; }
+// end of [atspre_g0uint_add_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_sub_uint
+  (atstype_uint x1, atstype_uint x2) { return (x1 - x2) ; }
+// end of [atspre_g0uint_sub_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_mul_uint
+  (atstype_uint x1, atstype_uint x2) { return (x1 * x2) ; }
+// end of [atspre_g0uint_mul_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_div_uint
+  (atstype_uint x1, atstype_uint x2) { return (x1 / x2) ; }
+// end of [atspre_g0uint_div_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_mod_uint
+  (atstype_uint x1, atstype_uint x2) { return (x1 % x2) ; }
+// end of [atspre_g0uint_mod_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_lsl_uint
+  (atstype_uint x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0uint_lsl_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_lsr_uint
+  (atstype_uint x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0uint_lsr_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_lnot_uint
+  (atstype_uint x) { return ~(x) ; }
+// end of [atspre_g0uint_lnot_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_lor_uint
+  (atstype_uint x, atstype_uint y) { return (x | y) ; }
+// end of [atspre_g0uint_uint_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_land_uint
+  (atstype_uint x, atstype_uint y) { return (x & y) ; }
+// end of [atspre_g0uint_uint_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_lxor_uint
+  (atstype_uint x, atstype_uint y) { return (x ^ y) ; }
+// end of [atspre_g0uint_uint_uint]
+ATSinline()
+atstype_bool
+atspre_g0uint_lt_uint
+(
+  atstype_uint x1, atstype_uint x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lt_uint]
+ATSinline()
+atstype_bool
+atspre_g0uint_lte_uint
+(
+  atstype_uint x1, atstype_uint x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lte_uint]
+ATSinline()
+atstype_bool
+atspre_g0uint_gt_uint
+(
+  atstype_uint x1, atstype_uint x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gt_uint]
+ATSinline()
+atstype_bool
+atspre_g0uint_gte_uint
+(
+  atstype_uint x1, atstype_uint x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gte_uint]
+ATSinline()
+atstype_bool
+atspre_g0uint_eq_uint
+(
+  atstype_uint x1, atstype_uint x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_eq_uint]
+ATSinline()
+atstype_bool
+atspre_g0uint_neq_uint
+(
+  atstype_uint x1, atstype_uint x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_neq_uint]
+ATSinline()
+atstype_int
+atspre_g0uint_compare_uint
+(
+  atstype_uint x1, atstype_uint x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0uint_compare_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_max_uint
+  (atstype_uint x1, atstype_uint x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_max_uint]
+ATSinline()
+atstype_uint
+atspre_g0uint_min_uint
+  (atstype_uint x1, atstype_uint x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_min_uint]
+ATSinline()
+atstype_bool
+atspre_g0uint_isltez_uint (atstype_uint x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isltez_uint]
+ATSinline()
+atstype_bool
+atspre_g0uint_isgtz_uint (atstype_uint x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isgtz_uint]
+ATSinline()
+atstype_bool
+atspre_g0uint_iseqz_uint (atstype_uint x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_iseqz_uint]
+ATSinline()
+atstype_bool
+atspre_g0uint_isneqz_uint (atstype_uint x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isneqz_uint]
+//
+ATSinline()
+atstype_ulint
+atspre_g0uint_succ_ulint
+  (atstype_ulint x) { return (x + 1) ; }
+// end of [atspre_g0uint_succ_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_pred_ulint
+  (atstype_ulint x) { return (x - 1) ; }
+// end of [atspre_g0uint_pred_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_half_ulint
+  (atstype_ulint x) { return (x >> 1) ; }
+// end of [atspre_g0uint_half_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_add_ulint
+  (atstype_ulint x1, atstype_ulint x2) { return (x1 + x2) ; }
+// end of [atspre_g0uint_add_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_sub_ulint
+  (atstype_ulint x1, atstype_ulint x2) { return (x1 - x2) ; }
+// end of [atspre_g0uint_sub_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_mul_ulint
+  (atstype_ulint x1, atstype_ulint x2) { return (x1 * x2) ; }
+// end of [atspre_g0uint_mul_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_div_ulint
+  (atstype_ulint x1, atstype_ulint x2) { return (x1 / x2) ; }
+// end of [atspre_g0uint_div_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_mod_ulint
+  (atstype_ulint x1, atstype_ulint x2) { return (x1 % x2) ; }
+// end of [atspre_g0uint_mod_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_lsl_ulint
+  (atstype_ulint x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0uint_lsl_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_lsr_ulint
+  (atstype_ulint x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0uint_lsr_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_lnot_ulint
+  (atstype_ulint x) { return ~(x) ; }
+// end of [atspre_g0uint_lnot_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_lor_ulint
+  (atstype_ulint x, atstype_ulint y) { return (x | y) ; }
+// end of [atspre_g0uint_ulint_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_land_ulint
+  (atstype_ulint x, atstype_ulint y) { return (x & y) ; }
+// end of [atspre_g0uint_ulint_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_lxor_ulint
+  (atstype_ulint x, atstype_ulint y) { return (x ^ y) ; }
+// end of [atspre_g0uint_ulint_ulint]
+ATSinline()
+atstype_bool
+atspre_g0uint_lt_ulint
+(
+  atstype_ulint x1, atstype_ulint x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lt_ulint]
+ATSinline()
+atstype_bool
+atspre_g0uint_lte_ulint
+(
+  atstype_ulint x1, atstype_ulint x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lte_ulint]
+ATSinline()
+atstype_bool
+atspre_g0uint_gt_ulint
+(
+  atstype_ulint x1, atstype_ulint x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gt_ulint]
+ATSinline()
+atstype_bool
+atspre_g0uint_gte_ulint
+(
+  atstype_ulint x1, atstype_ulint x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gte_ulint]
+ATSinline()
+atstype_bool
+atspre_g0uint_eq_ulint
+(
+  atstype_ulint x1, atstype_ulint x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_eq_ulint]
+ATSinline()
+atstype_bool
+atspre_g0uint_neq_ulint
+(
+  atstype_ulint x1, atstype_ulint x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_neq_ulint]
+ATSinline()
+atstype_int
+atspre_g0uint_compare_ulint
+(
+  atstype_ulint x1, atstype_ulint x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0uint_compare_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_max_ulint
+  (atstype_ulint x1, atstype_ulint x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_max_ulint]
+ATSinline()
+atstype_ulint
+atspre_g0uint_min_ulint
+  (atstype_ulint x1, atstype_ulint x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_min_ulint]
+ATSinline()
+atstype_bool
+atspre_g0uint_isltez_ulint (atstype_ulint x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isltez_ulint]
+ATSinline()
+atstype_bool
+atspre_g0uint_isgtz_ulint (atstype_ulint x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isgtz_ulint]
+ATSinline()
+atstype_bool
+atspre_g0uint_iseqz_ulint (atstype_ulint x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_iseqz_ulint]
+ATSinline()
+atstype_bool
+atspre_g0uint_isneqz_ulint (atstype_ulint x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isneqz_ulint]
+//
+ATSinline()
+atstype_ullint
+atspre_g0uint_succ_ullint
+  (atstype_ullint x) { return (x + 1) ; }
+// end of [atspre_g0uint_succ_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_pred_ullint
+  (atstype_ullint x) { return (x - 1) ; }
+// end of [atspre_g0uint_pred_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_half_ullint
+  (atstype_ullint x) { return (x >> 1) ; }
+// end of [atspre_g0uint_half_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_add_ullint
+  (atstype_ullint x1, atstype_ullint x2) { return (x1 + x2) ; }
+// end of [atspre_g0uint_add_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_sub_ullint
+  (atstype_ullint x1, atstype_ullint x2) { return (x1 - x2) ; }
+// end of [atspre_g0uint_sub_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_mul_ullint
+  (atstype_ullint x1, atstype_ullint x2) { return (x1 * x2) ; }
+// end of [atspre_g0uint_mul_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_div_ullint
+  (atstype_ullint x1, atstype_ullint x2) { return (x1 / x2) ; }
+// end of [atspre_g0uint_div_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_mod_ullint
+  (atstype_ullint x1, atstype_ullint x2) { return (x1 % x2) ; }
+// end of [atspre_g0uint_mod_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_lsl_ullint
+  (atstype_ullint x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0uint_lsl_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_lsr_ullint
+  (atstype_ullint x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0uint_lsr_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_lnot_ullint
+  (atstype_ullint x) { return ~(x) ; }
+// end of [atspre_g0uint_lnot_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_lor_ullint
+  (atstype_ullint x, atstype_ullint y) { return (x | y) ; }
+// end of [atspre_g0uint_ullint_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_land_ullint
+  (atstype_ullint x, atstype_ullint y) { return (x & y) ; }
+// end of [atspre_g0uint_ullint_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_lxor_ullint
+  (atstype_ullint x, atstype_ullint y) { return (x ^ y) ; }
+// end of [atspre_g0uint_ullint_ullint]
+ATSinline()
+atstype_bool
+atspre_g0uint_lt_ullint
+(
+  atstype_ullint x1, atstype_ullint x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lt_ullint]
+ATSinline()
+atstype_bool
+atspre_g0uint_lte_ullint
+(
+  atstype_ullint x1, atstype_ullint x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lte_ullint]
+ATSinline()
+atstype_bool
+atspre_g0uint_gt_ullint
+(
+  atstype_ullint x1, atstype_ullint x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gt_ullint]
+ATSinline()
+atstype_bool
+atspre_g0uint_gte_ullint
+(
+  atstype_ullint x1, atstype_ullint x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gte_ullint]
+ATSinline()
+atstype_bool
+atspre_g0uint_eq_ullint
+(
+  atstype_ullint x1, atstype_ullint x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_eq_ullint]
+ATSinline()
+atstype_bool
+atspre_g0uint_neq_ullint
+(
+  atstype_ullint x1, atstype_ullint x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_neq_ullint]
+ATSinline()
+atstype_int
+atspre_g0uint_compare_ullint
+(
+  atstype_ullint x1, atstype_ullint x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0uint_compare_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_max_ullint
+  (atstype_ullint x1, atstype_ullint x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_max_ullint]
+ATSinline()
+atstype_ullint
+atspre_g0uint_min_ullint
+  (atstype_ullint x1, atstype_ullint x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_min_ullint]
+ATSinline()
+atstype_bool
+atspre_g0uint_isltez_ullint (atstype_ullint x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isltez_ullint]
+ATSinline()
+atstype_bool
+atspre_g0uint_isgtz_ullint (atstype_ullint x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isgtz_ullint]
+ATSinline()
+atstype_bool
+atspre_g0uint_iseqz_ullint (atstype_ullint x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_iseqz_ullint]
+ATSinline()
+atstype_bool
+atspre_g0uint_isneqz_ullint (atstype_ullint x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isneqz_ullint]
+//
+/* ****** ****** */
+
+#define atspre_g1uint_succ_uint atspre_g0uint_succ_uint
+#define atspre_g1uint_pred_uint atspre_g0uint_pred_uint
+#define atspre_g1uint_half_uint atspre_g0uint_half_uint
+#define atspre_g1uint_add_uint atspre_g0uint_add_uint
+#define atspre_g1uint_sub_uint atspre_g0uint_sub_uint
+#define atspre_g1uint_mul_uint atspre_g0uint_mul_uint
+#define atspre_g1uint_div_uint atspre_g0uint_div_uint
+#define atspre_g1uint_mod_uint atspre_g0uint_mod_uint
+#define atspre_g1uint_isgtz_uint atspre_g0uint_isgtz_uint
+#define atspre_g1uint_iseqz_uint atspre_g0uint_iseqz_uint
+#define atspre_g1uint_isneqz_uint atspre_g0uint_isneqz_uint
+#define atspre_g1uint_lt_uint atspre_g0uint_lt_uint
+#define atspre_g1uint_lte_uint atspre_g0uint_lte_uint
+#define atspre_g1uint_gt_uint atspre_g0uint_gt_uint
+#define atspre_g1uint_gte_uint atspre_g0uint_gte_uint
+#define atspre_g1uint_eq_uint atspre_g0uint_eq_uint
+#define atspre_g1uint_neq_uint atspre_g0uint_neq_uint
+#define atspre_g1uint_compare_uint atspre_g0uint_compare_uint
+#define atspre_g1uint_max_uint atspre_g0uint_max_uint
+#define atspre_g1uint_min_uint atspre_g0uint_min_uint
+
+/* ****** ****** */
+
+#define atspre_g1uint_succ_ulint atspre_g0uint_succ_ulint
+#define atspre_g1uint_pred_ulint atspre_g0uint_pred_ulint
+#define atspre_g1uint_half_ulint atspre_g0uint_half_ulint
+#define atspre_g1uint_add_ulint atspre_g0uint_add_ulint
+#define atspre_g1uint_sub_ulint atspre_g0uint_sub_ulint
+#define atspre_g1uint_mul_ulint atspre_g0uint_mul_ulint
+#define atspre_g1uint_div_ulint atspre_g0uint_div_ulint
+#define atspre_g1uint_mod_ulint atspre_g0uint_mod_ulint
+#define atspre_g1uint_isgtz_ulint atspre_g0uint_isgtz_ulint
+#define atspre_g1uint_iseqz_ulint atspre_g0uint_iseqz_ulint
+#define atspre_g1uint_isneqz_ulint atspre_g0uint_isneqz_ulint
+#define atspre_g1uint_lt_ulint atspre_g0uint_lt_ulint
+#define atspre_g1uint_lte_ulint atspre_g0uint_lte_ulint
+#define atspre_g1uint_gt_ulint atspre_g0uint_gt_ulint
+#define atspre_g1uint_gte_ulint atspre_g0uint_gte_ulint
+#define atspre_g1uint_eq_ulint atspre_g0uint_eq_ulint
+#define atspre_g1uint_neq_ulint atspre_g0uint_neq_ulint
+#define atspre_g1uint_compare_ulint atspre_g0uint_compare_ulint
+#define atspre_g1uint_max_ulint atspre_g0uint_max_ulint
+#define atspre_g1uint_min_ulint atspre_g0uint_min_ulint
+
+/* ****** ****** */
+
+#define atspre_g1uint_succ_ullint atspre_g0uint_succ_ullint
+#define atspre_g1uint_pred_ullint atspre_g0uint_pred_ullint
+#define atspre_g1uint_half_ullint atspre_g0uint_half_ullint
+#define atspre_g1uint_add_ullint atspre_g0uint_add_ullint
+#define atspre_g1uint_sub_ullint atspre_g0uint_sub_ullint
+#define atspre_g1uint_mul_ullint atspre_g0uint_mul_ullint
+#define atspre_g1uint_div_ullint atspre_g0uint_div_ullint
+#define atspre_g1uint_mod_ullint atspre_g0uint_mod_ullint
+#define atspre_g1uint_isgtz_ullint atspre_g0uint_isgtz_ullint
+#define atspre_g1uint_iseqz_ullint atspre_g0uint_iseqz_ullint
+#define atspre_g1uint_isneqz_ullint atspre_g0uint_isneqz_ullint
+#define atspre_g1uint_lt_ullint atspre_g0uint_lt_ullint
+#define atspre_g1uint_lte_ullint atspre_g0uint_lte_ullint
+#define atspre_g1uint_gt_ullint atspre_g0uint_gt_ullint
+#define atspre_g1uint_gte_ullint atspre_g0uint_gte_ullint
+#define atspre_g1uint_eq_ullint atspre_g0uint_eq_ullint
+#define atspre_g1uint_neq_ullint atspre_g0uint_neq_ullint
+#define atspre_g1uint_compare_ullint atspre_g0uint_compare_ullint
+#define atspre_g1uint_max_ullint atspre_g0uint_max_ullint
+#define atspre_g1uint_min_ullint atspre_g0uint_min_ullint
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER
+
+/* ****** ****** */
+
+/* end of [integer.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_fixed.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_fixed.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_fixed.cats
@@ -0,0 +1,1425 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/integer_fixed.atxt
+** Time of generation: Mon Jun  4 01:42:54 2018
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_INTEGER_FIXED
+#define ATSLIB_PRELUDE_CATS_INTEGER_FIXED
+
+/* ****** ****** */
+
+#include <stdint.h>
+
+/* ****** ****** */
+
+typedef int8_t atstype_int8 ;
+typedef int16_t atstype_int16 ;
+typedef int32_t atstype_int32 ;
+typedef int64_t atstype_int64 ;
+
+typedef uint8_t atstype_uint8 ;
+typedef uint16_t atstype_uint16 ;
+typedef uint32_t atstype_uint32 ;
+typedef uint64_t atstype_uint64 ;
+
+/* ****** ****** */
+
+#define \
+atspre_g0int2int_int8_int(x) ((atstype_int)(x))
+#define \
+atspre_g0int2int_int16_int(x) ((atstype_int)(x))
+#define \
+atspre_g0int2int_int32_int(x) ((atstype_int)(x))
+#define \
+atspre_g0int2int_int64_int(x) ((atstype_int)(x))
+
+/* ****** ****** */
+//
+ATSinline()
+atstype_int8
+atspre_g0int_neg_int8
+  (atstype_int8 x) { return (-x) ; }
+// end of [atspre_g0int_neg_int8]
+ATSinline()
+atstype_int8
+atspre_g0int_abs_int8
+  (atstype_int8 x) { return (x >= 0 ? x : -x) ; }
+// end of [atspre_g0int_abs_int8]
+ATSinline()
+atstype_int8
+atspre_g0int_succ_int8
+  (atstype_int8 x) { return (x + 1) ; }
+// end of [atspre_g0int_succ_int8]
+ATSinline()
+atstype_int8
+atspre_g0int_pred_int8
+  (atstype_int8 x) { return (x - 1) ; }
+// end of [atspre_g0int_pred_int8]
+ATSinline()
+atstype_int8
+atspre_g0int_half_int8
+  (atstype_int8 x) { return (x / 2) ; }
+// end of [atspre_g0int_half_int8]
+ATSinline()
+atstype_int8
+atspre_g0int_add_int8
+  (atstype_int8 x1, atstype_int8 x2) { return (x1 + x2) ; }
+// end of [atspre_g0int_add_int8]
+ATSinline()
+atstype_int8
+atspre_g0int_sub_int8
+  (atstype_int8 x1, atstype_int8 x2) { return (x1 - x2) ; }
+// end of [atspre_g0int_sub_int8]
+ATSinline()
+atstype_int8
+atspre_g0int_mul_int8
+  (atstype_int8 x1, atstype_int8 x2) { return (x1 * x2) ; }
+// end of [atspre_g0int_mul_int8]
+ATSinline()
+atstype_int8
+atspre_g0int_div_int8
+  (atstype_int8 x1, atstype_int8 x2) { return (x1 / x2) ; }
+// end of [atspre_g0int_div_int8]
+ATSinline()
+atstype_int8
+atspre_g0int_mod_int8
+  (atstype_int8 x1, atstype_int8 x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_mod_int8]
+ATSinline()
+atstype_int8
+atspre_g0int_nmod_int8
+  (atstype_int8 x1, atstype_int8 x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_nmod_int8]
+ATSinline()
+atstype_int8
+atspre_g0int_asl_int8
+  (atstype_int8 x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0int_asl_int8]
+ATSinline()
+atstype_int8
+atspre_g0int_asr_int8
+  (atstype_int8 x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0int_asr_int8]
+ATSinline()
+atstype_bool
+atspre_g0int_lt_int8
+(
+  atstype_int8 x1, atstype_int8 x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lt_int8]
+ATSinline()
+atstype_bool
+atspre_g0int_lte_int8
+(
+  atstype_int8 x1, atstype_int8 x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lte_int8]
+ATSinline()
+atstype_bool
+atspre_g0int_gt_int8
+(
+  atstype_int8 x1, atstype_int8 x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gt_int8]
+ATSinline()
+atstype_bool
+atspre_g0int_gte_int8
+(
+  atstype_int8 x1, atstype_int8 x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gte_int8]
+ATSinline()
+atstype_bool
+atspre_g0int_eq_int8
+(
+  atstype_int8 x1, atstype_int8 x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_eq_int8]
+ATSinline()
+atstype_bool
+atspre_g0int_neq_int8
+(
+  atstype_int8 x1, atstype_int8 x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_neq_int8]
+ATSinline()
+atstype_int
+atspre_g0int_compare_int8
+(
+  atstype_int8 x1, atstype_int8 x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0int_compare_int8]
+ATSinline()
+atstype_int8
+atspre_g0int_max_int8
+  (atstype_int8 x1, atstype_int8 x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_max_int8]
+ATSinline()
+atstype_int8
+atspre_g0int_min_int8
+  (atstype_int8 x1, atstype_int8 x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_min_int8]
+ATSinline()
+atstype_bool
+atspre_g0int_isltz_int8 (atstype_int8 x)
+{
+  return (x < 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltz_int8]
+ATSinline()
+atstype_bool
+atspre_g0int_isltez_int8 (atstype_int8 x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltez_int8]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtz_int8 (atstype_int8 x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtz_int8]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtez_int8 (atstype_int8 x)
+{
+  return (x >= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtez_int8]
+ATSinline()
+atstype_bool
+atspre_g0int_iseqz_int8 (atstype_int8 x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_iseqz_int8]
+ATSinline()
+atstype_bool
+atspre_g0int_isneqz_int8 (atstype_int8 x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isneqz_int8]
+ATSinline()
+atstype_int16
+atspre_g0int_neg_int16
+  (atstype_int16 x) { return (-x) ; }
+// end of [atspre_g0int_neg_int16]
+ATSinline()
+atstype_int16
+atspre_g0int_abs_int16
+  (atstype_int16 x) { return (x >= 0 ? x : -x) ; }
+// end of [atspre_g0int_abs_int16]
+ATSinline()
+atstype_int16
+atspre_g0int_succ_int16
+  (atstype_int16 x) { return (x + 1) ; }
+// end of [atspre_g0int_succ_int16]
+ATSinline()
+atstype_int16
+atspre_g0int_pred_int16
+  (atstype_int16 x) { return (x - 1) ; }
+// end of [atspre_g0int_pred_int16]
+ATSinline()
+atstype_int16
+atspre_g0int_half_int16
+  (atstype_int16 x) { return (x / 2) ; }
+// end of [atspre_g0int_half_int16]
+ATSinline()
+atstype_int16
+atspre_g0int_add_int16
+  (atstype_int16 x1, atstype_int16 x2) { return (x1 + x2) ; }
+// end of [atspre_g0int_add_int16]
+ATSinline()
+atstype_int16
+atspre_g0int_sub_int16
+  (atstype_int16 x1, atstype_int16 x2) { return (x1 - x2) ; }
+// end of [atspre_g0int_sub_int16]
+ATSinline()
+atstype_int16
+atspre_g0int_mul_int16
+  (atstype_int16 x1, atstype_int16 x2) { return (x1 * x2) ; }
+// end of [atspre_g0int_mul_int16]
+ATSinline()
+atstype_int16
+atspre_g0int_div_int16
+  (atstype_int16 x1, atstype_int16 x2) { return (x1 / x2) ; }
+// end of [atspre_g0int_div_int16]
+ATSinline()
+atstype_int16
+atspre_g0int_mod_int16
+  (atstype_int16 x1, atstype_int16 x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_mod_int16]
+ATSinline()
+atstype_int16
+atspre_g0int_nmod_int16
+  (atstype_int16 x1, atstype_int16 x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_nmod_int16]
+ATSinline()
+atstype_int16
+atspre_g0int_asl_int16
+  (atstype_int16 x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0int_asl_int16]
+ATSinline()
+atstype_int16
+atspre_g0int_asr_int16
+  (atstype_int16 x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0int_asr_int16]
+ATSinline()
+atstype_bool
+atspre_g0int_lt_int16
+(
+  atstype_int16 x1, atstype_int16 x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lt_int16]
+ATSinline()
+atstype_bool
+atspre_g0int_lte_int16
+(
+  atstype_int16 x1, atstype_int16 x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lte_int16]
+ATSinline()
+atstype_bool
+atspre_g0int_gt_int16
+(
+  atstype_int16 x1, atstype_int16 x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gt_int16]
+ATSinline()
+atstype_bool
+atspre_g0int_gte_int16
+(
+  atstype_int16 x1, atstype_int16 x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gte_int16]
+ATSinline()
+atstype_bool
+atspre_g0int_eq_int16
+(
+  atstype_int16 x1, atstype_int16 x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_eq_int16]
+ATSinline()
+atstype_bool
+atspre_g0int_neq_int16
+(
+  atstype_int16 x1, atstype_int16 x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_neq_int16]
+ATSinline()
+atstype_int
+atspre_g0int_compare_int16
+(
+  atstype_int16 x1, atstype_int16 x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0int_compare_int16]
+ATSinline()
+atstype_int16
+atspre_g0int_max_int16
+  (atstype_int16 x1, atstype_int16 x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_max_int16]
+ATSinline()
+atstype_int16
+atspre_g0int_min_int16
+  (atstype_int16 x1, atstype_int16 x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_min_int16]
+ATSinline()
+atstype_bool
+atspre_g0int_isltz_int16 (atstype_int16 x)
+{
+  return (x < 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltz_int16]
+ATSinline()
+atstype_bool
+atspre_g0int_isltez_int16 (atstype_int16 x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltez_int16]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtz_int16 (atstype_int16 x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtz_int16]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtez_int16 (atstype_int16 x)
+{
+  return (x >= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtez_int16]
+ATSinline()
+atstype_bool
+atspre_g0int_iseqz_int16 (atstype_int16 x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_iseqz_int16]
+ATSinline()
+atstype_bool
+atspre_g0int_isneqz_int16 (atstype_int16 x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isneqz_int16]
+ATSinline()
+atstype_int32
+atspre_g0int_neg_int32
+  (atstype_int32 x) { return (-x) ; }
+// end of [atspre_g0int_neg_int32]
+ATSinline()
+atstype_int32
+atspre_g0int_abs_int32
+  (atstype_int32 x) { return (x >= 0 ? x : -x) ; }
+// end of [atspre_g0int_abs_int32]
+ATSinline()
+atstype_int32
+atspre_g0int_succ_int32
+  (atstype_int32 x) { return (x + 1) ; }
+// end of [atspre_g0int_succ_int32]
+ATSinline()
+atstype_int32
+atspre_g0int_pred_int32
+  (atstype_int32 x) { return (x - 1) ; }
+// end of [atspre_g0int_pred_int32]
+ATSinline()
+atstype_int32
+atspre_g0int_half_int32
+  (atstype_int32 x) { return (x / 2) ; }
+// end of [atspre_g0int_half_int32]
+ATSinline()
+atstype_int32
+atspre_g0int_add_int32
+  (atstype_int32 x1, atstype_int32 x2) { return (x1 + x2) ; }
+// end of [atspre_g0int_add_int32]
+ATSinline()
+atstype_int32
+atspre_g0int_sub_int32
+  (atstype_int32 x1, atstype_int32 x2) { return (x1 - x2) ; }
+// end of [atspre_g0int_sub_int32]
+ATSinline()
+atstype_int32
+atspre_g0int_mul_int32
+  (atstype_int32 x1, atstype_int32 x2) { return (x1 * x2) ; }
+// end of [atspre_g0int_mul_int32]
+ATSinline()
+atstype_int32
+atspre_g0int_div_int32
+  (atstype_int32 x1, atstype_int32 x2) { return (x1 / x2) ; }
+// end of [atspre_g0int_div_int32]
+ATSinline()
+atstype_int32
+atspre_g0int_mod_int32
+  (atstype_int32 x1, atstype_int32 x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_mod_int32]
+ATSinline()
+atstype_int32
+atspre_g0int_nmod_int32
+  (atstype_int32 x1, atstype_int32 x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_nmod_int32]
+ATSinline()
+atstype_int32
+atspre_g0int_asl_int32
+  (atstype_int32 x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0int_asl_int32]
+ATSinline()
+atstype_int32
+atspre_g0int_asr_int32
+  (atstype_int32 x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0int_asr_int32]
+ATSinline()
+atstype_bool
+atspre_g0int_lt_int32
+(
+  atstype_int32 x1, atstype_int32 x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lt_int32]
+ATSinline()
+atstype_bool
+atspre_g0int_lte_int32
+(
+  atstype_int32 x1, atstype_int32 x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lte_int32]
+ATSinline()
+atstype_bool
+atspre_g0int_gt_int32
+(
+  atstype_int32 x1, atstype_int32 x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gt_int32]
+ATSinline()
+atstype_bool
+atspre_g0int_gte_int32
+(
+  atstype_int32 x1, atstype_int32 x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gte_int32]
+ATSinline()
+atstype_bool
+atspre_g0int_eq_int32
+(
+  atstype_int32 x1, atstype_int32 x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_eq_int32]
+ATSinline()
+atstype_bool
+atspre_g0int_neq_int32
+(
+  atstype_int32 x1, atstype_int32 x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_neq_int32]
+ATSinline()
+atstype_int
+atspre_g0int_compare_int32
+(
+  atstype_int32 x1, atstype_int32 x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0int_compare_int32]
+ATSinline()
+atstype_int32
+atspre_g0int_max_int32
+  (atstype_int32 x1, atstype_int32 x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_max_int32]
+ATSinline()
+atstype_int32
+atspre_g0int_min_int32
+  (atstype_int32 x1, atstype_int32 x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_min_int32]
+ATSinline()
+atstype_bool
+atspre_g0int_isltz_int32 (atstype_int32 x)
+{
+  return (x < 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltz_int32]
+ATSinline()
+atstype_bool
+atspre_g0int_isltez_int32 (atstype_int32 x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltez_int32]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtz_int32 (atstype_int32 x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtz_int32]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtez_int32 (atstype_int32 x)
+{
+  return (x >= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtez_int32]
+ATSinline()
+atstype_bool
+atspre_g0int_iseqz_int32 (atstype_int32 x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_iseqz_int32]
+ATSinline()
+atstype_bool
+atspre_g0int_isneqz_int32 (atstype_int32 x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isneqz_int32]
+ATSinline()
+atstype_int64
+atspre_g0int_neg_int64
+  (atstype_int64 x) { return (-x) ; }
+// end of [atspre_g0int_neg_int64]
+ATSinline()
+atstype_int64
+atspre_g0int_abs_int64
+  (atstype_int64 x) { return (x >= 0 ? x : -x) ; }
+// end of [atspre_g0int_abs_int64]
+ATSinline()
+atstype_int64
+atspre_g0int_succ_int64
+  (atstype_int64 x) { return (x + 1) ; }
+// end of [atspre_g0int_succ_int64]
+ATSinline()
+atstype_int64
+atspre_g0int_pred_int64
+  (atstype_int64 x) { return (x - 1) ; }
+// end of [atspre_g0int_pred_int64]
+ATSinline()
+atstype_int64
+atspre_g0int_half_int64
+  (atstype_int64 x) { return (x / 2) ; }
+// end of [atspre_g0int_half_int64]
+ATSinline()
+atstype_int64
+atspre_g0int_add_int64
+  (atstype_int64 x1, atstype_int64 x2) { return (x1 + x2) ; }
+// end of [atspre_g0int_add_int64]
+ATSinline()
+atstype_int64
+atspre_g0int_sub_int64
+  (atstype_int64 x1, atstype_int64 x2) { return (x1 - x2) ; }
+// end of [atspre_g0int_sub_int64]
+ATSinline()
+atstype_int64
+atspre_g0int_mul_int64
+  (atstype_int64 x1, atstype_int64 x2) { return (x1 * x2) ; }
+// end of [atspre_g0int_mul_int64]
+ATSinline()
+atstype_int64
+atspre_g0int_div_int64
+  (atstype_int64 x1, atstype_int64 x2) { return (x1 / x2) ; }
+// end of [atspre_g0int_div_int64]
+ATSinline()
+atstype_int64
+atspre_g0int_mod_int64
+  (atstype_int64 x1, atstype_int64 x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_mod_int64]
+ATSinline()
+atstype_int64
+atspre_g0int_nmod_int64
+  (atstype_int64 x1, atstype_int64 x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_nmod_int64]
+ATSinline()
+atstype_int64
+atspre_g0int_asl_int64
+  (atstype_int64 x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0int_asl_int64]
+ATSinline()
+atstype_int64
+atspre_g0int_asr_int64
+  (atstype_int64 x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0int_asr_int64]
+ATSinline()
+atstype_bool
+atspre_g0int_lt_int64
+(
+  atstype_int64 x1, atstype_int64 x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lt_int64]
+ATSinline()
+atstype_bool
+atspre_g0int_lte_int64
+(
+  atstype_int64 x1, atstype_int64 x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lte_int64]
+ATSinline()
+atstype_bool
+atspre_g0int_gt_int64
+(
+  atstype_int64 x1, atstype_int64 x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gt_int64]
+ATSinline()
+atstype_bool
+atspre_g0int_gte_int64
+(
+  atstype_int64 x1, atstype_int64 x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gte_int64]
+ATSinline()
+atstype_bool
+atspre_g0int_eq_int64
+(
+  atstype_int64 x1, atstype_int64 x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_eq_int64]
+ATSinline()
+atstype_bool
+atspre_g0int_neq_int64
+(
+  atstype_int64 x1, atstype_int64 x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_neq_int64]
+ATSinline()
+atstype_int
+atspre_g0int_compare_int64
+(
+  atstype_int64 x1, atstype_int64 x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0int_compare_int64]
+ATSinline()
+atstype_int64
+atspre_g0int_max_int64
+  (atstype_int64 x1, atstype_int64 x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_max_int64]
+ATSinline()
+atstype_int64
+atspre_g0int_min_int64
+  (atstype_int64 x1, atstype_int64 x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_min_int64]
+ATSinline()
+atstype_bool
+atspre_g0int_isltz_int64 (atstype_int64 x)
+{
+  return (x < 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltz_int64]
+ATSinline()
+atstype_bool
+atspre_g0int_isltez_int64 (atstype_int64 x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltez_int64]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtz_int64 (atstype_int64 x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtz_int64]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtez_int64 (atstype_int64 x)
+{
+  return (x >= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtez_int64]
+ATSinline()
+atstype_bool
+atspre_g0int_iseqz_int64 (atstype_int64 x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_iseqz_int64]
+ATSinline()
+atstype_bool
+atspre_g0int_isneqz_int64 (atstype_int64 x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isneqz_int64]
+//
+/* ****** ****** */
+//
+#define \
+atspre_g0int2uint_int8_uint(x) ((atstype_uint)(x))
+#define \
+atspre_g0int2uint_int16_uint(x) ((atstype_uint)(x))
+#define \
+atspre_g0int2uint_int32_uint(x) ((atstype_uint)(x))
+#define \
+atspre_g0int2uint_int64_uint(x) ((atstype_uint)(x))
+//
+#define \
+atspre_g0uint2int_uint8_int(x) ((atstype_int)(x))
+#define \
+atspre_g0uint2int_uint16_int(x) ((atstype_int)(x))
+#define \
+atspre_g0uint2int_uint32_int(x) ((atstype_int)(x))
+#define \
+atspre_g0uint2int_uint64_int(x) ((atstype_int)(x))
+//
+#define \
+atspre_g0uint2uint_uint8_uint(x) ((atstype_uint)(x))
+#define \
+atspre_g0uint2uint_uint16_uint(x) ((atstype_uint)(x))
+#define \
+atspre_g0uint2uint_uint32_uint(x) ((atstype_uint)(x))
+#define \
+atspre_g0uint2uint_uint64_uint(x) ((atstype_uint)(x))
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_uint8
+atspre_g0uint_succ_uint8
+  (atstype_uint8 x) { return (x + 1) ; }
+// end of [atspre_g0uint_succ_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_pred_uint8
+  (atstype_uint8 x) { return (x - 1) ; }
+// end of [atspre_g0uint_pred_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_half_uint8
+  (atstype_uint8 x) { return (x >> 1) ; }
+// end of [atspre_g0uint_half_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_add_uint8
+  (atstype_uint8 x1, atstype_uint8 x2) { return (x1 + x2) ; }
+// end of [atspre_g0uint_add_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_sub_uint8
+  (atstype_uint8 x1, atstype_uint8 x2) { return (x1 - x2) ; }
+// end of [atspre_g0uint_sub_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_mul_uint8
+  (atstype_uint8 x1, atstype_uint8 x2) { return (x1 * x2) ; }
+// end of [atspre_g0uint_mul_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_div_uint8
+  (atstype_uint8 x1, atstype_uint8 x2) { return (x1 / x2) ; }
+// end of [atspre_g0uint_div_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_mod_uint8
+  (atstype_uint8 x1, atstype_uint8 x2) { return (x1 % x2) ; }
+// end of [atspre_g0uint_mod_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_lsl_uint8
+  (atstype_uint8 x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0uint_lsl_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_lsr_uint8
+  (atstype_uint8 x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0uint_lsr_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_lnot_uint8
+  (atstype_uint8 x) { return ~(x) ; }
+// end of [atspre_g0uint_lnot_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_lor_uint8
+  (atstype_uint8 x, atstype_uint8 y) { return (x | y) ; }
+// end of [atspre_g0uint_uint8_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_land_uint8
+  (atstype_uint8 x, atstype_uint8 y) { return (x & y) ; }
+// end of [atspre_g0uint_uint8_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_lxor_uint8
+  (atstype_uint8 x, atstype_uint8 y) { return (x ^ y) ; }
+// end of [atspre_g0uint_uint8_uint8]
+ATSinline()
+atstype_bool
+atspre_g0uint_lt_uint8
+(
+  atstype_uint8 x1, atstype_uint8 x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lt_uint8]
+ATSinline()
+atstype_bool
+atspre_g0uint_lte_uint8
+(
+  atstype_uint8 x1, atstype_uint8 x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lte_uint8]
+ATSinline()
+atstype_bool
+atspre_g0uint_gt_uint8
+(
+  atstype_uint8 x1, atstype_uint8 x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gt_uint8]
+ATSinline()
+atstype_bool
+atspre_g0uint_gte_uint8
+(
+  atstype_uint8 x1, atstype_uint8 x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gte_uint8]
+ATSinline()
+atstype_bool
+atspre_g0uint_eq_uint8
+(
+  atstype_uint8 x1, atstype_uint8 x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_eq_uint8]
+ATSinline()
+atstype_bool
+atspre_g0uint_neq_uint8
+(
+  atstype_uint8 x1, atstype_uint8 x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_neq_uint8]
+ATSinline()
+atstype_int
+atspre_g0uint_compare_uint8
+(
+  atstype_uint8 x1, atstype_uint8 x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0uint_compare_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_max_uint8
+  (atstype_uint8 x1, atstype_uint8 x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_max_uint8]
+ATSinline()
+atstype_uint8
+atspre_g0uint_min_uint8
+  (atstype_uint8 x1, atstype_uint8 x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_min_uint8]
+ATSinline()
+atstype_bool
+atspre_g0uint_isltez_uint8 (atstype_uint8 x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isltez_uint8]
+ATSinline()
+atstype_bool
+atspre_g0uint_isgtz_uint8 (atstype_uint8 x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isgtz_uint8]
+ATSinline()
+atstype_bool
+atspre_g0uint_iseqz_uint8 (atstype_uint8 x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_iseqz_uint8]
+ATSinline()
+atstype_bool
+atspre_g0uint_isneqz_uint8 (atstype_uint8 x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isneqz_uint8]
+ATSinline()
+atstype_uint16
+atspre_g0uint_succ_uint16
+  (atstype_uint16 x) { return (x + 1) ; }
+// end of [atspre_g0uint_succ_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_pred_uint16
+  (atstype_uint16 x) { return (x - 1) ; }
+// end of [atspre_g0uint_pred_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_half_uint16
+  (atstype_uint16 x) { return (x >> 1) ; }
+// end of [atspre_g0uint_half_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_add_uint16
+  (atstype_uint16 x1, atstype_uint16 x2) { return (x1 + x2) ; }
+// end of [atspre_g0uint_add_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_sub_uint16
+  (atstype_uint16 x1, atstype_uint16 x2) { return (x1 - x2) ; }
+// end of [atspre_g0uint_sub_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_mul_uint16
+  (atstype_uint16 x1, atstype_uint16 x2) { return (x1 * x2) ; }
+// end of [atspre_g0uint_mul_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_div_uint16
+  (atstype_uint16 x1, atstype_uint16 x2) { return (x1 / x2) ; }
+// end of [atspre_g0uint_div_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_mod_uint16
+  (atstype_uint16 x1, atstype_uint16 x2) { return (x1 % x2) ; }
+// end of [atspre_g0uint_mod_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_lsl_uint16
+  (atstype_uint16 x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0uint_lsl_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_lsr_uint16
+  (atstype_uint16 x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0uint_lsr_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_lnot_uint16
+  (atstype_uint16 x) { return ~(x) ; }
+// end of [atspre_g0uint_lnot_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_lor_uint16
+  (atstype_uint16 x, atstype_uint16 y) { return (x | y) ; }
+// end of [atspre_g0uint_uint16_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_land_uint16
+  (atstype_uint16 x, atstype_uint16 y) { return (x & y) ; }
+// end of [atspre_g0uint_uint16_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_lxor_uint16
+  (atstype_uint16 x, atstype_uint16 y) { return (x ^ y) ; }
+// end of [atspre_g0uint_uint16_uint16]
+ATSinline()
+atstype_bool
+atspre_g0uint_lt_uint16
+(
+  atstype_uint16 x1, atstype_uint16 x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lt_uint16]
+ATSinline()
+atstype_bool
+atspre_g0uint_lte_uint16
+(
+  atstype_uint16 x1, atstype_uint16 x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lte_uint16]
+ATSinline()
+atstype_bool
+atspre_g0uint_gt_uint16
+(
+  atstype_uint16 x1, atstype_uint16 x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gt_uint16]
+ATSinline()
+atstype_bool
+atspre_g0uint_gte_uint16
+(
+  atstype_uint16 x1, atstype_uint16 x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gte_uint16]
+ATSinline()
+atstype_bool
+atspre_g0uint_eq_uint16
+(
+  atstype_uint16 x1, atstype_uint16 x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_eq_uint16]
+ATSinline()
+atstype_bool
+atspre_g0uint_neq_uint16
+(
+  atstype_uint16 x1, atstype_uint16 x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_neq_uint16]
+ATSinline()
+atstype_int
+atspre_g0uint_compare_uint16
+(
+  atstype_uint16 x1, atstype_uint16 x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0uint_compare_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_max_uint16
+  (atstype_uint16 x1, atstype_uint16 x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_max_uint16]
+ATSinline()
+atstype_uint16
+atspre_g0uint_min_uint16
+  (atstype_uint16 x1, atstype_uint16 x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_min_uint16]
+ATSinline()
+atstype_bool
+atspre_g0uint_isltez_uint16 (atstype_uint16 x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isltez_uint16]
+ATSinline()
+atstype_bool
+atspre_g0uint_isgtz_uint16 (atstype_uint16 x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isgtz_uint16]
+ATSinline()
+atstype_bool
+atspre_g0uint_iseqz_uint16 (atstype_uint16 x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_iseqz_uint16]
+ATSinline()
+atstype_bool
+atspre_g0uint_isneqz_uint16 (atstype_uint16 x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isneqz_uint16]
+ATSinline()
+atstype_uint32
+atspre_g0uint_succ_uint32
+  (atstype_uint32 x) { return (x + 1) ; }
+// end of [atspre_g0uint_succ_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_pred_uint32
+  (atstype_uint32 x) { return (x - 1) ; }
+// end of [atspre_g0uint_pred_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_half_uint32
+  (atstype_uint32 x) { return (x >> 1) ; }
+// end of [atspre_g0uint_half_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_add_uint32
+  (atstype_uint32 x1, atstype_uint32 x2) { return (x1 + x2) ; }
+// end of [atspre_g0uint_add_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_sub_uint32
+  (atstype_uint32 x1, atstype_uint32 x2) { return (x1 - x2) ; }
+// end of [atspre_g0uint_sub_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_mul_uint32
+  (atstype_uint32 x1, atstype_uint32 x2) { return (x1 * x2) ; }
+// end of [atspre_g0uint_mul_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_div_uint32
+  (atstype_uint32 x1, atstype_uint32 x2) { return (x1 / x2) ; }
+// end of [atspre_g0uint_div_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_mod_uint32
+  (atstype_uint32 x1, atstype_uint32 x2) { return (x1 % x2) ; }
+// end of [atspre_g0uint_mod_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_lsl_uint32
+  (atstype_uint32 x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0uint_lsl_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_lsr_uint32
+  (atstype_uint32 x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0uint_lsr_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_lnot_uint32
+  (atstype_uint32 x) { return ~(x) ; }
+// end of [atspre_g0uint_lnot_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_lor_uint32
+  (atstype_uint32 x, atstype_uint32 y) { return (x | y) ; }
+// end of [atspre_g0uint_uint32_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_land_uint32
+  (atstype_uint32 x, atstype_uint32 y) { return (x & y) ; }
+// end of [atspre_g0uint_uint32_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_lxor_uint32
+  (atstype_uint32 x, atstype_uint32 y) { return (x ^ y) ; }
+// end of [atspre_g0uint_uint32_uint32]
+ATSinline()
+atstype_bool
+atspre_g0uint_lt_uint32
+(
+  atstype_uint32 x1, atstype_uint32 x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lt_uint32]
+ATSinline()
+atstype_bool
+atspre_g0uint_lte_uint32
+(
+  atstype_uint32 x1, atstype_uint32 x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lte_uint32]
+ATSinline()
+atstype_bool
+atspre_g0uint_gt_uint32
+(
+  atstype_uint32 x1, atstype_uint32 x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gt_uint32]
+ATSinline()
+atstype_bool
+atspre_g0uint_gte_uint32
+(
+  atstype_uint32 x1, atstype_uint32 x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gte_uint32]
+ATSinline()
+atstype_bool
+atspre_g0uint_eq_uint32
+(
+  atstype_uint32 x1, atstype_uint32 x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_eq_uint32]
+ATSinline()
+atstype_bool
+atspre_g0uint_neq_uint32
+(
+  atstype_uint32 x1, atstype_uint32 x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_neq_uint32]
+ATSinline()
+atstype_int
+atspre_g0uint_compare_uint32
+(
+  atstype_uint32 x1, atstype_uint32 x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0uint_compare_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_max_uint32
+  (atstype_uint32 x1, atstype_uint32 x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_max_uint32]
+ATSinline()
+atstype_uint32
+atspre_g0uint_min_uint32
+  (atstype_uint32 x1, atstype_uint32 x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_min_uint32]
+ATSinline()
+atstype_bool
+atspre_g0uint_isltez_uint32 (atstype_uint32 x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isltez_uint32]
+ATSinline()
+atstype_bool
+atspre_g0uint_isgtz_uint32 (atstype_uint32 x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isgtz_uint32]
+ATSinline()
+atstype_bool
+atspre_g0uint_iseqz_uint32 (atstype_uint32 x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_iseqz_uint32]
+ATSinline()
+atstype_bool
+atspre_g0uint_isneqz_uint32 (atstype_uint32 x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isneqz_uint32]
+ATSinline()
+atstype_uint64
+atspre_g0uint_succ_uint64
+  (atstype_uint64 x) { return (x + 1) ; }
+// end of [atspre_g0uint_succ_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_pred_uint64
+  (atstype_uint64 x) { return (x - 1) ; }
+// end of [atspre_g0uint_pred_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_half_uint64
+  (atstype_uint64 x) { return (x >> 1) ; }
+// end of [atspre_g0uint_half_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_add_uint64
+  (atstype_uint64 x1, atstype_uint64 x2) { return (x1 + x2) ; }
+// end of [atspre_g0uint_add_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_sub_uint64
+  (atstype_uint64 x1, atstype_uint64 x2) { return (x1 - x2) ; }
+// end of [atspre_g0uint_sub_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_mul_uint64
+  (atstype_uint64 x1, atstype_uint64 x2) { return (x1 * x2) ; }
+// end of [atspre_g0uint_mul_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_div_uint64
+  (atstype_uint64 x1, atstype_uint64 x2) { return (x1 / x2) ; }
+// end of [atspre_g0uint_div_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_mod_uint64
+  (atstype_uint64 x1, atstype_uint64 x2) { return (x1 % x2) ; }
+// end of [atspre_g0uint_mod_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_lsl_uint64
+  (atstype_uint64 x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0uint_lsl_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_lsr_uint64
+  (atstype_uint64 x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0uint_lsr_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_lnot_uint64
+  (atstype_uint64 x) { return ~(x) ; }
+// end of [atspre_g0uint_lnot_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_lor_uint64
+  (atstype_uint64 x, atstype_uint64 y) { return (x | y) ; }
+// end of [atspre_g0uint_uint64_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_land_uint64
+  (atstype_uint64 x, atstype_uint64 y) { return (x & y) ; }
+// end of [atspre_g0uint_uint64_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_lxor_uint64
+  (atstype_uint64 x, atstype_uint64 y) { return (x ^ y) ; }
+// end of [atspre_g0uint_uint64_uint64]
+ATSinline()
+atstype_bool
+atspre_g0uint_lt_uint64
+(
+  atstype_uint64 x1, atstype_uint64 x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lt_uint64]
+ATSinline()
+atstype_bool
+atspre_g0uint_lte_uint64
+(
+  atstype_uint64 x1, atstype_uint64 x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lte_uint64]
+ATSinline()
+atstype_bool
+atspre_g0uint_gt_uint64
+(
+  atstype_uint64 x1, atstype_uint64 x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gt_uint64]
+ATSinline()
+atstype_bool
+atspre_g0uint_gte_uint64
+(
+  atstype_uint64 x1, atstype_uint64 x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gte_uint64]
+ATSinline()
+atstype_bool
+atspre_g0uint_eq_uint64
+(
+  atstype_uint64 x1, atstype_uint64 x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_eq_uint64]
+ATSinline()
+atstype_bool
+atspre_g0uint_neq_uint64
+(
+  atstype_uint64 x1, atstype_uint64 x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_neq_uint64]
+ATSinline()
+atstype_int
+atspre_g0uint_compare_uint64
+(
+  atstype_uint64 x1, atstype_uint64 x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0uint_compare_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_max_uint64
+  (atstype_uint64 x1, atstype_uint64 x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_max_uint64]
+ATSinline()
+atstype_uint64
+atspre_g0uint_min_uint64
+  (atstype_uint64 x1, atstype_uint64 x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_min_uint64]
+ATSinline()
+atstype_bool
+atspre_g0uint_isltez_uint64 (atstype_uint64 x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isltez_uint64]
+ATSinline()
+atstype_bool
+atspre_g0uint_isgtz_uint64 (atstype_uint64 x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isgtz_uint64]
+ATSinline()
+atstype_bool
+atspre_g0uint_iseqz_uint64 (atstype_uint64 x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_iseqz_uint64]
+ATSinline()
+atstype_bool
+atspre_g0uint_isneqz_uint64 (atstype_uint64 x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isneqz_uint64]
+//
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER_FIXED
+
+/* ****** ****** */
+
+/* end of [integer_fixed.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_long.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_long.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_long.cats
@@ -0,0 +1,124 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/integer_long.atxt
+** Time of generation: Mon Jun  4 01:42:52 2018
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_INTEGER_LONG
+#define ATSLIB_PRELUDE_CATS_INTEGER_LONG
+
+/* ****** ****** */
+//
+#define \
+atspre_g0int2int_int_lint(x) ((atstype_lint)(x))
+#define \
+atspre_g1int2int_int_lint(x) atspre_g0int2int_int_lint(x)
+//
+#define \
+atspre_g0int2int_int_llint(x) ((atstype_llint)(x))
+#define \
+atspre_g1int2int_int_llint(x) atspre_g0int2int_int_llint(x)
+//
+/* ****** ****** */
+//
+#define \
+atspre_g0int2int_lint_int(x) ((atstype_int)(x))
+#define \
+atspre_g1int2int_lint_int(x) atspre_g0int2int_lint_int(x)
+//
+#define \
+atspre_g0int2int_lint_lint(x) ((atstype_lint)(x))
+#define \
+atspre_g1int2int_lint_lint(x) atspre_g0int2int_lint_lint(x)
+//
+#define \
+atspre_g0int2int_lint_llint(x) ((atstype_llint)(x))
+#define \
+atspre_g1int2int_lint_llint(x) atspre_g0int2int_lint_llint(x)
+//
+/* ****** ****** */
+//
+#define \
+atspre_g0int2uint_int_ulint(x) ((atstype_ulint)(x))
+#define \
+atspre_g1int2uint_int_ulint(x) atspre_g0int2uint_int_ulint(x)
+//
+#define \
+atspre_g0int2uint_int_ullint(x) ((atstype_ullint)(x))
+#define \
+atspre_g1int2uint_int_ullint(x) atspre_g0int2uint_int_ullint(x)
+//
+#define \
+atspre_g0int2uint_lint_ulint(x) ((atstype_ulint)(x))
+#define \
+atspre_g1int2uint_lint_ulint(x) atspre_g0int2uint_lint_ulint(x)
+//
+#define \
+atspre_g0int2uint_lint_ullint(x) ((atstype_ullint)(x))
+#define \
+atspre_g1int2uint_lint_ullint(x) atspre_g0int2uint_lint_ullint(x)
+//
+#define \
+atspre_g0int2uint_llint_ullint(x) ((atstype_ullint)(x))
+#define \
+atspre_g1int2uint_llint_ullint(x) atspre_g0int2uint_llint_ullint(x)
+//
+/* ****** ****** */
+
+#define atspre_g0uint2int_uint_lint(x) ((atstype_lint)(x))
+#define atspre_g0uint2int_uint_llint(x) ((atstype_llint)(x))
+#define atspre_g1uint2int_uint_int atspre_g0uint2int_uint_int
+#define atspre_g1uint2int_uint_lint atspre_g0uint2int_uint_lint
+#define atspre_g1uint2int_uint_llint atspre_g0uint2int_uint_llint
+#define atspre_g0uint2uint_uint_ulint(x) ((atstype_ulint)(x))
+#define atspre_g0uint2uint_uint_ullint(x) ((atstype_ullint)(x))
+#define atspre_g1uint2uint_uint_ulint atspre_g0uint2uint_uint_ulint
+#define atspre_g1uint2uint_uint_ullint atspre_g0uint2uint_uint_ullint
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER_LONG
+
+/* ****** ****** */
+
+/* end of [integer_long.cats] */
+
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_ptr.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_ptr.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_ptr.cats
@@ -0,0 +1,475 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/integer_ptr.atxt
+** Time of generation: Mon Jun  4 01:42:54 2018
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_INTEGER_PTR
+#define ATSLIB_PRELUDE_CATS_INTEGER_PTR
+
+/* ****** ****** */
+
+#include <stdint.h>
+
+/* ****** ****** */
+
+typedef intptr_t atstype_intptr ;
+typedef uintptr_t atstype_uintptr ;
+
+/* ****** ****** */
+//
+#define \
+atspre_g0int2int_int_intptr(x) ((atstype_intptr)(x))
+#define \
+atspre_g0int2int_lint_intptr(x) ((atstype_intptr)(x))
+//
+#define \
+atspre_g0int2uint_int_uintptr(x) ((atstype_uintptr)(x))
+//
+#define \
+atspre_g0uint2uint_uint_uintptr(x) ((atstype_uintptr)(x))
+#define \
+atspre_g0uint2uint_ulint_uintptr(x) ((atstype_uintptr)(x))
+//
+/* ****** ****** */
+//
+#define \
+atspre_g1int2int_int_intptr atspre_g0int2int_int_intptr
+#define \
+atspre_g1int2int_lint_intptr atspre_g0int2int_lint_intptr
+//
+#define \
+atspre_g1int2uint_int_uintptr atspre_g0int2uint_int_uintptr
+//
+#define \
+atspre_g1uint2uint_uint_uintptr atspre_g0uint2uint_uint_uintptr
+#define \
+atspre_g1uint2uint_ulint_uintptr atspre_g0uint2uint_ulint_uintptr
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_intptr
+atspre_g0int_neg_intptr
+  (atstype_intptr x) { return (-x) ; }
+// end of [atspre_g0int_neg_intptr]
+ATSinline()
+atstype_intptr
+atspre_g0int_abs_intptr
+  (atstype_intptr x) { return (x >= 0 ? x : -x) ; }
+// end of [atspre_g0int_abs_intptr]
+ATSinline()
+atstype_intptr
+atspre_g0int_succ_intptr
+  (atstype_intptr x) { return (x + 1) ; }
+// end of [atspre_g0int_succ_intptr]
+ATSinline()
+atstype_intptr
+atspre_g0int_pred_intptr
+  (atstype_intptr x) { return (x - 1) ; }
+// end of [atspre_g0int_pred_intptr]
+ATSinline()
+atstype_intptr
+atspre_g0int_half_intptr
+  (atstype_intptr x) { return (x / 2) ; }
+// end of [atspre_g0int_half_intptr]
+ATSinline()
+atstype_intptr
+atspre_g0int_add_intptr
+  (atstype_intptr x1, atstype_intptr x2) { return (x1 + x2) ; }
+// end of [atspre_g0int_add_intptr]
+ATSinline()
+atstype_intptr
+atspre_g0int_sub_intptr
+  (atstype_intptr x1, atstype_intptr x2) { return (x1 - x2) ; }
+// end of [atspre_g0int_sub_intptr]
+ATSinline()
+atstype_intptr
+atspre_g0int_mul_intptr
+  (atstype_intptr x1, atstype_intptr x2) { return (x1 * x2) ; }
+// end of [atspre_g0int_mul_intptr]
+ATSinline()
+atstype_intptr
+atspre_g0int_div_intptr
+  (atstype_intptr x1, atstype_intptr x2) { return (x1 / x2) ; }
+// end of [atspre_g0int_div_intptr]
+ATSinline()
+atstype_intptr
+atspre_g0int_mod_intptr
+  (atstype_intptr x1, atstype_intptr x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_mod_intptr]
+ATSinline()
+atstype_intptr
+atspre_g0int_nmod_intptr
+  (atstype_intptr x1, atstype_intptr x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_nmod_intptr]
+ATSinline()
+atstype_intptr
+atspre_g0int_asl_intptr
+  (atstype_intptr x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0int_asl_intptr]
+ATSinline()
+atstype_intptr
+atspre_g0int_asr_intptr
+  (atstype_intptr x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0int_asr_intptr]
+ATSinline()
+atstype_bool
+atspre_g0int_lt_intptr
+(
+  atstype_intptr x1, atstype_intptr x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lt_intptr]
+ATSinline()
+atstype_bool
+atspre_g0int_lte_intptr
+(
+  atstype_intptr x1, atstype_intptr x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lte_intptr]
+ATSinline()
+atstype_bool
+atspre_g0int_gt_intptr
+(
+  atstype_intptr x1, atstype_intptr x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gt_intptr]
+ATSinline()
+atstype_bool
+atspre_g0int_gte_intptr
+(
+  atstype_intptr x1, atstype_intptr x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gte_intptr]
+ATSinline()
+atstype_bool
+atspre_g0int_eq_intptr
+(
+  atstype_intptr x1, atstype_intptr x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_eq_intptr]
+ATSinline()
+atstype_bool
+atspre_g0int_neq_intptr
+(
+  atstype_intptr x1, atstype_intptr x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_neq_intptr]
+ATSinline()
+atstype_int
+atspre_g0int_compare_intptr
+(
+  atstype_intptr x1, atstype_intptr x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0int_compare_intptr]
+ATSinline()
+atstype_intptr
+atspre_g0int_max_intptr
+  (atstype_intptr x1, atstype_intptr x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_max_intptr]
+ATSinline()
+atstype_intptr
+atspre_g0int_min_intptr
+  (atstype_intptr x1, atstype_intptr x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_min_intptr]
+ATSinline()
+atstype_bool
+atspre_g0int_isltz_intptr (atstype_intptr x)
+{
+  return (x < 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltz_intptr]
+ATSinline()
+atstype_bool
+atspre_g0int_isltez_intptr (atstype_intptr x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltez_intptr]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtz_intptr (atstype_intptr x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtz_intptr]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtez_intptr (atstype_intptr x)
+{
+  return (x >= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtez_intptr]
+ATSinline()
+atstype_bool
+atspre_g0int_iseqz_intptr (atstype_intptr x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_iseqz_intptr]
+ATSinline()
+atstype_bool
+atspre_g0int_isneqz_intptr (atstype_intptr x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isneqz_intptr]
+//
+#define atspre_g1int_abs_intptr atspre_g0int_abs_intptr
+#define atspre_g1int_neg_intptr atspre_g0int_neg_intptr
+#define atspre_g1int_succ_intptr atspre_g0int_succ_intptr
+#define atspre_g1int_pred_intptr atspre_g0int_pred_intptr
+#define atspre_g1int_half_intptr atspre_g0int_half_intptr
+#define atspre_g1int_add_intptr atspre_g0int_add_intptr
+#define atspre_g1int_sub_intptr atspre_g0int_sub_intptr
+#define atspre_g1int_mul_intptr atspre_g0int_mul_intptr
+#define atspre_g1int_div_intptr atspre_g0int_div_intptr
+#define atspre_g1int_nmod_intptr atspre_g0int_nmod_intptr
+#define atspre_g1int_lt_intptr atspre_g0int_lt_intptr
+#define atspre_g1int_lte_intptr atspre_g0int_lte_intptr
+#define atspre_g1int_gt_intptr atspre_g0int_gt_intptr
+#define atspre_g1int_gte_intptr atspre_g0int_gte_intptr
+#define atspre_g1int_eq_intptr atspre_g0int_eq_intptr
+#define atspre_g1int_neq_intptr atspre_g0int_neq_intptr
+#define atspre_g1int_compare_intptr atspre_g0int_compare_intptr
+#define atspre_g1int_max_intptr atspre_g0int_max_intptr
+#define atspre_g1int_min_intptr atspre_g0int_min_intptr
+#define atspre_g1int_isltz_intptr atspre_g0int_isltz_intptr
+#define atspre_g1int_isltez_intptr atspre_g0int_isltez_intptr
+#define atspre_g1int_isgtz_intptr atspre_g0int_isgtz_intptr
+#define atspre_g1int_isgtez_intptr atspre_g0int_isgtez_intptr
+#define atspre_g1int_iseqz_intptr atspre_g0int_iseqz_intptr
+#define atspre_g1int_isneqz_intptr atspre_g0int_isneqz_intptr
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_uintptr
+atspre_g0uint_succ_uintptr
+  (atstype_uintptr x) { return (x + 1) ; }
+// end of [atspre_g0uint_succ_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_pred_uintptr
+  (atstype_uintptr x) { return (x - 1) ; }
+// end of [atspre_g0uint_pred_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_half_uintptr
+  (atstype_uintptr x) { return (x >> 1) ; }
+// end of [atspre_g0uint_half_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_add_uintptr
+  (atstype_uintptr x1, atstype_uintptr x2) { return (x1 + x2) ; }
+// end of [atspre_g0uint_add_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_sub_uintptr
+  (atstype_uintptr x1, atstype_uintptr x2) { return (x1 - x2) ; }
+// end of [atspre_g0uint_sub_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_mul_uintptr
+  (atstype_uintptr x1, atstype_uintptr x2) { return (x1 * x2) ; }
+// end of [atspre_g0uint_mul_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_div_uintptr
+  (atstype_uintptr x1, atstype_uintptr x2) { return (x1 / x2) ; }
+// end of [atspre_g0uint_div_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_mod_uintptr
+  (atstype_uintptr x1, atstype_uintptr x2) { return (x1 % x2) ; }
+// end of [atspre_g0uint_mod_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_lsl_uintptr
+  (atstype_uintptr x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0uint_lsl_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_lsr_uintptr
+  (atstype_uintptr x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0uint_lsr_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_lnot_uintptr
+  (atstype_uintptr x) { return ~(x) ; }
+// end of [atspre_g0uint_lnot_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_lor_uintptr
+  (atstype_uintptr x, atstype_uintptr y) { return (x | y) ; }
+// end of [atspre_g0uint_uintptr_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_land_uintptr
+  (atstype_uintptr x, atstype_uintptr y) { return (x & y) ; }
+// end of [atspre_g0uint_uintptr_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_lxor_uintptr
+  (atstype_uintptr x, atstype_uintptr y) { return (x ^ y) ; }
+// end of [atspre_g0uint_uintptr_uintptr]
+ATSinline()
+atstype_bool
+atspre_g0uint_lt_uintptr
+(
+  atstype_uintptr x1, atstype_uintptr x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lt_uintptr]
+ATSinline()
+atstype_bool
+atspre_g0uint_lte_uintptr
+(
+  atstype_uintptr x1, atstype_uintptr x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lte_uintptr]
+ATSinline()
+atstype_bool
+atspre_g0uint_gt_uintptr
+(
+  atstype_uintptr x1, atstype_uintptr x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gt_uintptr]
+ATSinline()
+atstype_bool
+atspre_g0uint_gte_uintptr
+(
+  atstype_uintptr x1, atstype_uintptr x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gte_uintptr]
+ATSinline()
+atstype_bool
+atspre_g0uint_eq_uintptr
+(
+  atstype_uintptr x1, atstype_uintptr x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_eq_uintptr]
+ATSinline()
+atstype_bool
+atspre_g0uint_neq_uintptr
+(
+  atstype_uintptr x1, atstype_uintptr x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_neq_uintptr]
+ATSinline()
+atstype_int
+atspre_g0uint_compare_uintptr
+(
+  atstype_uintptr x1, atstype_uintptr x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0uint_compare_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_max_uintptr
+  (atstype_uintptr x1, atstype_uintptr x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_max_uintptr]
+ATSinline()
+atstype_uintptr
+atspre_g0uint_min_uintptr
+  (atstype_uintptr x1, atstype_uintptr x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_min_uintptr]
+ATSinline()
+atstype_bool
+atspre_g0uint_isltez_uintptr (atstype_uintptr x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isltez_uintptr]
+ATSinline()
+atstype_bool
+atspre_g0uint_isgtz_uintptr (atstype_uintptr x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isgtz_uintptr]
+ATSinline()
+atstype_bool
+atspre_g0uint_iseqz_uintptr (atstype_uintptr x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_iseqz_uintptr]
+ATSinline()
+atstype_bool
+atspre_g0uint_isneqz_uintptr (atstype_uintptr x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isneqz_uintptr]
+//
+#define atspre_g1uint_succ_uintptr atspre_g0uint_succ_uintptr
+#define atspre_g1uint_pred_uintptr atspre_g0uint_pred_uintptr
+#define atspre_g1uint_half_uintptr atspre_g0uint_half_uintptr
+#define atspre_g1uint_add_uintptr atspre_g0uint_add_uintptr
+#define atspre_g1uint_sub_uintptr atspre_g0uint_sub_uintptr
+#define atspre_g1uint_mul_uintptr atspre_g0uint_mul_uintptr
+#define atspre_g1uint_div_uintptr atspre_g0uint_div_uintptr
+#define atspre_g1uint_mod_uintptr atspre_g0uint_mod_uintptr
+#define atspre_g1uint_lt_uintptr atspre_g0uint_lt_uintptr
+#define atspre_g1uint_lte_uintptr atspre_g0uint_lte_uintptr
+#define atspre_g1uint_gt_uintptr atspre_g0uint_gt_uintptr
+#define atspre_g1uint_gte_uintptr atspre_g0uint_gte_uintptr
+#define atspre_g1uint_eq_uintptr atspre_g0uint_eq_uintptr
+#define atspre_g1uint_neq_uintptr atspre_g0uint_neq_uintptr
+#define atspre_g1uint_compare_uintptr atspre_g0uint_compare_uintptr
+#define atspre_g1uint_max_uintptr atspre_g0uint_max_uintptr
+#define atspre_g1uint_min_uintptr atspre_g0uint_min_uintptr
+#define atspre_g1uint_isltez_uintptr atspre_g0uint_isltez_uintptr
+#define atspre_g1uint_isgtz_uintptr atspre_g0uint_isgtz_uintptr
+#define atspre_g1uint_iseqz_uintptr atspre_g0uint_iseqz_uintptr
+#define atspre_g1uint_isneqz_uintptr atspre_g0uint_isneqz_uintptr
+//
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER_PTR
+
+/* ****** ****** */
+
+/* end of [integer_ptr.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_short.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_short.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_short.cats
@@ -0,0 +1,479 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/integer_short.atxt
+** Time of generation: Mon Jun  4 01:42:53 2018
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_INTEGER_SHORT
+#define ATSLIB_PRELUDE_CATS_INTEGER_SHORT
+
+/* ****** ****** */
+//
+#define \
+atspre_g0int2int_int_sint(x) ((atstype_sint)(x))
+#define \
+atspre_g1int2int_int_sint(x) atspre_g0int2int_int_sint(x)
+#define \
+atspre_g0uint2int_uint_sint(x) ((atstype_sint)(x))
+#define \
+atspre_g1uint2int_uint_sint(x) atspre_g0uint2int_uint_sint(x)
+//
+#define \
+atspre_g0int2uint_int_usint(x) ((atstype_usint)(x))
+#define \
+atspre_g1int2uint_int_usint(x) atspre_g0int2uint_int_usint(x)
+#define \
+atspre_g0uint2uint_uint_usint(x) ((atstype_usint)(x))
+#define \
+atspre_g1uint2uint_uint_usint(x) atspre_g0uint2uint_uint_usint(x)
+//
+/* ****** ****** */
+//
+#define \
+atspre_g0int2uint_sint_usint(x) ((atstype_usint)(x))
+#define \
+atspre_g1int2uint_sint_usint(x) atspre_g0int2uint_sint_usint(x)
+#define \
+atspre_g0uint2int_usint_sint(x) ((atstype_usint)(x))
+#define \
+atspre_g1uint2int_usint_sint(x) atspre_g0uint2int_sint_usint(x)
+//
+/* ****** ****** */
+//
+#define \
+atspre_g0int2int_sint_int(x) ((atstype_int)(x))
+#define \
+atspre_g1int2int_sint_int(x) atspre_g0int2int_sint_int(x)
+//
+#define \
+atspre_g0uint2uint_usint_uint(x) ((atstype_uint)(x))
+#define \
+atspre_g1uint2uint_usint_uint(x) atspre_g0uint2uint_usint_uint(x)
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_sint
+atspre_g0int_neg_sint
+  (atstype_sint x) { return (-x) ; }
+// end of [atspre_g0int_neg_sint]
+ATSinline()
+atstype_sint
+atspre_g0int_abs_sint
+  (atstype_sint x) { return (x >= 0 ? x : -x) ; }
+// end of [atspre_g0int_abs_sint]
+ATSinline()
+atstype_sint
+atspre_g0int_succ_sint
+  (atstype_sint x) { return (x + 1) ; }
+// end of [atspre_g0int_succ_sint]
+ATSinline()
+atstype_sint
+atspre_g0int_pred_sint
+  (atstype_sint x) { return (x - 1) ; }
+// end of [atspre_g0int_pred_sint]
+ATSinline()
+atstype_sint
+atspre_g0int_half_sint
+  (atstype_sint x) { return (x / 2) ; }
+// end of [atspre_g0int_half_sint]
+ATSinline()
+atstype_sint
+atspre_g0int_add_sint
+  (atstype_sint x1, atstype_sint x2) { return (x1 + x2) ; }
+// end of [atspre_g0int_add_sint]
+ATSinline()
+atstype_sint
+atspre_g0int_sub_sint
+  (atstype_sint x1, atstype_sint x2) { return (x1 - x2) ; }
+// end of [atspre_g0int_sub_sint]
+ATSinline()
+atstype_sint
+atspre_g0int_mul_sint
+  (atstype_sint x1, atstype_sint x2) { return (x1 * x2) ; }
+// end of [atspre_g0int_mul_sint]
+ATSinline()
+atstype_sint
+atspre_g0int_div_sint
+  (atstype_sint x1, atstype_sint x2) { return (x1 / x2) ; }
+// end of [atspre_g0int_div_sint]
+ATSinline()
+atstype_sint
+atspre_g0int_mod_sint
+  (atstype_sint x1, atstype_sint x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_mod_sint]
+ATSinline()
+atstype_sint
+atspre_g0int_nmod_sint
+  (atstype_sint x1, atstype_sint x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_nmod_sint]
+ATSinline()
+atstype_sint
+atspre_g0int_asl_sint
+  (atstype_sint x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0int_asl_sint]
+ATSinline()
+atstype_sint
+atspre_g0int_asr_sint
+  (atstype_sint x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0int_asr_sint]
+ATSinline()
+atstype_bool
+atspre_g0int_lt_sint
+(
+  atstype_sint x1, atstype_sint x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lt_sint]
+ATSinline()
+atstype_bool
+atspre_g0int_lte_sint
+(
+  atstype_sint x1, atstype_sint x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lte_sint]
+ATSinline()
+atstype_bool
+atspre_g0int_gt_sint
+(
+  atstype_sint x1, atstype_sint x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gt_sint]
+ATSinline()
+atstype_bool
+atspre_g0int_gte_sint
+(
+  atstype_sint x1, atstype_sint x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gte_sint]
+ATSinline()
+atstype_bool
+atspre_g0int_eq_sint
+(
+  atstype_sint x1, atstype_sint x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_eq_sint]
+ATSinline()
+atstype_bool
+atspre_g0int_neq_sint
+(
+  atstype_sint x1, atstype_sint x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_neq_sint]
+ATSinline()
+atstype_int
+atspre_g0int_compare_sint
+(
+  atstype_sint x1, atstype_sint x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0int_compare_sint]
+ATSinline()
+atstype_sint
+atspre_g0int_max_sint
+  (atstype_sint x1, atstype_sint x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_max_sint]
+ATSinline()
+atstype_sint
+atspre_g0int_min_sint
+  (atstype_sint x1, atstype_sint x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_min_sint]
+ATSinline()
+atstype_bool
+atspre_g0int_isltz_sint (atstype_sint x)
+{
+  return (x < 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltz_sint]
+ATSinline()
+atstype_bool
+atspre_g0int_isltez_sint (atstype_sint x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltez_sint]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtz_sint (atstype_sint x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtz_sint]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtez_sint (atstype_sint x)
+{
+  return (x >= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtez_sint]
+ATSinline()
+atstype_bool
+atspre_g0int_iseqz_sint (atstype_sint x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_iseqz_sint]
+ATSinline()
+atstype_bool
+atspre_g0int_isneqz_sint (atstype_sint x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isneqz_sint]
+//
+#define atspre_g1int_abs_sint atspre_g0int_abs_sint
+#define atspre_g1int_neg_sint atspre_g0int_neg_sint
+#define atspre_g1int_succ_sint atspre_g0int_succ_sint
+#define atspre_g1int_pred_sint atspre_g0int_pred_sint
+#define atspre_g1int_half_sint atspre_g0int_half_sint
+#define atspre_g1int_add_sint atspre_g0int_add_sint
+#define atspre_g1int_sub_sint atspre_g0int_sub_sint
+#define atspre_g1int_mul_sint atspre_g0int_mul_sint
+#define atspre_g1int_div_sint atspre_g0int_div_sint
+#define atspre_g1int_nmod_sint atspre_g0int_nmod_sint
+#define atspre_g1int_lt_sint atspre_g0int_lt_sint
+#define atspre_g1int_lte_sint atspre_g0int_lte_sint
+#define atspre_g1int_gt_sint atspre_g0int_gt_sint
+#define atspre_g1int_gte_sint atspre_g0int_gte_sint
+#define atspre_g1int_eq_sint atspre_g0int_eq_sint
+#define atspre_g1int_neq_sint atspre_g0int_neq_sint
+#define atspre_g1int_compare_sint atspre_g0int_compare_sint
+#define atspre_g1int_max_sint atspre_g0int_max_sint
+#define atspre_g1int_min_sint atspre_g0int_min_sint
+#define atspre_g1int_isltz_sint atspre_g0int_isltz_sint
+#define atspre_g1int_isltez_sint atspre_g0int_isltez_sint
+#define atspre_g1int_isgtz_sint atspre_g0int_isgtz_sint
+#define atspre_g1int_isgtez_sint atspre_g0int_isgtez_sint
+#define atspre_g1int_iseqz_sint atspre_g0int_iseqz_sint
+#define atspre_g1int_isneqz_sint atspre_g0int_isneqz_sint
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_usint
+atspre_g0uint_succ_usint
+  (atstype_usint x) { return (x + 1) ; }
+// end of [atspre_g0uint_succ_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_pred_usint
+  (atstype_usint x) { return (x - 1) ; }
+// end of [atspre_g0uint_pred_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_half_usint
+  (atstype_usint x) { return (x >> 1) ; }
+// end of [atspre_g0uint_half_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_add_usint
+  (atstype_usint x1, atstype_usint x2) { return (x1 + x2) ; }
+// end of [atspre_g0uint_add_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_sub_usint
+  (atstype_usint x1, atstype_usint x2) { return (x1 - x2) ; }
+// end of [atspre_g0uint_sub_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_mul_usint
+  (atstype_usint x1, atstype_usint x2) { return (x1 * x2) ; }
+// end of [atspre_g0uint_mul_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_div_usint
+  (atstype_usint x1, atstype_usint x2) { return (x1 / x2) ; }
+// end of [atspre_g0uint_div_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_mod_usint
+  (atstype_usint x1, atstype_usint x2) { return (x1 % x2) ; }
+// end of [atspre_g0uint_mod_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_lsl_usint
+  (atstype_usint x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0uint_lsl_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_lsr_usint
+  (atstype_usint x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0uint_lsr_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_lnot_usint
+  (atstype_usint x) { return ~(x) ; }
+// end of [atspre_g0uint_lnot_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_lor_usint
+  (atstype_usint x, atstype_usint y) { return (x | y) ; }
+// end of [atspre_g0uint_usint_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_land_usint
+  (atstype_usint x, atstype_usint y) { return (x & y) ; }
+// end of [atspre_g0uint_usint_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_lxor_usint
+  (atstype_usint x, atstype_usint y) { return (x ^ y) ; }
+// end of [atspre_g0uint_usint_usint]
+ATSinline()
+atstype_bool
+atspre_g0uint_lt_usint
+(
+  atstype_usint x1, atstype_usint x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lt_usint]
+ATSinline()
+atstype_bool
+atspre_g0uint_lte_usint
+(
+  atstype_usint x1, atstype_usint x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lte_usint]
+ATSinline()
+atstype_bool
+atspre_g0uint_gt_usint
+(
+  atstype_usint x1, atstype_usint x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gt_usint]
+ATSinline()
+atstype_bool
+atspre_g0uint_gte_usint
+(
+  atstype_usint x1, atstype_usint x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gte_usint]
+ATSinline()
+atstype_bool
+atspre_g0uint_eq_usint
+(
+  atstype_usint x1, atstype_usint x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_eq_usint]
+ATSinline()
+atstype_bool
+atspre_g0uint_neq_usint
+(
+  atstype_usint x1, atstype_usint x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_neq_usint]
+ATSinline()
+atstype_int
+atspre_g0uint_compare_usint
+(
+  atstype_usint x1, atstype_usint x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0uint_compare_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_max_usint
+  (atstype_usint x1, atstype_usint x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_max_usint]
+ATSinline()
+atstype_usint
+atspre_g0uint_min_usint
+  (atstype_usint x1, atstype_usint x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_min_usint]
+ATSinline()
+atstype_bool
+atspre_g0uint_isltez_usint (atstype_usint x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isltez_usint]
+ATSinline()
+atstype_bool
+atspre_g0uint_isgtz_usint (atstype_usint x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isgtz_usint]
+ATSinline()
+atstype_bool
+atspre_g0uint_iseqz_usint (atstype_usint x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_iseqz_usint]
+ATSinline()
+atstype_bool
+atspre_g0uint_isneqz_usint (atstype_usint x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isneqz_usint]
+//
+#define atspre_g1uint_succ_usint atspre_g0uint_succ_usint
+#define atspre_g1uint_pred_usint atspre_g0uint_pred_usint
+#define atspre_g1uint_half_usint atspre_g0uint_half_usint
+#define atspre_g1uint_add_usint atspre_g0uint_add_usint
+#define atspre_g1uint_sub_usint atspre_g0uint_sub_usint
+#define atspre_g1uint_mul_usint atspre_g0uint_mul_usint
+#define atspre_g1uint_div_usint atspre_g0uint_div_usint
+#define atspre_g1uint_mod_usint atspre_g0uint_mod_usint
+#define atspre_g1uint_lt_usint atspre_g0uint_lt_usint
+#define atspre_g1uint_lte_usint atspre_g0uint_lte_usint
+#define atspre_g1uint_gt_usint atspre_g0uint_gt_usint
+#define atspre_g1uint_gte_usint atspre_g0uint_gte_usint
+#define atspre_g1uint_eq_usint atspre_g0uint_eq_usint
+#define atspre_g1uint_neq_usint atspre_g0uint_neq_usint
+#define atspre_g1uint_compare_usint atspre_g0uint_compare_usint
+#define atspre_g1uint_max_usint atspre_g0uint_max_usint
+#define atspre_g1uint_min_usint atspre_g0uint_min_usint
+#define atspre_g1uint_isltez_usint atspre_g0uint_isltez_usint
+#define atspre_g1uint_isgtz_usint atspre_g0uint_isgtz_usint
+#define atspre_g1uint_iseqz_usint atspre_g0uint_iseqz_usint
+#define atspre_g1uint_isneqz_usint atspre_g0uint_isneqz_usint
+//
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER_SHORT
+
+/* ****** ****** */
+
+/* end of [integer_short.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_size.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_size.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/integer_size.cats
@@ -0,0 +1,533 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/integer_size.atxt
+** Time of generation: Mon Jun  4 01:42:52 2018
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_INTEGER_SIZE
+#define ATSLIB_PRELUDE_CATS_INTEGER_SIZE
+
+/* ****** ****** */
+//
+#define \
+atspre_g0int2uint_int_size(x) ((atstype_size)(x))
+#define \
+atspre_g1int2uint_int_size(x) atspre_g0int2uint_int_size(x)
+#define \
+atspre_g0uint2uint_uint_size(x) ((atstype_size)(x))
+#define \
+atspre_g1uint2uint_uint_size(x) atspre_g0uint2uint_uint_size(x)
+//
+#define \
+atspre_g0int2int_int_ssize(x) ((atstype_ssize)(x))
+#define \
+atspre_g1int2int_int_ssize(x) atspre_g0int2int_int_ssize(x)
+#define \
+atspre_g0uint2int_uint_ssize(x) ((atstype_ssize)(x))
+#define \
+atspre_g1uint2int_uint_ssize(x) atspre_g0uint2int_uint_ssize(x)
+//
+/* ****** ****** */
+//
+#define \
+atspre_g0int2uint_lint_size(x) ((atstype_size)(x))
+#define \
+atspre_g1int2uint_lint_size(x) atspre_g0int2uint_lint_size(x)
+#define \
+atspre_g0uint2uint_ulint_size(x) ((atstype_size)(x))
+#define \
+atspre_g1uint2uint_ulint_size(x) atspre_g0uint2uint_ulint_size(x)
+//
+/* ****** ****** */
+//
+#define \
+atspre_g0int2int_lint_ssize(ssz) ((atstype_ssize)(ssz))
+#define \
+atspre_g1int2int_lint_ssize(ssz) atspre_g0int2int_lint_ssize(ssz)
+//
+/* ****** ****** */
+//
+#define \
+atspre_g0uint2int_size_int(sz) ((atstype_int)(sz))
+#define \
+atspre_g1uint2int_size_int(sz) atspre_g0uint2int_size_int(sz)
+//
+#define \
+atspre_g0uint2uint_size_uint(sz) ((atstype_uint)(sz))
+#define \
+atspre_g1uint2uint_size_uint(sz) atspre_g0uint2uint_size_uint(sz)
+//
+#define \
+atspre_g0uint2uint_size_size(sz) ((atstype_size)(sz))
+#define \
+atspre_g1uint2uint_size_size(sz) atspre_g0uint2uint_size_size(sz)
+//
+/* ****** ****** */
+//
+#define \
+atspre_g0int2int_ssize_int(ssz) ((atstype_int)(ssz))
+#define \
+atspre_g1int2int_ssize_int(ssz) atspre_g0int2int_ssize_int(ssz)
+//
+#define \
+atspre_g0int2uint_ssize_uint(ssz) ((atstype_uint)(ssz))
+#define \
+atspre_g1int2uint_ssize_uint(ssz) atspre_g0int2uint_ssize_uint(ssz)
+//
+#define \
+atspre_g0int2int_ssize_ssize(ssz) ((atstype_ssize)(ssz))
+#define \
+atspre_g1int2int_ssize_ssize(ssz) atspre_g0int2int_ssize_ssize(ssz)
+//
+/* ****** ****** */
+//
+#define \
+atspre_g0uint2int_size_ssize(sz) ((atstype_ssize)(sz))
+#define \
+atspre_g1uint2int_size_ssize(sz) atspre_g0uint2int_size_ssize(sz)
+#define \
+atspre_g0int2uint_ssize_size(ssz) ((atstype_size)(ssz))
+#define \
+atspre_g1int2uint_ssize_size(ssz) atspre_g0int2uint_ssize_size(ssz)
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_size
+atspre_g0uint_succ_size
+  (atstype_size x) { return (x + 1) ; }
+// end of [atspre_g0uint_succ_size]
+ATSinline()
+atstype_size
+atspre_g0uint_pred_size
+  (atstype_size x) { return (x - 1) ; }
+// end of [atspre_g0uint_pred_size]
+ATSinline()
+atstype_size
+atspre_g0uint_half_size
+  (atstype_size x) { return (x >> 1) ; }
+// end of [atspre_g0uint_half_size]
+ATSinline()
+atstype_size
+atspre_g0uint_add_size
+  (atstype_size x1, atstype_size x2) { return (x1 + x2) ; }
+// end of [atspre_g0uint_add_size]
+ATSinline()
+atstype_size
+atspre_g0uint_sub_size
+  (atstype_size x1, atstype_size x2) { return (x1 - x2) ; }
+// end of [atspre_g0uint_sub_size]
+ATSinline()
+atstype_size
+atspre_g0uint_mul_size
+  (atstype_size x1, atstype_size x2) { return (x1 * x2) ; }
+// end of [atspre_g0uint_mul_size]
+ATSinline()
+atstype_size
+atspre_g0uint_div_size
+  (atstype_size x1, atstype_size x2) { return (x1 / x2) ; }
+// end of [atspre_g0uint_div_size]
+ATSinline()
+atstype_size
+atspre_g0uint_mod_size
+  (atstype_size x1, atstype_size x2) { return (x1 % x2) ; }
+// end of [atspre_g0uint_mod_size]
+ATSinline()
+atstype_size
+atspre_g0uint_lsl_size
+  (atstype_size x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0uint_lsl_size]
+ATSinline()
+atstype_size
+atspre_g0uint_lsr_size
+  (atstype_size x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0uint_lsr_size]
+ATSinline()
+atstype_size
+atspre_g0uint_lnot_size
+  (atstype_size x) { return ~(x) ; }
+// end of [atspre_g0uint_lnot_size]
+ATSinline()
+atstype_size
+atspre_g0uint_lor_size
+  (atstype_size x, atstype_size y) { return (x | y) ; }
+// end of [atspre_g0uint_size_size]
+ATSinline()
+atstype_size
+atspre_g0uint_land_size
+  (atstype_size x, atstype_size y) { return (x & y) ; }
+// end of [atspre_g0uint_size_size]
+ATSinline()
+atstype_size
+atspre_g0uint_lxor_size
+  (atstype_size x, atstype_size y) { return (x ^ y) ; }
+// end of [atspre_g0uint_size_size]
+ATSinline()
+atstype_bool
+atspre_g0uint_lt_size
+(
+  atstype_size x1, atstype_size x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lt_size]
+ATSinline()
+atstype_bool
+atspre_g0uint_lte_size
+(
+  atstype_size x1, atstype_size x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_lte_size]
+ATSinline()
+atstype_bool
+atspre_g0uint_gt_size
+(
+  atstype_size x1, atstype_size x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gt_size]
+ATSinline()
+atstype_bool
+atspre_g0uint_gte_size
+(
+  atstype_size x1, atstype_size x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_gte_size]
+ATSinline()
+atstype_bool
+atspre_g0uint_eq_size
+(
+  atstype_size x1, atstype_size x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_eq_size]
+ATSinline()
+atstype_bool
+atspre_g0uint_neq_size
+(
+  atstype_size x1, atstype_size x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_neq_size]
+ATSinline()
+atstype_int
+atspre_g0uint_compare_size
+(
+  atstype_size x1, atstype_size x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0uint_compare_size]
+ATSinline()
+atstype_size
+atspre_g0uint_max_size
+  (atstype_size x1, atstype_size x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_max_size]
+ATSinline()
+atstype_size
+atspre_g0uint_min_size
+  (atstype_size x1, atstype_size x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0uint_min_size]
+ATSinline()
+atstype_bool
+atspre_g0uint_isltez_size (atstype_size x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isltez_size]
+ATSinline()
+atstype_bool
+atspre_g0uint_isgtz_size (atstype_size x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isgtz_size]
+ATSinline()
+atstype_bool
+atspre_g0uint_iseqz_size (atstype_size x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_iseqz_size]
+ATSinline()
+atstype_bool
+atspre_g0uint_isneqz_size (atstype_size x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0uint_isneqz_size]
+//
+#define atspre_g1uint_succ_size atspre_g0uint_succ_size
+#define atspre_g1uint_pred_size atspre_g0uint_pred_size
+#define atspre_g1uint_half_size atspre_g0uint_half_size
+#define atspre_g1uint_add_size atspre_g0uint_add_size
+#define atspre_g1uint_sub_size atspre_g0uint_sub_size
+#define atspre_g1uint_mul_size atspre_g0uint_mul_size
+#define atspre_g1uint_div_size atspre_g0uint_div_size
+#define atspre_g1uint_mod_size atspre_g0uint_mod_size
+#define atspre_g1uint_lt_size atspre_g0uint_lt_size
+#define atspre_g1uint_lte_size atspre_g0uint_lte_size
+#define atspre_g1uint_gt_size atspre_g0uint_gt_size
+#define atspre_g1uint_gte_size atspre_g0uint_gte_size
+#define atspre_g1uint_eq_size atspre_g0uint_eq_size
+#define atspre_g1uint_neq_size atspre_g0uint_neq_size
+#define atspre_g1uint_compare_size atspre_g0uint_compare_size
+#define atspre_g1uint_max_size atspre_g0uint_max_size
+#define atspre_g1uint_min_size atspre_g0uint_min_size
+#define atspre_g1uint_isltez_size atspre_g0uint_isltez_size
+#define atspre_g1uint_isgtz_size atspre_g0uint_isgtz_size
+#define atspre_g1uint_iseqz_size atspre_g0uint_iseqz_size
+#define atspre_g1uint_isneqz_size atspre_g0uint_isneqz_size
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_ssize
+atspre_g0int_neg_ssize
+  (atstype_ssize x) { return (-x) ; }
+// end of [atspre_g0int_neg_ssize]
+ATSinline()
+atstype_ssize
+atspre_g0int_abs_ssize
+  (atstype_ssize x) { return (x >= 0 ? x : -x) ; }
+// end of [atspre_g0int_abs_ssize]
+ATSinline()
+atstype_ssize
+atspre_g0int_succ_ssize
+  (atstype_ssize x) { return (x + 1) ; }
+// end of [atspre_g0int_succ_ssize]
+ATSinline()
+atstype_ssize
+atspre_g0int_pred_ssize
+  (atstype_ssize x) { return (x - 1) ; }
+// end of [atspre_g0int_pred_ssize]
+ATSinline()
+atstype_ssize
+atspre_g0int_half_ssize
+  (atstype_ssize x) { return (x / 2) ; }
+// end of [atspre_g0int_half_ssize]
+ATSinline()
+atstype_ssize
+atspre_g0int_add_ssize
+  (atstype_ssize x1, atstype_ssize x2) { return (x1 + x2) ; }
+// end of [atspre_g0int_add_ssize]
+ATSinline()
+atstype_ssize
+atspre_g0int_sub_ssize
+  (atstype_ssize x1, atstype_ssize x2) { return (x1 - x2) ; }
+// end of [atspre_g0int_sub_ssize]
+ATSinline()
+atstype_ssize
+atspre_g0int_mul_ssize
+  (atstype_ssize x1, atstype_ssize x2) { return (x1 * x2) ; }
+// end of [atspre_g0int_mul_ssize]
+ATSinline()
+atstype_ssize
+atspre_g0int_div_ssize
+  (atstype_ssize x1, atstype_ssize x2) { return (x1 / x2) ; }
+// end of [atspre_g0int_div_ssize]
+ATSinline()
+atstype_ssize
+atspre_g0int_mod_ssize
+  (atstype_ssize x1, atstype_ssize x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_mod_ssize]
+ATSinline()
+atstype_ssize
+atspre_g0int_nmod_ssize
+  (atstype_ssize x1, atstype_ssize x2) { return (x1 % x2) ; }
+// end of [atspre_g0int_nmod_ssize]
+ATSinline()
+atstype_ssize
+atspre_g0int_asl_ssize
+  (atstype_ssize x, atstype_int n) { return (x << n) ; }
+// end of [atspre_g0int_asl_ssize]
+ATSinline()
+atstype_ssize
+atspre_g0int_asr_ssize
+  (atstype_ssize x, atstype_int n) { return (x >> n) ; }
+// end of [atspre_g0int_asr_ssize]
+ATSinline()
+atstype_bool
+atspre_g0int_lt_ssize
+(
+  atstype_ssize x1, atstype_ssize x2
+) {
+  return (x1 < x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lt_ssize]
+ATSinline()
+atstype_bool
+atspre_g0int_lte_ssize
+(
+  atstype_ssize x1, atstype_ssize x2
+) {
+  return (x1 <= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_lte_ssize]
+ATSinline()
+atstype_bool
+atspre_g0int_gt_ssize
+(
+  atstype_ssize x1, atstype_ssize x2
+) {
+  return (x1 > x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gt_ssize]
+ATSinline()
+atstype_bool
+atspre_g0int_gte_ssize
+(
+  atstype_ssize x1, atstype_ssize x2
+) {
+  return (x1 >= x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_gte_ssize]
+ATSinline()
+atstype_bool
+atspre_g0int_eq_ssize
+(
+  atstype_ssize x1, atstype_ssize x2
+) {
+  return (x1 == x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_eq_ssize]
+ATSinline()
+atstype_bool
+atspre_g0int_neq_ssize
+(
+  atstype_ssize x1, atstype_ssize x2
+) {
+  return (x1 != x2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_neq_ssize]
+ATSinline()
+atstype_int
+atspre_g0int_compare_ssize
+(
+  atstype_ssize x1, atstype_ssize x2
+) {
+  if (x1 < x2) return -1 ; else if (x1 > x2) return 1 ; else return 0 ;
+} // end of [atspre_g0int_compare_ssize]
+ATSinline()
+atstype_ssize
+atspre_g0int_max_ssize
+  (atstype_ssize x1, atstype_ssize x2) { return (x1 >= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_max_ssize]
+ATSinline()
+atstype_ssize
+atspre_g0int_min_ssize
+  (atstype_ssize x1, atstype_ssize x2) { return (x1 <= x2 ? x1 : x2) ; }
+// end of [atspre_g0int_min_ssize]
+ATSinline()
+atstype_bool
+atspre_g0int_isltz_ssize (atstype_ssize x)
+{
+  return (x < 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltz_ssize]
+ATSinline()
+atstype_bool
+atspre_g0int_isltez_ssize (atstype_ssize x)
+{
+  return (x <= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isltez_ssize]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtz_ssize (atstype_ssize x)
+{
+  return (x > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtz_ssize]
+ATSinline()
+atstype_bool
+atspre_g0int_isgtez_ssize (atstype_ssize x)
+{
+  return (x >= 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isgtez_ssize]
+ATSinline()
+atstype_bool
+atspre_g0int_iseqz_ssize (atstype_ssize x)
+{
+  return (x == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_iseqz_ssize]
+ATSinline()
+atstype_bool
+atspre_g0int_isneqz_ssize (atstype_ssize x)
+{
+  return (x != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_g0int_isneqz_ssize]
+//
+#define atspre_g1int_abs_ssize atspre_g0int_abs_ssize
+#define atspre_g1int_neg_ssize atspre_g0int_neg_ssize
+#define atspre_g1int_succ_ssize atspre_g0int_succ_ssize
+#define atspre_g1int_pred_ssize atspre_g0int_pred_ssize
+#define atspre_g1int_half_ssize atspre_g0int_half_ssize
+#define atspre_g1int_add_ssize atspre_g0int_add_ssize
+#define atspre_g1int_sub_ssize atspre_g0int_sub_ssize
+#define atspre_g1int_mul_ssize atspre_g0int_mul_ssize
+#define atspre_g1int_div_ssize atspre_g0int_div_ssize
+#define atspre_g1int_nmod_ssize atspre_g0int_nmod_ssize
+#define atspre_g1int_lt_ssize atspre_g0int_lt_ssize
+#define atspre_g1int_lte_ssize atspre_g0int_lte_ssize
+#define atspre_g1int_gt_ssize atspre_g0int_gt_ssize
+#define atspre_g1int_gte_ssize atspre_g0int_gte_ssize
+#define atspre_g1int_eq_ssize atspre_g0int_eq_ssize
+#define atspre_g1int_neq_ssize atspre_g0int_neq_ssize
+#define atspre_g1int_compare_ssize atspre_g0int_compare_ssize
+#define atspre_g1int_max_ssize atspre_g0int_max_ssize
+#define atspre_g1int_min_ssize atspre_g0int_min_ssize
+#define atspre_g1int_isltz_ssize atspre_g0int_isltz_ssize
+#define atspre_g1int_isltez_ssize atspre_g0int_isltez_ssize
+#define atspre_g1int_isgtz_ssize atspre_g0int_isgtz_ssize
+#define atspre_g1int_isgtez_ssize atspre_g0int_isgtez_ssize
+#define atspre_g1int_iseqz_ssize atspre_g0int_iseqz_ssize
+#define atspre_g1int_isneqz_ssize atspre_g0int_isneqz_ssize
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_size
+atspre_g0string2uint_size
+  (atstype_string inp)
+  { return strtoul((char*)inp, NULL, 10) ; }
+//
+ATSinline()
+atstype_ssize
+atspre_g0string2int_ssize
+  (atstype_string inp) { return atol((char*)inp) ; }
+//
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_INTEGER_SIZE
+
+/* ****** ****** */
+
+/* end of [integer_size.cats] */
+
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/list.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/list.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/list.cats
@@ -0,0 +1,55 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/list.atxt
+** Time of generation: Mon Jun  4 01:42:55 2018
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_LIST
+#define ATSLIB_PRELUDE_CATS_LIST
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_LIST
+
+/* ****** ****** */
+
+/* end of [list.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/matrix.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/matrix.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/matrix.cats
@@ -0,0 +1,55 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/matrix.atxt
+** Time of generation: Mon Jun  4 01:42:56 2018
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_MATRIX
+#define ATSLIB_PRELUDE_CATS_MATRIX
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_MATRIX
+
+/* ****** ****** */
+
+/* end of [matrix.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/matrixptr.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/matrixptr.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/matrixptr.cats
@@ -0,0 +1,64 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/matrixptr.atxt
+** Time of generation: Mon Jun  4 01:42:56 2018
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_MATRIXPTR
+#define ATSLIB_PRELUDE_CATS_MATRIXPTR
+
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_matrixptr_free
+  (atstype_arrptr ptr) { ATS_MFREE (ptr) ; return ; }
+// end of [atspre_matrixptr_free]
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_MATRIXPTR
+
+/* ****** ****** */
+
+/* end of [matrixptr.cats] */
+
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/memory.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/memory.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/memory.cats
@@ -0,0 +1,72 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/memory.atxt
+** Time of generation: Mon Jun  4 01:42:54 2018
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_MEMORY
+#define ATSLIB_PRELUDE_CATS_MEMORY
+
+/* ****** ****** */
+
+#define atspre_minit_gc ATS_MINIT
+
+/* ****** ****** */
+
+#define atspre_mfree_gc ATS_MFREE
+
+/* ****** ****** */
+
+#define atspre_malloc_gc ATS_MALLOC
+
+/* ****** ****** */
+
+#define atspre_calloc_gc ATS_CALLOC
+#define atspre_realloc_gc ATS_REALLOC
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_MEMORY
+
+/* ****** ****** */
+
+/* end of [memory.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/option.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/option.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/option.cats
@@ -0,0 +1,55 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/option.atxt
+** Time of generation: Mon Jun  4 01:42:55 2018
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: January, 2013 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_OPTION
+#define ATSLIB_PRELUDE_CATS_OPTION
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_OPTION
+
+/* ****** ****** */
+
+/* end of [option.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/pointer.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/pointer.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/pointer.cats
@@ -0,0 +1,254 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/pointer.atxt
+** Time of generation: Mon Jun  4 01:42:52 2018
+*/
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: hwxi AT cs DOT bu DOT edu *)
+(* Start time: February, 2012 *)
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_POINTER
+#define ATSLIB_PRELUDE_CATS_POINTER
+
+/* ****** ****** */
+
+#ifndef memset
+extern
+void *memset(void *bufp, int c, size_t n) ;
+#endif // #ifndef
+
+/* ****** ****** */
+
+ATSinline()
+atstype_ptr
+atspre_ptr_null () { return (void*)0 ; }
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_ptr_is_null
+  (atstype_ptr p) {
+  return (p == (void*)0) ? atsbool_true : atsbool_false ;
+} // end of [atspre_ptr_is_null]
+#define atspre_ptr0_is_null atspre_ptr_is_null
+#define atspre_ptr1_is_null atspre_ptr_is_null
+
+ATSinline()
+atstype_bool
+atspre_ptr_isnot_null
+  (atstype_ptr p) {
+  return (p != (void*)0) ? atsbool_true : atsbool_false ;
+} // end of [atspre_ptr_isnot_null]
+#define atspre_ptr0_isnot_null atspre_ptr_isnot_null
+#define atspre_ptr1_isnot_null atspre_ptr_isnot_null
+
+/* ****** ****** */
+
+ATSinline()
+atstype_ptr
+atspre_add_ptr_bsz
+  (atstype_ptr p, atstype_size ofs) { return ((char*)p + ofs) ; }
+// end of [atspre_add_ptr_bsz]
+#define atspre_add_ptr0_bsz atspre_add_ptr_bsz
+#define atspre_add_ptr1_bsz atspre_add_ptr_bsz
+
+ATSinline()
+atstype_ptr
+atspre_sub_ptr_bsz
+  (atstype_ptr p, atstype_size ofs) { return ((char*)p - ofs) ; }
+// end of [atspre_sub_ptr_bsz]
+#define atspre_sub_ptr0_bsz atspre_sub_ptr_bsz
+#define atspre_sub_ptr1_bsz atspre_sub_ptr_bsz
+
+/* ****** ****** */
+
+ATSinline()
+atstype_ssize
+atspre_sub_ptr_ptr
+  (atstype_ptr p1, atstype_ptr p2) { return ((char*)p1 - (char*)p2) ; }
+// end of [atspre_sub_ptr_ptr]
+#define atspre_sub_ptr0_ptr0 atspre_sub_ptr_ptr
+#define atspre_sub_ptr1_ptr1 atspre_sub_ptr_ptr
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_lt_ptr_ptr
+  (atstype_ptr p1, atstype_ptr p2) {
+  return (p1 < p2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_lt_ptr_ptr]
+#define atspre_lt_ptr0_ptr0 atspre_lt_ptr_ptr
+#define atspre_lt_ptr1_ptr1 atspre_lt_ptr_ptr
+
+ATSinline()
+atstype_bool
+atspre_lte_ptr_ptr
+  (atstype_ptr p1, atstype_ptr p2) {
+  return (p1 <= p2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_lte_ptr_ptr]
+#define atspre_lte_ptr0_ptr0 atspre_lte_ptr_ptr
+#define atspre_lte_ptr1_ptr1 atspre_lte_ptr_ptr
+
+ATSinline()
+atstype_bool
+atspre_gt_ptr_ptr
+  (atstype_ptr p1, atstype_ptr p2) {
+  return (p1 > p2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_gt_ptr_ptr]
+#define atspre_gt_ptr0_ptr0 atspre_gt_ptr_ptr
+#define atspre_gt_ptr1_ptr1 atspre_gt_ptr_ptr
+
+ATSinline()
+atstype_bool
+atspre_gte_ptr_ptr
+  (atstype_ptr p1, atstype_ptr p2) {
+  return (p1 >= p2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_gte_ptr_ptr]
+#define atspre_gte_ptr0_ptr0 atspre_gte_ptr_ptr
+#define atspre_gte_ptr1_ptr1 atspre_gte_ptr_ptr
+
+ATSinline()
+atstype_bool
+atspre_eq_ptr_ptr
+  (atstype_ptr p1, atstype_ptr p2) {
+  return (p1 == p2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_eq_ptr_ptr]
+#define atspre_eq_ptr0_ptr0 atspre_eq_ptr_ptr
+#define atspre_eq_ptr1_ptr1 atspre_eq_ptr_ptr
+
+ATSinline()
+atstype_bool
+atspre_neq_ptr_ptr
+  (atstype_ptr p1, atstype_ptr p2) {
+  return (p1 != p2 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_neq_ptr_ptr]
+#define atspre_neq_ptr0_ptr0 atspre_neq_ptr_ptr
+#define atspre_neq_ptr1_ptr1 atspre_neq_ptr_ptr
+
+
+ATSinline()
+atstype_int
+atspre_compare_ptr_ptr
+(
+  atstype_ptr p1, atstype_ptr p2
+) {
+  if (p1 >= p2) {
+    if (p1 > p2) return 1 ; else return 0 ;
+  } else return (-1) ;
+} // end of [atspre_compare_ptr_ptr]
+#define atspre_compare_ptr0_ptr0 atspre_compare_ptr_ptr
+#define atspre_compare_ptr1_ptr1 atspre_compare_ptr_ptr
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_gt_ptr_intz
+  (atstype_ptr p, atstype_int _)
+{
+  return (p > 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_gt_ptr_intz]
+#define atspre_gt_ptr0_intz atspre_gt_ptr_intz
+#define atspre_gt_ptr1_intz atspre_gt_ptr_intz
+
+ATSinline()
+atstype_bool
+atspre_eq_ptr_intz
+  (atstype_ptr p, atstype_int _)
+{
+  return (p == 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_eq_ptr_intz]
+#define atspre_eq_ptr0_intz atspre_eq_ptr_intz
+#define atspre_eq_ptr1_intz atspre_eq_ptr_intz
+  
+ATSinline()
+atstype_bool
+atspre_neq_ptr_intz
+  (atstype_ptr p, atstype_int _)
+{
+  return (p != 0 ? atsbool_true : atsbool_false) ;
+} // end of [atspre_neq_ptr_intz]
+#define atspre_neq_ptr0_intz atspre_neq_ptr_intz
+#define atspre_neq_ptr1_intz atspre_neq_ptr_intz
+
+/* ****** ****** */
+//
+#define atspre_aptr_null() atsptr_null
+//
+#define atspre_aptr_is_null atspre_ptr_is_null
+#define atspre_aptr_isnot_null atspre_ptr_isnot_null
+//
+/* ****** ****** */
+//
+#define atspre_cptr_null() atsptr_null
+//
+#define atspre_cptr_is_null atspre_ptr_is_null
+#define atspre_cptr_isnot_null atspre_ptr_isnot_null
+//
+/* ****** ****** */
+
+#define atspre_gt_cptr_intz atspre_gt_ptr_intz
+#define atspre_eq_cptr_intz atspre_eq_ptr_intz
+#define atspre_neq_cptr_intz atspre_neq_ptr_intz
+
+/* ****** ****** */
+//
+#define atspre_ptr_free atspre_mfree_gc
+#define atspre_ptr_alloc_tsz atspre_malloc_gc
+//
+/* ****** ****** */
+
+ATSinline()
+atsvoid_t0ype
+atspre_ptr_nullize_tsz
+(
+  atstype_ptr p, atstype_size tsz
+) {
+  memset (p, 0, tsz) ; return /*void*/ ;
+} // end of [atspre_ptr_nullize_tsz]
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_POINTER
+
+/* ****** ****** */
+
+/* end of [pointer.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/string.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/string.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/string.cats
@@ -0,0 +1,262 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: April, 2012 *)
+*/
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/string.atxt
+** Time of generation: Mon Jun  4 01:42:53 2018
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_STRING
+#define ATSLIB_PRELUDE_CATS_STRING
+
+/* ****** ****** */
+//
+// [string.h]
+//
+extern
+size_t strlen (const char *str) ;
+extern
+int // (sign)
+strcmp (const char *x1, const char *x2) ;
+//
+extern
+char *strchr(const char *str1, int c2) ;
+extern
+char *strrchr(const char *str1, int c2) ;
+extern
+char *strstr(const char *str1, const char *str2) ;
+//
+extern
+size_t strspn(const char *str1, const char *acc2) ;
+extern
+size_t strcspn(const char *str1, const char *rej2) ;
+//
+#ifndef memcpy
+extern
+void *memcpy(void *dest, const void *src, size_t n) ;
+#endif // #ifndef
+//
+/* ****** ****** */
+
+#define atspre_stropt_none() atsptr_null
+
+/* ****** ****** */
+
+ATSinline()
+atstype_bool
+atspre_lt_string_string
+(
+  atstype_string x1, atstype_string x2
+) {
+  int sgn = strcmp((char*)x1, (char*)x2) ;
+  return (sgn < 0 ? atsbool_true : atsbool_false) ;
+} // [atspre_lt_string_string]
+
+ATSinline()
+atstype_bool
+atspre_lte_string_string
+(
+  atstype_string x1, atstype_string x2
+) {
+  int sgn = strcmp((char*)x1, (char*)x2) ;
+  return (sgn <= 0 ? atsbool_true : atsbool_false) ;
+} // [atspre_lte_string_string]
+
+ATSinline()
+atstype_bool
+atspre_gt_string_string
+(
+  atstype_string x1, atstype_string x2
+) {
+  int sgn = strcmp((char*)x1, (char*)x2) ;
+  return (sgn > 0 ? atsbool_true : atsbool_false) ;
+} // [atspre_gt_string_string]
+
+ATSinline()
+atstype_bool
+atspre_gte_string_string
+(
+  atstype_string x1, atstype_string x2
+) {
+  int sgn = strcmp((char*)x1, (char*)x2) ;
+  return (sgn >= 0 ? atsbool_true : atsbool_false) ;
+} // [atspre_gte_string_string]
+
+ATSinline()
+atstype_bool
+atspre_eq_string_string
+(
+  atstype_string x1, atstype_string x2
+) {
+  int sgn = strcmp((char*)x1, (char*)x2) ;
+  return (sgn == 0 ? atsbool_true : atsbool_false) ;
+} // [atspre_eq_string_string]
+
+ATSinline()
+atstype_bool
+atspre_neq_string_string
+(
+  atstype_string x1, atstype_string x2
+) {
+  int sgn = strcmp((char*)x1, (char*)x2) ;
+  return (sgn != 0 ? atsbool_true : atsbool_false) ;
+} // [atspre_neq_string_string]
+
+/* ****** ****** */
+
+#define atspre_string_equal atspre_eq_string_string
+#define atspre_string_noteq atspre_neq_string_string
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_compare_string_string
+(
+  atstype_string x1, atstype_string x2
+) {
+  return atspre_int2sgn(strcmp((char*)x1, (char*)x2)) ;
+} // [atspre_compare_string_string]
+
+/* ****** ****** */
+
+#define atspre_strcmp strcmp
+#define atspre_strlen strlen
+#define atspre_strchr strchr
+#define atspre_strrchr strrchr
+#define atspre_strstr strstr
+#define atspre_strspn strspn
+#define atspre_strcspn strcspn
+
+#define atspre_string_memcpy memcpy
+
+/* ****** ****** */
+//
+// HX-2013-09: declared in [stdio.h]
+//
+#ifndef snprintf
+extern
+int snprintf (char *str, size_t size, const char *format, ...) ;
+#endif // end of [ifndef]
+//
+/* ****** ****** */
+//
+ATSinline()
+atstype_string
+atspre_g0int2string_int
+  (atstype_int x)
+{
+  size_t n0 ;
+  char *res ;
+  size_t ntot ;
+  n0 = 4 ;
+  res = ATS_MALLOC(n0) ;
+  ntot = snprintf(res, n0, "%i", x) ;
+  if (ntot >= n0)
+  {
+    ATS_MFREE(res) ;
+    res = (char*)ATS_MALLOC(ntot+1) ;
+    ntot = snprintf(res, ntot+1, "%i", x) ;
+  }
+  return res ;
+}
+//
+ATSinline()
+atstype_string
+atspre_g0int2string_lint
+  (atstype_lint x)
+{
+  size_t n0 ;
+  char *res ;
+  size_t ntot ;
+  n0 = 4 ;
+  res = ATS_MALLOC(n0) ;
+  ntot = snprintf(res, n0, "%li", x) ;
+  if (ntot >= n0)
+  {
+    ATS_MFREE(res) ;
+    res = (char*)ATS_MALLOC(ntot+1) ;
+    ntot = snprintf(res, ntot+1, "%li", x) ;
+  }
+  return res ;
+}
+//
+ATSinline()
+atstype_string
+atspre_g0int2string_llint
+  (atstype_llint x)
+{
+  size_t n0 ;
+  char *res ;
+  size_t ntot ;
+  n0 = 8 ;
+  res = ATS_MALLOC(n0) ;
+  ntot = snprintf(res, n0, "%lli", x) ;
+  if (ntot >= n0)
+  {
+    ATS_MFREE(res) ;
+    res = (char*)ATS_MALLOC(ntot+1) ;
+    ntot = snprintf(res, ntot+1, "%lli", x) ;
+  }
+  return res ;
+}
+//
+/* ****** ****** */
+//
+#include <stdarg.h>
+//
+// HX-2013-11:
+// these are implemented in [string.dats]
+//
+extern
+atstype_string // Strptr0
+atspre_string_make_snprintf(atstype_string fmt, ...) ;
+extern
+atstype_string // Strptr0
+atspre_string_make_vsnprintf
+  (atstype_size bsz0, atstype_string fmt, va_list ap0) ;
+//
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_STRING
+
+/* ****** ****** */
+
+/* end of [string.cats] */
diff --git a/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/strptr.cats b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/strptr.cats
new file mode 100644
--- /dev/null
+++ b/.atspkg/contrib/ats-includes-0.3.11/prelude/CATS/strptr.cats
@@ -0,0 +1,94 @@
+/***********************************************************************/
+/*                                                                     */
+/*                         Applied Type System                         */
+/*                                                                     */
+/***********************************************************************/
+
+/* (*
+** ATS/Postiats - Unleashing the Potential of Types!
+** Copyright (C) 2010-2013 Hongwei Xi, ATS Trustful Software, Inc.
+** All rights reserved
+**
+** ATS is free software;  you can  redistribute it and/or modify it under
+** the terms of  the GNU GENERAL PUBLIC LICENSE (GPL) as published by the
+** Free Software Foundation; either version 3, or (at  your  option)  any
+** later version.
+**
+** ATS is distributed in the hope that it will be useful, but WITHOUT ANY
+** WARRANTY; without  even  the  implied  warranty  of MERCHANTABILITY or
+** FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
+** for more details.
+**
+** You  should  have  received  a  copy of the GNU General Public License
+** along  with  ATS;  see the  file COPYING.  If not, please write to the
+** Free Software Foundation,  51 Franklin Street, Fifth Floor, Boston, MA
+** 02110-1301, USA.
+*) */
+
+/* ****** ****** */
+
+/*
+(* Author: Hongwei Xi *)
+(* Authoremail: gmhwxiATgmailDOTcom *)
+(* Start time: March, 2013 *)
+*/
+
+/* ****** ****** */
+
+/*
+** Source:
+** $PATSHOME/prelude/CATS/CODEGEN/strptr.atxt
+** Time of generation: Mon Jun  4 01:42:53 2018
+*/
+
+/* ****** ****** */
+
+#ifndef ATSLIB_PRELUDE_CATS_STRPTR
+#define ATSLIB_PRELUDE_CATS_STRPTR
+
+/* ****** ****** */
+//
+// [string.h]
+//
+extern
+int // (sign)
+strcmp(const char *x1, const char *x2) ;
+
+/* ****** ****** */
+
+#define atspre_strptr_null() atsptr_null
+
+/* ****** ****** */
+
+#define atspre_strptr_free atspre_mfree_gc
+#define atspre_strnptr_free atspre_mfree_gc
+
+/* ****** ****** */
+
+ATSinline()
+atstype_int
+atspre_compare_strptr_strptr
+(
+  atstype_strptr x1, atstype_strptr x2
+) {
+  if(x1==0)
+  {
+    return (x2==0 ? 0 : -1) ;
+  } else {
+    return (x2==0 ? 1 : atspre_compare_string_string(x1, x2)) ;
+  } // end of [if]
+} // end of [atspre_compare_strptr_strptr]
+
+/* ****** ****** */
+
+#define atspre_eq_strptr_string atspre_eq_string_string 
+#define atspre_neq_strptr_string atspre_neq_string_string 
+#define atspre_compare_strptr_string atspre_compare_string_string 
+
+/* ****** ****** */
+
+#endif // ifndef ATSLIB_PRELUDE_CATS_STRPTR
+
+/* ****** ****** */
+
+/* end of [strptr.cats] */
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,6 @@
+# fast-arithmetic
+
+## 0.6.0.8
+
+  * Improved performance slightly
+  * Updated `pkg.dhall`
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -38,7 +38,7 @@
 
 The Haskell library comes with the C bundled, however you will likely want to build from
 source if you are hacking on the library. To that end, you can install
-[atspkg](http://hackage.haskell.org/package/ats-pkg), and build with
+[atspkg](http://hackage.haskell.org/package/ats-pkg) and build with
 
 ```bash
 atspkg build
diff --git a/ats-src/bench.dats b/ats-src/bench.dats
--- a/ats-src/bench.dats
+++ b/ats-src/bench.dats
@@ -3,7 +3,7 @@
 #include "share/HATS/atspre_staload_libats_ML.hats"
 #include "share/HATS/atslib_staload_libats_libc.hats"
 #include "ats-src/combinatorics-internal.dats"
-#include "$PATSHOMELOCS/ats-bench-0.2.3/bench.dats"
+#include "$PATSHOMELOCS/ats-bench-0.3.3/bench.dats"
 
 fun factorial_bench() : void =
   {
diff --git a/ats-src/combinatorics-internal.dats b/ats-src/combinatorics-internal.dats
--- a/ats-src/combinatorics-internal.dats
+++ b/ats-src/combinatorics-internal.dats
@@ -72,16 +72,37 @@
 extern
 fun imul {m:int}{n:int}{o:int} (x : int(m), y : int(m)) : (MUL(m, n, o) | int(o))
 
-// the fancy proof stuff isn't that useful, but it gets us a tail-recursive (?)
-// implementation which might be good (?)
-// TODO - imul_intinf0_int function
-fun fact {n:nat} .<n>. (k : int(n)) : intinfGte(1) =
+fun fact_ref {n:nat} .<n>. (k : int(n), ret : &intinfGte(1)? >> intinfGte(1)) : void =
   case+ k of
-    | 0 => int2intinf(1)
-    | 1 => int2intinf(1)
-    | k =>> $UN.castvwtp0(mul_intinf0_int(fact(k - 1), k))
+    | 0 => ret := int2intinf(1)
+    | 1 => ret := int2intinf(1)
+    | k =>> let
+      val () = fact_ref(k - 1, ret)
+    in
+      ret := $UN.castvwtp0(mul_intinf0_int(ret, k))
+    end
 
+fn fact {n:nat} .<n>. (k : int(n)) : intinfGte(1) =
+  let
+    var ret: intinfGte(1)
+    val () = fact_ref(k, ret)
+  in
+    ret
+  end
+
 // Double factorial http://mathworld.wolfram.com/DoubleFactorial.html
+fun dfact_ref {n:nat} .<n>. (k : int(n), ret : &Intinf? >> Intinf) : void =
+  case+ k of
+    | 0 => ret := int2intinf(1)
+    | 1 => ret := int2intinf(1)
+    | k =>> let
+      val () = dfact_ref(k - 2, ret)
+      var y = mul_intinf0_int(ret, k)
+    in
+      ret := y
+    end
+
+// Double factorial http://mathworld.wolfram.com/DoubleFactorial.html
 fun dfact {n:nat} .<n>. (k : int(n)) : Intinf =
   case+ k of
     | 0 => int2intinf(1)
@@ -96,6 +117,7 @@
 // Number of permutations on n objects using k at a time.
 fn permutations {n:nat}{ k : nat | k <= n }(n : int(n), k : int(k)) : Intinf =
   let
+    // n * (n - 1) * ... * (n - k + 1)
     var x = fact(n)
     var y = fact(n - k)
     var z = div_intinf0_intinf1(x, y)
@@ -107,7 +129,7 @@
 // Catalan numbers, indexing starting at zero.
 fn catalan {n:nat}(n : int(n)) : Intinf =
   let
-    fun numerator_loop { i : nat | i > 1 } .<i>. (i : int(i)) : [ n : nat | n > 0 ] intinf(n) =
+    fun numerator_loop { i : nat | i > 1 } .<i>. (i : int(i)) : intinfGt(0) =
       case+ i of
         | 2 => int2intinf(n + 2)
         | i =>> let
@@ -133,7 +155,7 @@
 // Number of permutations on n objects using k at a time.
 fn choose {n:nat}{ m : nat | m <= n }(n : int(n), k : int(m)) : Intinf =
   let
-    fun numerator_loop { m : nat | m > 1 } .<m>. (i : int(m)) : [ n : nat | n > 0 ] intinf(n) =
+    fun numerator_loop { m : nat | m > 1 } .<m>. (i : int(m)) : intinfGt(0) =
       case+ i of
         | 1 => int2intinf(n)
         | 2 => $UN.castvwtp0(int2intinf((n - 1) * n))
@@ -157,23 +179,15 @@
       end
   end
 
-// Sterling numbers of the second kind
-fn sterling {n:nat}{ k : nat | k <= n }(n : int(n), k : int(k)) : Intinf =
-  let
-    fun numerator_loop {j:nat}(j : int(j), acc : Intinf) : Intinf =
-      acc
-  in
-    int2intinf(0)
-  end
-
 // TODO stirling numbers of the second kind.
 // Bell numbers. These can't be called via the FFI because of the mutually
 // recursive functions, so we should probably think of something else.
-fnx bell {n:nat}(n : int(n)) : [ n : nat | n > 0 ] intinf(n) =
+fun bell {n:nat}(n : int(n)) : intinfGt(0) =
   case- n of
     | 0 => int2intinf(1)
     | n when n >= 0 =>> sum_loop(n, n)
-and sum_loop {n:nat}{ m : nat | m >= 1 && m <= n } .<m>. (n : int(n), i : int(m)) : [ n : nat | n > 0 ] intinf(n) =
+
+and sum_loop {n:nat}{ m : nat | m >= 1 && m <= n } .<m>. (n : int(n), i : int(m)) : intinfGt(0) =
   case+ i of
     | 1 => int2intinf(1)
     | i =>> let
diff --git a/ats-src/number-theory-internal.dats b/ats-src/number-theory-internal.dats
--- a/ats-src/number-theory-internal.dats
+++ b/ats-src/number-theory-internal.dats
@@ -14,7 +14,7 @@
   n % m = 0
 
 // Euclid's algorithm
-fnx gcd {k:nat}{l:nat}(m : int(l), n : int(k)) : int =
+fun gcd {k:nat}{l:nat}(m : int(l), n : int(k)) : int =
   if n > 0 then
     gcd(n, witness(m % n))
   else
@@ -65,7 +65,7 @@
 fn prime_divisors(n : intGte(1)) : stream_vt(int) =
   stream_vt_filter_cloptr(divisors(n), lam x => is_prime($UN.cast(x)))
 
-// if n >= 0, p > 1, then n/p >=
+// if n >= 0, p > 1, then n/p >= 0
 fn div_gt_zero(n : intGte(0), p : intGt(1)) : intGte(0) =
   $UN.cast(n / p)
 
@@ -100,7 +100,7 @@
   end
 
 // Jacobi symbol for positive integers. See here: http://mathworld.wolfram.com/JacobiSymbol.html
-// I'm pretty sure this is broken in some way, though I'm not really sure why.
+// fails on 7 5
 fun jacobi(a : intGte(0), n : Odd) : int =
   let
     // TODO make this take p prime only.
@@ -125,14 +125,30 @@
       if acc > n then
         1
       else
-        if a % acc = 0 && is_prime(acc) then
-          loop(acc + 1) * exp(legendre(acc, n), get_multiplicity(a, acc))
+        if a = 0 then
+          0
         else
-          loop(acc + 1)
+          if a % acc = 0 && is_prime(acc) then
+            loop(acc + 1) * exp(legendre(acc, n), get_multiplicity(a, acc))
+          else
+            loop(acc + 1)
   in
     loop(2)
   end
 
+// this doesn't actually work but it should be faster once it's done
+fun jacobi2 {m:int}{n:int}(a : int(m), n : int(n)) : int =
+  case+ a of
+    | 0 => 0
+    | 1 => 1
+    | _ when a > n => jacobi2($UN.cast(a % n), n)
+    | _ when a % 2 = 0 => if n % 8 = 1 || n % 8 = ~1 then
+      jacobi2(a / 2, n)
+    else
+      ~jacobi2(a / 2, n)
+    | _ when a % 4 = 3 && n % 4 = 3 => jacobi2(n, a)
+    | _ => ~jacobi2(n, a)
+
 fn count_divisors(n : intGte(1)) : int =
   stream_vt_length(divisors(n))
 
@@ -186,7 +202,7 @@
     else
       1
 
-fun prime_factors(n : intGte(1)) : stream_vt(int) =
+fn prime_factors(n : intGte(1)) : stream_vt(int) =
   let
     fun loop { k : nat | k > 0 }{ m : nat | m > 0 }(n : int(k), acc : int(m)) : stream_vt(int) =
       if acc >= n then
@@ -247,7 +263,7 @@
 // slower than the Haskell equivalent, as it uses a naïve algorithm.
 fn totient_sum(n : intGte(1)) : Intinf =
   let
-    fnx loop { n : nat | n >= 1 }{ m : nat | m >= n } .<m-n>. (i : int(n), bound : int(m)) : Intinf =
+    fun loop { n : nat | n >= 1 }{ m : nat | m >= n } .<m-n>. (i : int(n), bound : int(m)) : Intinf =
       if i < bound then
         let
           var x = loop(i + 1, bound)
diff --git a/ats-src/numerics-internal.dats b/ats-src/numerics-internal.dats
--- a/ats-src/numerics-internal.dats
+++ b/ats-src/numerics-internal.dats
@@ -18,16 +18,16 @@
 typedef prime(p: int) = gprime(int_kind, p)
 typedef Prime = [p:nat] prime(p)
 
-fn witness(n : int) :<> [m:nat] int(m) =
-  $UN.cast(n)
+extern
+castfn witness(n : int) :<> [m:nat] int(m)
 
 // Fast computation of Fibonacci numbers via GMP bindings.
-fun fib_gmp(n : intGte(0)) : Intinf =
+fn fib_gmp(n : intGte(0)) : Intinf =
   let
     var z = ptr_alloc()
     var x = g0int2uint(n + 1)
-    val _ = $GMP.mpz_init(!(z.2))
-    val _ = $GMP.mpz_fib_uint(!(z.2), x)
+    val () = $GMP.mpz_init(!(z.2))
+    val () = $GMP.mpz_fib_uint(!(z.2), x)
   in
     $UN.castvwtp0(z)
   end
@@ -58,7 +58,7 @@
           1
       end
 
-// Fast integer exponentiation, that mostly works as we would like.
+// Fast integer exponentiation.
 fun big_exp {n:nat} .<n>. (x : Intinf, n : int(n)) : Intinf =
   if compare_intinf_int(x, 0) = 0 then
     x
@@ -70,20 +70,16 @@
       in
         if i2 = 0 then
           let
-            // FIXME copy it
-            var x0 = abs_intinf1(x)
-            var c = mul_intinf0_intinf1(x0, x)
-            val _ = intinf_free(x)
+            var c = square_intinf0(x)
           in
             big_exp(c, n2)
           end
         else
           let
-            var x0 = abs_intinf1(x)
-            var c0 = mul_intinf0_intinf1(x0, x)
+            var c0 = square_intinf1(x)
             var c1 = big_exp(c0, n2)
             var c = mul_intinf0_intinf1(c1, x)
-            val _ = intinf_free(x)
+            val () = intinf_free(x)
           in
             c
           end
@@ -92,9 +88,10 @@
       (intinf_free(x) ; int2intinf(1))
 
 // square root is bounded for bounded k.
+// pretty sure this isn't side effecting idk.
 fn sqrt_int(k : intGt(0)) :<> [m:nat] int(m) =
   let
-    var bound: int = g0float2int(sqrt_float(g0int2float(k)))
+    var bound = g0float2int(sqrt_float(g0int2float(k)))
   in
     witness(bound)
   end
diff --git a/ats-src/numerics.dats b/ats-src/numerics.dats
--- a/ats-src/numerics.dats
+++ b/ats-src/numerics.dats
@@ -6,9 +6,11 @@
 staload "$PATSHOMELOCS/atscntrb-hx-intinf/SATS/intinf_vt.sats"
 
 %{^
+#ifndef LIBRARY_BUILD
 #define ATS_MEMALLOC_LIBC
 #include "ccomp/runtime/pats_ccomp_memalloc_libc.h"
 #include "ccomp/runtime/pats_ccomp_runtime_memalloc.c"
+#endif
 %}
 
 extern
diff --git a/atspkg.dhall b/atspkg.dhall
--- a/atspkg.dhall
+++ b/atspkg.dhall
@@ -1,24 +1,17 @@
 {- Imports -}
-let prelude = https://raw.githubusercontent.com/vmchale/atspkg/master/ats-pkg/dhall/atspkg-prelude.dhall
+let prelude = http://hackage.haskell.org/package/ats-pkg/src/dhall/atspkg-prelude.dhall
 in
 
-let map = http://hackage.haskell.org/package/dhall-1.14.0/src/Prelude/List/map
+let map = http://hackage.haskell.org/package/dhall/src/Prelude/List/map
 in
 
-let not = http://hackage.haskell.org/package/dhall-1.14.0/src/Prelude/Bool/not
+let not = http://hackage.haskell.org/package/dhall/src/Prelude/Bool/not
 in
 
 {- Types -}
 let PreSrc = { atsSrc : Text, cTarget : Text }
 in
 
-{- Configuration variables -}
-let sourceBld = True
-in
-
-let withBench = True
-in
-
 {- Helper functions -}
 let asDats =
   λ(x : Text) → "ats-src/${x}.dats"
@@ -36,50 +29,66 @@
   ["combinatorics", "number-theory", "numerics" ]
 in
 
-{- Build components -}
-let atsSource = if sourceBld
-  then
-    prelude.mapSrc
-      (mapDatsSrc moduleNames)
-  else
-    prelude.emptySrc
-in
+{- Main -}
+λ(cfg : { sourceBld : Bool, withBench : Bool, icc : Bool }) →
 
-let test = if withBench
-  then
-    [ prelude.bin ⫽
-      { src = "ats-src/bench.dats"
-      , target = "target/bench"
-      , libs = [ "gmp" ]
-      , gcBin = True
-      }
-    ]
-  else
-    prelude.emptyBin
-in
+    let test = if cfg.withBench
+    then
+        [ prelude.bin ⫽
+            { src = "ats-src/bench.dats"
+            , target = "target/bench"
+            , libs = [ "gmp" ]
+            , gcBin = True
+            }
+        ]
+    else
+        prelude.emptyBin
+    in
 
-let libraries = if not sourceBld
-  then
-    [ prelude.staticLib ⫽
-      { name = "numbertheory"
-      , src = (map Text Text asDats moduleNames)
-      , libTarget = "${prelude.cabalDir}/libnumbertheory.a"
-      }
-    ]
-  else
-    prelude.emptyLib
-in
+    let atsSource = if cfg.sourceBld
+        then
+            prelude.mapSrc
+            (mapDatsSrc moduleNames)
+        else
+            prelude.emptySrc
+    in
 
-let dependencies = prelude.mapPlainDeps
-  ([ "atscntrb-hx-intinf" ]
-   # (if sourceBld then [ "ats-includes" ] else [] : List Text)
-   # (if withBench then [ "ats-bench" ] else [] : List Text))
-in
+    let libraries = if not cfg.sourceBld
+        then
+            [ prelude.staticLib ⫽
+                { name = "numbertheory"
+                , src = (map Text Text asDats moduleNames)
+                , includes = [ "include/fast_arithmetic.h" ]
+                , libTarget = "${prelude.cabalDir}/libnumbertheory.a"
+                }
+            ]
+        else
+            prelude.emptyLib
+    in
 
-{- Main -}
-prelude.default ⫽
-  { atsSource = atsSource
-  , test = test
-  , libraries = libraries
-  , dependencies = dependencies
-  }
+        let dependencies = prelude.mapPlainDeps
+        ([ "atscntrb-hx-intinf" ]
+            # (if cfg.sourceBld then [ "ats-includes" ] else [] : List Text)
+            # (if cfg.withBench then [ "ats-bench" ] else [] : List Text))
+    in
+
+    let libBuildFlag =
+        if cfg.sourceBld
+            then ([] : List Text)
+            else [ "-DLIBRARY_BUILD" ]
+    in
+
+    let cc =
+        if cfg.icc
+            then prelude.icc
+            else prelude.cc
+    in
+
+    prelude.default ⫽
+        { atsSource = atsSource
+        , test = test
+        , libraries = libraries
+        , dependencies = dependencies
+        , cflags = libBuildFlag # (prelude.ccFlags cc)
+        , ccompiler = prelude.printCompiler cc
+        }
diff --git a/bench.dhall b/bench.dhall
new file mode 100644
--- /dev/null
+++ b/bench.dhall
@@ -0,0 +1,2 @@
+λ(icc : Bool) →
+    { sourceBld = True, withBench = True, icc = icc }
diff --git a/bench/Bench.hs b/bench/Bench.hs
--- a/bench/Bench.hs
+++ b/bench/Bench.hs
@@ -6,8 +6,6 @@
 import           Numeric.Combinatorics
 import           Numeric.NumberTheory
 
-{-# SPECIALIZE hsIsPrime :: Int -> Bool #-}
-
 hsIsPrime :: (Integral a) => a -> Bool
 hsIsPrime 1 = False
 hsIsPrime x = all ((/=0) . (x `rem`)) [2..up]
diff --git a/cbits/combinatorics.c b/cbits/combinatorics.c
--- a/cbits/combinatorics.c
+++ b/cbits/combinatorics.c
@@ -1,6153 +1,6508 @@
 /*
 **
-** The C code is generated by [ATS/Postiats-0-3-10]
-** The starting compilation time is: 2018-5-30: 19h:45m
-**
-*/
-
-/*
-** include runtime header files
-*/
-#ifndef _ATS_CCOMP_HEADER_NONE_
-#include "pats_ccomp_config.h"
-#include "pats_ccomp_basics.h"
-#include "pats_ccomp_typedefs.h"
-#include "pats_ccomp_instrset.h"
-#include "pats_ccomp_memalloc.h"
-#ifndef _ATS_CCOMP_EXCEPTION_NONE_
-#include "pats_ccomp_memalloca.h"
-#include "pats_ccomp_exception.h"
-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
-#endif /* _ATS_CCOMP_HEADER_NONE_ */
-
-
-/*
-** include prelude cats files
-*/
-#ifndef _ATS_CCOMP_PRELUDE_NONE_
-//
-#include "prelude/CATS/basics.cats"
-#include "prelude/CATS/integer.cats"
-#include "prelude/CATS/pointer.cats"
-#include "prelude/CATS/integer_long.cats"
-#include "prelude/CATS/integer_size.cats"
-#include "prelude/CATS/integer_short.cats"
-#include "prelude/CATS/bool.cats"
-#include "prelude/CATS/char.cats"
-#include "prelude/CATS/float.cats"
-#include "prelude/CATS/integer_ptr.cats"
-#include "prelude/CATS/integer_fixed.cats"
-#include "prelude/CATS/memory.cats"
-#include "prelude/CATS/string.cats"
-#include "prelude/CATS/strptr.cats"
-//
-#include "prelude/CATS/fprintf.cats"
-//
-#include "prelude/CATS/filebas.cats"
-//
-#include "prelude/CATS/list.cats"
-#include "prelude/CATS/option.cats"
-#include "prelude/CATS/array.cats"
-#include "prelude/CATS/arrayptr.cats"
-#include "prelude/CATS/arrayref.cats"
-#include "prelude/CATS/matrix.cats"
-#include "prelude/CATS/matrixptr.cats"
-//
-#endif /* _ATS_CCOMP_PRELUDE_NONE_ */
-/*
-** for user-supplied prelude
-*/
-#ifdef _ATS_CCOMP_PRELUDE_USER_
-//
-#include _ATS_CCOMP_PRELUDE_USER_
-//
-#endif /* _ATS_CCOMP_PRELUDE_USER_ */
-/*
-** for user2-supplied prelude
-*/
-#ifdef _ATS_CCOMP_PRELUDE_USER2_
-//
-#include _ATS_CCOMP_PRELUDE_USER2_
-//
-#endif /* _ATS_CCOMP_PRELUDE_USER2_ */
-
-/*
-staload-prologues(beg)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/basics.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 1533(line=44, offs=1) -- 1572(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_long.dats: 1602(line=49, offs=1) -- 1641(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_short.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/char.dats: 1610(line=48, offs=1) -- 1649(line=48, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/float.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/string.dats: 1631(line=50, offs=1) -- 1670(line=50, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/strptr.dats: 1629(line=50, offs=1) -- 1668(line=50, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/strptr.dats: 1691(line=54, offs=1) -- 1738(line=54, offs=48)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_ptr.dats: 1601(line=49, offs=1) -- 1640(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_fixed.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/memory.dats: 1410(line=38, offs=1) -- 1449(line=39, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 1607(line=49, offs=1) -- 1646(line=50, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 1669(line=54, offs=1) -- 1715(line=55, offs=39)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 1738(line=59, offs=1) -- 1783(line=60, offs=38)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/stdio.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/types.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 1865(line=66, offs=1) -- 1912(line=66, offs=48)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/stat.sats: 1390(line=36, offs=1) -- 1440(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/stat.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/stat.sats: 1756(line=58, offs=1) -- 1805(line=60, offs=34)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/types.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 15937(line=927, offs=1) -- 15974(line=928, offs=30)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/stdio.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/types.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/list.dats: 1529(line=44, offs=1) -- 1568(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/list.dats: 1569(line=46, offs=1) -- 1615(line=47, offs=39)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/list_vt.dats: 1538(line=44, offs=1) -- 1577(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/list_vt.dats: 1578(line=46, offs=1) -- 1624(line=47, offs=39)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/SHARE/list_vt_mergesort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/SHARE/list_vt_quicksort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/array.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/SHARE/array_bsearch.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/SHARE/array_quicksort.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/arrayptr.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/arrayref.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/matrix.dats: 1535(line=44, offs=1) -- 1574(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/matrixptr.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/matrixref.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/tostring.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/checkast.dats: 1531(line=44, offs=1) -- 1570(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
-*/
-
-//
-#include \
-"atscntrb-hx-libgmp/CATS/gmp.cats"
-//
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/mydepies.hats: 208(line=18, offs=1) -- 248(line=19, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
-*/
-
-//
-#include \
-"atscntrb-hx-libgmp/CATS/gmp.cats"
-//
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-staload-prologues(end)
-*/
-/*
-typedefs-for-tyrecs-and-tysums(beg)
-*/
-/*
-typedefs-for-tyrecs-and-tysums(end)
-*/
-/*
-dynconlst-declaration(beg)
-*/
-/*
-dynconlst-declaration(end)
-*/
-/*
-dyncstlst-declaration(beg)
-*/
-ATSdyncst_mac(atspre_g1int2int_int_int)
-ATSdyncst_mac(atspre_g1int_lt_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_add2_mpz)
-ATSdyncst_mac(atscntrb_gmp_mpz_mul2_int)
-ATSdyncst_mac(atspre_g1int_add_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_clear)
-ATSdyncst_mac(atspre_ptr_free)
-ATSdyncst_mac(atscntrb_gmp_mpz_init_set_int)
-ATSdyncst_mac(atspre_ptr_alloc_tsz)
-ATSdyncst_mac(atspre_g1int_sub_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_tdiv2_q_mpz)
-ATSdyncst_mac(atspre_g1int_mul_int)
-ATSdyncst_mac(atspre_g1int_gte_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_mul2_mpz)
-/*
-dyncstlst-declaration(end)
-*/
-/*
-dynvalist-implementation(beg)
-*/
-/*
-dynvalist-implementation(end)
-*/
-/*
-exnconlst-declaration(beg)
-*/
-#ifndef _ATS_CCOMP_EXCEPTION_NONE_
-ATSextern()
-atsvoid_t0ype
-the_atsexncon_initize
-(
-  atstype_exnconptr d2c, atstype_string exnmsg
-) ;
-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
-/*
-exnconlst-declaration(end)
-*/
-/*
-extypelst-declaration(beg)
-*/
-/*
-extypelst-declaration(end)
-*/
-/*
-assumelst-declaration(beg)
-*/
-#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
-#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
-/*
-assumelst-declaration(end)
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-derangements_0(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-loop_1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__2(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__2__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12(atstkind_type(atstype_ptrk)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17() ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__1() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__2() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__3() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__4() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__5() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-fact_28(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__6() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__7() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-dfact_34(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__8() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__9() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-permutations_40(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-catalan_44(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-numerator_loop_45(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__10() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__11() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__12() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__2(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-choose_55(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-numerator_loop_56(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__13() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__14() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__15() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__16() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__3(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-sterling_69(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-numerator_loop_70(atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__17() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-bell_73(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__18() ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__77(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__77__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__19() ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__82(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__82__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(atstkind_type(atstype_ptrk)) ;
-
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-choose_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-permutations_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-double_factorial_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-factorial_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-catalan_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-derangements_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 492(line=15, offs=4) -- 1190(line=39, offs=6)
-*/
-/*
-local: 
-global: derangements_0$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-derangements_0(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret0, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp45, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp46, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp51, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 492(line=15, offs=4) -- 1190(line=39, offs=6)
-*/
-ATSINSflab(__patsflab_derangements_0):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 545(line=16, offs=3) -- 1190(line=39, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1032(line=34, offs=5) -- 1184(line=38, offs=59)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1051(line=35, offs=9) -- 1052(line=35, offs=10)
-*/
-ATSINSlab(__atstmplab0):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 520(line=15, offs=32) -- 521(line=15, offs=33)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1052(line=35, offs=10) -- 1052(line=35, offs=10)
-*/
-ATSINSlab(__atstmplab1):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1056(line=35, offs=14) -- 1069(line=35, offs=27)
-*/
-ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1078(line=36, offs=9) -- 1079(line=36, offs=10)
-*/
-ATSINSlab(__atstmplab2):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 520(line=15, offs=32) -- 521(line=15, offs=33)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab4) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1079(line=36, offs=10) -- 1079(line=36, offs=10)
-*/
-ATSINSlab(__atstmplab3):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1084(line=36, offs=15) -- 1097(line=36, offs=28)
-*/
-ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(ATSPMVi0nt(0))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1106(line=37, offs=9) -- 1107(line=37, offs=10)
-*/
-ATSINSlab(__atstmplab4):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 520(line=15, offs=32) -- 521(line=15, offs=33)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab6) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1107(line=37, offs=10) -- 1107(line=37, offs=10)
-*/
-ATSINSlab(__atstmplab5):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1112(line=37, offs=15) -- 1125(line=37, offs=28)
-*/
-ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1135(line=38, offs=10) -- 1135(line=38, offs=10)
-*/
-ATSINSlab(__atstmplab6):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1145(line=38, offs=20) -- 1150(line=38, offs=25)
-*/
-ATSINSmove(tmp45, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1155(line=38, offs=30) -- 1168(line=38, offs=43)
-*/
-ATSINSmove(tmp46, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1170(line=38, offs=45) -- 1183(line=38, offs=58)
-*/
-ATSINSmove(tmp51, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1140(line=38, offs=15) -- 1184(line=38, offs=59)
-*/
-ATSINSmove(tmpret0, loop_1(tmp45, ATSPMVi0nt(2), tmp46, tmp51)) ;
-
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 545(line=16, offs=3) -- 1190(line=39, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret0) ;
-} /* end of [derangements_0] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 557(line=17, offs=9) -- 1022(line=32, offs=12)
-*/
-/*
-local: loop_1$0(level=1)
-global: loop_1$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-loop_1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_type(atstype_ptrk) arg3)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(apy3, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpret1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmpref7, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref12, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp17, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref18, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp21) ;
-ATStmpdec(tmpref26, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 557(line=17, offs=9) -- 1022(line=32, offs=12)
-*/
-ATSINSflab(__patsflab_loop_1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 681(line=18, offs=10) -- 686(line=18, offs=15)
-*/
-ATSINSmove(tmp2, ATSLIB_056_prelude__lt_g1int_int__2__1(arg1, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 678(line=18, offs=7) -- 1022(line=32, offs=12)
-*/
-ATSif(
-tmp2
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 700(line=19, offs=9) -- 844(line=24, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 718(line=20, offs=15) -- 719(line=20, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref7) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 722(line=20, offs=19) -- 749(line=20, offs=46)
-*/
-ATSINSmove(tmpref7, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(arg3, ATSPMVrefarg0(arg2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 764(line=21, offs=15) -- 765(line=21, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref12) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 768(line=21, offs=19) -- 789(line=21, offs=40)
-*/
-ATSINSmove(tmpref12, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(tmpref7, arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 819(line=23, offs=19) -- 824(line=23, offs=24)
-*/
-ATSINSmove(tmp17, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 811(line=23, offs=11) -- 832(line=23, offs=32)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, arg0) ;
-ATSINSmove_tlcal(apy1, tmp17) ;
-ATSINSmove_tlcal(apy2, tmpref12) ;
-ATSINSmove_tlcal(apy3, arg2) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSargmove_tlcal(arg2, apy2) ;
-ATSINSargmove_tlcal(arg3, apy3) ;
-ATSINSfgoto(__patsflab_loop_1) ;
-ATStailcal_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 700(line=19, offs=9) -- 844(line=24, offs=12)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 864(line=26, offs=9) -- 1022(line=32, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 882(line=27, offs=15) -- 883(line=27, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref18) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 886(line=27, offs=19) -- 913(line=27, offs=46)
-*/
-ATSINSmove(tmpref18, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(arg3, ATSPMVrefarg0(arg2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 932(line=28, offs=19) -- 946(line=28, offs=33)
-*/
-ATSINSmove_void(tmp21, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(arg2)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 962(line=29, offs=15) -- 963(line=29, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref26) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 966(line=29, offs=19) -- 987(line=29, offs=40)
-*/
-ATSINSmove(tmpref26, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(tmpref18, arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1009(line=31, offs=11) -- 1010(line=31, offs=12)
-*/
-ATSINSmove(tmpret1, tmpref26) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 864(line=26, offs=9) -- 1022(line=32, offs=12)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret1) ;
-} /* end of [loop_1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
-*/
-/*
-local: 
-global: lt_g1int_int$2$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4626)
-tmparg = S2Evar(tk(4626))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__2(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp4, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
-*/
-ATSINSmove(tmp4, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4626))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
-*/
-ATSINSmove(tmpret3, PMVtmpltcst(g1int_lt<S2Evar(tk(4626))>)(arg0, tmp4)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3) ;
-} /* end of [ATSLIB_056_prelude__lt_g1int_int__2] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
-*/
-/*
-local: 
-global: lt_g1int_int$2$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4626)
-tmparg = S2Evar(tk(4626))
-tmpsub = Some(tk(4626) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__2__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp4__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
-*/
-ATSINSmove(tmp4__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
-*/
-ATSINSmove(tmpret3__1, atspre_g1int_lt_int(arg0, tmp4__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3__1) ;
-} /* end of [ATSLIB_056_prelude__lt_g1int_int__2__1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
-*/
-/*
-local: 
-global: add_intinf0_intinf1$6$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret8, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp9) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
-*/
-ATSINSflab(__patsflab_add_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
-*/
-ATSINSmove_void(tmp9, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
-*/
-ATSINSmove(tmpret8, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret8) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
-*/
-/*
-local: 
-global: add_intinf0_intinf1$6$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret8__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp9__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
-*/
-ATSINSflab(__patsflab_add_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
-*/
-ATSINSmove_void(tmp9__1, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
-*/
-ATSINSmove(tmpret8__1, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret8__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14__1, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13__1, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
-*/
-/*
-local: 
-global: add_intinf0_intinf1$6$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret8__2, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp9__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
-*/
-ATSINSflab(__patsflab_add_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
-*/
-ATSINSmove_void(tmp9__2, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
-*/
-ATSINSmove(tmpret8__2, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret8__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$12$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret22) ;
-// ATStmpdec_void(tmp23) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp23, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret22, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret22) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$12$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret22__1) ;
-// ATStmpdec_void(tmp23__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp23__1, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret22__1, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret22__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13__2, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14__2, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13__2, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29, tmp30) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__1, ATSLIB_056_prelude__ptr_alloc__17__1()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__1, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__1, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__1, tmp30__1) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35, atspre_ptr_alloc_tsz(ATSPMVsizeof(atstyvar_type(a)))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__1()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__1, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__1, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__1) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__2, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__2, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__2, ATSLIB_056_prelude__ptr_alloc__17__2()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__2, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__2, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__2, tmp30__2) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__2()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__2, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__2, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__2) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__3, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__3, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__3) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__3, ATSLIB_056_prelude__ptr_alloc__17__3()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__3, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__3, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__3, tmp30__3) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__3) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$3(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__3()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__3, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__3, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__3) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$4(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__4, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__4, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__4) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__4, ATSLIB_056_prelude__ptr_alloc__17__4()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__4, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__4, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__4, tmp30__4) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__4) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$4(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__4()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__4, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__4, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__4) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__4] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$5(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__5, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__5, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__5) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__5, ATSLIB_056_prelude__ptr_alloc__17__5()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__5, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__5, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__5, tmp30__5) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__5) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$5(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__5()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__5, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__5, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__5) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__5] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2296(line=78, offs=5) -- 2466(line=82, offs=59)
-*/
-/*
-local: fact_28$0(level=0)
-global: fact_28$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-fact_28(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret56, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp65, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp68, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp69, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2296(line=78, offs=5) -- 2466(line=82, offs=59)
-*/
-ATSINSflab(__patsflab_fact_28):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2347(line=79, offs=3) -- 2466(line=82, offs=59)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2364(line=80, offs=7) -- 2365(line=80, offs=8)
-*/
-ATSINSlab(__atstmplab7):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2316(line=78, offs=25) -- 2317(line=78, offs=26)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab9) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2365(line=80, offs=8) -- 2365(line=80, offs=8)
-*/
-ATSINSlab(__atstmplab8):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2369(line=80, offs=12) -- 2382(line=80, offs=25)
-*/
-ATSINSmove(tmpret56, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2389(line=81, offs=7) -- 2390(line=81, offs=8)
-*/
-ATSINSlab(__atstmplab9):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2316(line=78, offs=25) -- 2317(line=78, offs=26)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab11) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2390(line=81, offs=8) -- 2390(line=81, offs=8)
-*/
-ATSINSlab(__atstmplab10):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2394(line=81, offs=12) -- 2407(line=81, offs=25)
-*/
-ATSINSmove(tmpret56, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2415(line=82, offs=8) -- 2415(line=82, offs=8)
-*/
-ATSINSlab(__atstmplab11):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2455(line=82, offs=48) -- 2460(line=82, offs=53)
-*/
-ATSINSmove(tmp69, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2450(line=82, offs=43) -- 2461(line=82, offs=54)
-*/
-ATSINSmove(tmp68, fact_28(tmp69)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2434(line=82, offs=27) -- 2465(line=82, offs=58)
-*/
-ATSINSmove(tmp65, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(tmp68, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2420(line=82, offs=13) -- 2466(line=82, offs=59)
-*/
-ATSINSmove(tmpret56, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp65)) ;
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret56) ;
-} /* end of [fact_28] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$6(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__6, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__6, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__6) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__6, ATSLIB_056_prelude__ptr_alloc__17__6()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__6, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__6, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__6, tmp30__6) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__6) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$6(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__6()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__6, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__6, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__6) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__6] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$7(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__7, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__7, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__7) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__7, ATSLIB_056_prelude__ptr_alloc__17__7()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__7, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__7, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__7, tmp30__7) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__7) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$7(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__7()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__7, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__7, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__7) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__7] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13__3, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14__3) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14__3, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13__3, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13__3) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2542(line=85, offs=5) -- 2750(line=94, offs=8)
-*/
-/*
-local: dfact_34$0(level=0)
-global: dfact_34$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-dfact_34(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret70, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref79, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp80, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref81, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2542(line=85, offs=5) -- 2750(line=94, offs=8)
-*/
-ATSINSflab(__patsflab_dfact_34):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2588(line=86, offs=3) -- 2750(line=94, offs=8)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2605(line=87, offs=7) -- 2606(line=87, offs=8)
-*/
-ATSINSlab(__atstmplab12):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2563(line=85, offs=26) -- 2564(line=85, offs=27)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab14) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2606(line=87, offs=8) -- 2606(line=87, offs=8)
-*/
-ATSINSlab(__atstmplab13):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2610(line=87, offs=12) -- 2623(line=87, offs=25)
-*/
-ATSINSmove(tmpret70, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2630(line=88, offs=7) -- 2631(line=88, offs=8)
-*/
-ATSINSlab(__atstmplab14):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2563(line=85, offs=26) -- 2564(line=85, offs=27)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab16) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2631(line=88, offs=8) -- 2631(line=88, offs=8)
-*/
-ATSINSlab(__atstmplab15):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2635(line=88, offs=12) -- 2648(line=88, offs=25)
-*/
-ATSINSmove(tmpret70, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2656(line=89, offs=8) -- 2656(line=89, offs=8)
-*/
-ATSINSlab(__atstmplab16):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2661(line=89, offs=13) -- 2750(line=94, offs=8)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2675(line=90, offs=11) -- 2676(line=90, offs=12)
-*/
-/*
-ATSINStmpdec(tmpref79) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2685(line=90, offs=21) -- 2690(line=90, offs=26)
-*/
-ATSINSmove(tmp80, atspre_g1int_sub_int(arg0, ATSPMVi0nt(2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2679(line=90, offs=15) -- 2691(line=90, offs=27)
-*/
-ATSINSmove(tmpref79, dfact_34(tmp80)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2702(line=91, offs=11) -- 2703(line=91, offs=12)
-*/
-/*
-ATSINStmpdec(tmpref81) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2706(line=91, offs=15) -- 2727(line=91, offs=36)
-*/
-ATSINSmove(tmpref81, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(tmpref79, arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2741(line=93, offs=7) -- 2742(line=93, offs=8)
-*/
-ATSINSmove(tmpret70, tmpref81) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2661(line=89, offs=13) -- 2750(line=94, offs=8)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret70) ;
-} /* end of [dfact_34] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$8(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__8, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__8, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__8) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__8, ATSLIB_056_prelude__ptr_alloc__17__8()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__8, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__8, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__8, tmp30__8) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__8) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$8(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__8()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__8, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__8, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__8) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__8] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$9(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__9, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__9, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__9) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__9, ATSLIB_056_prelude__ptr_alloc__17__9()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__9, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__9, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__9, tmp30__9) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__9) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$9(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__9()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__9, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__9, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__9) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__9] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$4(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13__4, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14__4) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14__4, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13__4, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13__4) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2813(line=97, offs=4) -- 3020(line=105, offs=6)
-*/
-/*
-local: fact_28$0(level=0)
-global: fact_28$0(level=0), permutations_40$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-permutations_40(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret84, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref85, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref86, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp87, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref88, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp93) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2813(line=97, offs=4) -- 3020(line=105, offs=6)
-*/
-ATSINSflab(__patsflab_permutations_40):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2891(line=98, offs=3) -- 3020(line=105, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2903(line=99, offs=9) -- 2904(line=99, offs=10)
-*/
-/*
-ATSINStmpdec(tmpref85) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2907(line=99, offs=13) -- 2913(line=99, offs=19)
-*/
-ATSINSmove(tmpref85, fact_28(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2923(line=100, offs=9) -- 2924(line=100, offs=10)
-*/
-/*
-ATSINStmpdec(tmpref86) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2932(line=100, offs=18) -- 2937(line=100, offs=23)
-*/
-ATSINSmove(tmp87, atspre_g1int_sub_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2927(line=100, offs=13) -- 2938(line=100, offs=24)
-*/
-ATSINSmove(tmpref86, fact_28(tmp87)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2947(line=101, offs=9) -- 2948(line=101, offs=10)
-*/
-/*
-ATSINStmpdec(tmpref88) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2951(line=101, offs=13) -- 2976(line=101, offs=38)
-*/
-ATSINSmove(tmpref88, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__1(tmpref85, ATSPMVrefarg0(tmpref86))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2989(line=102, offs=13) -- 3002(line=102, offs=26)
-*/
-ATSINSmove_void(tmp93, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(tmpref86)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3013(line=104, offs=5) -- 3014(line=104, offs=6)
-*/
-ATSINSmove(tmpret84, tmpref88) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2891(line=98, offs=3) -- 3020(line=105, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret84) ;
-} /* end of [permutations_40] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
-*/
-/*
-local: 
-global: div_intinf0_intinf1$41$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret89, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp90) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
-*/
-ATSINSflab(__patsflab_div_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
-*/
-ATSINSmove_void(tmp90, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
-*/
-ATSINSmove(tmpret89, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret89) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
-*/
-/*
-local: 
-global: div_intinf0_intinf1$41$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret89__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp90__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
-*/
-ATSINSflab(__patsflab_div_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
-*/
-ATSINSmove_void(tmp90__1, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
-*/
-ATSINSmove(tmpret89__1, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret89__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$12$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret22__2) ;
-// ATStmpdec_void(tmp23__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp23__2, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret22__2, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret22__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3072(line=108, offs=4) -- 3689(line=131, offs=6)
-*/
-/*
-local: fact_28$0(level=0)
-global: fact_28$0(level=0), catalan_44$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-catalan_44(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret96, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref117, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref118, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref119, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp122) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3072(line=108, offs=4) -- 3689(line=131, offs=6)
-*/
-ATSINSflab(__patsflab_catalan_44):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3113(line=109, offs=3) -- 3689(line=131, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3426(line=120, offs=5) -- 3683(line=130, offs=10)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3445(line=121, offs=9) -- 3446(line=121, offs=10)
-*/
-ATSINSlab(__atstmplab20):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3088(line=108, offs=20) -- 3089(line=108, offs=21)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab22) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3446(line=121, offs=10) -- 3446(line=121, offs=10)
-*/
-ATSINSlab(__atstmplab21):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3450(line=121, offs=14) -- 3463(line=121, offs=27)
-*/
-ATSINSmove(tmpret96, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3472(line=122, offs=9) -- 3473(line=122, offs=10)
-*/
-ATSINSlab(__atstmplab22):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3088(line=108, offs=20) -- 3089(line=108, offs=21)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab24) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3473(line=122, offs=10) -- 3473(line=122, offs=10)
-*/
-ATSINSlab(__atstmplab23):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3477(line=122, offs=14) -- 3490(line=122, offs=27)
-*/
-ATSINSmove(tmpret96, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3500(line=123, offs=10) -- 3500(line=123, offs=10)
-*/
-ATSINSlab(__atstmplab24):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3505(line=123, offs=15) -- 3683(line=130, offs=10)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3521(line=124, offs=13) -- 3522(line=124, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref117) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3525(line=124, offs=17) -- 3541(line=124, offs=33)
-*/
-ATSINSmove(tmpref117, numerator_loop_45(arg0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3555(line=125, offs=13) -- 3556(line=125, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref118) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3559(line=125, offs=17) -- 3565(line=125, offs=23)
-*/
-ATSINSmove(tmpref118, fact_28(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3579(line=126, offs=13) -- 3580(line=126, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref119) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3583(line=126, offs=17) -- 3608(line=126, offs=42)
-*/
-ATSINSmove(tmpref119, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__2(tmpref117, ATSPMVrefarg0(tmpref118))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3625(line=127, offs=17) -- 3638(line=127, offs=30)
-*/
-ATSINSmove_void(tmp122, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(tmpref118)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3657(line=129, offs=9) -- 3672(line=129, offs=24)
-*/
-ATSINSmove(tmpret96, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref119)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3505(line=123, offs=15) -- 3683(line=130, offs=10)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3113(line=109, offs=3) -- 3689(line=131, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret96) ;
-} /* end of [catalan_44] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3125(line=110, offs=9) -- 3416(line=118, offs=12)
-*/
-/*
-local: numerator_loop_45$0(level=1)
-global: numerator_loop_45$0(level=1)
-local: n$5100(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: n$5100(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-numerator_loop_45(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret97, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp102, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref103, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp104, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref105, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp108, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3125(line=110, offs=9) -- 3416(line=118, offs=12)
-*/
-ATSINSflab(__patsflab_numerator_loop_45):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3219(line=111, offs=7) -- 3416(line=118, offs=12)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3240(line=112, offs=11) -- 3241(line=112, offs=12)
-*/
-ATSINSlab(__atstmplab17):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3167(line=110, offs=51) -- 3168(line=110, offs=52)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab19) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3241(line=112, offs=12) -- 3241(line=112, offs=12)
-*/
-ATSINSlab(__atstmplab18):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3245(line=112, offs=16) -- 3262(line=112, offs=33)
-*/
-ATSINSmove(tmp102, atspre_g1int_add_int(env0, ATSPMVi0nt(2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3245(line=112, offs=16) -- 3262(line=112, offs=33)
-*/
-ATSINSmove(tmpret97, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(tmp102)) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3274(line=113, offs=12) -- 3274(line=113, offs=12)
-*/
-ATSINSlab(__atstmplab19):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3279(line=113, offs=17) -- 3416(line=118, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3297(line=114, offs=15) -- 3298(line=114, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref103) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3316(line=114, offs=34) -- 3321(line=114, offs=39)
-*/
-ATSINSmove(tmp104, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3301(line=114, offs=19) -- 3322(line=114, offs=40)
-*/
-ATSINSmove(tmpref103, numerator_loop_45(env0, tmp104)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3337(line=115, offs=15) -- 3338(line=115, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref105) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3360(line=115, offs=38) -- 3365(line=115, offs=43)
-*/
-ATSINSmove(tmp108, atspre_g1int_add_int(env0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3341(line=115, offs=19) -- 3366(line=115, offs=44)
-*/
-ATSINSmove(tmpref105, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(tmpref103, tmp108)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3388(line=117, offs=11) -- 3403(line=117, offs=26)
-*/
-ATSINSmove(tmpret97, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref105)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3279(line=113, offs=17) -- 3416(line=118, offs=12)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret97) ;
-} /* end of [numerator_loop_45] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$10(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__10, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__10, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__10) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__10, ATSLIB_056_prelude__ptr_alloc__17__10()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__10, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__10, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__10, tmp30__10) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__10) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$10(level=3)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__10()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__10, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__10, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__10) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__10] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$5(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13__5, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14__5) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14__5, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13__5, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13__5) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$11(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__11, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__11, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__11) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__11, ATSLIB_056_prelude__ptr_alloc__17__11()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__11, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__11, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__11, tmp30__11) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__11) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$11(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__11()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__11, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__11, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__11) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__11] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$12(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__12, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__12, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__12) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__12, ATSLIB_056_prelude__ptr_alloc__17__12()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__12, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__12, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__12, tmp30__12) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__12) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$12(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__12()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__12, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__12, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__12) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__12] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
-*/
-/*
-local: 
-global: div_intinf0_intinf1$41$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__2(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret89__2, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp90__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
-*/
-ATSINSflab(__patsflab_div_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
-*/
-ATSINSmove_void(tmp90__2, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
-*/
-ATSINSmove(tmpret89__2, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret89__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$12$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret22__3) ;
-// ATStmpdec_void(tmp23__3) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp23__3, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret22__3, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret22__3) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3752(line=134, offs=4) -- 4454(line=158, offs=6)
-*/
-/*
-local: fact_28$0(level=0)
-global: fact_28$0(level=0), choose_55$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-choose_55(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret125, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref153, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref154, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref155, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp158) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3752(line=134, offs=4) -- 4454(line=158, offs=6)
-*/
-ATSINSflab(__patsflab_choose_55):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3824(line=135, offs=3) -- 4454(line=158, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4191(line=147, offs=5) -- 4448(line=157, offs=10)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4210(line=148, offs=9) -- 4211(line=148, offs=10)
-*/
-ATSINSlab(__atstmplab30):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3799(line=134, offs=51) -- 3800(line=134, offs=52)
-*/
-ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(0))) { ATSINSgoto(__atstmplab32) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4211(line=148, offs=10) -- 4211(line=148, offs=10)
-*/
-ATSINSlab(__atstmplab31):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4215(line=148, offs=14) -- 4228(line=148, offs=27)
-*/
-ATSINSmove(tmpret125, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4237(line=149, offs=9) -- 4238(line=149, offs=10)
-*/
-ATSINSlab(__atstmplab32):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3799(line=134, offs=51) -- 3800(line=134, offs=52)
-*/
-ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab34) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4238(line=149, offs=10) -- 4238(line=149, offs=10)
-*/
-ATSINSlab(__atstmplab33):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4242(line=149, offs=14) -- 4254(line=149, offs=26)
-*/
-ATSINSmove(tmpret125, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(arg0)) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4265(line=150, offs=10) -- 4265(line=150, offs=10)
-*/
-ATSINSlab(__atstmplab34):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4270(line=150, offs=15) -- 4448(line=157, offs=10)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4286(line=151, offs=13) -- 4287(line=151, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref153) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4290(line=151, offs=17) -- 4306(line=151, offs=33)
-*/
-ATSINSmove(tmpref153, numerator_loop_56(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4320(line=152, offs=13) -- 4321(line=152, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref154) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4324(line=152, offs=17) -- 4330(line=152, offs=23)
-*/
-ATSINSmove(tmpref154, fact_28(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4344(line=153, offs=13) -- 4345(line=153, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref155) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4348(line=153, offs=17) -- 4373(line=153, offs=42)
-*/
-ATSINSmove(tmpref155, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__3(tmpref153, ATSPMVrefarg0(tmpref154))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4390(line=154, offs=17) -- 4403(line=154, offs=30)
-*/
-ATSINSmove_void(tmp158, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(tmpref154)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4422(line=156, offs=9) -- 4437(line=156, offs=24)
-*/
-ATSINSmove(tmpret125, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref155)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4270(line=150, offs=15) -- 4448(line=157, offs=10)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3824(line=135, offs=3) -- 4454(line=158, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret125) ;
-} /* end of [choose_55] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3836(line=136, offs=9) -- 4181(line=145, offs=12)
-*/
-/*
-local: numerator_loop_56$0(level=1)
-global: numerator_loop_56$0(level=1)
-local: n$5111(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: n$5111(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-numerator_loop_56(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret126, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp131, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp136, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp137, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref138, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp139, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref140, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp143, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp144, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3836(line=136, offs=9) -- 4181(line=145, offs=12)
-*/
-ATSINSflab(__patsflab_numerator_loop_56):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3930(line=137, offs=7) -- 4181(line=145, offs=12)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3951(line=138, offs=11) -- 3952(line=138, offs=12)
-*/
-ATSINSlab(__atstmplab25):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3878(line=136, offs=51) -- 3879(line=136, offs=52)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab27) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3952(line=138, offs=12) -- 3952(line=138, offs=12)
-*/
-ATSINSlab(__atstmplab26):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3956(line=138, offs=16) -- 3968(line=138, offs=28)
-*/
-ATSINSmove(tmpret126, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(env0)) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3980(line=139, offs=11) -- 3981(line=139, offs=12)
-*/
-ATSINSlab(__atstmplab27):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3878(line=136, offs=51) -- 3879(line=136, offs=52)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab29) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3981(line=139, offs=12) -- 3981(line=139, offs=12)
-*/
-ATSINSlab(__atstmplab28):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3999(line=139, offs=30) -- 4022(line=139, offs=53)
-*/
-ATSINSmove(tmp137, atspre_g1int_sub_int(env0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3999(line=139, offs=30) -- 4022(line=139, offs=53)
-*/
-ATSINSmove(tmp136, atspre_g1int_mul_int(tmp137, env0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3999(line=139, offs=30) -- 4022(line=139, offs=53)
-*/
-ATSINSmove(tmp131, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(tmp136)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3985(line=139, offs=16) -- 4023(line=139, offs=54)
-*/
-ATSINSmove(tmpret126, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp131)) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4035(line=140, offs=12) -- 4035(line=140, offs=12)
-*/
-ATSINSlab(__atstmplab29):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4040(line=140, offs=17) -- 4181(line=145, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4058(line=141, offs=15) -- 4059(line=141, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref138) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4077(line=141, offs=34) -- 4082(line=141, offs=39)
-*/
-ATSINSmove(tmp139, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4062(line=141, offs=19) -- 4083(line=141, offs=40)
-*/
-ATSINSmove(tmpref138, numerator_loop_56(env0, tmp139)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4098(line=142, offs=15) -- 4099(line=142, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref140) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4121(line=142, offs=38) -- 4126(line=142, offs=43)
-*/
-ATSINSmove(tmp144, atspre_g1int_add_int(env0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4121(line=142, offs=38) -- 4130(line=142, offs=47)
-*/
-ATSINSmove(tmp143, atspre_g1int_sub_int(tmp144, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4102(line=142, offs=19) -- 4131(line=142, offs=48)
-*/
-ATSINSmove(tmpref140, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(tmpref138, tmp143)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4153(line=144, offs=11) -- 4168(line=144, offs=26)
-*/
-ATSINSmove(tmpret126, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref140)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4040(line=140, offs=17) -- 4181(line=145, offs=12)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret126) ;
-} /* end of [numerator_loop_56] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$13(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__13, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__13, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__13) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__13, ATSLIB_056_prelude__ptr_alloc__17__13()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__13, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__13, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__13, tmp30__13) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__13) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$13(level=3)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__13()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__13, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__13, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__13) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__13] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$14(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__14, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__14, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__14) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__14, ATSLIB_056_prelude__ptr_alloc__17__14()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__14, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__14, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__14, tmp30__14) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__14) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$14(level=3)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__14()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__14, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__14, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__14) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__14] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$6(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13__6, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14__6) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14__6, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13__6, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13__6) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$15(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__15, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__15, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__15) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__15, ATSLIB_056_prelude__ptr_alloc__17__15()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__15, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__15, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__15, tmp30__15) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__15) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$15(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__15()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__15, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__15, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__15) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__15] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$16(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__16, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__16, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__16) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__16, ATSLIB_056_prelude__ptr_alloc__17__16()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__16, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__16, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__16, tmp30__16) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__16) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$16(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__16()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__16, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__16, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__16) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__16] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
-*/
-/*
-local: 
-global: div_intinf0_intinf1$41$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__3(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret89__3, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp90__3) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
-*/
-ATSINSflab(__patsflab_div_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
-*/
-ATSINSmove_void(tmp90__3, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
-*/
-ATSINSmove(tmpret89__3, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret89__3) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$12$4(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret22__4) ;
-// ATStmpdec_void(tmp23__4) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp23__4, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret22__4, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret22__4) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4498(line=161, offs=4) -- 4682(line=167, offs=6)
-*/
-/*
-local: 
-global: sterling_69$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-sterling_69(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret161, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4498(line=161, offs=4) -- 4682(line=167, offs=6)
-*/
-ATSINSflab(__patsflab_sterling_69):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4572(line=162, offs=3) -- 4682(line=167, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4663(line=166, offs=5) -- 4676(line=166, offs=18)
-*/
-ATSINSmove(tmpret161, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4572(line=162, offs=3) -- 4682(line=167, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret161) ;
-} /* end of [sterling_69] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4584(line=163, offs=9) -- 4653(line=164, offs=10)
-*/
-/*
-local: 
-global: numerator_loop_70$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-numerator_loop_70(atstkind_t0ype(atstype_int) arg0, atstkind_type(atstype_ptrk) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret162, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4584(line=163, offs=9) -- 4653(line=164, offs=10)
-*/
-ATSINSflab(__patsflab_numerator_loop_70):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4650(line=164, offs=7) -- 4653(line=164, offs=10)
-*/
-ATSINSmove(tmpret162, arg1) ;
-ATSfunbody_end()
-ATSreturn(tmpret162) ;
-} /* end of [numerator_loop_70] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$17(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__17, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__17, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__17) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__17, ATSLIB_056_prelude__ptr_alloc__17__17()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__17, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__17, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__17, tmp30__17) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__17) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$17(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__17()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__17, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__17, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__17) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__17] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4879(line=172, offs=5) -- 5014(line=175, offs=39)
-*/
-/*
-local: sum_loop_74$0(level=0)
-global: fact_28$0(level=0), choose_55$0(level=0), bell_73$0(level=0), sum_loop_74$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-bell_73(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret167, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp172, atstkind_t0ype(atstype_bool)) ;
-/* tmpvardeclst(end) */
-/*
-emit_funent_fnxdeclst:
-*/
-ATStmpdec(a2rg0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(a2rg1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(beg) */
-ATStmpdec(a2py0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(a2py1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret177, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref182, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp183, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref184, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref185, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref186, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref191, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp194) ;
-// ATStmpdec_void(tmp197) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4879(line=172, offs=5) -- 5014(line=175, offs=39)
-*/
-ATSINSflab(__patsflab_bell_73):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4940(line=173, offs=3) -- 5014(line=175, offs=39)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4957(line=174, offs=7) -- 4958(line=174, offs=8)
-*/
-ATSINSlab(__atstmplab35):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4892(line=172, offs=18) -- 4893(line=172, offs=19)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab37) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4958(line=174, offs=8) -- 4958(line=174, offs=8)
-*/
-ATSINSlab(__atstmplab36):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4962(line=174, offs=12) -- 4975(line=174, offs=25)
-*/
-ATSINSmove(tmpret167, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4983(line=175, offs=8) -- 4983(line=175, offs=8)
-*/
-ATSINSlab(__atstmplab37):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-guard:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4989(line=175, offs=14) -- 4995(line=175, offs=20)
-*/
-ATSINSmove(tmp172, ATSLIB_056_prelude__gte_g1int_int__77__1(arg0, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4989(line=175, offs=14) -- 4995(line=175, offs=20)
-*/
-ATSifnthen(ATSCKpat_bool(tmp172, ATSPMVbool_true())) { ATSINScaseof_fail("/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4982(line=175, offs=7) -- 5014(line=175, offs=39)") ; } ;
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5000(line=175, offs=25) -- 5014(line=175, offs=39)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(a2py0, arg0) ;
-ATSINSmove_tlcal(a2py1, arg0) ;
-ATSINSargmove_tlcal(a2rg0, a2py0) ;
-ATSINSargmove_tlcal(a2rg1, a2py1) ;
-ATSINSfgoto(__patsflab_sum_loop_74) ;
-ATStailcal_end()
-
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret167) ;
-/*
-emit_funent_fnxbodylst:
-*/
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5019(line=176, offs=5) -- 5458(line=189, offs=8)
-*/
-ATSINSflab(__patsflab_sum_loop_74):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5133(line=177, offs=3) -- 5458(line=189, offs=8)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5150(line=178, offs=7) -- 5151(line=178, offs=8)
-*/
-ATSINSlab(__atstmplab38):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5085(line=176, offs=71) -- 5086(line=176, offs=72)
-*/
-ATSifnthen(ATSCKpat_int(a2rg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab40) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5151(line=178, offs=8) -- 5151(line=178, offs=8)
-*/
-ATSINSlab(__atstmplab39):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5155(line=178, offs=12) -- 5168(line=178, offs=25)
-*/
-ATSINSmove(tmpret177, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5176(line=179, offs=8) -- 5176(line=179, offs=8)
-*/
-ATSINSlab(__atstmplab40):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5181(line=179, offs=13) -- 5458(line=189, offs=8)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5195(line=180, offs=11) -- 5196(line=180, offs=12)
-*/
-/*
-ATSINStmpdec(tmpref182) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5211(line=180, offs=27) -- 5216(line=180, offs=32)
-*/
-ATSINSmove(tmp183, atspre_g1int_sub_int(a2rg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5199(line=180, offs=15) -- 5217(line=180, offs=33)
-*/
-ATSINSmove(tmpref182, sum_loop_74(a2rg0, tmp183)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5228(line=181, offs=11) -- 5229(line=181, offs=12)
-*/
-/*
-ATSINStmpdec(tmpref184) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5232(line=181, offs=15) -- 5238(line=181, offs=21)
-*/
-ATSINSmove(tmpref184, bell_73(a2rg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5250(line=182, offs=11) -- 5251(line=182, offs=12)
-*/
-/*
-ATSINStmpdec(tmpref185) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5254(line=182, offs=15) -- 5266(line=182, offs=27)
-*/
-ATSINSmove(tmpref185, choose_55(a2rg0, a2rg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5277(line=183, offs=11) -- 5284(line=183, offs=18)
-*/
-/*
-ATSINStmpdec(tmpref186) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5287(line=183, offs=21) -- 5312(line=183, offs=46)
-*/
-ATSINSmove(tmpref186, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__82__1(tmpref185, ATSPMVrefarg0(tmpref184))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5323(line=184, offs=11) -- 5326(line=184, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref191) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5329(line=184, offs=17) -- 5360(line=184, offs=48)
-*/
-ATSINSmove(tmpref191, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(tmpref186, ATSPMVrefarg0(tmpref182))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5375(line=185, offs=15) -- 5388(line=185, offs=28)
-*/
-ATSINSmove_void(tmp194, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(tmpref184)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5404(line=186, offs=15) -- 5417(line=186, offs=28)
-*/
-ATSINSmove_void(tmp197, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(tmpref182)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5432(line=188, offs=7) -- 5449(line=188, offs=24)
-*/
-ATSINSmove(tmpret177, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref191)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5181(line=179, offs=13) -- 5458(line=189, offs=8)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret177) ;
-} /* end of [bell_73] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$18(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__18, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__18, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__18) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__18, ATSLIB_056_prelude__ptr_alloc__17__18()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__18, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__18, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__18, tmp30__18) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__18) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$18(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__18()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__18, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__18, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__18) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__18] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$77$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4635)
-tmparg = S2Evar(tk(4635))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__77(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret173, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp174, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp174, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4635))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret173, PMVtmpltcst(g1int_gte<S2Evar(tk(4635))>)(arg0, tmp174)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret173) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__77] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$77$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4635)
-tmparg = S2Evar(tk(4635))
-tmpsub = Some(tk(4635) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__77__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret173__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp174__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp174__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret173__1, atspre_g1int_gte_int(arg0, tmp174__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret173__1) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__77__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$19(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__19, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__19, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__19) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__19, ATSLIB_056_prelude__ptr_alloc__17__19()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__19, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__19, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__19, tmp30__19) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__19) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$19(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__19()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__19, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__19, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__19) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__19] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_intinf1$82$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__82(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret187, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp188) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
-*/
-ATSINSmove_void(tmp188, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
-*/
-ATSINSmove(tmpret187, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret187) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__82] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_intinf1$82$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__82__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret187__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp188__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
-*/
-ATSINSmove_void(tmp188__1, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
-*/
-ATSINSmove(tmpret187__1, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret187__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__82__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
-*/
-/*
-local: 
-global: add_intinf0_intinf1$6$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret8__3, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp9__3) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
-*/
-ATSINSflab(__patsflab_add_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
-*/
-ATSINSmove_void(tmp9__3, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
-*/
-ATSINSmove(tmpret8__3, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret8__3) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$12$5(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret22__5) ;
-// ATStmpdec_void(tmp23__5) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp23__5, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret22__5, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret22__5) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$12$6(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret22__6) ;
-// ATStmpdec_void(tmp23__6) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp23__6, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret22__6, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret22__6) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 586(line=30, offs=22) -- 609(line=31, offs=15)
-*/
-/*
-local: choose_55$0(level=0)
-global: fact_28$0(level=0), choose_55$0(level=0), choose_ats$87$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_type(atstype_ptrk)
-choose_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret200, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 575(line=30, offs=11) -- 609(line=31, offs=15)
-*/
-ATSINSflab(__patsflab_choose_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 597(line=31, offs=3) -- 609(line=31, offs=15)
-*/
-ATSINSmove(tmpret200, choose_55(arg0, arg1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret200) ;
-} /* end of [choose_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 638(line=33, offs=28) -- 661(line=34, offs=15)
-*/
-/*
-local: choose_55$0(level=0)
-global: fact_28$0(level=0), choose_55$0(level=0), permutations_ats$88$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_type(atstype_ptrk)
-permutations_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret201, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 621(line=33, offs=11) -- 661(line=34, offs=15)
-*/
-ATSINSflab(__patsflab_permutations_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 649(line=34, offs=3) -- 661(line=34, offs=15)
-*/
-ATSINSmove(tmpret201, choose_55(arg0, arg1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret201) ;
-} /* end of [permutations_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 694(line=36, offs=32) -- 709(line=37, offs=10)
-*/
-/*
-local: dfact_34$0(level=0)
-global: dfact_34$0(level=0), double_factorial_ats$89$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_type(atstype_ptrk)
-double_factorial_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret202, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 673(line=36, offs=11) -- 710(line=37, offs=11)
-*/
-ATSINSflab(__patsflab_double_factorial_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 702(line=37, offs=3) -- 709(line=37, offs=10)
-*/
-ATSINSmove(tmpret202, dfact_34(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret202) ;
-} /* end of [double_factorial_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 736(line=39, offs=25) -- 750(line=40, offs=9)
-*/
-/*
-local: fact_28$0(level=0)
-global: fact_28$0(level=0), factorial_ats$90$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_type(atstype_ptrk)
-factorial_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret203, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 722(line=39, offs=11) -- 751(line=40, offs=10)
-*/
-ATSINSflab(__patsflab_factorial_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 744(line=40, offs=3) -- 750(line=40, offs=9)
-*/
-ATSINSmove(tmpret203, fact_28(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret203) ;
-} /* end of [factorial_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 775(line=42, offs=23) -- 792(line=43, offs=12)
-*/
-/*
-local: catalan_44$0(level=0)
-global: fact_28$0(level=0), catalan_44$0(level=0), catalan_ats$91$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_type(atstype_ptrk)
-catalan_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret204, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 763(line=42, offs=11) -- 793(line=43, offs=13)
-*/
-ATSINSflab(__patsflab_catalan_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 783(line=43, offs=3) -- 792(line=43, offs=12)
-*/
-ATSINSmove(tmpret204, catalan_44(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret204) ;
-} /* end of [catalan_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 822(line=45, offs=28) -- 844(line=46, offs=17)
-*/
-/*
-local: derangements_0$0(level=0)
-global: derangements_0$0(level=0), derangements_ats$92$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_type(atstype_ptrk)
-derangements_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret205, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 805(line=45, offs=11) -- 845(line=46, offs=18)
-*/
-ATSINSflab(__patsflab_derangements_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 830(line=46, offs=3) -- 844(line=46, offs=17)
-*/
-ATSINSmove(tmpret205, derangements_0(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret205) ;
+** The C code is generated by [ATS/Postiats-0-3-11]
+**
+*/
+
+/*
+** include runtime header files
+*/
+#ifndef _ATS_CCOMP_HEADER_NONE_
+#include "pats_ccomp_config.h"
+#include "pats_ccomp_basics.h"
+#include "pats_ccomp_typedefs.h"
+#include "pats_ccomp_instrset.h"
+#include "pats_ccomp_memalloc.h"
+#ifndef _ATS_CCOMP_EXCEPTION_NONE_
+#include "pats_ccomp_memalloca.h"
+#include "pats_ccomp_exception.h"
+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
+#endif /* _ATS_CCOMP_HEADER_NONE_ */
+
+
+/*
+** include prelude cats files
+*/
+#ifndef _ATS_CCOMP_PRELUDE_NONE_
+//
+#include "prelude/CATS/basics.cats"
+#include "prelude/CATS/integer.cats"
+#include "prelude/CATS/pointer.cats"
+#include "prelude/CATS/integer_long.cats"
+#include "prelude/CATS/integer_size.cats"
+#include "prelude/CATS/integer_short.cats"
+#include "prelude/CATS/bool.cats"
+#include "prelude/CATS/char.cats"
+#include "prelude/CATS/float.cats"
+#include "prelude/CATS/integer_ptr.cats"
+#include "prelude/CATS/integer_fixed.cats"
+#include "prelude/CATS/memory.cats"
+#include "prelude/CATS/string.cats"
+#include "prelude/CATS/strptr.cats"
+//
+#include "prelude/CATS/fprintf.cats"
+//
+#include "prelude/CATS/filebas.cats"
+//
+#include "prelude/CATS/list.cats"
+#include "prelude/CATS/option.cats"
+#include "prelude/CATS/array.cats"
+#include "prelude/CATS/arrayptr.cats"
+#include "prelude/CATS/arrayref.cats"
+#include "prelude/CATS/matrix.cats"
+#include "prelude/CATS/matrixptr.cats"
+//
+#endif /* _ATS_CCOMP_PRELUDE_NONE_ */
+/*
+** for user-supplied prelude
+*/
+#ifdef _ATS_CCOMP_PRELUDE_USER_
+//
+#include _ATS_CCOMP_PRELUDE_USER_
+//
+#endif /* _ATS_CCOMP_PRELUDE_USER_ */
+/*
+** for user2-supplied prelude
+*/
+#ifdef _ATS_CCOMP_PRELUDE_USER2_
+//
+#include _ATS_CCOMP_PRELUDE_USER2_
+//
+#endif /* _ATS_CCOMP_PRELUDE_USER2_ */
+
+/*
+staload-prologues(beg)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/basics.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 1533(line=44, offs=1) -- 1572(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_long.dats: 1602(line=49, offs=1) -- 1641(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_short.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/char.dats: 1610(line=48, offs=1) -- 1649(line=48, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/float.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/string.dats: 1631(line=50, offs=1) -- 1670(line=50, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/strptr.dats: 1629(line=50, offs=1) -- 1668(line=50, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/strptr.dats: 1691(line=54, offs=1) -- 1738(line=54, offs=48)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_ptr.dats: 1601(line=49, offs=1) -- 1640(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_fixed.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/memory.dats: 1410(line=38, offs=1) -- 1449(line=39, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1607(line=49, offs=1) -- 1646(line=50, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1669(line=54, offs=1) -- 1715(line=55, offs=39)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1738(line=59, offs=1) -- 1783(line=60, offs=38)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/stdio.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/types.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1865(line=66, offs=1) -- 1912(line=66, offs=48)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/stat.sats: 1390(line=36, offs=1) -- 1440(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/stat.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/stat.sats: 1756(line=58, offs=1) -- 1805(line=60, offs=34)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/types.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 15937(line=927, offs=1) -- 15974(line=928, offs=30)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/stdio.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/types.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list.dats: 1529(line=44, offs=1) -- 1568(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list.dats: 1569(line=46, offs=1) -- 1615(line=47, offs=39)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list_vt.dats: 1538(line=44, offs=1) -- 1577(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list_vt.dats: 1578(line=46, offs=1) -- 1624(line=47, offs=39)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/list_vt_mergesort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/list_vt_quicksort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/array.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/array_bsearch.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/array_quicksort.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/arrayptr.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/arrayref.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/matrix.dats: 1535(line=44, offs=1) -- 1574(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/matrixptr.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/matrixref.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/tostring.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/checkast.dats: 1531(line=44, offs=1) -- 1570(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
+*/
+
+//
+#include \
+"atscntrb-hx-libgmp/CATS/gmp.cats"
+//
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/mydepies.hats: 208(line=18, offs=1) -- 248(line=19, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
+*/
+
+//
+#include \
+"atscntrb-hx-libgmp/CATS/gmp.cats"
+//
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+staload-prologues(end)
+*/
+/*
+typedefs-for-tyrecs-and-tysums(beg)
+*/
+/*
+typedefs-for-tyrecs-and-tysums(end)
+*/
+/*
+dynconlst-declaration(beg)
+*/
+/*
+dynconlst-declaration(end)
+*/
+/*
+dyncstlst-declaration(beg)
+*/
+ATSdyncst_mac(atspre_g1int2int_int_int)
+ATSdyncst_mac(atspre_g1int_lt_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_add2_mpz)
+ATSdyncst_mac(atscntrb_gmp_mpz_mul2_int)
+ATSdyncst_mac(atspre_g1int_add_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_clear)
+ATSdyncst_mac(atspre_ptr_free)
+ATSdyncst_mac(atscntrb_gmp_mpz_init_set_int)
+ATSdyncst_mac(atspre_ptr_alloc_tsz)
+ATSdyncst_mac(atspre_g1int_sub_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_tdiv2_q_mpz)
+ATSdyncst_mac(atspre_g1int_mul_int)
+ATSdyncst_mac(atspre_g1int_gte_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_mul2_mpz)
+/*
+dyncstlst-declaration(end)
+*/
+/*
+dynvalist-implementation(beg)
+*/
+/*
+dynvalist-implementation(end)
+*/
+/*
+exnconlst-declaration(beg)
+*/
+#ifndef _ATS_CCOMP_EXCEPTION_NONE_
+ATSextern()
+atsvoid_t0ype
+the_atsexncon_initize
+(
+  atstype_exnconptr d2c, atstype_string exnmsg
+) ;
+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
+/*
+exnconlst-declaration(end)
+*/
+/*
+extypelst-declaration(beg)
+*/
+/*
+extypelst-declaration(end)
+*/
+/*
+assumelst-declaration(beg)
+*/
+#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
+#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
+/*
+assumelst-declaration(end)
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+derangements_0(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+loop_1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__2(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__2__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12(atstkind_type(atstype_ptrk)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17() ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__1() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__2() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__3() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__4() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__5() ;
+
+ATSstatic()
+atsvoid_t0ype
+fact_ref_28(atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__6() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__7() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+fact_34(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atsvoid_t0ype
+dfact_ref_35(atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__8() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__9() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+dfact_41(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__10() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__11() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+permutations_47(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+catalan_51(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+numerator_loop_52(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__12() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__13() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__14() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48__2(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+choose_62(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+numerator_loop_63(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__15() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__16() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__17() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__18() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48__3(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+bell_76(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+sum_loop_77(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__19() ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__80(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__80__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__20() ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__85(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__85__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(atstkind_type(atstype_ptrk)) ;
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+choose_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+permutations_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+double_factorial_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+factorial_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+catalan_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+derangements_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 492(line=15, offs=4) -- 1190(line=39, offs=6)
+*/
+/*
+local: 
+global: derangements_0$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+derangements_0(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp45, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp46, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp51, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 492(line=15, offs=4) -- 1190(line=39, offs=6)
+*/
+ATSINSflab(__patsflab_derangements_0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 545(line=16, offs=3) -- 1190(line=39, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1032(line=34, offs=5) -- 1184(line=38, offs=59)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1051(line=35, offs=9) -- 1052(line=35, offs=10)
+*/
+ATSINSlab(__atstmplab0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 520(line=15, offs=32) -- 521(line=15, offs=33)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1052(line=35, offs=10) -- 1052(line=35, offs=10)
+*/
+ATSINSlab(__atstmplab1):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1056(line=35, offs=14) -- 1069(line=35, offs=27)
+*/
+ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1078(line=36, offs=9) -- 1079(line=36, offs=10)
+*/
+ATSINSlab(__atstmplab2):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 520(line=15, offs=32) -- 521(line=15, offs=33)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab4) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1079(line=36, offs=10) -- 1079(line=36, offs=10)
+*/
+ATSINSlab(__atstmplab3):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1084(line=36, offs=15) -- 1097(line=36, offs=28)
+*/
+ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(ATSPMVi0nt(0))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1106(line=37, offs=9) -- 1107(line=37, offs=10)
+*/
+ATSINSlab(__atstmplab4):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 520(line=15, offs=32) -- 521(line=15, offs=33)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab6) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1107(line=37, offs=10) -- 1107(line=37, offs=10)
+*/
+ATSINSlab(__atstmplab5):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1112(line=37, offs=15) -- 1125(line=37, offs=28)
+*/
+ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1135(line=38, offs=10) -- 1135(line=38, offs=10)
+*/
+ATSINSlab(__atstmplab6):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1145(line=38, offs=20) -- 1150(line=38, offs=25)
+*/
+ATSINSmove(tmp45, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1155(line=38, offs=30) -- 1168(line=38, offs=43)
+*/
+ATSINSmove(tmp46, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1170(line=38, offs=45) -- 1183(line=38, offs=58)
+*/
+ATSINSmove(tmp51, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1140(line=38, offs=15) -- 1184(line=38, offs=59)
+*/
+ATSINSmove(tmpret0, loop_1(tmp45, ATSPMVi0nt(2), tmp46, tmp51)) ;
+
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 545(line=16, offs=3) -- 1190(line=39, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret0) ;
+} /* end of [derangements_0] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 557(line=17, offs=9) -- 1022(line=32, offs=12)
+*/
+/*
+local: loop_1$0(level=1)
+global: loop_1$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+loop_1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_type(atstype_ptrk) arg3)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(apy3, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpret1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref7, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref12, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp17, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref18, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp21) ;
+ATStmpdec(tmpref26, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 557(line=17, offs=9) -- 1022(line=32, offs=12)
+*/
+ATSINSflab(__patsflab_loop_1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 681(line=18, offs=10) -- 686(line=18, offs=15)
+*/
+ATSINSmove(tmp2, ATSLIB_056_prelude__lt_g1int_int__2__1(arg1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 678(line=18, offs=7) -- 1022(line=32, offs=12)
+*/
+ATSif(
+tmp2
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 700(line=19, offs=9) -- 844(line=24, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 718(line=20, offs=15) -- 719(line=20, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref7) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 722(line=20, offs=19) -- 749(line=20, offs=46)
+*/
+ATSINSmove(tmpref7, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(arg3, ATSPMVrefarg0(arg2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 764(line=21, offs=15) -- 765(line=21, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref12) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 768(line=21, offs=19) -- 789(line=21, offs=40)
+*/
+ATSINSmove(tmpref12, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(tmpref7, arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 819(line=23, offs=19) -- 824(line=23, offs=24)
+*/
+ATSINSmove(tmp17, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 811(line=23, offs=11) -- 832(line=23, offs=32)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, arg0) ;
+ATSINSmove_tlcal(apy1, tmp17) ;
+ATSINSmove_tlcal(apy2, tmpref12) ;
+ATSINSmove_tlcal(apy3, arg2) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSargmove_tlcal(arg2, apy2) ;
+ATSINSargmove_tlcal(arg3, apy3) ;
+ATSINSfgoto(__patsflab_loop_1) ;
+ATStailcal_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 700(line=19, offs=9) -- 844(line=24, offs=12)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 864(line=26, offs=9) -- 1022(line=32, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 882(line=27, offs=15) -- 883(line=27, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref18) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 886(line=27, offs=19) -- 913(line=27, offs=46)
+*/
+ATSINSmove(tmpref18, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(arg3, ATSPMVrefarg0(arg2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 932(line=28, offs=19) -- 946(line=28, offs=33)
+*/
+ATSINSmove_void(tmp21, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(arg2)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 962(line=29, offs=15) -- 963(line=29, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref26) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 966(line=29, offs=19) -- 987(line=29, offs=40)
+*/
+ATSINSmove(tmpref26, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(tmpref18, arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 1009(line=31, offs=11) -- 1010(line=31, offs=12)
+*/
+ATSINSmove(tmpret1, tmpref26) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 864(line=26, offs=9) -- 1022(line=32, offs=12)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret1) ;
+} /* end of [loop_1] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
+*/
+/*
+local: 
+global: lt_g1int_int$2$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4627)
+tmparg = S2Evar(tk(4627))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__2(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret3, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp4, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
+*/
+ATSINSmove(tmp4, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4627))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
+*/
+ATSINSmove(tmpret3, PMVtmpltcst(g1int_lt<S2Evar(tk(4627))>)(arg0, tmp4)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret3) ;
+} /* end of [ATSLIB_056_prelude__lt_g1int_int__2] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
+*/
+/*
+local: 
+global: lt_g1int_int$2$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4627)
+tmparg = S2Evar(tk(4627))
+tmpsub = Some(tk(4627) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__2__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret3__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp4__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
+*/
+ATSINSmove(tmp4__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
+*/
+ATSINSmove(tmpret3__1, atspre_g1int_lt_int(arg0, tmp4__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret3__1) ;
+} /* end of [ATSLIB_056_prelude__lt_g1int_int__2__1] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
+*/
+/*
+local: 
+global: add_intinf0_intinf1$6$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret8, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp9) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
+*/
+ATSINSflab(__patsflab_add_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
+*/
+ATSINSmove_void(tmp9, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
+*/
+ATSINSmove(tmpret8, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret8) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
+*/
+/*
+local: 
+global: add_intinf0_intinf1$6$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret8__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp9__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
+*/
+ATSINSflab(__patsflab_add_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
+*/
+ATSINSmove_void(tmp9__1, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
+*/
+ATSINSmove(tmpret8__1, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret8__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14__1, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13__1, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
+*/
+/*
+local: 
+global: add_intinf0_intinf1$6$2(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret8__2, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp9__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
+*/
+ATSINSflab(__patsflab_add_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
+*/
+ATSINSmove_void(tmp9__2, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
+*/
+ATSINSmove(tmpret8__2, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret8__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22) ;
+// ATStmpdec_void(tmp23) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22__1) ;
+// ATStmpdec_void(tmp23__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23__1, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22__1, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$2(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13__2, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14__2, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13__2, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29, tmp30) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__1, ATSLIB_056_prelude__ptr_alloc__17__1()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__1, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__1, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__1, tmp30__1) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35, atspre_ptr_alloc_tsz(ATSPMVsizeof(atstyvar_type(a)))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__1()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__1, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__1, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__1) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__2, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__2, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__2, ATSLIB_056_prelude__ptr_alloc__17__2()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__2, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__2, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__2, tmp30__2) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$2(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__2()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__2, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__2, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__2) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__2] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$3(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__3, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__3, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__3) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__3, ATSLIB_056_prelude__ptr_alloc__17__3()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__3, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__3, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__3, tmp30__3) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__3) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$3(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__3()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__3, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__3, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__3) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__3] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$4(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__4, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__4, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__4) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__4, ATSLIB_056_prelude__ptr_alloc__17__4()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__4, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__4, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__4, tmp30__4) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__4) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$4(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__4()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__4, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__4, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__4) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__4] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$5(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__5, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__5, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__5) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__5, ATSLIB_056_prelude__ptr_alloc__17__5()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__5, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__5, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__5, tmp30__5) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__5) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$5(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__5()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__5, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__5, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__5) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__5] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2138(line=75, offs=5) -- 2416(line=83, offs=8)
+*/
+/*
+local: fact_ref_28$0(level=0)
+global: fact_ref_28$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atsvoid_t0ype
+fact_ref_28(atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret56) ;
+ATStmpdec(tmp57, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp62, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp67) ;
+ATStmpdec(tmp68, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp69, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2138(line=75, offs=5) -- 2416(line=83, offs=8)
+*/
+ATSINSflab(__patsflab_fact_ref_28):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2223(line=76, offs=3) -- 2416(line=83, offs=8)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2240(line=77, offs=7) -- 2241(line=77, offs=8)
+*/
+ATSINSlab(__atstmplab7):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2162(line=75, offs=29) -- 2163(line=75, offs=30)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab9) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2241(line=77, offs=8) -- 2241(line=77, offs=8)
+*/
+ATSINSlab(__atstmplab8):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2252(line=77, offs=19) -- 2265(line=77, offs=32)
+*/
+ATSINSmove(tmp57, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2245(line=77, offs=12) -- 2265(line=77, offs=32)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp57) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2245(line=77, offs=12) -- 2265(line=77, offs=32)
+*/
+ATSINSmove_void(tmpret56, ATSPMVempty()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2272(line=78, offs=7) -- 2273(line=78, offs=8)
+*/
+ATSINSlab(__atstmplab9):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2162(line=75, offs=29) -- 2163(line=75, offs=30)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab11) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2273(line=78, offs=8) -- 2273(line=78, offs=8)
+*/
+ATSINSlab(__atstmplab10):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2284(line=78, offs=19) -- 2297(line=78, offs=32)
+*/
+ATSINSmove(tmp62, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2277(line=78, offs=12) -- 2297(line=78, offs=32)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp62) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2277(line=78, offs=12) -- 2297(line=78, offs=32)
+*/
+ATSINSmove_void(tmpret56, ATSPMVempty()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2305(line=79, offs=8) -- 2305(line=79, offs=8)
+*/
+ATSINSlab(__atstmplab11):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2310(line=79, offs=13) -- 2416(line=83, offs=8)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2338(line=80, offs=25) -- 2343(line=80, offs=30)
+*/
+ATSINSmove(tmp68, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2329(line=80, offs=16) -- 2349(line=80, offs=36)
+*/
+ATSINSmove_void(tmp67, fact_ref_28(tmp68, ATSPMVrefarg1(arg1))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2384(line=82, offs=28) -- 2407(line=82, offs=51)
+*/
+ATSINSmove(tmp69, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(ATSderef(arg1, atstkind_type(atstype_ptrk)), arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2363(line=82, offs=7) -- 2408(line=82, offs=52)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVcastfn(castvwtp0, atstype_boxed, tmp69)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2363(line=82, offs=7) -- 2408(line=82, offs=52)
+*/
+ATSINSmove_void(tmpret56, ATSPMVempty()) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2310(line=79, offs=13) -- 2416(line=83, offs=8)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn_void(tmpret56) ;
+} /* end of [fact_ref_28] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$6(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__6, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__6, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__6) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__6, ATSLIB_056_prelude__ptr_alloc__17__6()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__6, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__6, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__6, tmp30__6) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__6) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$6(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__6()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__6, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__6, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__6) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__6] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$7(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__7, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__7, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__7) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__7, ATSLIB_056_prelude__ptr_alloc__17__7()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__7, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__7, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__7, tmp30__7) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__7) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$7(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__7()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__7, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__7, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__7) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__7] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$3(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13__3, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14__3) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14__3, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13__3, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13__3) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2421(line=85, offs=4) -- 2550(line=91, offs=6)
+*/
+/*
+local: fact_ref_28$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+fact_34(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret72, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref73, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp74) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2421(line=85, offs=4) -- 2550(line=91, offs=6)
+*/
+ATSINSflab(__patsflab_fact_34):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2472(line=86, offs=3) -- 2550(line=91, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2484(line=87, offs=9) -- 2487(line=87, offs=12)
+*/
+/*
+ATSINStmpdec(tmpref73) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2515(line=88, offs=14) -- 2531(line=88, offs=30)
+*/
+ATSINSmove_void(tmp74, fact_ref_28(arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref73)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2541(line=90, offs=5) -- 2544(line=90, offs=8)
+*/
+ATSINSmove(tmpret72, tmpref73) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2472(line=86, offs=3) -- 2550(line=91, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret72) ;
+} /* end of [fact_34] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2626(line=94, offs=5) -- 2895(line=103, offs=8)
+*/
+/*
+local: dfact_ref_35$0(level=0)
+global: dfact_ref_35$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atsvoid_t0ype
+dfact_ref_35(atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret75) ;
+ATStmpdec(tmp76, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp81, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp86) ;
+ATStmpdec(tmp87, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref88, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2626(line=94, offs=5) -- 2895(line=103, offs=8)
+*/
+ATSINSflab(__patsflab_dfact_ref_35):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2700(line=95, offs=3) -- 2895(line=103, offs=8)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2717(line=96, offs=7) -- 2718(line=96, offs=8)
+*/
+ATSINSlab(__atstmplab12):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2651(line=94, offs=30) -- 2652(line=94, offs=31)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab14) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2718(line=96, offs=8) -- 2718(line=96, offs=8)
+*/
+ATSINSlab(__atstmplab13):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2729(line=96, offs=19) -- 2742(line=96, offs=32)
+*/
+ATSINSmove(tmp76, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2722(line=96, offs=12) -- 2742(line=96, offs=32)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp76) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2722(line=96, offs=12) -- 2742(line=96, offs=32)
+*/
+ATSINSmove_void(tmpret75, ATSPMVempty()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2749(line=97, offs=7) -- 2750(line=97, offs=8)
+*/
+ATSINSlab(__atstmplab14):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2651(line=94, offs=30) -- 2652(line=94, offs=31)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab16) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2750(line=97, offs=8) -- 2750(line=97, offs=8)
+*/
+ATSINSlab(__atstmplab15):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2761(line=97, offs=19) -- 2774(line=97, offs=32)
+*/
+ATSINSmove(tmp81, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2754(line=97, offs=12) -- 2774(line=97, offs=32)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp81) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2754(line=97, offs=12) -- 2774(line=97, offs=32)
+*/
+ATSINSmove_void(tmpret75, ATSPMVempty()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2782(line=98, offs=8) -- 2782(line=98, offs=8)
+*/
+ATSINSlab(__atstmplab16):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2787(line=98, offs=13) -- 2895(line=103, offs=8)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2816(line=99, offs=26) -- 2821(line=99, offs=31)
+*/
+ATSINSmove(tmp87, atspre_g1int_sub_int(arg0, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2806(line=99, offs=16) -- 2827(line=99, offs=37)
+*/
+ATSINSmove_void(tmp86, dfact_ref_35(tmp87, ATSPMVrefarg1(arg1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2838(line=100, offs=11) -- 2839(line=100, offs=12)
+*/
+/*
+ATSINStmpdec(tmpref88) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2842(line=100, offs=15) -- 2865(line=100, offs=38)
+*/
+ATSINSmove(tmpref88, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(ATSderef(arg1, atstkind_type(atstype_ptrk)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2879(line=102, offs=7) -- 2887(line=102, offs=15)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmpref88) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2879(line=102, offs=7) -- 2887(line=102, offs=15)
+*/
+ATSINSmove_void(tmpret75, ATSPMVempty()) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2787(line=98, offs=13) -- 2895(line=103, offs=8)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn_void(tmpret75) ;
+} /* end of [dfact_ref_35] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$8(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__8, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__8, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__8) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__8, ATSLIB_056_prelude__ptr_alloc__17__8()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__8, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__8, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__8, tmp30__8) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__8) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$8(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__8()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__8, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__8, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__8) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__8] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$9(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__9, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__9, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__9) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__9, ATSLIB_056_prelude__ptr_alloc__17__9()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__9, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__9, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__9, tmp30__9) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__9) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$9(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__9()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__9, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__9, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__9) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__9] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$4(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13__4, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14__4) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14__4, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13__4, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13__4) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2971(line=106, offs=5) -- 3179(line=115, offs=8)
+*/
+/*
+local: dfact_41$0(level=0)
+global: dfact_41$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+dfact_41(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret91, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref100, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp101, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref102, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2971(line=106, offs=5) -- 3179(line=115, offs=8)
+*/
+ATSINSflab(__patsflab_dfact_41):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3017(line=107, offs=3) -- 3179(line=115, offs=8)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3034(line=108, offs=7) -- 3035(line=108, offs=8)
+*/
+ATSINSlab(__atstmplab17):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2992(line=106, offs=26) -- 2993(line=106, offs=27)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab19) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3035(line=108, offs=8) -- 3035(line=108, offs=8)
+*/
+ATSINSlab(__atstmplab18):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3039(line=108, offs=12) -- 3052(line=108, offs=25)
+*/
+ATSINSmove(tmpret91, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3059(line=109, offs=7) -- 3060(line=109, offs=8)
+*/
+ATSINSlab(__atstmplab19):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 2992(line=106, offs=26) -- 2993(line=106, offs=27)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab21) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3060(line=109, offs=8) -- 3060(line=109, offs=8)
+*/
+ATSINSlab(__atstmplab20):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3064(line=109, offs=12) -- 3077(line=109, offs=25)
+*/
+ATSINSmove(tmpret91, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3085(line=110, offs=8) -- 3085(line=110, offs=8)
+*/
+ATSINSlab(__atstmplab21):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3090(line=110, offs=13) -- 3179(line=115, offs=8)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3104(line=111, offs=11) -- 3105(line=111, offs=12)
+*/
+/*
+ATSINStmpdec(tmpref100) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3114(line=111, offs=21) -- 3119(line=111, offs=26)
+*/
+ATSINSmove(tmp101, atspre_g1int_sub_int(arg0, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3108(line=111, offs=15) -- 3120(line=111, offs=27)
+*/
+ATSINSmove(tmpref100, dfact_41(tmp101)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3131(line=112, offs=11) -- 3132(line=112, offs=12)
+*/
+/*
+ATSINStmpdec(tmpref102) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3135(line=112, offs=15) -- 3156(line=112, offs=36)
+*/
+ATSINSmove(tmpref102, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(tmpref100, arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3170(line=114, offs=7) -- 3171(line=114, offs=8)
+*/
+ATSINSmove(tmpret91, tmpref102) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3090(line=110, offs=13) -- 3179(line=115, offs=8)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret91) ;
+} /* end of [dfact_41] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$10(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__10, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__10, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__10) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__10, ATSLIB_056_prelude__ptr_alloc__17__10()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__10, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__10, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__10, tmp30__10) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__10) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$10(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__10()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__10, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__10, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__10) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__10] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$11(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__11, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__11, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__11) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__11, ATSLIB_056_prelude__ptr_alloc__17__11()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__11, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__11, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__11, tmp30__11) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__11) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$11(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__11()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__11, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__11, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__11) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__11] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$5(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13__5, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14__5) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14__5, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13__5, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13__5) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3242(line=118, offs=4) -- 3488(line=127, offs=6)
+*/
+/*
+local: fact_34$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), permutations_47$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+permutations_47(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret105, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref106, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref107, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp108, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref109, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp114) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3242(line=118, offs=4) -- 3488(line=127, offs=6)
+*/
+ATSINSflab(__patsflab_permutations_47):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3320(line=119, offs=3) -- 3488(line=127, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3371(line=121, offs=9) -- 3372(line=121, offs=10)
+*/
+/*
+ATSINStmpdec(tmpref106) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3375(line=121, offs=13) -- 3381(line=121, offs=19)
+*/
+ATSINSmove(tmpref106, fact_34(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3391(line=122, offs=9) -- 3392(line=122, offs=10)
+*/
+/*
+ATSINStmpdec(tmpref107) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3400(line=122, offs=18) -- 3405(line=122, offs=23)
+*/
+ATSINSmove(tmp108, atspre_g1int_sub_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3395(line=122, offs=13) -- 3406(line=122, offs=24)
+*/
+ATSINSmove(tmpref107, fact_34(tmp108)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3415(line=123, offs=9) -- 3416(line=123, offs=10)
+*/
+/*
+ATSINStmpdec(tmpref109) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3419(line=123, offs=13) -- 3444(line=123, offs=38)
+*/
+ATSINSmove(tmpref109, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48__1(tmpref106, ATSPMVrefarg0(tmpref107))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3457(line=124, offs=13) -- 3470(line=124, offs=26)
+*/
+ATSINSmove_void(tmp114, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(tmpref107)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3481(line=126, offs=5) -- 3482(line=126, offs=6)
+*/
+ATSINSmove(tmpret105, tmpref109) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3320(line=119, offs=3) -- 3488(line=127, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret105) ;
+} /* end of [permutations_47] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
+*/
+/*
+local: 
+global: div_intinf0_intinf1$48$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret110, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp111) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
+*/
+ATSINSflab(__patsflab_div_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
+*/
+ATSINSmove_void(tmp111, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
+*/
+ATSINSmove(tmpret110, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret110) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
+*/
+/*
+local: 
+global: div_intinf0_intinf1$48$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret110__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp111__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
+*/
+ATSINSflab(__patsflab_div_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
+*/
+ATSINSmove_void(tmp111__1, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
+*/
+ATSINSmove(tmpret110__1, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret110__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22__2) ;
+// ATStmpdec_void(tmp23__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23__2, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22__2, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3540(line=130, offs=4) -- 4139(line=153, offs=6)
+*/
+/*
+local: fact_34$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), catalan_51$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+catalan_51(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret117, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref138, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref139, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref140, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp143) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3540(line=130, offs=4) -- 4139(line=153, offs=6)
+*/
+ATSINSflab(__patsflab_catalan_51):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3581(line=131, offs=3) -- 4139(line=153, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3876(line=142, offs=5) -- 4133(line=152, offs=10)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3895(line=143, offs=9) -- 3896(line=143, offs=10)
+*/
+ATSINSlab(__atstmplab25):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3556(line=130, offs=20) -- 3557(line=130, offs=21)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab27) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3896(line=143, offs=10) -- 3896(line=143, offs=10)
+*/
+ATSINSlab(__atstmplab26):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3900(line=143, offs=14) -- 3913(line=143, offs=27)
+*/
+ATSINSmove(tmpret117, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3922(line=144, offs=9) -- 3923(line=144, offs=10)
+*/
+ATSINSlab(__atstmplab27):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3556(line=130, offs=20) -- 3557(line=130, offs=21)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab29) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3923(line=144, offs=10) -- 3923(line=144, offs=10)
+*/
+ATSINSlab(__atstmplab28):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3927(line=144, offs=14) -- 3940(line=144, offs=27)
+*/
+ATSINSmove(tmpret117, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3950(line=145, offs=10) -- 3950(line=145, offs=10)
+*/
+ATSINSlab(__atstmplab29):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3955(line=145, offs=15) -- 4133(line=152, offs=10)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3971(line=146, offs=13) -- 3972(line=146, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref138) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3975(line=146, offs=17) -- 3991(line=146, offs=33)
+*/
+ATSINSmove(tmpref138, numerator_loop_52(arg0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4005(line=147, offs=13) -- 4006(line=147, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref139) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4009(line=147, offs=17) -- 4015(line=147, offs=23)
+*/
+ATSINSmove(tmpref139, fact_34(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4029(line=148, offs=13) -- 4030(line=148, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref140) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4033(line=148, offs=17) -- 4058(line=148, offs=42)
+*/
+ATSINSmove(tmpref140, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48__2(tmpref138, ATSPMVrefarg0(tmpref139))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4075(line=149, offs=17) -- 4088(line=149, offs=30)
+*/
+ATSINSmove_void(tmp143, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(tmpref139)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4107(line=151, offs=9) -- 4122(line=151, offs=24)
+*/
+ATSINSmove(tmpret117, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref140)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3955(line=145, offs=15) -- 4133(line=152, offs=10)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3581(line=131, offs=3) -- 4139(line=153, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret117) ;
+} /* end of [catalan_51] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3593(line=132, offs=9) -- 3866(line=140, offs=12)
+*/
+/*
+local: numerator_loop_52$0(level=1)
+global: numerator_loop_52$0(level=1)
+local: n$5109(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: n$5109(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+numerator_loop_52(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret118, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp123, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref124, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp125, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref126, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp129, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3593(line=132, offs=9) -- 3866(line=140, offs=12)
+*/
+ATSINSflab(__patsflab_numerator_loop_52):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3669(line=133, offs=7) -- 3866(line=140, offs=12)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3690(line=134, offs=11) -- 3691(line=134, offs=12)
+*/
+ATSINSlab(__atstmplab22):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3635(line=132, offs=51) -- 3636(line=132, offs=52)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab24) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3691(line=134, offs=12) -- 3691(line=134, offs=12)
+*/
+ATSINSlab(__atstmplab23):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3695(line=134, offs=16) -- 3712(line=134, offs=33)
+*/
+ATSINSmove(tmp123, atspre_g1int_add_int(env0, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3695(line=134, offs=16) -- 3712(line=134, offs=33)
+*/
+ATSINSmove(tmpret118, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(tmp123)) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3724(line=135, offs=12) -- 3724(line=135, offs=12)
+*/
+ATSINSlab(__atstmplab24):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3729(line=135, offs=17) -- 3866(line=140, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3747(line=136, offs=15) -- 3748(line=136, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref124) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3766(line=136, offs=34) -- 3771(line=136, offs=39)
+*/
+ATSINSmove(tmp125, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3751(line=136, offs=19) -- 3772(line=136, offs=40)
+*/
+ATSINSmove(tmpref124, numerator_loop_52(env0, tmp125)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3787(line=137, offs=15) -- 3788(line=137, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref126) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3810(line=137, offs=38) -- 3815(line=137, offs=43)
+*/
+ATSINSmove(tmp129, atspre_g1int_add_int(env0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3791(line=137, offs=19) -- 3816(line=137, offs=44)
+*/
+ATSINSmove(tmpref126, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(tmpref124, tmp129)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3838(line=139, offs=11) -- 3853(line=139, offs=26)
+*/
+ATSINSmove(tmpret118, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref126)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 3729(line=135, offs=17) -- 3866(line=140, offs=12)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret118) ;
+} /* end of [numerator_loop_52] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$12(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__12, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__12, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__12) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__12, ATSLIB_056_prelude__ptr_alloc__17__12()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__12, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__12, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__12, tmp30__12) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__12) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$12(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__12()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__12, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__12, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__12) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__12] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$6(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13__6, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14__6) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14__6, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13__6, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13__6) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$13(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__13, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__13, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__13) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__13, ATSLIB_056_prelude__ptr_alloc__17__13()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__13, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__13, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__13, tmp30__13) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__13) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$13(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__13()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__13, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__13, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__13) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__13] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$14(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__14, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__14, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__14) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__14, ATSLIB_056_prelude__ptr_alloc__17__14()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__14, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__14, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__14, tmp30__14) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__14) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$14(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__14()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__14, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__14, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__14) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__14] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
+*/
+/*
+local: 
+global: div_intinf0_intinf1$48$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48__2(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret110__2, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp111__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
+*/
+ATSINSflab(__patsflab_div_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
+*/
+ATSINSmove_void(tmp111__2, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
+*/
+ATSINSmove(tmpret110__2, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret110__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48__2] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$3(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22__3) ;
+// ATStmpdec_void(tmp23__3) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23__3, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22__3, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22__3) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4202(line=156, offs=4) -- 4886(line=180, offs=6)
+*/
+/*
+local: fact_34$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+choose_62(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret146, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref174, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref175, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref176, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp179) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4202(line=156, offs=4) -- 4886(line=180, offs=6)
+*/
+ATSINSflab(__patsflab_choose_62):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4274(line=157, offs=3) -- 4886(line=180, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4623(line=169, offs=5) -- 4880(line=179, offs=10)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4642(line=170, offs=9) -- 4643(line=170, offs=10)
+*/
+ATSINSlab(__atstmplab35):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4249(line=156, offs=51) -- 4250(line=156, offs=52)
+*/
+ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(0))) { ATSINSgoto(__atstmplab37) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4643(line=170, offs=10) -- 4643(line=170, offs=10)
+*/
+ATSINSlab(__atstmplab36):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4647(line=170, offs=14) -- 4660(line=170, offs=27)
+*/
+ATSINSmove(tmpret146, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4669(line=171, offs=9) -- 4670(line=171, offs=10)
+*/
+ATSINSlab(__atstmplab37):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4249(line=156, offs=51) -- 4250(line=156, offs=52)
+*/
+ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab39) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4670(line=171, offs=10) -- 4670(line=171, offs=10)
+*/
+ATSINSlab(__atstmplab38):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4674(line=171, offs=14) -- 4686(line=171, offs=26)
+*/
+ATSINSmove(tmpret146, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(arg0)) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4697(line=172, offs=10) -- 4697(line=172, offs=10)
+*/
+ATSINSlab(__atstmplab39):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4702(line=172, offs=15) -- 4880(line=179, offs=10)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4718(line=173, offs=13) -- 4719(line=173, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref174) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4722(line=173, offs=17) -- 4738(line=173, offs=33)
+*/
+ATSINSmove(tmpref174, numerator_loop_63(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4752(line=174, offs=13) -- 4753(line=174, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref175) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4756(line=174, offs=17) -- 4762(line=174, offs=23)
+*/
+ATSINSmove(tmpref175, fact_34(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4776(line=175, offs=13) -- 4777(line=175, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref176) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4780(line=175, offs=17) -- 4805(line=175, offs=42)
+*/
+ATSINSmove(tmpref176, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48__3(tmpref174, ATSPMVrefarg0(tmpref175))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4822(line=176, offs=17) -- 4835(line=176, offs=30)
+*/
+ATSINSmove_void(tmp179, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(tmpref175)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4854(line=178, offs=9) -- 4869(line=178, offs=24)
+*/
+ATSINSmove(tmpret146, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref176)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4702(line=172, offs=15) -- 4880(line=179, offs=10)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4274(line=157, offs=3) -- 4886(line=180, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret146) ;
+} /* end of [choose_62] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4286(line=158, offs=9) -- 4613(line=167, offs=12)
+*/
+/*
+local: numerator_loop_63$0(level=1)
+global: numerator_loop_63$0(level=1)
+local: n$5120(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: n$5120(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+numerator_loop_63(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret147, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp152, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp157, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp158, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref159, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp160, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref161, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp164, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp165, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4286(line=158, offs=9) -- 4613(line=167, offs=12)
+*/
+ATSINSflab(__patsflab_numerator_loop_63):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4362(line=159, offs=7) -- 4613(line=167, offs=12)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4383(line=160, offs=11) -- 4384(line=160, offs=12)
+*/
+ATSINSlab(__atstmplab30):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4328(line=158, offs=51) -- 4329(line=158, offs=52)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab32) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4384(line=160, offs=12) -- 4384(line=160, offs=12)
+*/
+ATSINSlab(__atstmplab31):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4388(line=160, offs=16) -- 4400(line=160, offs=28)
+*/
+ATSINSmove(tmpret147, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(env0)) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4412(line=161, offs=11) -- 4413(line=161, offs=12)
+*/
+ATSINSlab(__atstmplab32):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4328(line=158, offs=51) -- 4329(line=158, offs=52)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab34) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4413(line=161, offs=12) -- 4413(line=161, offs=12)
+*/
+ATSINSlab(__atstmplab33):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4431(line=161, offs=30) -- 4454(line=161, offs=53)
+*/
+ATSINSmove(tmp158, atspre_g1int_sub_int(env0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4431(line=161, offs=30) -- 4454(line=161, offs=53)
+*/
+ATSINSmove(tmp157, atspre_g1int_mul_int(tmp158, env0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4431(line=161, offs=30) -- 4454(line=161, offs=53)
+*/
+ATSINSmove(tmp152, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(tmp157)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4417(line=161, offs=16) -- 4455(line=161, offs=54)
+*/
+ATSINSmove(tmpret147, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp152)) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4467(line=162, offs=12) -- 4467(line=162, offs=12)
+*/
+ATSINSlab(__atstmplab34):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4472(line=162, offs=17) -- 4613(line=167, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4490(line=163, offs=15) -- 4491(line=163, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref159) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4509(line=163, offs=34) -- 4514(line=163, offs=39)
+*/
+ATSINSmove(tmp160, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4494(line=163, offs=19) -- 4515(line=163, offs=40)
+*/
+ATSINSmove(tmpref159, numerator_loop_63(env0, tmp160)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4530(line=164, offs=15) -- 4531(line=164, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref161) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4553(line=164, offs=38) -- 4558(line=164, offs=43)
+*/
+ATSINSmove(tmp165, atspre_g1int_add_int(env0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4553(line=164, offs=38) -- 4562(line=164, offs=47)
+*/
+ATSINSmove(tmp164, atspre_g1int_sub_int(tmp165, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4534(line=164, offs=19) -- 4563(line=164, offs=48)
+*/
+ATSINSmove(tmpref161, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7(tmpref159, tmp164)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4585(line=166, offs=11) -- 4600(line=166, offs=26)
+*/
+ATSINSmove(tmpret147, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref161)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 4472(line=162, offs=17) -- 4613(line=167, offs=12)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret147) ;
+} /* end of [numerator_loop_63] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$15(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__15, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__15, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__15) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__15, ATSLIB_056_prelude__ptr_alloc__17__15()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__15, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__15, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__15, tmp30__15) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__15) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$15(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__15()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__15, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__15, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__15) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__15] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$16(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__16, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__16, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__16) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__16, ATSLIB_056_prelude__ptr_alloc__17__16()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__16, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__16, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__16, tmp30__16) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__16) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$16(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__16()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__16, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__16, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__16) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__16] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$7(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13__7, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14__7) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14__7, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13__7, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13__7) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$17(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__17, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__17, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__17) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__17, ATSLIB_056_prelude__ptr_alloc__17__17()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__17, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__17, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__17, tmp30__17) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__17) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$17(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__17()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__17, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__17, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__17) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__17] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$18(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__18, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__18, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__18) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__18, ATSLIB_056_prelude__ptr_alloc__17__18()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__18, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__18, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__18, tmp30__18) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__18) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$18(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__18()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__18, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__18, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__18) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__18] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
+*/
+/*
+local: 
+global: div_intinf0_intinf1$48$3(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48__3(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret110__3, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp111__3) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
+*/
+ATSINSflab(__patsflab_div_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
+*/
+ATSINSmove_void(tmp111__3, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
+*/
+ATSINSmove(tmpret110__3, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret110__3) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__48__3] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$4(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22__4) ;
+// ATStmpdec_void(tmp23__4) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23__4, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22__4, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22__4) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5083(line=185, offs=5) -- 5200(line=188, offs=39)
+*/
+/*
+local: sum_loop_77$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), bell_76$0(level=0), sum_loop_77$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+bell_76(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret182, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp187, atstkind_t0ype(atstype_bool)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5083(line=185, offs=5) -- 5200(line=188, offs=39)
+*/
+ATSINSflab(__patsflab_bell_76):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5126(line=186, offs=3) -- 5200(line=188, offs=39)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5143(line=187, offs=7) -- 5144(line=187, offs=8)
+*/
+ATSINSlab(__atstmplab40):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5096(line=185, offs=18) -- 5097(line=185, offs=19)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab42) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5144(line=187, offs=8) -- 5144(line=187, offs=8)
+*/
+ATSINSlab(__atstmplab41):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5148(line=187, offs=12) -- 5161(line=187, offs=25)
+*/
+ATSINSmove(tmpret182, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5169(line=188, offs=8) -- 5169(line=188, offs=8)
+*/
+ATSINSlab(__atstmplab42):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-guard:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5175(line=188, offs=14) -- 5181(line=188, offs=20)
+*/
+ATSINSmove(tmp187, ATSLIB_056_prelude__gte_g1int_int__80__1(arg0, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5175(line=188, offs=14) -- 5181(line=188, offs=20)
+*/
+ATSifnthen(ATSCKpat_bool(tmp187, ATSPMVbool_true())) { ATSINScaseof_fail("/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5168(line=188, offs=7) -- 5200(line=188, offs=39)") ; } ;
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5186(line=188, offs=25) -- 5200(line=188, offs=39)
+*/
+ATSINSmove(tmpret182, sum_loop_77(arg0, arg0)) ;
+
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret182) ;
+} /* end of [bell_76] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5206(line=190, offs=5) -- 5627(line=203, offs=8)
+*/
+/*
+local: choose_62$0(level=0), bell_76$0(level=0), sum_loop_77$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), bell_76$0(level=0), sum_loop_77$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+sum_loop_77(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret192, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref197, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp198, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref199, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref200, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref201, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref206, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp209) ;
+// ATStmpdec_void(tmp212) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5206(line=190, offs=5) -- 5627(line=203, offs=8)
+*/
+ATSINSflab(__patsflab_sum_loop_77):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5302(line=191, offs=3) -- 5627(line=203, offs=8)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5319(line=192, offs=7) -- 5320(line=192, offs=8)
+*/
+ATSINSlab(__atstmplab43):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5272(line=190, offs=71) -- 5273(line=190, offs=72)
+*/
+ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab45) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5320(line=192, offs=8) -- 5320(line=192, offs=8)
+*/
+ATSINSlab(__atstmplab44):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5324(line=192, offs=12) -- 5337(line=192, offs=25)
+*/
+ATSINSmove(tmpret192, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5345(line=193, offs=8) -- 5345(line=193, offs=8)
+*/
+ATSINSlab(__atstmplab45):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5350(line=193, offs=13) -- 5627(line=203, offs=8)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5364(line=194, offs=11) -- 5365(line=194, offs=12)
+*/
+/*
+ATSINStmpdec(tmpref197) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5380(line=194, offs=27) -- 5385(line=194, offs=32)
+*/
+ATSINSmove(tmp198, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5368(line=194, offs=15) -- 5386(line=194, offs=33)
+*/
+ATSINSmove(tmpref197, sum_loop_77(arg0, tmp198)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5397(line=195, offs=11) -- 5398(line=195, offs=12)
+*/
+/*
+ATSINStmpdec(tmpref199) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5401(line=195, offs=15) -- 5407(line=195, offs=21)
+*/
+ATSINSmove(tmpref199, bell_76(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5419(line=196, offs=11) -- 5420(line=196, offs=12)
+*/
+/*
+ATSINStmpdec(tmpref200) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5423(line=196, offs=15) -- 5435(line=196, offs=27)
+*/
+ATSINSmove(tmpref200, choose_62(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5446(line=197, offs=11) -- 5453(line=197, offs=18)
+*/
+/*
+ATSINStmpdec(tmpref201) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5456(line=197, offs=21) -- 5481(line=197, offs=46)
+*/
+ATSINSmove(tmpref201, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__85__1(tmpref200, ATSPMVrefarg0(tmpref199))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5492(line=198, offs=11) -- 5495(line=198, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref206) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5498(line=198, offs=17) -- 5529(line=198, offs=48)
+*/
+ATSINSmove(tmpref206, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(tmpref201, ATSPMVrefarg0(tmpref197))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5544(line=199, offs=15) -- 5557(line=199, offs=28)
+*/
+ATSINSmove_void(tmp209, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(tmpref199)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5573(line=200, offs=15) -- 5586(line=200, offs=28)
+*/
+ATSINSmove_void(tmp212, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(tmpref197)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5601(line=202, offs=7) -- 5618(line=202, offs=24)
+*/
+ATSINSmove(tmpret192, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref206)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics-internal.dats: 5350(line=193, offs=13) -- 5627(line=203, offs=8)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret192) ;
+} /* end of [sum_loop_77] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$19(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__19, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__19, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__19) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__19, ATSLIB_056_prelude__ptr_alloc__17__19()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__19, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__19, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__19, tmp30__19) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__19) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$19(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__19()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__19, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__19, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__19) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__19] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
+*/
+/*
+local: 
+global: gte_g1int_int$80$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4636)
+tmparg = S2Evar(tk(4636))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__80(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret188, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp189, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
+*/
+ATSINSflab(__patsflab_gte_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
+*/
+ATSINSmove(tmp189, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4636))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
+*/
+ATSINSmove(tmpret188, PMVtmpltcst(g1int_gte<S2Evar(tk(4636))>)(arg0, tmp189)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret188) ;
+} /* end of [ATSLIB_056_prelude__gte_g1int_int__80] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
+*/
+/*
+local: 
+global: gte_g1int_int$80$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4636)
+tmparg = S2Evar(tk(4636))
+tmpsub = Some(tk(4636) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__80__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret188__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp189__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
+*/
+ATSINSflab(__patsflab_gte_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
+*/
+ATSINSmove(tmp189__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
+*/
+ATSINSmove(tmpret188__1, atspre_g1int_gte_int(arg0, tmp189__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret188__1) ;
+} /* end of [ATSLIB_056_prelude__gte_g1int_int__80__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$20(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__20, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__20, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__20) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__20, ATSLIB_056_prelude__ptr_alloc__17__20()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__20, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__20, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__20, tmp30__20) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__20) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$20(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__20()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__20, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__20, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__20) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__20] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_intinf1$85$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__85(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret202, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp203) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
+*/
+ATSINSmove_void(tmp203, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
+*/
+ATSINSmove(tmpret202, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret202) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__85] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_intinf1$85$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__85__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret202__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp203__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
+*/
+ATSINSmove_void(tmp203__1, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
+*/
+ATSINSmove(tmpret202__1, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret202__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__85__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
+*/
+/*
+local: 
+global: add_intinf0_intinf1$6$3(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret8__3, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp9__3) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
+*/
+ATSINSflab(__patsflab_add_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
+*/
+ATSINSmove_void(tmp9__3, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
+*/
+ATSINSmove(tmpret8__3, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret8__3) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$5(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22__5) ;
+// ATStmpdec_void(tmp23__5) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23__5, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22__5, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22__5) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$6(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22__6) ;
+// ATStmpdec_void(tmp23__6) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23__6, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22__6, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22__6) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 586(line=30, offs=22) -- 609(line=31, offs=15)
+*/
+/*
+local: choose_62$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), choose_ats$90$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+choose_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret215, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 575(line=30, offs=11) -- 609(line=31, offs=15)
+*/
+ATSINSflab(__patsflab_choose_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 597(line=31, offs=3) -- 609(line=31, offs=15)
+*/
+ATSINSmove(tmpret215, choose_62(arg0, arg1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret215) ;
+} /* end of [choose_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 638(line=33, offs=28) -- 661(line=34, offs=15)
+*/
+/*
+local: choose_62$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), permutations_ats$91$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+permutations_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret216, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 621(line=33, offs=11) -- 661(line=34, offs=15)
+*/
+ATSINSflab(__patsflab_permutations_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 649(line=34, offs=3) -- 661(line=34, offs=15)
+*/
+ATSINSmove(tmpret216, choose_62(arg0, arg1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret216) ;
+} /* end of [permutations_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 694(line=36, offs=32) -- 709(line=37, offs=10)
+*/
+/*
+local: dfact_41$0(level=0)
+global: dfact_41$0(level=0), double_factorial_ats$92$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+double_factorial_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret217, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 673(line=36, offs=11) -- 710(line=37, offs=11)
+*/
+ATSINSflab(__patsflab_double_factorial_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 702(line=37, offs=3) -- 709(line=37, offs=10)
+*/
+ATSINSmove(tmpret217, dfact_41(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret217) ;
+} /* end of [double_factorial_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 736(line=39, offs=25) -- 750(line=40, offs=9)
+*/
+/*
+local: fact_34$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), factorial_ats$93$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+factorial_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret218, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 722(line=39, offs=11) -- 751(line=40, offs=10)
+*/
+ATSINSflab(__patsflab_factorial_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 744(line=40, offs=3) -- 750(line=40, offs=9)
+*/
+ATSINSmove(tmpret218, fact_34(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret218) ;
+} /* end of [factorial_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 775(line=42, offs=23) -- 792(line=43, offs=12)
+*/
+/*
+local: catalan_51$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), catalan_51$0(level=0), catalan_ats$94$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+catalan_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret219, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 763(line=42, offs=11) -- 793(line=43, offs=13)
+*/
+ATSINSflab(__patsflab_catalan_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 783(line=43, offs=3) -- 792(line=43, offs=12)
+*/
+ATSINSmove(tmpret219, catalan_51(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret219) ;
+} /* end of [catalan_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 822(line=45, offs=28) -- 844(line=46, offs=17)
+*/
+/*
+local: derangements_0$0(level=0)
+global: derangements_0$0(level=0), derangements_ats$95$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+derangements_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret220, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 805(line=45, offs=11) -- 845(line=46, offs=18)
+*/
+ATSINSflab(__patsflab_derangements_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 830(line=46, offs=3) -- 844(line=46, offs=17)
+*/
+ATSINSmove(tmpret220, derangements_0(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret220) ;
 } /* end of [derangements_ats] */
 
 /*
diff --git a/cbits/number-theory.c b/cbits/number-theory.c
--- a/cbits/number-theory.c
+++ b/cbits/number-theory.c
@@ -1,11296 +1,11903 @@
 /*
 **
-** The C code is generated by [ATS/Postiats-0-3-10]
-** The starting compilation time is: 2018-5-30: 19h:45m
-**
-*/
-
-/*
-** include runtime header files
-*/
-#ifndef _ATS_CCOMP_HEADER_NONE_
-#include "pats_ccomp_config.h"
-#include "pats_ccomp_basics.h"
-#include "pats_ccomp_typedefs.h"
-#include "pats_ccomp_instrset.h"
-#include "pats_ccomp_memalloc.h"
-#ifndef _ATS_CCOMP_EXCEPTION_NONE_
-#include "pats_ccomp_memalloca.h"
-#include "pats_ccomp_exception.h"
-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
-#endif /* _ATS_CCOMP_HEADER_NONE_ */
-
-
-/*
-** include prelude cats files
-*/
-#ifndef _ATS_CCOMP_PRELUDE_NONE_
-//
-#include "prelude/CATS/basics.cats"
-#include "prelude/CATS/integer.cats"
-#include "prelude/CATS/pointer.cats"
-#include "prelude/CATS/integer_long.cats"
-#include "prelude/CATS/integer_size.cats"
-#include "prelude/CATS/integer_short.cats"
-#include "prelude/CATS/bool.cats"
-#include "prelude/CATS/char.cats"
-#include "prelude/CATS/float.cats"
-#include "prelude/CATS/integer_ptr.cats"
-#include "prelude/CATS/integer_fixed.cats"
-#include "prelude/CATS/memory.cats"
-#include "prelude/CATS/string.cats"
-#include "prelude/CATS/strptr.cats"
-//
-#include "prelude/CATS/fprintf.cats"
-//
-#include "prelude/CATS/filebas.cats"
-//
-#include "prelude/CATS/list.cats"
-#include "prelude/CATS/option.cats"
-#include "prelude/CATS/array.cats"
-#include "prelude/CATS/arrayptr.cats"
-#include "prelude/CATS/arrayref.cats"
-#include "prelude/CATS/matrix.cats"
-#include "prelude/CATS/matrixptr.cats"
-//
-#endif /* _ATS_CCOMP_PRELUDE_NONE_ */
-/*
-** for user-supplied prelude
-*/
-#ifdef _ATS_CCOMP_PRELUDE_USER_
-//
-#include _ATS_CCOMP_PRELUDE_USER_
-//
-#endif /* _ATS_CCOMP_PRELUDE_USER_ */
-/*
-** for user2-supplied prelude
-*/
-#ifdef _ATS_CCOMP_PRELUDE_USER2_
-//
-#include _ATS_CCOMP_PRELUDE_USER2_
-//
-#endif /* _ATS_CCOMP_PRELUDE_USER2_ */
-
-/*
-staload-prologues(beg)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/basics.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 1533(line=44, offs=1) -- 1572(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_long.dats: 1602(line=49, offs=1) -- 1641(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_short.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/char.dats: 1610(line=48, offs=1) -- 1649(line=48, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/float.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/string.dats: 1631(line=50, offs=1) -- 1670(line=50, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/strptr.dats: 1629(line=50, offs=1) -- 1668(line=50, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/strptr.dats: 1691(line=54, offs=1) -- 1738(line=54, offs=48)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_ptr.dats: 1601(line=49, offs=1) -- 1640(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_fixed.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/memory.dats: 1410(line=38, offs=1) -- 1449(line=39, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 1607(line=49, offs=1) -- 1646(line=50, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 1669(line=54, offs=1) -- 1715(line=55, offs=39)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 1738(line=59, offs=1) -- 1783(line=60, offs=38)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/stdio.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/types.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 1865(line=66, offs=1) -- 1912(line=66, offs=48)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/stat.sats: 1390(line=36, offs=1) -- 1440(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/stat.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/stat.sats: 1756(line=58, offs=1) -- 1805(line=60, offs=34)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/types.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 15937(line=927, offs=1) -- 15974(line=928, offs=30)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/stdio.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/types.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/list.dats: 1529(line=44, offs=1) -- 1568(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/list.dats: 1569(line=46, offs=1) -- 1615(line=47, offs=39)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/list_vt.dats: 1538(line=44, offs=1) -- 1577(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/list_vt.dats: 1578(line=46, offs=1) -- 1624(line=47, offs=39)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/SHARE/list_vt_mergesort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/SHARE/list_vt_quicksort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/array.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/SHARE/array_bsearch.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/SHARE/array_quicksort.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/arrayptr.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/arrayref.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/matrix.dats: 1535(line=44, offs=1) -- 1574(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/matrixptr.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/matrixref.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/tostring.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/checkast.dats: 1531(line=44, offs=1) -- 1570(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
-*/
-
-//
-#include \
-"atscntrb-hx-libgmp/CATS/gmp.cats"
-//
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/mydepies.hats: 208(line=18, offs=1) -- 248(line=19, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
-*/
-
-//
-#include \
-"atscntrb-hx-libgmp/CATS/gmp.cats"
-//
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
-*/
-
-//
-#include \
-"atscntrb-hx-libgmp/CATS/gmp.cats"
-//
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/mydepies.hats: 208(line=18, offs=1) -- 248(line=19, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
-*/
-
-//
-#include \
-"atscntrb-hx-libgmp/CATS/gmp.cats"
-//
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/math.sats: 1380(line=35, offs=1) -- 1426(line=38, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/math.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-staload-prologues(end)
-*/
-/*
-typedefs-for-tyrecs-and-tysums(beg)
-*/
-typedef
-ATSstruct {
-atstkind_t0ype(atstype_int) atslab__first ;
-atstkind_t0ype(atstype_int) atslab__second ;
-} postiats_tyrec_0 ;
-typedef
-ATSstruct {
-#if(0)
-int contag ;
-#endif
-atstkind_t0ype(atstype_int) atslab__0 ;
-atstkind_type(atstype_ptrk) atslab__1 ;
-} postiats_tysum_1 ;
-typedef
-ATSstruct {
-#if(0)
-int contag ;
-#endif
-atstyvar_type(a) atslab__0 ;
-atstkind_type(atstype_ptrk) atslab__1 ;
-} postiats_tysum_2 ;
-typedef
-ATSstruct {
-#if(0)
-int contag ;
-#endif
-atstyvar_type(a) atslab__0 ;
-atstkind_type(atstype_ptrk) atslab__1 ;
-} postiats_tysum_3 ;
-typedef
-ATSstruct {
-#if(0)
-int contag ;
-#endif
-atstyvar_type(a) atslab__0 ;
-atstkind_type(atstype_ptrk) atslab__1 ;
-} postiats_tysum_4 ;
-/*
-typedefs-for-tyrecs-and-tysums(end)
-*/
-/*
-dynconlst-declaration(beg)
-*/
-/*
-dynconlst-declaration(end)
-*/
-/*
-dyncstlst-declaration(beg)
-*/
-ATSdyncst_mac(atspre_ptr_alloc_tsz)
-ATSdyncst_mac(atspre_g0int2uint_int_uint)
-ATSdyncst_mac(atspre_g1int_add_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_init)
-ATSdyncst_mac(atscntrb_gmp_mpz_fib_uint)
-ATSdyncst_mac(atspre_g1int2int_int_int)
-ATSdyncst_mac(atspre_g1int_gt_int)
-ATSdyncst_mac(atspre_g1int_half_int)
-ATSdyncst_mac(atspre_g0int_mod_int)
-ATSdyncst_mac(atspre_g0int2int_int_int)
-ATSdyncst_mac(atspre_g0int_eq_int)
-ATSdyncst_mac(atspre_g0int_mul_int)
-ATSdyncst_mac(atspre_g1int_eq_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_cmp_int)
-ATSdyncst_mac(atspre_g0int_lt_int)
-ATSdyncst_mac(atspre_g1int_neg_int)
-ATSdyncst_mac(atspre_g0int_gt_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_abs2)
-ATSdyncst_mac(atscntrb_gmp_mpz_mul2_mpz)
-ATSdyncst_mac(atscntrb_gmp_mpz_clear)
-ATSdyncst_mac(atspre_ptr_free)
-ATSdyncst_mac(atscntrb_gmp_mpz_init_set_int)
-ATSdyncst_mac(atspre_g0float2int_float_int)
-ATSdyncst_mac(atslib_libats_libc_sqrt_float)
-ATSdyncst_mac(atspre_g0int2float_int_float)
-ATSdyncst_mac(atspre_g1int_lt_int)
-ATSdyncst_mac(atspre_g0int_div_int)
-ATSdyncst_mac(atspre_g1int_gte_int)
-ATSdyncst_mac(atspre_g1int_neq_int)
-ATSdyncst_mac(atspre_g1int_div_int)
-ATSdyncst_mac(atspre_lazy_vt_free)
-ATSdyncst_mac(atspre_cloptr_free)
-ATSdyncst_mac(atspre_g1int_sub_int)
-ATSdyncst_mac(atspre_g0int_half_int)
-ATSdyncst_mac(atspre_g1int_mul_int)
-ATSdyncst_mac(atspre_g0int_add_int)
-ATSdyncst_mac(atspre_g0int_neq_int)
-ATSdyncst_mac(atspre_g0int_sub_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_add2_int)
-/*
-dyncstlst-declaration(end)
-*/
-/*
-dynvalist-implementation(beg)
-*/
-/*
-dynvalist-implementation(end)
-*/
-/*
-exnconlst-declaration(beg)
-*/
-#ifndef _ATS_CCOMP_EXCEPTION_NONE_
-ATSextern()
-atsvoid_t0ype
-the_atsexncon_initize
-(
-  atstype_exnconptr d2c, atstype_string exnmsg
-) ;
-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
-/*
-exnconlst-declaration(end)
-*/
-/*
-extypelst-declaration(beg)
-*/
-/*
-extypelst-declaration(end)
-*/
-/*
-assumelst-declaration(beg)
-*/
-#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
-#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
-/*
-assumelst-declaration(end)
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-witness_0(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-fib_gmp_1(atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2() ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__1() ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-exp_6(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-big_exp_18(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__19(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__19__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_int)
-ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__22(atsrefarg0_type(atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__22__1(atsrefarg0_type(atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g0int_int__24(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g0int_int__24__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g0int_int__28(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g0int_int__28__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33(atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__1(atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__2() ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38(atstkind_type(atstype_ptrk)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__1(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__2(atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__3() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__2(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__3(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__2(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__3(atstkind_type(atstype_ptrk)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46__1(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__4() ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-sqrt_int_49(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-is_prime_52(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-loop_53(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__54(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__54__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__19__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-divides_60(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-gcd_62(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-lcm_64(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-is_coprime_66(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__6(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-divisors_68(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_69(atstype_bool) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_70(atstype_bool) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-loop_71(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__72(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__72__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__7(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g1int_int__76(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g1int_int__76__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_80(atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstype_bool) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_81(atstkind_type(atstype_ptrk), atstype_bool) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_82(atstype_bool) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_83(atstkind_t0ype(atstype_int), atstype_bool) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_84(atstype_bool) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_85(atstype_bool) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__8(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_87(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstype_bool) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_88(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstype_bool) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-prime_divisors_89(atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__stream_vt_filter_cloptr__90(atstkind_type(atstype_ptrk), atstype_cloptr) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-#if(0)
-ATSstatic()
-atstkind_type(atstype_ptrk)
-auxmain_91__91(atstkind_type(atstype_ptrk), atstype_cloptr) ;
-#endif // end of [TEMPLATE]
-
-#if(0)
-ATSstatic()
-atstype_boxed
-auxmain_con_92__92(atstkind_type(atstype_ptrk), atstype_cloptr) ;
-#endif // end of [TEMPLATE]
-
-#if(0)
-ATSstatic()
-atstype_boxed
-__patsfun_93__93(atstkind_type(atstype_ptrk), atstype_cloptr, atstype_bool) ;
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__stream_vt_filter_cloptr__90__1(atstkind_type(atstype_ptrk), atstype_cloptr) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-auxmain_91__91__1(atstkind_type(atstype_ptrk), atstype_cloptr) ;
-
-ATSstatic()
-atstype_boxed
-auxmain_con_92__92__1(atstkind_type(atstype_ptrk), atstype_cloptr) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_93__93__1(atstkind_type(atstype_ptrk), atstype_cloptr, atstype_bool) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-__patsfun_98(atsrefarg1_type(atstkind_t0ype(atstype_int))) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-div_gt_zero_99(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-exp_mod_prime_100(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__9(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-jacobi_106(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-legendre_107(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__10(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__11(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-get_multiplicity_110(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_111(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__12(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-count_divisors_114(atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_int)
-ATSLIB_056_prelude__stream_vt_length__115(atstkind_type(atstype_ptrk)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-#if(0)
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_116__116(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-ATSLIB_056_prelude__stream_vt_length__115__1(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_116__116__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-sum_divisors_119(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_120(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__72__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__13(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g1int_int__76__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__14(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-is_perfect_126(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__15(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-rip_128(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g0int_int__129(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g0int_int__129__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__6(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__54__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-prime_factors_134(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-loop_135(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__72__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_137(atstkind_t0ype(atstype_int), atstype_bool) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_138(atstype_bool) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_139(atstype_bool) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__16(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__7(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_142(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstype_bool) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_143(atstkind_t0ype(atstype_int), atstype_bool) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_144(atstype_bool) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-little_omega_145(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_146(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__72__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__17(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__8(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-totient_150(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-postiats_tyrec_0
-adjust_contents_151(postiats_tyrec_0, atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstyvar_type(res)
-ATSLIB_056_prelude__stream_vt_foldleft_cloptr__153(atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-#if(0)
-ATSstatic()
-atstyvar_type(res)
-loop_154__154(atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr) ;
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-postiats_tyrec_0
-ATSLIB_056_prelude__stream_vt_foldleft_cloptr__153__1(atstkind_type(atstype_ptrk), postiats_tyrec_0, atstype_cloptr) ;
-
-ATSstatic()
-postiats_tyrec_0
-loop_154__154__1(atstkind_type(atstype_ptrk), postiats_tyrec_0, atstype_cloptr) ;
-
-ATSstatic()
-postiats_tyrec_0
-__patsfun_157(postiats_tyrec_0, atsrefarg1_type(atstkind_t0ype(atstype_int))) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-totient_sum_158(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-loop_159(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__54__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__161(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__161__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46__2(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__5() ;
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_int)
-sum_divisors_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_int)
-count_divisors_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_int)
-totient_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_int)
-little_omega_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-is_perfect_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_int)
-jacobi_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-totient_sum_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-coprime_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-ATSclosurerize_beg(__patsfun_69, (), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-} __patsfun_69__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_69__cfun
-(
-__patsfun_69__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_69(arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_69__closureinit
-(
-__patsfun_69__closure_t0ype *p_cenv
-)
-{
-p_cenv->cfun = __patsfun_69__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_69__closurerize
-(
-// argumentless
-)
-{
-return __patsfun_69__closureinit(ATS_MALLOC(sizeof(__patsfun_69__closure_t0ype))) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_70, (), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-} __patsfun_70__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_70__cfun
-(
-__patsfun_70__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_70(arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_70__closureinit
-(
-__patsfun_70__closure_t0ype *p_cenv
-)
-{
-p_cenv->cfun = __patsfun_70__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_70__closurerize
-(
-// argumentless
-)
-{
-return __patsfun_70__closureinit(ATS_MALLOC(sizeof(__patsfun_70__closure_t0ype))) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_80, (atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk)), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-atstkind_t0ype(atstype_int) env0 ;
-atstkind_type(atstype_ptrk) env1 ;
-} __patsfun_80__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_80__cfun
-(
-__patsfun_80__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_80(p_cenv->env0, p_cenv->env1, arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_80__closureinit
-(
-__patsfun_80__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0, atstkind_type(atstype_ptrk) env1
-)
-{
-p_cenv->env0 = env0 ;
-p_cenv->env1 = env1 ;
-p_cenv->cfun = __patsfun_80__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_80__closurerize
-(
-atstkind_t0ype(atstype_int) env0, atstkind_type(atstype_ptrk) env1
-)
-{
-return __patsfun_80__closureinit(ATS_MALLOC(sizeof(__patsfun_80__closure_t0ype)), env0, env1) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_81, (atstkind_type(atstype_ptrk)), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-atstkind_type(atstype_ptrk) env0 ;
-} __patsfun_81__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_81__cfun
-(
-__patsfun_81__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_81(p_cenv->env0, arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_81__closureinit
-(
-__patsfun_81__closure_t0ype *p_cenv, atstkind_type(atstype_ptrk) env0
-)
-{
-p_cenv->env0 = env0 ;
-p_cenv->cfun = __patsfun_81__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_81__closurerize
-(
-atstkind_type(atstype_ptrk) env0
-)
-{
-return __patsfun_81__closureinit(ATS_MALLOC(sizeof(__patsfun_81__closure_t0ype)), env0) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_82, (), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-} __patsfun_82__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_82__cfun
-(
-__patsfun_82__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_82(arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_82__closureinit
-(
-__patsfun_82__closure_t0ype *p_cenv
-)
-{
-p_cenv->cfun = __patsfun_82__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_82__closurerize
-(
-// argumentless
-)
-{
-return __patsfun_82__closureinit(ATS_MALLOC(sizeof(__patsfun_82__closure_t0ype))) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_83, (atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-atstkind_t0ype(atstype_int) env0 ;
-} __patsfun_83__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_83__cfun
-(
-__patsfun_83__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_83(p_cenv->env0, arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_83__closureinit
-(
-__patsfun_83__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0
-)
-{
-p_cenv->env0 = env0 ;
-p_cenv->cfun = __patsfun_83__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_83__closurerize
-(
-atstkind_t0ype(atstype_int) env0
-)
-{
-return __patsfun_83__closureinit(ATS_MALLOC(sizeof(__patsfun_83__closure_t0ype)), env0) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_84, (), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-} __patsfun_84__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_84__cfun
-(
-__patsfun_84__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_84(arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_84__closureinit
-(
-__patsfun_84__closure_t0ype *p_cenv
-)
-{
-p_cenv->cfun = __patsfun_84__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_84__closurerize
-(
-// argumentless
-)
-{
-return __patsfun_84__closureinit(ATS_MALLOC(sizeof(__patsfun_84__closure_t0ype))) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_85, (), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-} __patsfun_85__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_85__cfun
-(
-__patsfun_85__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_85(arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_85__closureinit
-(
-__patsfun_85__closure_t0ype *p_cenv
-)
-{
-p_cenv->cfun = __patsfun_85__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_85__closurerize
-(
-// argumentless
-)
-{
-return __patsfun_85__closureinit(ATS_MALLOC(sizeof(__patsfun_85__closure_t0ype))) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_87, (atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk)), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-atstkind_t0ype(atstype_int) env0 ;
-atstkind_t0ype(atstype_int) env1 ;
-atstkind_type(atstype_ptrk) env2 ;
-} __patsfun_87__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_87__cfun
-(
-__patsfun_87__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_87(p_cenv->env0, p_cenv->env1, p_cenv->env2, arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_87__closureinit
-(
-__patsfun_87__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_type(atstype_ptrk) env2
-)
-{
-p_cenv->env0 = env0 ;
-p_cenv->env1 = env1 ;
-p_cenv->env2 = env2 ;
-p_cenv->cfun = __patsfun_87__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_87__closurerize
-(
-atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_type(atstype_ptrk) env2
-)
-{
-return __patsfun_87__closureinit(ATS_MALLOC(sizeof(__patsfun_87__closure_t0ype)), env0, env1, env2) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_88, (atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk)), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-atstkind_t0ype(atstype_int) env0 ;
-atstkind_t0ype(atstype_int) env1 ;
-atstkind_type(atstype_ptrk) env2 ;
-} __patsfun_88__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_88__cfun
-(
-__patsfun_88__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_88(p_cenv->env0, p_cenv->env1, p_cenv->env2, arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_88__closureinit
-(
-__patsfun_88__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_type(atstype_ptrk) env2
-)
-{
-p_cenv->env0 = env0 ;
-p_cenv->env1 = env1 ;
-p_cenv->env2 = env2 ;
-p_cenv->cfun = __patsfun_88__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_88__closurerize
-(
-atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_type(atstype_ptrk) env2
-)
-{
-return __patsfun_88__closureinit(ATS_MALLOC(sizeof(__patsfun_88__closure_t0ype)), env0, env1, env2) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_93__93__1, (atstkind_type(atstype_ptrk), atstype_cloptr), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-atstkind_type(atstype_ptrk) env0 ;
-atstype_cloptr env1 ;
-} __patsfun_93__93__1__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_93__93__1__cfun
-(
-__patsfun_93__93__1__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_93__93__1(p_cenv->env0, p_cenv->env1, arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_93__93__1__closureinit
-(
-__patsfun_93__93__1__closure_t0ype *p_cenv, atstkind_type(atstype_ptrk) env0, atstype_cloptr env1
-)
-{
-p_cenv->env0 = env0 ;
-p_cenv->env1 = env1 ;
-p_cenv->cfun = __patsfun_93__93__1__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_93__93__1__closurerize
-(
-atstkind_type(atstype_ptrk) env0, atstype_cloptr env1
-)
-{
-return __patsfun_93__93__1__closureinit(ATS_MALLOC(sizeof(__patsfun_93__93__1__closure_t0ype)), env0, env1) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_98, (), (atsrefarg1_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_bool))
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-} __patsfun_98__closure_t0ype ;
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-__patsfun_98__cfun
-(
-__patsfun_98__closure_t0ype *p_cenv, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg0
-)
-{
-ATSFCreturn(__patsfun_98(arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_98__closureinit
-(
-__patsfun_98__closure_t0ype *p_cenv
-)
-{
-p_cenv->cfun = __patsfun_98__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_98__closurerize
-(
-// argumentless
-)
-{
-return __patsfun_98__closureinit(ATS_MALLOC(sizeof(__patsfun_98__closure_t0ype))) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_137, (atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-atstkind_t0ype(atstype_int) env0 ;
-} __patsfun_137__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_137__cfun
-(
-__patsfun_137__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_137(p_cenv->env0, arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_137__closureinit
-(
-__patsfun_137__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0
-)
-{
-p_cenv->env0 = env0 ;
-p_cenv->cfun = __patsfun_137__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_137__closurerize
-(
-atstkind_t0ype(atstype_int) env0
-)
-{
-return __patsfun_137__closureinit(ATS_MALLOC(sizeof(__patsfun_137__closure_t0ype)), env0) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_138, (), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-} __patsfun_138__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_138__cfun
-(
-__patsfun_138__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_138(arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_138__closureinit
-(
-__patsfun_138__closure_t0ype *p_cenv
-)
-{
-p_cenv->cfun = __patsfun_138__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_138__closurerize
-(
-// argumentless
-)
-{
-return __patsfun_138__closureinit(ATS_MALLOC(sizeof(__patsfun_138__closure_t0ype))) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_139, (), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-} __patsfun_139__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_139__cfun
-(
-__patsfun_139__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_139(arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_139__closureinit
-(
-__patsfun_139__closure_t0ype *p_cenv
-)
-{
-p_cenv->cfun = __patsfun_139__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_139__closurerize
-(
-// argumentless
-)
-{
-return __patsfun_139__closureinit(ATS_MALLOC(sizeof(__patsfun_139__closure_t0ype))) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_142, (atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-atstkind_t0ype(atstype_int) env0 ;
-atstkind_t0ype(atstype_int) env1 ;
-} __patsfun_142__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_142__cfun
-(
-__patsfun_142__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_142(p_cenv->env0, p_cenv->env1, arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_142__closureinit
-(
-__patsfun_142__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
-)
-{
-p_cenv->env0 = env0 ;
-p_cenv->env1 = env1 ;
-p_cenv->cfun = __patsfun_142__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_142__closurerize
-(
-atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
-)
-{
-return __patsfun_142__closureinit(ATS_MALLOC(sizeof(__patsfun_142__closure_t0ype)), env0, env1) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_143, (atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-atstkind_t0ype(atstype_int) env0 ;
-} __patsfun_143__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_143__cfun
-(
-__patsfun_143__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_143(p_cenv->env0, arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_143__closureinit
-(
-__patsfun_143__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0
-)
-{
-p_cenv->env0 = env0 ;
-p_cenv->cfun = __patsfun_143__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_143__closurerize
-(
-atstkind_t0ype(atstype_int) env0
-)
-{
-return __patsfun_143__closureinit(ATS_MALLOC(sizeof(__patsfun_143__closure_t0ype)), env0) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_144, (), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-} __patsfun_144__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_144__cfun
-(
-__patsfun_144__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_144(arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_144__closureinit
-(
-__patsfun_144__closure_t0ype *p_cenv
-)
-{
-p_cenv->cfun = __patsfun_144__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_144__closurerize
-(
-// argumentless
-)
-{
-return __patsfun_144__closureinit(ATS_MALLOC(sizeof(__patsfun_144__closure_t0ype))) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_157, (), (postiats_tyrec_0, atsrefarg1_type(atstkind_t0ype(atstype_int))), postiats_tyrec_0)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-} __patsfun_157__closure_t0ype ;
-ATSstatic()
-postiats_tyrec_0
-__patsfun_157__cfun
-(
-__patsfun_157__closure_t0ype *p_cenv, postiats_tyrec_0 arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1
-)
-{
-ATSFCreturn(__patsfun_157(arg0, arg1)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_157__closureinit
-(
-__patsfun_157__closure_t0ype *p_cenv
-)
-{
-p_cenv->cfun = __patsfun_157__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_157__closurerize
-(
-// argumentless
-)
-{
-return __patsfun_157__closureinit(ATS_MALLOC(sizeof(__patsfun_157__closure_t0ype))) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 831(line=21, offs=4) -- 882(line=22, offs=14)
-*/
-/*
-local: 
-global: witness_0$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-witness_0(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret0, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 831(line=21, offs=4) -- 882(line=22, offs=14)
-*/
-ATSINSflab(__patsflab_witness_0):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 871(line=22, offs=3) -- 881(line=22, offs=13)
-*/
-ATSINSmove(tmpret0, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), arg0)) ;
-ATSfunbody_end()
-ATSreturn(tmpret0) ;
-} /* end of [witness_0] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 947(line=25, offs=5) -- 1147(line=33, offs=6)
-*/
-/*
-local: 
-global: fib_gmp_1$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-fib_gmp_1(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref2, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref5, atstkind_t0ype(atstype_uint)) ;
-ATStmpdec(tmp6, atstkind_t0ype(atstype_int)) ;
-// ATStmpdec_void(tmp7) ;
-// ATStmpdec_void(tmp8) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 947(line=25, offs=5) -- 1147(line=33, offs=6)
-*/
-ATSINSflab(__patsflab_fib_gmp_1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 983(line=26, offs=3) -- 1147(line=33, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 995(line=27, offs=9) -- 996(line=27, offs=10)
-*/
-/*
-ATSINStmpdec(tmpref2) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 999(line=27, offs=13) -- 1010(line=27, offs=24)
-*/
-ATSINSmove(tmpref2, ATSLIB_056_prelude__ptr_alloc__2__1()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1019(line=28, offs=9) -- 1020(line=28, offs=10)
-*/
-/*
-ATSINStmpdec(tmpref5) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1034(line=28, offs=24) -- 1039(line=28, offs=29)
-*/
-ATSINSmove(tmp6, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1023(line=28, offs=13) -- 1040(line=28, offs=30)
-*/
-ATSINSmove(tmpref5, atspre_g0int2uint_int_uint(tmp6)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1053(line=29, offs=13) -- 1074(line=29, offs=34)
-*/
-ATSINSmove_void(tmp7, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmpref2, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1087(line=30, offs=13) -- 1115(line=30, offs=41)
-*/
-ATSINSmove_void(tmp8, atscntrb_gmp_mpz_fib_uint(ATSPMVrefarg1(ATSSELrecsin(tmpref2, atstkind_type(atstype_ptrk), atslab__2)), tmpref5)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1125(line=32, offs=5) -- 1140(line=32, offs=20)
-*/
-ATSINSmove(tmpret1, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref2)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 983(line=26, offs=3) -- 1147(line=33, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret1) ;
-} /* end of [fib_gmp_1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$2$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret3, atspre_ptr_alloc_tsz(ATSPMVsizeof(atstyvar_type(a)))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__2] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$2$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2EVar(5561))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__1()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3__1, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret3__1, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3__1) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__2__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1324(line=38, offs=5) -- 1763(line=59, offs=10)
-*/
-/*
-local: exp_6$0(level=0)
-global: exp_6$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-exp_6(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret9, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp10, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmpref15, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref16, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp17, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp22, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref23, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp24, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp25, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1324(line=38, offs=5) -- 1763(line=59, offs=10)
-*/
-ATSINSflab(__patsflab_exp_6):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1374(line=39, offs=3) -- 1763(line=59, offs=10)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1391(line=40, offs=7) -- 1392(line=40, offs=8)
-*/
-ATSINSlab(__atstmplab0):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1343(line=38, offs=24) -- 1344(line=38, offs=25)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1392(line=40, offs=8) -- 1392(line=40, offs=8)
-*/
-ATSINSlab(__atstmplab1):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1396(line=40, offs=12) -- 1397(line=40, offs=13)
-*/
-ATSINSmove(tmpret9, ATSPMVi0nt(0)) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1405(line=41, offs=8) -- 1405(line=41, offs=8)
-*/
-ATSINSlab(__atstmplab2):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1434(line=43, offs=12) -- 1439(line=43, offs=17)
-*/
-ATSINSmove(tmp10, ATSLIB_056_prelude__gt_g1int_int__7__1(arg1, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1431(line=43, offs=9) -- 1753(line=58, offs=12)
-*/
-ATSif(
-tmp10
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1455(line=44, offs=11) -- 1728(line=56, offs=14)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1475(line=45, offs=17) -- 1477(line=45, offs=19)
-*/
-/*
-ATSINStmpdec(tmpref15) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1480(line=45, offs=22) -- 1486(line=45, offs=28)
-*/
-ATSINSmove(tmpref15, atspre_g1int_half_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1504(line=46, offs=17) -- 1506(line=46, offs=19)
-*/
-/*
-ATSINStmpdec(tmpref16) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1509(line=46, offs=22) -- 1514(line=46, offs=27)
-*/
-ATSINSmove(tmpref16, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1543(line=48, offs=16) -- 1549(line=48, offs=22)
-*/
-ATSINSmove(tmp17, ATSLIB_056_prelude__eq_g0int_int__13__1(tmpref16, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1540(line=48, offs=13) -- 1714(line=55, offs=18)
-*/
-ATSif(
-tmp17
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1573(line=49, offs=19) -- 1578(line=49, offs=24)
-*/
-ATSINSmove(tmp22, atspre_g0int_mul_int(arg0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1569(line=49, offs=15) -- 1583(line=49, offs=29)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp22) ;
-ATSINSmove_tlcal(apy1, tmpref15) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_exp_6) ;
-ATStailcal_end()
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1615(line=51, offs=15) -- 1714(line=55, offs=18)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1639(line=52, offs=21) -- 1640(line=52, offs=22)
-*/
-/*
-ATSINStmpdec(tmpref23) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1651(line=52, offs=33) -- 1656(line=52, offs=38)
-*/
-ATSINSmove(tmp25, atspre_g0int_mul_int(arg0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1647(line=52, offs=29) -- 1661(line=52, offs=43)
-*/
-ATSINSmove(tmp24, exp_6(tmp25, tmpref15)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1643(line=52, offs=25) -- 1661(line=52, offs=43)
-*/
-ATSINSmove(tmpref23, atspre_g0int_mul_int(arg0, tmp24)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1695(line=54, offs=17) -- 1696(line=54, offs=18)
-*/
-ATSINSmove(tmpret9, tmpref23) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1615(line=51, offs=15) -- 1714(line=55, offs=18)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1455(line=44, offs=11) -- 1728(line=56, offs=14)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1752(line=58, offs=11) -- 1753(line=58, offs=12)
-*/
-ATSINSmove(tmpret9, ATSPMVi0nt(1)) ;
-} /* ATSendif */
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret9) ;
-} /* end of [exp_6] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$7$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4632)
-tmparg = S2Evar(tk(4632))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4632))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11, PMVtmpltcst(g1int_gt<S2Evar(tk(4632))>)(arg0, tmp12)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__7] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$7$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4632)
-tmparg = S2Evar(tk(4632))
-tmpsub = Some(tk(4632) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__1, atspre_g1int_gt_int(arg0, tmp12__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__1) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__7__1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4623))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18, PMVtmpltcst(g0int_eq<S2Evar(tk(4623))>)(arg0, tmp19)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__1, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__1, atspre_g0int_eq_int(arg0, tmp19__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__1) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1837(line=62, offs=5) -- 2598(line=92, offs=39)
-*/
-/*
-local: big_exp_18$0(level=0)
-global: big_exp_18$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-big_exp_18(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret26, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp27, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp32, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp51, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmpref54, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref55, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp56, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmpref59, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref69, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp74) ;
-ATStmpdec(tmpref79, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref85, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref88, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref89, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp92) ;
-// ATStmpdec_void(tmp95) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1837(line=62, offs=5) -- 2598(line=92, offs=39)
-*/
-ATSINSflab(__patsflab_big_exp_18):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1900(line=63, offs=6) -- 1924(line=63, offs=30)
-*/
-ATSINSmove(tmp32, ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__22__1(ATSPMVrefarg0(arg0), ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1900(line=63, offs=6) -- 1928(line=63, offs=34)
-*/
-ATSINSmove(tmp27, ATSLIB_056_prelude__eq_g1int_int__19__1(tmp32, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1897(line=63, offs=3) -- 2598(line=92, offs=39)
-*/
-ATSif(
-tmp27
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1938(line=64, offs=5) -- 1939(line=64, offs=6)
-*/
-ATSINSmove(tmpret26, arg0) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1954(line=66, offs=8) -- 1959(line=66, offs=13)
-*/
-ATSINSmove(tmp51, ATSLIB_056_prelude__gt_g1int_int__7__2(arg1, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1951(line=66, offs=5) -- 2598(line=92, offs=39)
-*/
-ATSif(
-tmp51
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1971(line=67, offs=7) -- 2550(line=90, offs=10)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1987(line=68, offs=13) -- 1989(line=68, offs=15)
-*/
-/*
-ATSINStmpdec(tmpref54) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1992(line=68, offs=18) -- 1998(line=68, offs=24)
-*/
-ATSINSmove(tmpref54, atspre_g1int_half_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2012(line=69, offs=13) -- 2014(line=69, offs=15)
-*/
-/*
-ATSINStmpdec(tmpref55) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2017(line=69, offs=18) -- 2022(line=69, offs=23)
-*/
-ATSINSmove(tmpref55, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2043(line=71, offs=12) -- 2049(line=71, offs=18)
-*/
-ATSINSmove(tmp56, ATSLIB_056_prelude__eq_g0int_int__13__2(tmpref55, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2040(line=71, offs=9) -- 2540(line=89, offs=14)
-*/
-ATSif(
-tmp56
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2065(line=72, offs=11) -- 2269(line=79, offs=14)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2114(line=74, offs=17) -- 2116(line=74, offs=19)
-*/
-/*
-ATSINStmpdec(tmpref59) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2119(line=74, offs=22) -- 2132(line=74, offs=35)
-*/
-ATSINSmove(tmpref59, ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__1(ATSPMVrefarg0(arg0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2150(line=75, offs=17) -- 2151(line=75, offs=18)
-*/
-/*
-ATSINStmpdec(tmpref69) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2154(line=75, offs=21) -- 2180(line=75, offs=47)
-*/
-ATSINSmove(tmpref69, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__1(tmpref59, ATSPMVrefarg0(arg0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2201(line=76, offs=21) -- 2214(line=76, offs=34)
-*/
-ATSINSmove_void(tmp74, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__1(arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2241(line=78, offs=13) -- 2255(line=78, offs=27)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmpref69) ;
-ATSINSmove_tlcal(apy1, tmpref54) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_big_exp_18) ;
-ATStailcal_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2065(line=72, offs=11) -- 2269(line=79, offs=14)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2293(line=81, offs=11) -- 2540(line=89, offs=14)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2313(line=82, offs=17) -- 2315(line=82, offs=19)
-*/
-/*
-ATSINStmpdec(tmpref79) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2318(line=82, offs=22) -- 2331(line=82, offs=35)
-*/
-ATSINSmove(tmpref79, ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__2(ATSPMVrefarg0(arg0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2349(line=83, offs=17) -- 2351(line=83, offs=19)
-*/
-/*
-ATSINStmpdec(tmpref85) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2354(line=83, offs=22) -- 2380(line=83, offs=48)
-*/
-ATSINSmove(tmpref85, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__2(tmpref79, ATSPMVrefarg0(arg0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2397(line=84, offs=17) -- 2399(line=84, offs=19)
-*/
-/*
-ATSINStmpdec(tmpref88) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2402(line=84, offs=22) -- 2417(line=84, offs=37)
-*/
-ATSINSmove(tmpref88, big_exp_18(tmpref85, tmpref54)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2434(line=85, offs=17) -- 2435(line=85, offs=18)
-*/
-/*
-ATSINStmpdec(tmpref89) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2438(line=85, offs=21) -- 2464(line=85, offs=47)
-*/
-ATSINSmove(tmpref89, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__3(tmpref88, ATSPMVrefarg0(arg0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2485(line=86, offs=21) -- 2498(line=86, offs=34)
-*/
-ATSINSmove_void(tmp92, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__2(arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2525(line=88, offs=13) -- 2526(line=88, offs=14)
-*/
-ATSINSmove(tmpret26, tmpref89) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2293(line=81, offs=11) -- 2540(line=89, offs=14)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1971(line=67, offs=7) -- 2550(line=90, offs=10)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2567(line=92, offs=8) -- 2580(line=92, offs=21)
-*/
-ATSINSmove_void(tmp95, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__3(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2584(line=92, offs=25) -- 2597(line=92, offs=38)
-*/
-ATSINSmove(tmpret26, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46__1(ATSPMVi0nt(1))) ;
-
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret26) ;
-} /* end of [big_exp_18] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
-*/
-/*
-local: 
-global: eq_g1int_int$19$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4638)
-tmparg = S2Evar(tk(4638))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__19(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret28, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp29, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
-*/
-ATSINSmove(tmp29, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4638))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
-*/
-ATSINSmove(tmpret28, PMVtmpltcst(g1int_eq<S2Evar(tk(4638))>)(arg0, tmp29)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret28) ;
-} /* end of [ATSLIB_056_prelude__eq_g1int_int__19] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
-*/
-/*
-local: 
-global: eq_g1int_int$19$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4638)
-tmparg = S2Evar(tk(4638))
-tmpsub = Some(tk(4638) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__19__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret28__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp29__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
-*/
-ATSINSmove(tmp29__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
-*/
-ATSINSmove(tmpret28__1, atspre_g1int_eq_int(arg0, tmp29__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret28__1) ;
-} /* end of [ATSLIB_056_prelude__eq_g1int_int__19__1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13321(line=768, offs=9) -- 13484(line=775, offs=4)
-*/
-/*
-local: 
-global: compare_intinf_int$22$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_int)
-ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__22(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret33, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp34, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp35, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp36, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp37, atstkind_t0ype(atstype_bool)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13294(line=767, offs=1) -- 13484(line=775, offs=4)
-*/
-ATSINSflab(__patsflab_compare_intinf_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13347(line=770, offs=11) -- 13375(line=770, offs=39)
-*/
-ATSINSmove(tmp34, atscntrb_gmp_mpz_cmp_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13390(line=771, offs=15) -- 13397(line=771, offs=22)
-*/
-ATSINSmove(tmp36, PMVtmpltcst(lt_g0int_int<S2Eextkind(atstype_int)>)(tmp34, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13387(line=771, offs=12) -- 13437(line=771, offs=62)
-*/
-ATSif(
-tmp36
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13403(line=771, offs=28) -- 13405(line=771, offs=30)
-*/
-ATSINSmove(tmp35, PMVtmpltcst(g1int_neg<S2Eextkind(atstype_int)>)(ATSPMVi0nt(1))) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13415(line=771, offs=40) -- 13422(line=771, offs=47)
-*/
-ATSINSmove(tmp37, PMVtmpltcst(gt_g0int_int<S2Eextkind(atstype_int)>)(tmp34, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13412(line=771, offs=37) -- 13436(line=771, offs=61)
-*/
-ATSif(
-tmp37
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13428(line=771, offs=53) -- 13429(line=771, offs=54)
-*/
-ATSINSmove(tmp35, ATSPMVi0nt(1)) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13435(line=771, offs=60) -- 13436(line=771, offs=61)
-*/
-ATSINSmove(tmp35, ATSPMVi0nt(0)) ;
-} /* ATSendif */
-} /* ATSendif */
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13452(line=774, offs=3) -- 13479(line=774, offs=30)
-*/
-ATSINSmove(tmpret33, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp35)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret33) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__22] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13321(line=768, offs=9) -- 13484(line=775, offs=4)
-*/
-/*
-local: 
-global: compare_intinf_int$22$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_t0ype(atstype_int)
-ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__22__1(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret33__1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp34__1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp35__1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp36__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp37__1, atstkind_t0ype(atstype_bool)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13294(line=767, offs=1) -- 13484(line=775, offs=4)
-*/
-ATSINSflab(__patsflab_compare_intinf_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13347(line=770, offs=11) -- 13375(line=770, offs=39)
-*/
-ATSINSmove(tmp34__1, atscntrb_gmp_mpz_cmp_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13390(line=771, offs=15) -- 13397(line=771, offs=22)
-*/
-ATSINSmove(tmp36__1, ATSLIB_056_prelude__lt_g0int_int__24__1(tmp34__1, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13387(line=771, offs=12) -- 13437(line=771, offs=62)
-*/
-ATSif(
-tmp36__1
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13403(line=771, offs=28) -- 13405(line=771, offs=30)
-*/
-ATSINSmove(tmp35__1, atspre_g1int_neg_int(ATSPMVi0nt(1))) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13415(line=771, offs=40) -- 13422(line=771, offs=47)
-*/
-ATSINSmove(tmp37__1, ATSLIB_056_prelude__gt_g0int_int__28__1(tmp34__1, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13412(line=771, offs=37) -- 13436(line=771, offs=61)
-*/
-ATSif(
-tmp37__1
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13428(line=771, offs=53) -- 13429(line=771, offs=54)
-*/
-ATSINSmove(tmp35__1, ATSPMVi0nt(1)) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13435(line=771, offs=60) -- 13436(line=771, offs=61)
-*/
-ATSINSmove(tmp35__1, ATSPMVi0nt(0)) ;
-} /* ATSendif */
-} /* ATSendif */
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13452(line=774, offs=3) -- 13479(line=774, offs=30)
-*/
-ATSINSmove(tmpret33__1, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp35__1)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret33__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__22__1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 11941(line=617, offs=3) -- 11980(line=617, offs=42)
-*/
-/*
-local: 
-global: lt_g0int_int$24$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4619)
-tmparg = S2Evar(tk(4619))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g0int_int__24(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret43, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp44, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11926(line=616, offs=1) -- 11980(line=617, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11967(line=617, offs=29) -- 11978(line=617, offs=40)
-*/
-ATSINSmove(tmp44, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4619))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11950(line=617, offs=12) -- 11980(line=617, offs=42)
-*/
-ATSINSmove(tmpret43, PMVtmpltcst(g0int_lt<S2Evar(tk(4619))>)(arg0, tmp44)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret43) ;
-} /* end of [ATSLIB_056_prelude__lt_g0int_int__24] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 11941(line=617, offs=3) -- 11980(line=617, offs=42)
-*/
-/*
-local: 
-global: lt_g0int_int$24$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4619)
-tmparg = S2Evar(tk(4619))
-tmpsub = Some(tk(4619) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g0int_int__24__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret43__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp44__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11926(line=616, offs=1) -- 11980(line=617, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11967(line=617, offs=29) -- 11978(line=617, offs=40)
-*/
-ATSINSmove(tmp44__1, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11950(line=617, offs=12) -- 11980(line=617, offs=42)
-*/
-ATSINSmove(tmpret43__1, atspre_g0int_lt_int(arg0, tmp44__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret43__1) ;
-} /* end of [ATSLIB_056_prelude__lt_g0int_int__24__1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12100(line=626, offs=3) -- 12139(line=626, offs=42)
-*/
-/*
-local: 
-global: gt_g0int_int$28$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4621)
-tmparg = S2Evar(tk(4621))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g0int_int__28(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret47, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp48, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12085(line=625, offs=1) -- 12139(line=626, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12126(line=626, offs=29) -- 12137(line=626, offs=40)
-*/
-ATSINSmove(tmp48, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4621))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12109(line=626, offs=12) -- 12139(line=626, offs=42)
-*/
-ATSINSmove(tmpret47, PMVtmpltcst(g0int_gt<S2Evar(tk(4621))>)(arg0, tmp48)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret47) ;
-} /* end of [ATSLIB_056_prelude__gt_g0int_int__28] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12100(line=626, offs=3) -- 12139(line=626, offs=42)
-*/
-/*
-local: 
-global: gt_g0int_int$28$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4621)
-tmparg = S2Evar(tk(4621))
-tmpsub = Some(tk(4621) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g0int_int__28__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret47__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp48__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12085(line=625, offs=1) -- 12139(line=626, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12126(line=626, offs=29) -- 12137(line=626, offs=40)
-*/
-ATSINSmove(tmp48__1, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12109(line=626, offs=12) -- 12139(line=626, offs=42)
-*/
-ATSINSmove(tmpret47__1, atspre_g0int_gt_int(arg0, tmp48__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret47__1) ;
-} /* end of [ATSLIB_056_prelude__gt_g0int_int__28__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$7$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4632)
-tmparg = S2Evar(tk(4632))
-tmpsub = Some(tk(4632) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__2, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__2, atspre_g1int_gt_int(arg0, tmp12__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__2) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__7__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__2, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__2, atspre_g0int_eq_int(arg0, tmp19__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__2) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__2] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4068(line=199, offs=3) -- 4190(line=207, offs=2)
-*/
-/*
-local: 
-global: abs_intinf1$33$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret60, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp61, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp62) ;
-// ATStmpdec_void(tmp63) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4054(line=198, offs=1) -- 4190(line=207, offs=2)
-*/
-ATSINSflab(__patsflab_abs_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4074(line=199, offs=9) -- 4190(line=207, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4097(line=202, offs=9) -- 4113(line=202, offs=25)
-*/
-ATSINSmove(tmp61, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4126(line=204, offs=10) -- 4147(line=204, offs=31)
-*/
-ATSINSmove_void(tmp62, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmp61, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4157(line=205, offs=10) -- 4185(line=205, offs=38)
-*/
-ATSINSmove_void(tmp63, atscntrb_gmp_mpz_abs2(ATSPMVrefarg1(ATSSELrecsin(tmp61, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4075(line=199, offs=10) -- 4076(line=199, offs=11)
-*/
-ATSINSmove(tmpret60, tmp61) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4074(line=199, offs=9) -- 4190(line=207, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret60) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4068(line=199, offs=3) -- 4190(line=207, offs=2)
-*/
-/*
-local: 
-global: abs_intinf1$33$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__1(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret60__1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp61__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp62__1) ;
-// ATStmpdec_void(tmp63__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4054(line=198, offs=1) -- 4190(line=207, offs=2)
-*/
-ATSINSflab(__patsflab_abs_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4074(line=199, offs=9) -- 4190(line=207, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4097(line=202, offs=9) -- 4113(line=202, offs=25)
-*/
-ATSINSmove(tmp61__1, ATSLIB_056_prelude__ptr_alloc__2__2()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4126(line=204, offs=10) -- 4147(line=204, offs=31)
-*/
-ATSINSmove_void(tmp62__1, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmp61__1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4157(line=205, offs=10) -- 4185(line=205, offs=38)
-*/
-ATSINSmove_void(tmp63__1, atscntrb_gmp_mpz_abs2(ATSPMVrefarg1(ATSSELrecsin(tmp61__1, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4075(line=199, offs=10) -- 4076(line=199, offs=11)
-*/
-ATSINSmove(tmpret60__1, tmp61__1) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4074(line=199, offs=9) -- 4190(line=207, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret60__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$2$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__2()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3__2, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret3__2, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3__2) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__2__2] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_intinf1$36$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret70, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp71) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
-*/
-ATSINSmove_void(tmp71, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
-*/
-ATSINSmove(tmpret70, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret70) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_intinf1$36$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret70__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp71__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
-*/
-ATSINSmove_void(tmp71__1, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
-*/
-ATSINSmove(tmpret70__1, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret70__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$38$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret75) ;
-// ATStmpdec_void(tmp76) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp76, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret75, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret75) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$38$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__1(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret75__1) ;
-// ATStmpdec_void(tmp76__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp76__1, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret75__1, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret75__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4068(line=199, offs=3) -- 4190(line=207, offs=2)
-*/
-/*
-local: 
-global: abs_intinf1$33$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__2(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret60__2, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp61__2, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp62__2) ;
-// ATStmpdec_void(tmp63__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4054(line=198, offs=1) -- 4190(line=207, offs=2)
-*/
-ATSINSflab(__patsflab_abs_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4074(line=199, offs=9) -- 4190(line=207, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4097(line=202, offs=9) -- 4113(line=202, offs=25)
-*/
-ATSINSmove(tmp61__2, ATSLIB_056_prelude__ptr_alloc__2__3()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4126(line=204, offs=10) -- 4147(line=204, offs=31)
-*/
-ATSINSmove_void(tmp62__2, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmp61__2, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4157(line=205, offs=10) -- 4185(line=205, offs=38)
-*/
-ATSINSmove_void(tmp63__2, atscntrb_gmp_mpz_abs2(ATSPMVrefarg1(ATSSELrecsin(tmp61__2, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4075(line=199, offs=10) -- 4076(line=199, offs=11)
-*/
-ATSINSmove(tmpret60__2, tmp61__2) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4074(line=199, offs=9) -- 4190(line=207, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret60__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$2$3(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__3()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3__3, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret3__3, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3__3) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__2__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_intinf1$36$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__2(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret70__2, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp71__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
-*/
-ATSINSmove_void(tmp71__2, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
-*/
-ATSINSmove(tmpret70__2, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret70__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_intinf1$36$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__3(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret70__3, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp71__3) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
-*/
-ATSINSmove_void(tmp71__3, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
-*/
-ATSINSmove(tmpret70__3, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret70__3) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$38$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__2(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret75__2) ;
-// ATStmpdec_void(tmp76__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp76__2, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret75__2, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret75__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$38$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__3(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret75__3) ;
-// ATStmpdec_void(tmp76__3) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp76__3, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret75__3, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret75__3) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__3] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$46$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret98, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp99, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp100) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp99, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp100, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp99, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret98, tmp99) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret98) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$46$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46__1(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret98__1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp99__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp100__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp99__1, ATSLIB_056_prelude__ptr_alloc__2__4()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp100__1, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp99__1, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret98__1, tmp99__1) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret98__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$2$4(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__4()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3__4, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret3__4, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3__4) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__2__4] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2644(line=95, offs=4) -- 2784(line=100, offs=6)
-*/
-/*
-local: witness_0$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-sqrt_int_49(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret105, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref106, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp107, atstkind_t0ype(atstype_float)) ;
-ATStmpdec(tmp108, atstkind_t0ype(atstype_float)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2644(line=95, offs=4) -- 2784(line=100, offs=6)
-*/
-ATSINSflab(__patsflab_sqrt_int_49):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2690(line=96, offs=3) -- 2784(line=100, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2702(line=97, offs=9) -- 2707(line=97, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref106) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2738(line=97, offs=45) -- 2751(line=97, offs=58)
-*/
-ATSINSmove(tmp108, atspre_g0int2float_int_float(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2727(line=97, offs=34) -- 2753(line=97, offs=60)
-*/
-ATSINSmove(tmp107, atslib_libats_libc_sqrt_float(tmp108)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2715(line=97, offs=22) -- 2754(line=97, offs=61)
-*/
-ATSINSmove(tmpref106, atspre_g0float2int_float_int(tmp107)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2764(line=99, offs=5) -- 2777(line=99, offs=18)
-*/
-ATSINSmove(tmpret105, witness_0(tmpref106)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2690(line=96, offs=3) -- 2784(line=100, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret105) ;
-} /* end of [sqrt_int_49] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2820(line=103, offs=4) -- 3401(line=126, offs=10)
-*/
-/*
-local: sqrt_int_49$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), is_prime_52$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-is_prime_52(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret109, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp128, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2820(line=103, offs=4) -- 3401(line=126, offs=10)
-*/
-ATSINSflab(__patsflab_is_prime_52):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2856(line=104, offs=3) -- 3401(line=126, offs=10)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2873(line=105, offs=7) -- 2874(line=105, offs=8)
-*/
-ATSINSlab(__atstmplab3):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2829(line=103, offs=13) -- 2830(line=103, offs=14)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab5) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2874(line=105, offs=8) -- 2874(line=105, offs=8)
-*/
-ATSINSlab(__atstmplab4):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2878(line=105, offs=12) -- 2883(line=105, offs=17)
-*/
-ATSINSmove(tmpret109, ATSPMVbool_false()) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2891(line=106, offs=8) -- 2891(line=106, offs=8)
-*/
-ATSINSlab(__atstmplab5):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2916(line=108, offs=9) -- 3391(line=125, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3367(line=124, offs=19) -- 3377(line=124, offs=29)
-*/
-ATSINSmove(tmp128, sqrt_int_49(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3359(line=124, offs=11) -- 3379(line=124, offs=31)
-*/
-ATSINSmove(tmpret109, loop_53(arg0, ATSPMVi0nt(2), tmp128)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2916(line=108, offs=9) -- 3391(line=125, offs=12)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret109) ;
-} /* end of [is_prime_52] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2934(line=109, offs=15) -- 3337(line=122, offs=21)
-*/
-/*
-local: loop_53$0(level=1)
-global: loop_53$0(level=1)
-local: k$5102(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: k$5102(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-loop_53(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret110, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp111, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp116, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp119, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp120, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp121, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp124, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp127, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2934(line=109, offs=15) -- 3337(line=122, offs=21)
-*/
-ATSINSflab(__patsflab_loop_53):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3024(line=110, offs=16) -- 3033(line=110, offs=25)
-*/
-ATSINSmove(tmp111, ATSLIB_056_prelude__lt_g1int_int__54__1(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3021(line=110, offs=13) -- 3337(line=122, offs=21)
-*/
-ATSif(
-tmp111
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3056(line=111, offs=18) -- 3061(line=111, offs=23)
-*/
-ATSINSmove(tmp119, atspre_g0int_mod_int(env0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3056(line=111, offs=18) -- 3065(line=111, offs=27)
-*/
-ATSINSmove(tmp116, ATSLIB_056_prelude__eq_g0int_int__13__3(tmp119, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3053(line=111, offs=15) -- 3146(line=114, offs=35)
-*/
-ATSif(
-tmp116
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3087(line=112, offs=17) -- 3092(line=112, offs=22)
-*/
-ATSINSmove(tmpret110, ATSPMVbool_false()) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3133(line=114, offs=22) -- 3138(line=114, offs=27)
-*/
-ATSINSmove(tmp120, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3128(line=114, offs=17) -- 3146(line=114, offs=35)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp120) ;
-ATSINSmove_tlcal(apy1, arg1) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_loop_53) ;
-ATStailcal_end()
-
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3181(line=116, offs=18) -- 3190(line=116, offs=27)
-*/
-ATSINSmove(tmp121, ATSLIB_056_prelude__eq_g1int_int__19__2(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3178(line=116, offs=15) -- 3337(line=122, offs=21)
-*/
-ATSif(
-tmp121
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3215(line=117, offs=20) -- 3220(line=117, offs=25)
-*/
-ATSINSmove(tmp127, atspre_g0int_mod_int(env0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3215(line=117, offs=20) -- 3224(line=117, offs=29)
-*/
-ATSINSmove(tmp124, ATSLIB_056_prelude__eq_g0int_int__13__4(tmp127, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3212(line=117, offs=17) -- 3297(line=120, offs=23)
-*/
-ATSif(
-tmp124
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3248(line=118, offs=19) -- 3253(line=118, offs=24)
-*/
-ATSINSmove(tmpret110, ATSPMVbool_false()) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3293(line=120, offs=19) -- 3297(line=120, offs=23)
-*/
-ATSINSmove(tmpret110, ATSPMVbool_true()) ;
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3333(line=122, offs=17) -- 3337(line=122, offs=21)
-*/
-ATSINSmove(tmpret110, ATSPMVbool_true()) ;
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret110) ;
-} /* end of [loop_53] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
-*/
-/*
-local: 
-global: lt_g1int_int$54$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4626)
-tmparg = S2Evar(tk(4626))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__54(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret112, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp113, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
-*/
-ATSINSmove(tmp113, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4626))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
-*/
-ATSINSmove(tmpret112, PMVtmpltcst(g1int_lt<S2Evar(tk(4626))>)(arg0, tmp113)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret112) ;
-} /* end of [ATSLIB_056_prelude__lt_g1int_int__54] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
-*/
-/*
-local: 
-global: lt_g1int_int$54$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4626)
-tmparg = S2Evar(tk(4626))
-tmpsub = Some(tk(4626) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__54__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret112__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp113__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
-*/
-ATSINSmove(tmp113__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
-*/
-ATSINSmove(tmpret112__1, atspre_g1int_lt_int(arg0, tmp113__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret112__1) ;
-} /* end of [ATSLIB_056_prelude__lt_g1int_int__54__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$3(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__3, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__3, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__3, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__3, atspre_g0int_eq_int(arg0, tmp19__3)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__3) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
-*/
-/*
-local: 
-global: eq_g1int_int$19$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4638)
-tmparg = S2Evar(tk(4638))
-tmpsub = Some(tk(4638) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__19__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret28__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp29__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
-*/
-ATSINSmove(tmp29__2, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
-*/
-ATSINSmove(tmpret28__2, atspre_g1int_eq_int(arg0, tmp29__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret28__2) ;
-} /* end of [ATSLIB_056_prelude__eq_g1int_int__19__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$4(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__4, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__4, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__4, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__4, atspre_g0int_eq_int(arg0, tmp19__4)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__4) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__4] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 376(line=13, offs=4) -- 424(line=14, offs=12)
-*/
-/*
-local: 
-global: divides_60$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-divides_60(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret129, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp132, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 376(line=13, offs=4) -- 424(line=14, offs=12)
-*/
-ATSINSflab(__patsflab_divides_60):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 415(line=14, offs=3) -- 420(line=14, offs=8)
-*/
-ATSINSmove(tmp132, atspre_g0int_mod_int(arg1, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 415(line=14, offs=3) -- 424(line=14, offs=12)
-*/
-ATSINSmove(tmpret129, ATSLIB_056_prelude__eq_g0int_int__13__5(tmp132, ATSPMVi0nt(0))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret129) ;
-} /* end of [divides_60] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$5(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__5, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__5, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__5, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__5, atspre_g0int_eq_int(arg0, tmp19__5)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__5) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__5] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 452(line=17, offs=5) -- 558(line=21, offs=6)
-*/
-/*
-local: witness_0$0(level=0), gcd_62$0(level=0)
-global: witness_0$0(level=0), gcd_62$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-gcd_62(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret133, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp134, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp137, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp138, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-/*
-emit_funent_fnxdeclst:
-*/
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 452(line=17, offs=5) -- 558(line=21, offs=6)
-*/
-ATSINSflab(__patsflab_gcd_62):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 508(line=18, offs=6) -- 513(line=18, offs=11)
-*/
-ATSINSmove(tmp134, ATSLIB_056_prelude__gt_g1int_int__7__3(arg1, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 505(line=18, offs=3) -- 558(line=21, offs=6)
-*/
-ATSif(
-tmp134
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 538(line=19, offs=20) -- 543(line=19, offs=25)
-*/
-ATSINSmove(tmp138, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 530(line=19, offs=12) -- 544(line=19, offs=26)
-*/
-ATSINSmove(tmp137, witness_0(tmp138)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 523(line=19, offs=5) -- 545(line=19, offs=27)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, arg1) ;
-ATSINSmove_tlcal(apy1, tmp137) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_gcd_62) ;
-ATStailcal_end()
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 557(line=21, offs=5) -- 558(line=21, offs=6)
-*/
-ATSINSmove(tmpret133, arg0) ;
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret133) ;
-/*
-emit_funent_fnxbodylst:
-*/
-} /* end of [gcd_62] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$7$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4632)
-tmparg = S2Evar(tk(4632))
-tmpsub = Some(tk(4632) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__3, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__3, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__3, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__3, atspre_g1int_gt_int(arg0, tmp12__3)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__3) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__7__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 563(line=23, offs=4) -- 635(line=24, offs=22)
-*/
-/*
-local: gcd_62$0(level=0)
-global: witness_0$0(level=0), gcd_62$0(level=0), lcm_64$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-lcm_64(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret139, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp140, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp141, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 563(line=23, offs=4) -- 635(line=24, offs=22)
-*/
-ATSINSflab(__patsflab_lcm_64):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 621(line=24, offs=8) -- 630(line=24, offs=17)
-*/
-ATSINSmove(tmp141, gcd_62(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 617(line=24, offs=4) -- 630(line=24, offs=17)
-*/
-ATSINSmove(tmp140, atspre_g0int_div_int(arg0, tmp141)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 616(line=24, offs=3) -- 635(line=24, offs=22)
-*/
-ATSINSmove(tmpret139, atspre_g0int_mul_int(tmp140, arg1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret139) ;
-} /* end of [lcm_64] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 640(line=26, offs=4) -- 714(line=27, offs=16)
-*/
-/*
-local: gcd_62$0(level=0)
-global: witness_0$0(level=0), gcd_62$0(level=0), is_coprime_66$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-is_coprime_66(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret142, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp145, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 640(line=26, offs=4) -- 714(line=27, offs=16)
-*/
-ATSINSflab(__patsflab_is_coprime_66):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 701(line=27, offs=3) -- 710(line=27, offs=12)
-*/
-ATSINSmove(tmp145, gcd_62(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 701(line=27, offs=3) -- 714(line=27, offs=16)
-*/
-ATSINSmove(tmpret142, ATSLIB_056_prelude__eq_g0int_int__13__6(tmp145, ATSPMVi0nt(1))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret142) ;
-} /* end of [is_coprime_66] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$6(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__6(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__6, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__6, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__6, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__6, atspre_g0int_eq_int(arg0, tmp19__6)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__6) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__6] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 757(line=30, offs=4) -- 1773(line=62, offs=8)
-*/
-/*
-local: sqrt_int_49$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), divisors_68$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-divisors_68(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret146, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 757(line=30, offs=4) -- 1773(line=62, offs=8)
-*/
-ATSINSflab(__patsflab_divisors_68):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 802(line=31, offs=3) -- 1773(line=62, offs=8)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 819(line=32, offs=7) -- 820(line=32, offs=8)
-*/
-ATSINSlab(__atstmplab6):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 766(line=30, offs=13) -- 767(line=30, offs=14)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab8) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 820(line=32, offs=8) -- 820(line=32, offs=8)
-*/
-ATSINSlab(__atstmplab7):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 824(line=32, offs=12) -- 874(line=32, offs=62)
-*/
-ATSINSmove_ldelay(tmpret146, atstype_boxed, ATSPMVcfunlab(1, __patsfun_69, ())) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 882(line=33, offs=8) -- 882(line=33, offs=8)
-*/
-ATSINSlab(__atstmplab8):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 886(line=33, offs=12) -- 1773(line=62, offs=8)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1755(line=61, offs=7) -- 1765(line=61, offs=17)
-*/
-ATSINSmove(tmpret146, loop_71(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 886(line=33, offs=12) -- 1773(line=62, offs=8)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret146) ;
-} /* end of [divisors_68] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 824(line=32, offs=12) -- 874(line=32, offs=62)
-*/
-/*
-local: 
-global: __patsfun_69$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_69(atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret147, atstype_boxed) ;
-ATStmpdec(tmp148, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 824(line=32, offs=12) -- 874(line=32, offs=62)
-*/
-ATSINSflab(__patsflab___patsfun_69):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 824(line=32, offs=12) -- 874(line=32, offs=62)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 850(line=32, offs=38) -- 872(line=32, offs=60)
-*/
-ATSINSmove_ldelay(tmp148, atstype_boxed, ATSPMVcfunlab(1, __patsfun_70, ())) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 832(line=32, offs=20) -- 873(line=32, offs=61)
-*/
-
-/*
-#LINCONSTATUS==0
-*/
-ATSINSmove_con1_beg()
-ATSINSmove_con1_new(tmpret147, postiats_tysum_1) ;
-#if(0)
-ATSINSstore_con1_tag(tmpret147, 1) ;
-#endif
-ATSINSstore_con1_ofs(tmpret147, postiats_tysum_1, atslab__0, ATSPMVi0nt(1)) ;
-ATSINSstore_con1_ofs(tmpret147, postiats_tysum_1, atslab__1, tmp148) ;
-ATSINSmove_con1_end()
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret147) ;
-} /* end of [__patsfun_69] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 850(line=32, offs=38) -- 872(line=32, offs=60)
-*/
-/*
-local: 
-global: __patsfun_70$0(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_70(atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret149, atstype_boxed) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 850(line=32, offs=38) -- 872(line=32, offs=60)
-*/
-ATSINSflab(__patsflab___patsfun_70):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 850(line=32, offs=38) -- 872(line=32, offs=60)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 858(line=32, offs=46) -- 871(line=32, offs=59)
-*/
-
-ATSINSmove_nil(tmpret149) ;
-
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret149) ;
-} /* end of [__patsfun_70] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 900(line=34, offs=11) -- 1741(line=59, offs=29)
-*/
-/*
-local: sqrt_int_49$0(level=0), loop_71$0(level=1)
-global: sqrt_int_49$0(level=0), loop_71$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-loop_71(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret150, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp151, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp156, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp157, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp160, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp161, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp166, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref167, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp177, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp180, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref181, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp187, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 900(line=34, offs=11) -- 1741(line=59, offs=29)
-*/
-ATSINSflab(__patsflab_loop_71):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1007(line=35, offs=19) -- 1017(line=35, offs=29)
-*/
-ATSINSmove(tmp156, sqrt_int_49(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1000(line=35, offs=12) -- 1017(line=35, offs=29)
-*/
-ATSINSmove(tmp151, ATSLIB_056_prelude__gte_g1int_int__72__1(arg1, tmp156)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 997(line=35, offs=9) -- 1741(line=59, offs=29)
-*/
-ATSif(
-tmp151
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1037(line=36, offs=14) -- 1044(line=36, offs=21)
-*/
-ATSINSmove(tmp160, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1037(line=36, offs=14) -- 1048(line=36, offs=25)
-*/
-ATSINSmove(tmp157, ATSLIB_056_prelude__eq_g0int_int__13__7(tmp160, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1034(line=36, offs=11) -- 1481(line=50, offs=35)
-*/
-ATSif(
-tmp157
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1069(line=37, offs=16) -- 1076(line=37, offs=23)
-*/
-ATSINSmove(tmp166, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1069(line=37, offs=16) -- 1083(line=37, offs=30)
-*/
-ATSINSmove(tmp161, ATSLIB_056_prelude__neq_g1int_int__76__1(tmp166, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1066(line=37, offs=13) -- 1431(line=48, offs=18)
-*/
-ATSif(
-tmp161
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1103(line=38, offs=15) -- 1275(line=42, offs=18)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1127(line=39, offs=21) -- 1128(line=39, offs=22)
-*/
-/*
-ATSINStmpdec(tmpref167) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1136(line=39, offs=30) -- 1143(line=39, offs=37)
-*/
-ATSINSmove(tmpref167, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1177(line=41, offs=17) -- 1257(line=41, offs=97)
-*/
-ATSINSmove_ldelay(tmpret150, atstype_boxed, ATSPMVcfunlab(1, __patsfun_80, (arg1, ATSPMVptrof(tmpref167)))) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1103(line=38, offs=15) -- 1275(line=42, offs=18)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1361(line=47, offs=17) -- 1413(line=47, offs=69)
-*/
-ATSINSmove_ldelay(tmpret150, atstype_boxed, ATSPMVcfunlab(1, __patsfun_83, (arg1))) ;
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1459(line=50, offs=13) -- 1481(line=50, offs=35)
-*/
-ATSINSmove_ldelay(tmpret150, atstype_boxed, ATSPMVcfunlab(1, __patsfun_85, ())) ;
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1508(line=52, offs=14) -- 1515(line=52, offs=21)
-*/
-ATSINSmove(tmp180, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1508(line=52, offs=14) -- 1519(line=52, offs=25)
-*/
-ATSINSmove(tmp177, ATSLIB_056_prelude__eq_g0int_int__13__8(tmp180, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1505(line=52, offs=11) -- 1741(line=59, offs=29)
-*/
-ATSif(
-tmp177
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1537(line=53, offs=13) -- 1697(line=57, offs=16)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1559(line=54, offs=19) -- 1560(line=54, offs=20)
-*/
-/*
-ATSINStmpdec(tmpref181) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1568(line=54, offs=28) -- 1575(line=54, offs=35)
-*/
-ATSINSmove(tmpref181, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1605(line=56, offs=15) -- 1681(line=56, offs=91)
-*/
-ATSINSmove_ldelay(tmpret150, atstype_boxed, ATSPMVcfunlab(1, __patsfun_87, (arg0, arg1, ATSPMVptrof(tmpref181)))) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1537(line=53, offs=13) -- 1697(line=57, offs=16)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1733(line=59, offs=21) -- 1740(line=59, offs=28)
-*/
-ATSINSmove(tmp187, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1725(line=59, offs=13) -- 1741(line=59, offs=29)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, arg0) ;
-ATSINSmove_tlcal(apy1, tmp187) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_loop_71) ;
-ATStailcal_end()
-
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret150) ;
-} /* end of [loop_71] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$72$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4635)
-tmparg = S2Evar(tk(4635))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__72(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret152, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp153, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp153, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4635))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret152, PMVtmpltcst(g1int_gte<S2Evar(tk(4635))>)(arg0, tmp153)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret152) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__72] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$72$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4635)
-tmparg = S2Evar(tk(4635))
-tmpsub = Some(tk(4635) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__72__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret152__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp153__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp153__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret152__1, atspre_g1int_gte_int(arg0, tmp153__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret152__1) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__72__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$7(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__7(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__7, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__7, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__7, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__7, atspre_g0int_eq_int(arg0, tmp19__7)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__7) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__7] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)
-*/
-/*
-local: 
-global: neq_g1int_int$76$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4641)
-tmparg = S2Evar(tk(4641))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g1int_int__76(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret162, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp163, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12900(line=671, offs=1) -- 12956(line=672, offs=43)
-*/
-ATSINSflab(__patsflab_neq_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)
-*/
-ATSINSmove(tmp163, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4641))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)
-*/
-ATSINSmove(tmpret162, PMVtmpltcst(g1int_neq<S2Evar(tk(4641))>)(arg0, tmp163)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret162) ;
-} /* end of [ATSLIB_056_prelude__neq_g1int_int__76] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)
-*/
-/*
-local: 
-global: neq_g1int_int$76$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4641)
-tmparg = S2Evar(tk(4641))
-tmpsub = Some(tk(4641) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g1int_int__76__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret162__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp163__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12900(line=671, offs=1) -- 12956(line=672, offs=43)
-*/
-ATSINSflab(__patsflab_neq_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)
-*/
-ATSINSmove(tmp163__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)
-*/
-ATSINSmove(tmpret162__1, atspre_g1int_neq_int(arg0, tmp163__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret162__1) ;
-} /* end of [ATSLIB_056_prelude__neq_g1int_int__76__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1177(line=41, offs=17) -- 1257(line=41, offs=97)
-*/
-/*
-local: 
-global: __patsfun_80$0(level=2)
-local: acc$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), x$5123(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
-global: acc$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), x$5123(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_80(atstkind_t0ype(atstype_int) env0, atstkind_type(atstype_ptrk) env1, atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret168, atstype_boxed) ;
-ATStmpdec(tmp169, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1177(line=41, offs=17) -- 1257(line=41, offs=97)
-*/
-ATSINSflab(__patsflab___patsfun_80):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1177(line=41, offs=17) -- 1257(line=41, offs=97)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1205(line=41, offs=45) -- 1255(line=41, offs=95)
-*/
-ATSINSmove_ldelay(tmp169, atstype_boxed, ATSPMVcfunlab(1, __patsfun_81, (env1))) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1185(line=41, offs=25) -- 1256(line=41, offs=96)
-*/
-
-/*
-#LINCONSTATUS==0
-*/
-ATSINSmove_con1_beg()
-ATSINSmove_con1_new(tmpret168, postiats_tysum_1) ;
-#if(0)
-ATSINSstore_con1_tag(tmpret168, 1) ;
-#endif
-ATSINSstore_con1_ofs(tmpret168, postiats_tysum_1, atslab__0, env0) ;
-ATSINSstore_con1_ofs(tmpret168, postiats_tysum_1, atslab__1, tmp169) ;
-ATSINSmove_con1_end()
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret168) ;
-} /* end of [__patsfun_80] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1205(line=41, offs=45) -- 1255(line=41, offs=95)
-*/
-/*
-local: 
-global: __patsfun_81$0(level=3)
-local: x$5123(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
-global: x$5123(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_81(atstkind_type(atstype_ptrk) env0, atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret170, atstype_boxed) ;
-ATStmpdec(tmp171, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1205(line=41, offs=45) -- 1255(line=41, offs=95)
-*/
-ATSINSflab(__patsflab___patsfun_81):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1205(line=41, offs=45) -- 1255(line=41, offs=95)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1231(line=41, offs=71) -- 1253(line=41, offs=93)
-*/
-ATSINSmove_ldelay(tmp171, atstype_boxed, ATSPMVcfunlab(1, __patsfun_82, ())) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1213(line=41, offs=53) -- 1254(line=41, offs=94)
-*/
-
-/*
-#LINCONSTATUS==0
-*/
-ATSINSmove_con1_beg()
-ATSINSmove_con1_new(tmpret170, postiats_tysum_1) ;
-#if(0)
-ATSINSstore_con1_tag(tmpret170, 1) ;
-#endif
-ATSINSstore_con1_ofs(tmpret170, postiats_tysum_1, atslab__0, ATSderef(env0, atstkind_t0ype(atstype_int))) ;
-ATSINSstore_con1_ofs(tmpret170, postiats_tysum_1, atslab__1, tmp171) ;
-ATSINSmove_con1_end()
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret170) ;
-} /* end of [__patsfun_81] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1231(line=41, offs=71) -- 1253(line=41, offs=93)
-*/
-/*
-local: 
-global: __patsfun_82$0(level=4)
-local: 
-global: 
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_82(atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret172, atstype_boxed) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1231(line=41, offs=71) -- 1253(line=41, offs=93)
-*/
-ATSINSflab(__patsflab___patsfun_82):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1231(line=41, offs=71) -- 1253(line=41, offs=93)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1239(line=41, offs=79) -- 1252(line=41, offs=92)
-*/
-
-ATSINSmove_nil(tmpret172) ;
-
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret172) ;
-} /* end of [__patsfun_82] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1361(line=47, offs=17) -- 1413(line=47, offs=69)
-*/
-/*
-local: 
-global: __patsfun_83$0(level=2)
-local: acc$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: acc$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_83(atstkind_t0ype(atstype_int) env0, atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret173, atstype_boxed) ;
-ATStmpdec(tmp174, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1361(line=47, offs=17) -- 1413(line=47, offs=69)
-*/
-ATSINSflab(__patsflab___patsfun_83):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1361(line=47, offs=17) -- 1413(line=47, offs=69)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1389(line=47, offs=45) -- 1411(line=47, offs=67)
-*/
-ATSINSmove_ldelay(tmp174, atstype_boxed, ATSPMVcfunlab(1, __patsfun_84, ())) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1369(line=47, offs=25) -- 1412(line=47, offs=68)
-*/
-
-/*
-#LINCONSTATUS==0
-*/
-ATSINSmove_con1_beg()
-ATSINSmove_con1_new(tmpret173, postiats_tysum_1) ;
-#if(0)
-ATSINSstore_con1_tag(tmpret173, 1) ;
-#endif
-ATSINSstore_con1_ofs(tmpret173, postiats_tysum_1, atslab__0, env0) ;
-ATSINSstore_con1_ofs(tmpret173, postiats_tysum_1, atslab__1, tmp174) ;
-ATSINSmove_con1_end()
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret173) ;
-} /* end of [__patsfun_83] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1389(line=47, offs=45) -- 1411(line=47, offs=67)
-*/
-/*
-local: 
-global: __patsfun_84$0(level=3)
-local: 
-global: 
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_84(atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret175, atstype_boxed) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1389(line=47, offs=45) -- 1411(line=47, offs=67)
-*/
-ATSINSflab(__patsflab___patsfun_84):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1389(line=47, offs=45) -- 1411(line=47, offs=67)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1397(line=47, offs=53) -- 1410(line=47, offs=66)
-*/
-
-ATSINSmove_nil(tmpret175) ;
-
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret175) ;
-} /* end of [__patsfun_84] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1459(line=50, offs=13) -- 1481(line=50, offs=35)
-*/
-/*
-local: 
-global: __patsfun_85$0(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_85(atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret176, atstype_boxed) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1459(line=50, offs=13) -- 1481(line=50, offs=35)
-*/
-ATSINSflab(__patsflab___patsfun_85):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1459(line=50, offs=13) -- 1481(line=50, offs=35)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1467(line=50, offs=21) -- 1480(line=50, offs=34)
-*/
-
-ATSINSmove_nil(tmpret176) ;
-
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret176) ;
-} /* end of [__patsfun_85] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$8(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__8(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__8, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__8, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__8, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__8, atspre_g0int_eq_int(arg0, tmp19__8)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__8) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__8] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1605(line=56, offs=15) -- 1681(line=56, offs=91)
-*/
-/*
-local: loop_71$0(level=1)
-global: loop_71$0(level=1), __patsfun_87$0(level=2)
-local: n$5121(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), x$5124(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
-global: n$5121(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), x$5124(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_87(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_type(atstype_ptrk) env2, atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret182, atstype_boxed) ;
-ATStmpdec(tmp183, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1605(line=56, offs=15) -- 1681(line=56, offs=91)
-*/
-ATSINSflab(__patsflab___patsfun_87):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1605(line=56, offs=15) -- 1681(line=56, offs=91)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1633(line=56, offs=43) -- 1679(line=56, offs=89)
-*/
-ATSINSmove_ldelay(tmp183, atstype_boxed, ATSPMVcfunlab(1, __patsfun_88, (env0, env1, env2))) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1613(line=56, offs=23) -- 1680(line=56, offs=90)
-*/
-
-/*
-#LINCONSTATUS==0
-*/
-ATSINSmove_con1_beg()
-ATSINSmove_con1_new(tmpret182, postiats_tysum_1) ;
-#if(0)
-ATSINSstore_con1_tag(tmpret182, 1) ;
-#endif
-ATSINSstore_con1_ofs(tmpret182, postiats_tysum_1, atslab__0, env1) ;
-ATSINSstore_con1_ofs(tmpret182, postiats_tysum_1, atslab__1, tmp183) ;
-ATSINSmove_con1_end()
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret182) ;
-} /* end of [__patsfun_87] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1633(line=56, offs=43) -- 1679(line=56, offs=89)
-*/
-/*
-local: loop_71$0(level=1)
-global: loop_71$0(level=1), __patsfun_88$0(level=3)
-local: n$5121(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), x$5124(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
-global: n$5121(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), x$5124(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_88(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_type(atstype_ptrk) env2, atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret184, atstype_boxed) ;
-ATStmpdec(tmp185, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp186, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1633(line=56, offs=43) -- 1679(line=56, offs=89)
-*/
-ATSINSflab(__patsflab___patsfun_88):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1633(line=56, offs=43) -- 1679(line=56, offs=89)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1668(line=56, offs=78) -- 1675(line=56, offs=85)
-*/
-ATSINSmove(tmp186, atspre_g1int_add_int(env1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1660(line=56, offs=70) -- 1676(line=56, offs=86)
-*/
-ATSINSmove(tmp185, loop_71(env0, tmp186)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1641(line=56, offs=51) -- 1678(line=56, offs=88)
-*/
-
-/*
-#LINCONSTATUS==0
-*/
-ATSINSmove_con1_beg()
-ATSINSmove_con1_new(tmpret184, postiats_tysum_1) ;
-#if(0)
-ATSINSstore_con1_tag(tmpret184, 1) ;
-#endif
-ATSINSstore_con1_ofs(tmpret184, postiats_tysum_1, atslab__0, ATSderef(env2, atstkind_t0ype(atstype_int))) ;
-ATSINSstore_con1_ofs(tmpret184, postiats_tysum_1, atslab__1, tmp185) ;
-ATSINSmove_con1_end()
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret184) ;
-} /* end of [__patsfun_88] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1810(line=65, offs=4) -- 1929(line=66, offs=71)
-*/
-/*
-local: is_prime_52$0(level=0), divisors_68$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), is_prime_52$0(level=0), divisors_68$0(level=0), prime_divisors_89$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-prime_divisors_89(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret188, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp213, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1810(line=65, offs=4) -- 1929(line=66, offs=71)
-*/
-ATSINSflab(__patsflab_prime_divisors_89):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1885(line=66, offs=27) -- 1895(line=66, offs=37)
-*/
-ATSINSmove(tmp213, divisors_68(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1861(line=66, offs=3) -- 1929(line=66, offs=71)
-*/
-ATSINSmove(tmpret188, ATSLIB_056_prelude__stream_vt_filter_cloptr__90__1(tmp213, ATSPMVcfunlab(1, __patsfun_98, ()))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret188) ;
-} /* end of [prime_divisors_89] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 12936(line=777, offs=1) -- 13966(line=847, offs=2)
-*/
-/*
-local: 
-global: stream_vt_filter_cloptr$90$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = a(8215)
-tmparg = S2Evar(a(8215))
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__stream_vt_filter_cloptr__90(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret189, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12912(line=776, offs=1) -- 13966(line=847, offs=2)
-*/
-ATSINSflab(__patsflab_stream_vt_filter_cloptr):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12953(line=779, offs=5) -- 13966(line=847, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12953(line=779, offs=5) -- 12970(line=779, offs=22)
-*/
-ATSINSmove(tmpret189, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain$4250(1), flab=auxmain_91$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstkind_type(atstype_ptrk))(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12953(line=779, offs=5) -- 13966(line=847, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret189) ;
-} /* end of [ATSLIB_056_prelude__stream_vt_filter_cloptr__90] */
-#endif // end of [TEMPLATE]
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 12986(line=783, offs=1) -- 13161(line=798, offs=2)
-*/
-/*
-local: auxmain_con_92$0(level=1)
-global: auxmain_91$0(level=1), auxmain_con_92$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-auxmain_91__91(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret190, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12986(line=783, offs=1) -- 13161(line=798, offs=2)
-*/
-ATSINSflab(__patsflab_auxmain_91):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13066(line=789, offs=20) -- 13161(line=798, offs=2)
-*/
-ATSINSmove_ldelay(tmpret190, atstype_boxed, ATSPMVcfunlab(1, __patsfun_93__93, (arg0, arg1))) ;
-ATSfunbody_end()
-ATSreturn(tmpret190) ;
-} /* end of [auxmain_91__91] */
-#endif // end of [TEMPLATE]
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 13166(line=800, offs=1) -- 13936(line=845, offs=2)
-*/
-/*
-local: auxmain_91$0(level=1), auxmain_con_92$0(level=1)
-global: auxmain_91$0(level=1), auxmain_con_92$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstype_boxed
-auxmain_con_92__92(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(apy1, atstype_cloptr) ;
-ATStmpdec(tmpret194, atstype_boxed) ;
-ATStmpdec(tmp195, atstype_boxed) ;
-// ATStmpdec_void(tmp198) ;
-ATStmpdec(tmp199, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp200, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp201, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13166(line=800, offs=1) -- 13936(line=845, offs=2)
-*/
-ATSINSflab(__patsflab_auxmain_con_92):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13259(line=809, offs=1) -- 13915(line=843, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13278(line=810, offs=16) -- 13281(line=810, offs=19)
-*/
-ATSINSmove_llazyeval(tmp195, atstype_boxed, arg0) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13288(line=813, offs=1) -- 13881(line=841, offs=6)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13306(line=814, offs=3) -- 13332(line=815, offs=12)
-*/
-ATSINSlab(__atstmplab9):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13278(line=810, offs=16) -- 13281(line=810, offs=19)
-*/
-ATSifthen(ATSCKptriscons(tmp195)) { ATSINSgoto(__atstmplab12) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13332(line=815, offs=12) -- 13332(line=815, offs=12)
-*/
-ATSINSlab(__atstmplab10):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13336(line=815, offs=16) -- 13462(line=822, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13357(line=817, offs=5) -- 13405(line=818, offs=37)
-*/
-ATSINSmove_void(tmp198, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg1))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13435(line=821, offs=5) -- 13448(line=821, offs=18)
-*/
-
-ATSINSmove_nil(tmpret194) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13336(line=815, offs=16) -- 13462(line=822, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13491(line=823, offs=3) -- 13520(line=824, offs=14)
-*/
-ATSINSlab(__atstmplab11):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13278(line=810, offs=16) -- 13281(line=810, offs=19)
-*/
-#if(0)
-ATSifthen(ATSCKptrisnull(tmp195)) { ATSINSdeadcode_fail() ; } ;
-#endif
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13520(line=824, offs=14) -- 13520(line=824, offs=14)
-*/
-ATSINSlab(__atstmplab12):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13524(line=824, offs=18) -- 13881(line=841, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13543(line=825, offs=16) -- 13550(line=825, offs=23)
-*/
-ATSINSmove(tmp199, ATSfunclo_clo(ATSPMVrefarg0(arg1), (atstype_cloptr, atsrefarg1_type(atstyvar_type(a))), atstkind_t0ype(atstype_bool))(ATSPMVrefarg0(arg1), ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp195, postiats_tysum_2, atslab__0))))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13561(line=827, offs=5) -- 13836(line=839, offs=8)
-*/
-ATSif(
-tmp199
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13580(line=828, offs=12) -- 13693(line=833, offs=8)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13633(line=831, offs=16) -- 13651(line=831, offs=34)
-*/
-ATSINSmove(tmp200, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain$4250(1), flab=auxmain_91$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstkind_type(atstype_ptrk))(ATSSELcon(tmp195, postiats_tysum_2, atslab__1), arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13626(line=831, offs=9) -- 13651(line=831, offs=34)
-*/
-ATSINSstore(ATSSELcon(tmp195, postiats_tysum_2, atslab__1), tmp200) ;
-/* (*nothing*) */
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13580(line=828, offs=12) -- 13586(line=828, offs=18)
-*/
-ATSINSmove(tmpret194, tmp195) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13580(line=828, offs=12) -- 13693(line=833, offs=8)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13731(line=835, offs=7) -- 13836(line=839, offs=8)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13786(line=837, offs=19) -- 13789(line=837, offs=22)
-*/
-ATSINSmove(tmp201, ATSSELcon(tmp195, postiats_tysum_2, atslab__1)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13812(line=838, offs=23) -- 13827(line=838, offs=38)
-*/
-ATSINSfreecon(tmp195) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13731(line=835, offs=7) -- 13753(line=835, offs=29)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp201) ;
-ATSINSmove_tlcal(apy1, arg1) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_auxmain_con_92) ;
-ATStailcal_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13731(line=835, offs=7) -- 13836(line=839, offs=8)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13524(line=824, offs=18) -- 13881(line=841, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13259(line=809, offs=1) -- 13915(line=843, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret194) ;
-} /* end of [auxmain_con_92__92] */
-#endif // end of [TEMPLATE]
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 13066(line=789, offs=20) -- 13161(line=798, offs=2)
-*/
-/*
-local: auxmain_con_92$0(level=1)
-global: auxmain_con_92$0(level=1), __patsfun_93$0(level=2)
-local: xs$4252(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4253(2)(HSEfun(CLO(1); HSErefarg(1; HSEtyvar(a(8215))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
-global: xs$4252(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4253(2)(HSEfun(CLO(1); HSErefarg(1; HSEtyvar(a(8215))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_93__93(atstkind_type(atstype_ptrk) env0, atstype_cloptr env1, atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret191, atstype_boxed) ;
-// ATStmpdec_void(tmp192) ;
-// ATStmpdec_void(tmp193) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13066(line=789, offs=20) -- 13161(line=798, offs=2)
-*/
-ATSINSflab(__patsflab___patsfun_93):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13066(line=789, offs=20) -- 13161(line=798, offs=2)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13078(line=791, offs=3) -- 13099(line=791, offs=24)
-*/
-ATSINSmove(tmpret191, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain_con$4251(1), flab=auxmain_con_92$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstype_boxed)(env0, env1)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13106(line=794, offs=3) -- 13109(line=794, offs=6)
-*/
-ATSINSmove_void(tmp192, atspre_lazy_vt_free(env0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13113(line=795, offs=3) -- 13157(line=796, offs=33)
-*/
-ATSINSmove_void(tmp193, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;
-
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret191) ;
-} /* end of [__patsfun_93__93] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 12936(line=777, offs=1) -- 13966(line=847, offs=2)
-*/
-/*
-local: 
-global: stream_vt_filter_cloptr$90$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(8215)
-tmparg = S2Evar(a(8215))
-tmpsub = Some(a(8215) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__stream_vt_filter_cloptr__90__1(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret189__1, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12912(line=776, offs=1) -- 13966(line=847, offs=2)
-*/
-ATSINSflab(__patsflab_stream_vt_filter_cloptr):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12953(line=779, offs=5) -- 13966(line=847, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12953(line=779, offs=5) -- 12970(line=779, offs=22)
-*/
-ATSINSmove(tmpret189__1, auxmain_91__91__1(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12953(line=779, offs=5) -- 13966(line=847, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret189__1) ;
-} /* end of [ATSLIB_056_prelude__stream_vt_filter_cloptr__90__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 12986(line=783, offs=1) -- 13161(line=798, offs=2)
-*/
-/*
-local: auxmain_con_92$1(level=2)
-global: auxmain_91$1(level=2), auxmain_con_92$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-auxmain_91__91__1(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret190__1, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12986(line=783, offs=1) -- 13161(line=798, offs=2)
-*/
-ATSINSflab(__patsflab_auxmain_91):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13066(line=789, offs=20) -- 13161(line=798, offs=2)
-*/
-ATSINSmove_ldelay(tmpret190__1, atstype_boxed, ATSPMVcfunlab(1, __patsfun_93__93__1, (arg0, arg1))) ;
-ATSfunbody_end()
-ATSreturn(tmpret190__1) ;
-} /* end of [auxmain_91__91__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 13166(line=800, offs=1) -- 13936(line=845, offs=2)
-*/
-/*
-local: auxmain_91$1(level=2), auxmain_con_92$1(level=2)
-global: auxmain_91$1(level=2), auxmain_con_92$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-atstype_boxed
-auxmain_con_92__92__1(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(apy1, atstype_cloptr) ;
-ATStmpdec(tmpret194__1, atstype_boxed) ;
-ATStmpdec(tmp195__1, atstype_boxed) ;
-// ATStmpdec_void(tmp198__1) ;
-ATStmpdec(tmp199__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp200__1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp201__1, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13166(line=800, offs=1) -- 13936(line=845, offs=2)
-*/
-ATSINSflab(__patsflab_auxmain_con_92):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13259(line=809, offs=1) -- 13915(line=843, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13278(line=810, offs=16) -- 13281(line=810, offs=19)
-*/
-ATSINSmove_llazyeval(tmp195__1, atstype_boxed, arg0) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13288(line=813, offs=1) -- 13881(line=841, offs=6)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13306(line=814, offs=3) -- 13332(line=815, offs=12)
-*/
-ATSINSlab(__atstmplab9):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13278(line=810, offs=16) -- 13281(line=810, offs=19)
-*/
-ATSifthen(ATSCKptriscons(tmp195__1)) { ATSINSgoto(__atstmplab12) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13332(line=815, offs=12) -- 13332(line=815, offs=12)
-*/
-ATSINSlab(__atstmplab10):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13336(line=815, offs=16) -- 13462(line=822, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13357(line=817, offs=5) -- 13405(line=818, offs=37)
-*/
-ATSINSmove_void(tmp198__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg1))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13435(line=821, offs=5) -- 13448(line=821, offs=18)
-*/
-
-ATSINSmove_nil(tmpret194__1) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13336(line=815, offs=16) -- 13462(line=822, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13491(line=823, offs=3) -- 13520(line=824, offs=14)
-*/
-ATSINSlab(__atstmplab11):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13278(line=810, offs=16) -- 13281(line=810, offs=19)
-*/
-#if(0)
-ATSifthen(ATSCKptrisnull(tmp195__1)) { ATSINSdeadcode_fail() ; } ;
-#endif
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13520(line=824, offs=14) -- 13520(line=824, offs=14)
-*/
-ATSINSlab(__atstmplab12):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13524(line=824, offs=18) -- 13881(line=841, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13543(line=825, offs=16) -- 13550(line=825, offs=23)
-*/
-ATSINSmove(tmp199__1, ATSfunclo_clo(ATSPMVrefarg0(arg1), (atstype_cloptr, atsrefarg1_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_bool))(ATSPMVrefarg0(arg1), ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp195__1, postiats_tysum_1, atslab__0))))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13561(line=827, offs=5) -- 13836(line=839, offs=8)
-*/
-ATSif(
-tmp199__1
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13580(line=828, offs=12) -- 13693(line=833, offs=8)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13633(line=831, offs=16) -- 13651(line=831, offs=34)
-*/
-ATSINSmove(tmp200__1, auxmain_91__91__1(ATSSELcon(tmp195__1, postiats_tysum_1, atslab__1), arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13626(line=831, offs=9) -- 13651(line=831, offs=34)
-*/
-ATSINSstore(ATSSELcon(tmp195__1, postiats_tysum_1, atslab__1), tmp200__1) ;
-/* (*nothing*) */
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13580(line=828, offs=12) -- 13586(line=828, offs=18)
-*/
-ATSINSmove(tmpret194__1, tmp195__1) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13580(line=828, offs=12) -- 13693(line=833, offs=8)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13731(line=835, offs=7) -- 13836(line=839, offs=8)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13786(line=837, offs=19) -- 13789(line=837, offs=22)
-*/
-ATSINSmove(tmp201__1, ATSSELcon(tmp195__1, postiats_tysum_1, atslab__1)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13812(line=838, offs=23) -- 13827(line=838, offs=38)
-*/
-ATSINSfreecon(tmp195__1) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13731(line=835, offs=7) -- 13753(line=835, offs=29)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp201__1) ;
-ATSINSmove_tlcal(apy1, arg1) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_auxmain_con_92) ;
-ATStailcal_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13731(line=835, offs=7) -- 13836(line=839, offs=8)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13524(line=824, offs=18) -- 13881(line=841, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13259(line=809, offs=1) -- 13915(line=843, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret194__1) ;
-} /* end of [auxmain_con_92__92__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 13066(line=789, offs=20) -- 13161(line=798, offs=2)
-*/
-/*
-local: auxmain_con_92$1(level=2)
-global: auxmain_con_92$1(level=2), __patsfun_93$1(level=3)
-local: xs$4252(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4253(2)(HSEfun(CLO(1); HSErefarg(1; HSEs2exp(S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
-global: xs$4252(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4253(2)(HSEfun(CLO(1); HSErefarg(1; HSEs2exp(S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_93__93__1(atstkind_type(atstype_ptrk) env0, atstype_cloptr env1, atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret191__1, atstype_boxed) ;
-// ATStmpdec_void(tmp192__1) ;
-// ATStmpdec_void(tmp193__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13066(line=789, offs=20) -- 13161(line=798, offs=2)
-*/
-ATSINSflab(__patsflab___patsfun_93):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13066(line=789, offs=20) -- 13161(line=798, offs=2)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13078(line=791, offs=3) -- 13099(line=791, offs=24)
-*/
-ATSINSmove(tmpret191__1, auxmain_con_92__92__1(env0, env1)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13106(line=794, offs=3) -- 13109(line=794, offs=6)
-*/
-ATSINSmove_void(tmp192__1, atspre_lazy_vt_free(env0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13113(line=795, offs=3) -- 13157(line=796, offs=33)
-*/
-ATSINSmove_void(tmp193__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;
-
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret191__1) ;
-} /* end of [__patsfun_93__93__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1898(line=66, offs=40) -- 1928(line=66, offs=70)
-*/
-/*
-local: is_prime_52$0(level=0)
-global: is_prime_52$0(level=0), __patsfun_98$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-__patsfun_98(atsrefarg1_type(atstkind_t0ype(atstype_int)) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret214, atstkind_t0ype(atstype_bool)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1898(line=66, offs=40) -- 1928(line=66, offs=70)
-*/
-ATSINSflab(__patsflab___patsfun_98):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1907(line=66, offs=49) -- 1928(line=66, offs=70)
-*/
-ATSINSmove(tmpret214, is_prime_52(ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), ATSderef(arg0, atstkind_t0ype(atstype_int))))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret214) ;
-} /* end of [__patsfun_98] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1967(line=69, offs=4) -- 2039(line=70, offs=18)
-*/
-/*
-local: 
-global: div_gt_zero_99$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-div_gt_zero_99(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret215, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp216, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 1967(line=69, offs=4) -- 2039(line=70, offs=18)
-*/
-ATSINSflab(__patsflab_div_gt_zero_99):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2033(line=70, offs=12) -- 2038(line=70, offs=17)
-*/
-ATSINSmove(tmp216, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2024(line=70, offs=3) -- 2039(line=70, offs=18)
-*/
-ATSINSmove(tmpret215, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp216)) ;
-ATSfunbody_end()
-ATSreturn(tmpret215) ;
-} /* end of [div_gt_zero_99] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2077(line=73, offs=5) -- 2740(line=100, offs=6)
-*/
-/*
-local: exp_mod_prime_100$0(level=0)
-global: exp_mod_prime_100$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-exp_mod_prime_100(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1, atstkind_t0ype(atstype_int) arg2)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy2, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret217, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref218, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref219, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp220, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp221, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmpref224, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp225, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref226, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref227, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp228, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp229, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp230, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmpref233, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp234, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2077(line=73, offs=5) -- 2740(line=100, offs=6)
-*/
-ATSINSflab(__patsflab_exp_mod_prime_100):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2145(line=74, offs=3) -- 2740(line=100, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2157(line=75, offs=9) -- 2159(line=75, offs=11)
-*/
-/*
-ATSINStmpdec(tmpref218) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2162(line=75, offs=14) -- 2167(line=75, offs=19)
-*/
-ATSINSmove(tmpref218, atspre_g0int_mod_int(arg0, arg2)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2176(line=76, offs=9) -- 2178(line=76, offs=11)
-*/
-/*
-ATSINStmpdec(tmpref219) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2186(line=76, offs=19) -- 2191(line=76, offs=24)
-*/
-ATSINSmove(tmp220, atspre_g1int_sub_int(arg2, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2181(line=76, offs=14) -- 2192(line=76, offs=25)
-*/
-ATSINSmove(tmpref219, atspre_g0int_mod_int(arg1, tmp220)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2202(line=78, offs=5) -- 2734(line=99, offs=12)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2221(line=79, offs=9) -- 2222(line=79, offs=10)
-*/
-ATSINSlab(__atstmplab13):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2091(line=73, offs=19) -- 2092(line=73, offs=20)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab15) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2222(line=79, offs=10) -- 2222(line=79, offs=10)
-*/
-ATSINSlab(__atstmplab14):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2226(line=79, offs=14) -- 2227(line=79, offs=15)
-*/
-ATSINSmove(tmpret217, ATSPMVi0nt(0)) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2237(line=80, offs=10) -- 2237(line=80, offs=10)
-*/
-ATSINSlab(__atstmplab15):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2270(line=82, offs=14) -- 2275(line=82, offs=19)
-*/
-ATSINSmove(tmp221, ATSLIB_056_prelude__gt_g1int_int__7__4(arg1, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2267(line=82, offs=11) -- 2722(line=98, offs=14)
-*/
-ATSif(
-tmp221
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2293(line=83, offs=13) -- 2693(line=96, offs=16)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2315(line=84, offs=19) -- 2317(line=84, offs=21)
-*/
-/*
-ATSINStmpdec(tmpref224) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2340(line=84, offs=44) -- 2347(line=84, offs=51)
-*/
-ATSINSmove(tmp225, atspre_g0int_half_int(tmpref219)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2331(line=84, offs=35) -- 2349(line=84, offs=53)
-*/
-ATSINSmove(tmpref224, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp225)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2368(line=85, offs=19) -- 2370(line=85, offs=21)
-*/
-/*
-ATSINStmpdec(tmpref226) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2373(line=85, offs=24) -- 2379(line=85, offs=30)
-*/
-ATSINSmove(tmpref226, atspre_g0int_mod_int(tmpref219, ATSPMVi0nt(2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2398(line=86, offs=19) -- 2402(line=86, offs=23)
-*/
-/*
-ATSINStmpdec(tmpref227) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2425(line=86, offs=46) -- 2430(line=86, offs=51)
-*/
-ATSINSmove(tmp229, atspre_g1int_mul_int(arg0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2425(line=86, offs=46) -- 2434(line=86, offs=55)
-*/
-ATSINSmove(tmp228, atspre_g0int_mod_int(tmp229, arg2)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2416(line=86, offs=37) -- 2435(line=86, offs=56)
-*/
-ATSINSmove(tmpref227, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp228)) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2468(line=88, offs=18) -- 2474(line=88, offs=24)
-*/
-ATSINSmove(tmp230, ATSLIB_056_prelude__eq_g0int_int__13__9(tmpref226, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2465(line=88, offs=15) -- 2677(line=95, offs=20)
-*/
-ATSif(
-tmp230
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2496(line=89, offs=17) -- 2522(line=89, offs=43)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmpref227) ;
-ATSINSmove_tlcal(apy1, tmpref224) ;
-ATSINSmove_tlcal(apy2, arg2) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSargmove_tlcal(arg2, apy2) ;
-ATSINSfgoto(__patsflab_exp_mod_prime_100) ;
-ATStailcal_end()
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2558(line=91, offs=17) -- 2677(line=95, offs=20)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2584(line=92, offs=23) -- 2585(line=92, offs=24)
-*/
-/*
-ATSINStmpdec(tmpref233) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2592(line=92, offs=31) -- 2618(line=92, offs=57)
-*/
-ATSINSmove(tmp234, exp_mod_prime_100(tmpref227, tmpref224, arg2)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2588(line=92, offs=27) -- 2618(line=92, offs=57)
-*/
-ATSINSmove(tmpref233, atspre_g0int_mul_int(arg0, tmp234)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2656(line=94, offs=19) -- 2657(line=94, offs=20)
-*/
-ATSINSmove(tmpret217, tmpref233) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2558(line=91, offs=17) -- 2677(line=95, offs=20)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2293(line=83, offs=13) -- 2693(line=96, offs=16)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2721(line=98, offs=13) -- 2722(line=98, offs=14)
-*/
-ATSINSmove(tmpret217, ATSPMVi0nt(1)) ;
-} /* ATSendif */
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2145(line=74, offs=3) -- 2740(line=100, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret217) ;
-} /* end of [exp_mod_prime_100] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$7$4(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4632)
-tmparg = S2Evar(tk(4632))
-tmpsub = Some(tk(4632) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__4, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__4, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__4, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__4, atspre_g1int_gt_int(arg0, tmp12__4)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__4) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__7__4] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$9(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__9(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__9, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__9, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__9, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__9, atspre_g0int_eq_int(arg0, tmp19__9)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__9) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__9] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2922(line=104, offs=5) -- 3794(line=134, offs=6)
-*/
-/*
-local: exp_6$0(level=0), is_prime_52$0(level=0), div_gt_zero_99$0(level=0), exp_mod_prime_100$0(level=0)
-global: witness_0$0(level=0), exp_6$0(level=0), sqrt_int_49$0(level=0), is_prime_52$0(level=0), div_gt_zero_99$0(level=0), exp_mod_prime_100$0(level=0), jacobi_106$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-jacobi_106(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret235, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2922(line=104, offs=5) -- 3794(line=134, offs=6)
-*/
-ATSINSflab(__patsflab_jacobi_106):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2963(line=105, offs=3) -- 3794(line=134, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3781(line=133, offs=5) -- 3788(line=133, offs=12)
-*/
-ATSINSmove(tmpret235, loop_111(arg0, arg1, ATSPMVi0nt(2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 2963(line=105, offs=3) -- 3794(line=134, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret235) ;
-} /* end of [jacobi_106] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3016(line=107, offs=9) -- 3343(line=117, offs=12)
-*/
-/*
-local: exp_mod_prime_100$0(level=0)
-global: exp_mod_prime_100$0(level=0), legendre_107$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-legendre_107(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret236, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp237, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref238, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp239, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp240, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp241, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp242, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp245, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp246, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp247, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp250, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3016(line=107, offs=9) -- 3343(line=117, offs=12)
-*/
-ATSINSflab(__patsflab_legendre_107):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3104(line=108, offs=13) -- 3109(line=108, offs=18)
-*/
-ATSINSmove(tmp237, atspre_g0int_mod_int(arg1, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3098(line=108, offs=7) -- 3343(line=117, offs=12)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3123(line=109, offs=11) -- 3124(line=109, offs=12)
-*/
-ATSINSlab(__atstmplab16):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3104(line=108, offs=13) -- 3109(line=108, offs=18)
-*/
-ATSifnthen(ATSCKpat_int(tmp237, ATSPMVint(0))) { ATSINSgoto(__atstmplab18) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3124(line=109, offs=12) -- 3124(line=109, offs=12)
-*/
-ATSINSlab(__atstmplab17):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3128(line=109, offs=16) -- 3129(line=109, offs=17)
-*/
-ATSINSmove(tmpret236, ATSPMVi0nt(0)) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3141(line=110, offs=12) -- 3141(line=110, offs=12)
-*/
-ATSINSlab(__atstmplab18):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3145(line=110, offs=16) -- 3343(line=117, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3163(line=111, offs=15) -- 3164(line=111, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref238) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3185(line=111, offs=37) -- 3190(line=111, offs=42)
-*/
-ATSINSmove(tmp240, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3184(line=111, offs=36) -- 3195(line=111, offs=47)
-*/
-ATSINSmove(tmp239, atspre_g1int_div_int(tmp240, ATSPMVi0nt(2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3167(line=111, offs=19) -- 3199(line=111, offs=51)
-*/
-ATSINSmove(tmpref238, exp_mod_prime_100(arg0, tmp239, arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3227(line=113, offs=17) -- 3228(line=113, offs=18)
-*/
-ATSINSmove(tmp241, tmpref238) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3221(line=113, offs=11) -- 3331(line=116, offs=21)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3247(line=114, offs=16) -- 3247(line=114, offs=16)
-*/
-ATSINSlab(__atstmplab19):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-guard:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3258(line=114, offs=27) -- 3263(line=114, offs=32)
-*/
-ATSINSmove(tmp246, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3253(line=114, offs=22) -- 3264(line=114, offs=33)
-*/
-ATSINSmove(tmp245, atspre_g0int_mod_int(tmp241, tmp246)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3253(line=114, offs=22) -- 3268(line=114, offs=37)
-*/
-ATSINSmove(tmp242, ATSLIB_056_prelude__eq_g0int_int__13__10(tmp245, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3253(line=114, offs=22) -- 3268(line=114, offs=37)
-*/
-ATSifnthen(ATSCKpat_bool(tmp242, ATSPMVbool_true())) { ATSINSgoto(__atstmplab20) ; } ;
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3272(line=114, offs=41) -- 3274(line=114, offs=43)
-*/
-ATSINSmove(tmpret236, atspre_g1int_neg_int(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3290(line=115, offs=16) -- 3290(line=115, offs=16)
-*/
-ATSINSlab(__atstmplab20):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-guard:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3296(line=115, offs=22) -- 3301(line=115, offs=27)
-*/
-ATSINSmove(tmp250, atspre_g0int_mod_int(tmp241, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3296(line=115, offs=22) -- 3305(line=115, offs=31)
-*/
-ATSINSmove(tmp247, ATSLIB_056_prelude__eq_g0int_int__13__11(tmp250, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3296(line=115, offs=22) -- 3305(line=115, offs=31)
-*/
-ATSifnthen(ATSCKpat_bool(tmp247, ATSPMVbool_true())) { ATSINSgoto(__atstmplab21) ; } ;
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3309(line=115, offs=35) -- 3310(line=115, offs=36)
-*/
-ATSINSmove(tmpret236, ATSPMVi0nt(0)) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3326(line=116, offs=16) -- 3326(line=116, offs=16)
-*/
-ATSINSlab(__atstmplab21):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3330(line=116, offs=20) -- 3331(line=116, offs=21)
-*/
-ATSINSmove(tmpret236, ATSPMVi0nt(1)) ;
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3145(line=110, offs=16) -- 3343(line=117, offs=12)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret236) ;
-} /* end of [legendre_107] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$10(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__10(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__10, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__10, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__10, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__10, atspre_g0int_eq_int(arg0, tmp19__10)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__10) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__10] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$11(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__11(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__11, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__11, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__11, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__11, atspre_g0int_eq_int(arg0, tmp19__11)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__11) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__11] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3357(line=119, offs=9) -- 3512(line=122, offs=17)
-*/
-/*
-local: div_gt_zero_99$0(level=0), get_multiplicity_110$0(level=1)
-global: div_gt_zero_99$0(level=0), get_multiplicity_110$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-get_multiplicity_110(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret251, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp252, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp253, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp254, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3357(line=119, offs=9) -- 3512(line=122, offs=17)
-*/
-ATSINSflab(__patsflab_get_multiplicity_110):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3429(line=120, offs=13) -- 3434(line=120, offs=18)
-*/
-ATSINSmove(tmp252, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3423(line=120, offs=7) -- 3512(line=122, offs=17)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3448(line=121, offs=11) -- 3449(line=121, offs=12)
-*/
-ATSINSlab(__atstmplab22):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3429(line=120, offs=13) -- 3434(line=120, offs=18)
-*/
-ATSifnthen(ATSCKpat_int(tmp252, ATSPMVint(0))) { ATSINSgoto(__atstmplab24) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3449(line=121, offs=12) -- 3449(line=121, offs=12)
-*/
-ATSINSlab(__atstmplab23):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3474(line=121, offs=37) -- 3491(line=121, offs=54)
-*/
-ATSINSmove(tmp254, div_gt_zero_99(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3457(line=121, offs=20) -- 3495(line=121, offs=58)
-*/
-ATSINSmove(tmp253, get_multiplicity_110(tmp254, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3453(line=121, offs=16) -- 3495(line=121, offs=58)
-*/
-ATSINSmove(tmpret251, atspre_g1int_add_int(ATSPMVi0nt(1), tmp253)) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3507(line=122, offs=12) -- 3507(line=122, offs=12)
-*/
-ATSINSlab(__atstmplab24):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3511(line=122, offs=16) -- 3512(line=122, offs=17)
-*/
-ATSINSmove(tmpret251, ATSPMVi0nt(0)) ;
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret251) ;
-} /* end of [get_multiplicity_110] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3526(line=124, offs=9) -- 3771(line=131, offs=24)
-*/
-/*
-local: exp_6$0(level=0), is_prime_52$0(level=0), legendre_107$0(level=1), get_multiplicity_110$0(level=1), loop_111$0(level=1)
-global: exp_6$0(level=0), is_prime_52$0(level=0), div_gt_zero_99$0(level=0), exp_mod_prime_100$0(level=0), legendre_107$0(level=1), get_multiplicity_110$0(level=1), loop_111$0(level=1)
-local: a$5143(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), n$5144(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: a$5143(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), n$5144(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_111(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret255, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp256, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp259, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp260, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp263, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp264, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp265, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp266, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp267, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp268, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp269, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3526(line=124, offs=9) -- 3771(line=131, offs=24)
-*/
-ATSINSflab(__patsflab_loop_111):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3582(line=125, offs=10) -- 3589(line=125, offs=17)
-*/
-ATSINSmove(tmp256, ATSLIB_056_prelude__gt_g1int_int__7__5(arg0, env1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3579(line=125, offs=7) -- 3771(line=131, offs=24)
-*/
-ATSif(
-tmp256
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3603(line=126, offs=9) -- 3604(line=126, offs=10)
-*/
-ATSINSmove(tmpret255, ATSPMVi0nt(1)) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3627(line=128, offs=12) -- 3654(line=128, offs=39)
-*/
-ATSINSmove(tmp263, atspre_g0int_mod_int(env0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3627(line=128, offs=12) -- 3654(line=128, offs=39)
-*/
-ATSINSmove(tmp260, ATSLIB_056_prelude__eq_g0int_int__13__12(tmp263, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3627(line=128, offs=12) -- 3654(line=128, offs=39)
-*/
-ATSif(
-tmp260
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3627(line=128, offs=12) -- 3654(line=128, offs=39)
-*/
-ATSINSmove(tmp259, is_prime_52(arg0)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3627(line=128, offs=12) -- 3654(line=128, offs=39)
-*/
-ATSINSmove(tmp259, ATSPMVbool_false()) ;
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3624(line=128, offs=9) -- 3771(line=131, offs=24)
-*/
-ATSif(
-tmp259
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3676(line=129, offs=16) -- 3683(line=129, offs=23)
-*/
-ATSINSmove(tmp265, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3671(line=129, offs=11) -- 3684(line=129, offs=24)
-*/
-ATSINSmove(tmp264, loop_111(env0, env1, tmp265)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3691(line=129, offs=31) -- 3707(line=129, offs=47)
-*/
-ATSINSmove(tmp267, legendre_107(arg0, env1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3709(line=129, offs=49) -- 3733(line=129, offs=73)
-*/
-ATSINSmove(tmp268, get_multiplicity_110(env0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3687(line=129, offs=27) -- 3734(line=129, offs=74)
-*/
-ATSINSmove(tmp266, exp_6(tmp267, tmp268)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3671(line=129, offs=11) -- 3734(line=129, offs=74)
-*/
-ATSINSmove(tmpret255, atspre_g0int_mul_int(tmp264, tmp266)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3763(line=131, offs=16) -- 3770(line=131, offs=23)
-*/
-ATSINSmove(tmp269, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3758(line=131, offs=11) -- 3771(line=131, offs=24)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp269) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSfgoto(__patsflab_loop_111) ;
-ATStailcal_end()
-
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret255) ;
-} /* end of [loop_111] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$7$5(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4632)
-tmparg = S2Evar(tk(4632))
-tmpsub = Some(tk(4632) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__5, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__5, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__5, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__5, atspre_g1int_gt_int(arg0, tmp12__5)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__5) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__7__5] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$12(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__12(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__12, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__12, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__12, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__12, atspre_g0int_eq_int(arg0, tmp19__12)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__12) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__12] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3799(line=136, offs=4) -- 3868(line=137, offs=32)
-*/
-/*
-local: divisors_68$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), divisors_68$0(level=0), count_divisors_114$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-count_divisors_114(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret270, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp282, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3799(line=136, offs=4) -- 3868(line=137, offs=32)
-*/
-ATSINSflab(__patsflab_count_divisors_114):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3856(line=137, offs=20) -- 3866(line=137, offs=30)
-*/
-ATSINSmove(tmp282, divisors_68(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3839(line=137, offs=3) -- 3868(line=137, offs=32)
-*/
-ATSINSmove(tmpret270, ATSLIB_056_prelude__stream_vt_length__115__1(tmp282)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret270) ;
-} /* end of [count_divisors_114] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 8385(line=480, offs=17) -- 8607(line=495, offs=4)
-*/
-/*
-local: 
-global: stream_vt_length$115$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = a(8177)
-tmparg = S2Evar(a(8177))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_int)
-ATSLIB_056_prelude__stream_vt_length__115(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret271, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8369(line=480, offs=1) -- 8607(line=495, offs=4)
-*/
-ATSINSflab(__patsflab_stream_vt_length):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8393(line=480, offs=25) -- 8607(line=495, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8590(line=494, offs=16) -- 8602(line=494, offs=28)
-*/
-ATSINSmove(tmpret271, ATSfunclo_fun(PMVd2vfunlab(d2v=loop$4186(1), flab=loop_116$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)), atstkind_t0ype(atstype_int))(arg0, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8393(line=480, offs=25) -- 8607(line=495, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret271) ;
-} /* end of [ATSLIB_056_prelude__stream_vt_length__115] */
-#endif // end of [TEMPLATE]
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 8404(line=483, offs=1) -- 8548(line=491, offs=2)
-*/
-/*
-local: loop_116$0(level=1)
-global: loop_116$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_116__116(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret272, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp273, atstype_boxed) ;
-ATStmpdec(tmp275, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp276, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8404(line=483, offs=1) -- 8548(line=491, offs=2)
-*/
-ATSINSflab(__patsflab_loop_116):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8470(line=488, offs=9) -- 8473(line=488, offs=12)
-*/
-ATSINSmove_llazyeval(tmp273, atstype_boxed, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8464(line=488, offs=3) -- 8546(line=490, offs=44)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8481(line=489, offs=5) -- 8497(line=489, offs=21)
-*/
-ATSINSlab(__atstmplab25):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8470(line=488, offs=9) -- 8473(line=488, offs=12)
-*/
-ATSifthen(ATSCKptriscons(tmp273)) { ATSINSgoto(__atstmplab28) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8497(line=489, offs=21) -- 8497(line=489, offs=21)
-*/
-ATSINSlab(__atstmplab26):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8501(line=489, offs=25) -- 8502(line=489, offs=26)
-*/
-ATSINSmove(tmpret272, arg1) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8507(line=490, offs=5) -- 8529(line=490, offs=27)
-*/
-ATSINSlab(__atstmplab27):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8470(line=488, offs=9) -- 8473(line=488, offs=12)
-*/
-#if(0)
-ATSifthen(ATSCKptrisnull(tmp273)) { ATSINSdeadcode_fail() ; } ;
-#endif
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8529(line=490, offs=27) -- 8529(line=490, offs=27)
-*/
-ATSINSlab(__atstmplab28):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8526(line=490, offs=24) -- 8528(line=490, offs=26)
-*/
-ATSINSmove(tmp275, ATSSELcon(tmp273, postiats_tysum_3, atslab__1)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8507(line=490, offs=5) -- 8546(line=490, offs=44)
-*/
-ATSINSfreecon(tmp273) ;
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8542(line=490, offs=40) -- 8545(line=490, offs=43)
-*/
-ATSINSmove(tmp276, PMVtmpltcst(g1int_add<S2Eextkind(atstype_int)>)(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8533(line=490, offs=31) -- 8546(line=490, offs=44)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp275) ;
-ATSINSmove_tlcal(apy1, tmp276) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_loop_116) ;
-ATStailcal_end()
-
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret272) ;
-} /* end of [loop_116__116] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 8385(line=480, offs=17) -- 8607(line=495, offs=4)
-*/
-/*
-local: 
-global: stream_vt_length$115$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(8177)
-tmparg = S2Evar(a(8177))
-tmpsub = Some(a(8177) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
-*/
-atstkind_t0ype(atstype_int)
-ATSLIB_056_prelude__stream_vt_length__115__1(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret271__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8369(line=480, offs=1) -- 8607(line=495, offs=4)
-*/
-ATSINSflab(__patsflab_stream_vt_length):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8393(line=480, offs=25) -- 8607(line=495, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8590(line=494, offs=16) -- 8602(line=494, offs=28)
-*/
-ATSINSmove(tmpret271__1, loop_116__116__1(arg0, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8393(line=480, offs=25) -- 8607(line=495, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret271__1) ;
-} /* end of [ATSLIB_056_prelude__stream_vt_length__115__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 8404(line=483, offs=1) -- 8548(line=491, offs=2)
-*/
-/*
-local: loop_116$1(level=2)
-global: loop_116$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_116__116__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret272__1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp273__1, atstype_boxed) ;
-ATStmpdec(tmp275__1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp276__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8404(line=483, offs=1) -- 8548(line=491, offs=2)
-*/
-ATSINSflab(__patsflab_loop_116):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8470(line=488, offs=9) -- 8473(line=488, offs=12)
-*/
-ATSINSmove_llazyeval(tmp273__1, atstype_boxed, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8464(line=488, offs=3) -- 8546(line=490, offs=44)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8481(line=489, offs=5) -- 8497(line=489, offs=21)
-*/
-ATSINSlab(__atstmplab25):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8470(line=488, offs=9) -- 8473(line=488, offs=12)
-*/
-ATSifthen(ATSCKptriscons(tmp273__1)) { ATSINSgoto(__atstmplab28) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8497(line=489, offs=21) -- 8497(line=489, offs=21)
-*/
-ATSINSlab(__atstmplab26):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8501(line=489, offs=25) -- 8502(line=489, offs=26)
-*/
-ATSINSmove(tmpret272__1, arg1) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8507(line=490, offs=5) -- 8529(line=490, offs=27)
-*/
-ATSINSlab(__atstmplab27):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8470(line=488, offs=9) -- 8473(line=488, offs=12)
-*/
-#if(0)
-ATSifthen(ATSCKptrisnull(tmp273__1)) { ATSINSdeadcode_fail() ; } ;
-#endif
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8529(line=490, offs=27) -- 8529(line=490, offs=27)
-*/
-ATSINSlab(__atstmplab28):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8526(line=490, offs=24) -- 8528(line=490, offs=26)
-*/
-ATSINSmove(tmp275__1, ATSSELcon(tmp273__1, postiats_tysum_1, atslab__1)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8507(line=490, offs=5) -- 8546(line=490, offs=44)
-*/
-ATSINSfreecon(tmp273__1) ;
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8542(line=490, offs=40) -- 8545(line=490, offs=43)
-*/
-ATSINSmove(tmp276__1, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8533(line=490, offs=31) -- 8546(line=490, offs=44)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp275__1) ;
-ATSINSmove_tlcal(apy1, tmp276__1) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_loop_116) ;
-ATStailcal_end()
-
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret272__1) ;
-} /* end of [loop_116__116__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3948(line=142, offs=4) -- 4547(line=168, offs=6)
-*/
-/*
-local: sqrt_int_49$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), sum_divisors_119$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-sum_divisors_119(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret283, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3948(line=142, offs=4) -- 4547(line=168, offs=6)
-*/
-ATSINSflab(__patsflab_sum_divisors_119):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3986(line=143, offs=3) -- 4547(line=168, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4531(line=167, offs=5) -- 4541(line=167, offs=15)
-*/
-ATSINSmove(tmpret283, loop_120(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3986(line=143, offs=3) -- 4547(line=168, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret283) ;
-} /* end of [sum_divisors_119] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3998(line=144, offs=9) -- 4521(line=165, offs=27)
-*/
-/*
-local: sqrt_int_49$0(level=0), loop_120$0(level=1)
-global: sqrt_int_49$0(level=0), loop_120$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_120(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret284, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp285, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp288, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp289, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp292, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp293, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp296, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref297, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp298, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp301, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref302, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp303, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp304, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp305, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp306, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 3998(line=144, offs=9) -- 4521(line=165, offs=27)
-*/
-ATSINSflab(__patsflab_loop_120):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4092(line=145, offs=17) -- 4102(line=145, offs=27)
-*/
-ATSINSmove(tmp288, sqrt_int_49(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4085(line=145, offs=10) -- 4102(line=145, offs=27)
-*/
-ATSINSmove(tmp285, ATSLIB_056_prelude__gte_g1int_int__72__2(arg1, tmp288)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4082(line=145, offs=7) -- 4521(line=165, offs=27)
-*/
-ATSif(
-tmp285
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4120(line=146, offs=12) -- 4127(line=146, offs=19)
-*/
-ATSINSmove(tmp292, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4120(line=146, offs=12) -- 4131(line=146, offs=23)
-*/
-ATSINSmove(tmp289, ATSLIB_056_prelude__eq_g0int_int__13__13(tmp292, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4117(line=146, offs=9) -- 4329(line=156, offs=12)
-*/
-ATSif(
-tmp289
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4150(line=147, offs=14) -- 4157(line=147, offs=21)
-*/
-ATSINSmove(tmp296, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4150(line=147, offs=14) -- 4164(line=147, offs=28)
-*/
-ATSINSmove(tmp293, ATSLIB_056_prelude__neq_g1int_int__76__2(tmp296, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4147(line=147, offs=11) -- 4304(line=154, offs=16)
-*/
-ATSif(
-tmp293
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4182(line=148, offs=13) -- 4273(line=152, offs=16)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4204(line=149, offs=19) -- 4205(line=149, offs=20)
-*/
-/*
-ATSINStmpdec(tmpref297) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4213(line=149, offs=28) -- 4220(line=149, offs=35)
-*/
-ATSINSmove(tmpref297, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4250(line=151, offs=15) -- 4257(line=151, offs=22)
-*/
-ATSINSmove(tmpret284, atspre_g1int_add_int(arg1, tmpref297)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4182(line=148, offs=13) -- 4273(line=152, offs=16)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4301(line=154, offs=13) -- 4304(line=154, offs=16)
-*/
-ATSINSmove(tmpret284, arg1) ;
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4328(line=156, offs=11) -- 4329(line=156, offs=12)
-*/
-ATSINSmove(tmpret284, ATSPMVi0nt(0)) ;
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4352(line=158, offs=12) -- 4359(line=158, offs=19)
-*/
-ATSINSmove(tmp301, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4352(line=158, offs=12) -- 4363(line=158, offs=23)
-*/
-ATSINSmove(tmp298, ATSLIB_056_prelude__eq_g0int_int__13__14(tmp301, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4349(line=158, offs=9) -- 4521(line=165, offs=27)
-*/
-ATSif(
-tmp298
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4379(line=159, offs=11) -- 4481(line=163, offs=14)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4399(line=160, offs=17) -- 4400(line=160, offs=18)
-*/
-/*
-ATSINStmpdec(tmpref302) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4408(line=160, offs=26) -- 4415(line=160, offs=33)
-*/
-ATSINSmove(tmpref302, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4441(line=162, offs=13) -- 4448(line=162, offs=20)
-*/
-ATSINSmove(tmp303, atspre_g1int_add_int(arg1, tmpref302)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4459(line=162, offs=31) -- 4466(line=162, offs=38)
-*/
-ATSINSmove(tmp305, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4451(line=162, offs=23) -- 4467(line=162, offs=39)
-*/
-ATSINSmove(tmp304, loop_120(arg0, tmp305)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4441(line=162, offs=13) -- 4467(line=162, offs=39)
-*/
-ATSINSmove(tmpret284, atspre_g0int_add_int(tmp303, tmp304)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4379(line=159, offs=11) -- 4481(line=163, offs=14)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4513(line=165, offs=19) -- 4520(line=165, offs=26)
-*/
-ATSINSmove(tmp306, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4505(line=165, offs=11) -- 4521(line=165, offs=27)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, arg0) ;
-ATSINSmove_tlcal(apy1, tmp306) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_loop_120) ;
-ATStailcal_end()
-
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret284) ;
-} /* end of [loop_120] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$72$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4635)
-tmparg = S2Evar(tk(4635))
-tmpsub = Some(tk(4635) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__72__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret152__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp153__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp153__2, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret152__2, atspre_g1int_gte_int(arg0, tmp153__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret152__2) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__72__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$13(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__13(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__13, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__13, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__13, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__13, atspre_g0int_eq_int(arg0, tmp19__13)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__13) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__13] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)
-*/
-/*
-local: 
-global: neq_g1int_int$76$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4641)
-tmparg = S2Evar(tk(4641))
-tmpsub = Some(tk(4641) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g1int_int__76__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret162__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp163__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12900(line=671, offs=1) -- 12956(line=672, offs=43)
-*/
-ATSINSflab(__patsflab_neq_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)
-*/
-ATSINSmove(tmp163__2, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)
-*/
-ATSINSmove(tmpret162__2, atspre_g1int_neq_int(arg0, tmp163__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret162__2) ;
-} /* end of [ATSLIB_056_prelude__neq_g1int_int__76__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$14(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__14(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__14, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__14, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__14, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__14, atspre_g0int_eq_int(arg0, tmp19__14)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__14) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__14] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4552(line=170, offs=4) -- 4607(line=171, offs=22)
-*/
-/*
-local: sum_divisors_119$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), sum_divisors_119$0(level=0), is_perfect_126$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-is_perfect_126(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret307, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp310, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4552(line=170, offs=4) -- 4607(line=171, offs=22)
-*/
-ATSINSflab(__patsflab_is_perfect_126):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4588(line=171, offs=3) -- 4602(line=171, offs=17)
-*/
-ATSINSmove(tmp310, sum_divisors_119(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4588(line=171, offs=3) -- 4607(line=171, offs=22)
-*/
-ATSINSmove(tmpret307, ATSLIB_056_prelude__eq_g0int_int__13__15(tmp310, arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret307) ;
-} /* end of [is_perfect_126] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$15(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__15(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__15, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__15, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__15, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__15, atspre_g0int_eq_int(arg0, tmp19__15)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__15) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__15] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4613(line=173, offs=5) -- 4933(line=187, offs=8)
-*/
-/*
-local: rip_128$0(level=0)
-global: rip_128$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-rip_128(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret311, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp312, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp317, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp318, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp321, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref322, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp323, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp326, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4613(line=173, offs=5) -- 4933(line=187, offs=8)
-*/
-ATSINSflab(__patsflab_rip_128):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4735(line=174, offs=6) -- 4740(line=174, offs=11)
-*/
-ATSINSmove(tmp317, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4735(line=174, offs=6) -- 4745(line=174, offs=16)
-*/
-ATSINSmove(tmp312, ATSLIB_056_prelude__neq_g0int_int__129__1(tmp317, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4732(line=174, offs=3) -- 4933(line=187, offs=8)
-*/
-ATSif(
-tmp312
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4755(line=175, offs=5) -- 4756(line=175, offs=6)
-*/
-ATSINSmove(tmpret311, arg0) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4771(line=177, offs=8) -- 4776(line=177, offs=13)
-*/
-ATSINSmove(tmp321, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4771(line=177, offs=8) -- 4780(line=177, offs=17)
-*/
-ATSINSmove(tmp318, ATSLIB_056_prelude__gt_g1int_int__7__6(tmp321, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4768(line=177, offs=5) -- 4933(line=187, offs=8)
-*/
-ATSif(
-tmp318
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4792(line=178, offs=7) -- 4916(line=185, offs=10)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4808(line=179, offs=13) -- 4810(line=179, offs=15)
-*/
-/*
-ATSINStmpdec(tmpref322) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4813(line=179, offs=18) -- 4818(line=179, offs=23)
-*/
-ATSINSmove(tmpref322, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4839(line=181, offs=12) -- 4845(line=181, offs=18)
-*/
-ATSINSmove(tmp323, ATSLIB_056_prelude__lt_g1int_int__54__2(tmpref322, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4836(line=181, offs=9) -- 4906(line=184, offs=12)
-*/
-ATSif(
-tmp323
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4870(line=182, offs=20) -- 4880(line=182, offs=30)
-*/
-ATSINSmove(tmp326, rip_128(tmpref322, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4861(line=182, offs=11) -- 4881(line=182, offs=31)
-*/
-ATSINSmove(tmpret311, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp326)) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4905(line=184, offs=11) -- 4906(line=184, offs=12)
-*/
-ATSINSmove(tmpret311, ATSPMVi0nt(1)) ;
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4792(line=178, offs=7) -- 4916(line=185, offs=10)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4932(line=187, offs=7) -- 4933(line=187, offs=8)
-*/
-ATSINSmove(tmpret311, ATSPMVi0nt(1)) ;
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret311) ;
-} /* end of [rip_128] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12337(line=639, offs=3) -- 12377(line=639, offs=43)
-*/
-/*
-local: 
-global: neq_g0int_int$129$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4624)
-tmparg = S2Evar(tk(4624))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g0int_int__129(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret313, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp314, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12321(line=638, offs=1) -- 12377(line=639, offs=43)
-*/
-ATSINSflab(__patsflab_neq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12364(line=639, offs=30) -- 12375(line=639, offs=41)
-*/
-ATSINSmove(tmp314, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4624))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12346(line=639, offs=12) -- 12377(line=639, offs=43)
-*/
-ATSINSmove(tmpret313, PMVtmpltcst(g0int_neq<S2Evar(tk(4624))>)(arg0, tmp314)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret313) ;
-} /* end of [ATSLIB_056_prelude__neq_g0int_int__129] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12337(line=639, offs=3) -- 12377(line=639, offs=43)
-*/
-/*
-local: 
-global: neq_g0int_int$129$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4624)
-tmparg = S2Evar(tk(4624))
-tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g0int_int__129__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret313__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp314__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12321(line=638, offs=1) -- 12377(line=639, offs=43)
-*/
-ATSINSflab(__patsflab_neq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12364(line=639, offs=30) -- 12375(line=639, offs=41)
-*/
-ATSINSmove(tmp314__1, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12346(line=639, offs=12) -- 12377(line=639, offs=43)
-*/
-ATSINSmove(tmpret313__1, atspre_g0int_neq_int(arg0, tmp314__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret313__1) ;
-} /* end of [ATSLIB_056_prelude__neq_g0int_int__129__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$7$6(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4632)
-tmparg = S2Evar(tk(4632))
-tmpsub = Some(tk(4632) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__6(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__6, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__6, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__6, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__6, atspre_g1int_gt_int(arg0, tmp12__6)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__6) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__7__6] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
-*/
-/*
-local: 
-global: lt_g1int_int$54$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4626)
-tmparg = S2Evar(tk(4626))
-tmpsub = Some(tk(4626) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__54__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret112__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp113__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
-*/
-ATSINSmove(tmp113__2, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
-*/
-ATSINSmove(tmpret112__2, atspre_g1int_lt_int(arg0, tmp113__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret112__2) ;
-} /* end of [ATSLIB_056_prelude__lt_g1int_int__54__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4939(line=189, offs=5) -- 5542(line=207, offs=6)
-*/
-/*
-local: is_prime_52$0(level=0), rip_128$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), is_prime_52$0(level=0), rip_128$0(level=0), prime_factors_134$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-prime_factors_134(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret327, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4939(line=189, offs=5) -- 5542(line=207, offs=6)
-*/
-ATSINSflab(__patsflab_prime_factors_134):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4989(line=190, offs=3) -- 5542(line=207, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5526(line=206, offs=5) -- 5536(line=206, offs=15)
-*/
-ATSINSmove(tmpret327, loop_135(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 4989(line=190, offs=3) -- 5542(line=207, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret327) ;
-} /* end of [prime_factors_134] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5001(line=191, offs=9) -- 5516(line=204, offs=27)
-*/
-/*
-local: is_prime_52$0(level=0), rip_128$0(level=0), loop_135$0(level=1)
-global: is_prime_52$0(level=0), rip_128$0(level=0), loop_135$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-loop_135(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret328, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp329, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp332, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp337, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp338, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp341, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp342, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp345, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp352, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5001(line=191, offs=9) -- 5516(line=204, offs=27)
-*/
-ATSINSflab(__patsflab_loop_135):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5099(line=192, offs=10) -- 5107(line=192, offs=18)
-*/
-ATSINSmove(tmp329, ATSLIB_056_prelude__gte_g1int_int__72__3(arg1, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5096(line=192, offs=7) -- 5516(line=204, offs=27)
-*/
-ATSif(
-tmp329
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5124(line=193, offs=12) -- 5134(line=193, offs=22)
-*/
-ATSINSmove(tmp332, is_prime_52(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5121(line=193, offs=9) -- 5247(line=196, offs=33)
-*/
-ATSif(
-tmp332
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5151(line=194, offs=11) -- 5201(line=194, offs=61)
-*/
-ATSINSmove_ldelay(tmpret328, atstype_boxed, ATSPMVcfunlab(1, __patsfun_137, (arg0))) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5225(line=196, offs=11) -- 5247(line=196, offs=33)
-*/
-ATSINSmove_ldelay(tmpret328, atstype_boxed, ATSPMVcfunlab(1, __patsfun_139, ())) ;
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5270(line=198, offs=12) -- 5297(line=198, offs=39)
-*/
-ATSINSmove(tmp341, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5270(line=198, offs=12) -- 5297(line=198, offs=39)
-*/
-ATSINSmove(tmp338, ATSLIB_056_prelude__eq_g0int_int__13__16(tmp341, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5270(line=198, offs=12) -- 5297(line=198, offs=39)
-*/
-ATSif(
-tmp338
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5270(line=198, offs=12) -- 5297(line=198, offs=39)
-*/
-ATSINSmove(tmp337, is_prime_52(arg1)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5270(line=198, offs=12) -- 5297(line=198, offs=39)
-*/
-ATSINSmove(tmp337, ATSPMVbool_false()) ;
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5267(line=198, offs=9) -- 5516(line=204, offs=27)
-*/
-ATSif(
-tmp337
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5317(line=199, offs=14) -- 5324(line=199, offs=21)
-*/
-ATSINSmove(tmp345, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5317(line=199, offs=14) -- 5328(line=199, offs=25)
-*/
-ATSINSmove(tmp342, ATSLIB_056_prelude__gt_g1int_int__7__7(tmp345, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5314(line=199, offs=11) -- 5476(line=202, offs=65)
-*/
-ATSif(
-tmp342
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5346(line=200, offs=13) -- 5396(line=200, offs=63)
-*/
-ATSINSmove_ldelay(tmpret328, atstype_boxed, ATSPMVcfunlab(1, __patsfun_142, (arg0, arg1))) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5424(line=202, offs=13) -- 5476(line=202, offs=65)
-*/
-ATSINSmove_ldelay(tmpret328, atstype_boxed, ATSPMVcfunlab(1, __patsfun_143, (arg1))) ;
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5508(line=204, offs=19) -- 5515(line=204, offs=26)
-*/
-ATSINSmove(tmp352, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5500(line=204, offs=11) -- 5516(line=204, offs=27)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, arg0) ;
-ATSINSmove_tlcal(apy1, tmp352) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_loop_135) ;
-ATStailcal_end()
-
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret328) ;
-} /* end of [loop_135] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$72$3(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4635)
-tmparg = S2Evar(tk(4635))
-tmpsub = Some(tk(4635) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__72__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret152__3, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp153__3, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp153__3, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret152__3, atspre_g1int_gte_int(arg0, tmp153__3)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret152__3) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__72__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5151(line=194, offs=11) -- 5201(line=194, offs=61)
-*/
-/*
-local: 
-global: __patsfun_137$0(level=2)
-local: n$5174(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: n$5174(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_137(atstkind_t0ype(atstype_int) env0, atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret333, atstype_boxed) ;
-ATStmpdec(tmp334, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5151(line=194, offs=11) -- 5201(line=194, offs=61)
-*/
-ATSINSflab(__patsflab___patsfun_137):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5151(line=194, offs=11) -- 5201(line=194, offs=61)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5177(line=194, offs=37) -- 5199(line=194, offs=59)
-*/
-ATSINSmove_ldelay(tmp334, atstype_boxed, ATSPMVcfunlab(1, __patsfun_138, ())) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5159(line=194, offs=19) -- 5200(line=194, offs=60)
-*/
-
-/*
-#LINCONSTATUS==0
-*/
-ATSINSmove_con1_beg()
-ATSINSmove_con1_new(tmpret333, postiats_tysum_1) ;
-#if(0)
-ATSINSstore_con1_tag(tmpret333, 1) ;
-#endif
-ATSINSstore_con1_ofs(tmpret333, postiats_tysum_1, atslab__0, env0) ;
-ATSINSstore_con1_ofs(tmpret333, postiats_tysum_1, atslab__1, tmp334) ;
-ATSINSmove_con1_end()
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret333) ;
-} /* end of [__patsfun_137] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5177(line=194, offs=37) -- 5199(line=194, offs=59)
-*/
-/*
-local: 
-global: __patsfun_138$0(level=3)
-local: 
-global: 
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_138(atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret335, atstype_boxed) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5177(line=194, offs=37) -- 5199(line=194, offs=59)
-*/
-ATSINSflab(__patsflab___patsfun_138):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5177(line=194, offs=37) -- 5199(line=194, offs=59)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5185(line=194, offs=45) -- 5198(line=194, offs=58)
-*/
-
-ATSINSmove_nil(tmpret335) ;
-
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret335) ;
-} /* end of [__patsfun_138] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5225(line=196, offs=11) -- 5247(line=196, offs=33)
-*/
-/*
-local: 
-global: __patsfun_139$0(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_139(atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret336, atstype_boxed) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5225(line=196, offs=11) -- 5247(line=196, offs=33)
-*/
-ATSINSflab(__patsflab___patsfun_139):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5225(line=196, offs=11) -- 5247(line=196, offs=33)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5233(line=196, offs=19) -- 5246(line=196, offs=32)
-*/
-
-ATSINSmove_nil(tmpret336) ;
-
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret336) ;
-} /* end of [__patsfun_139] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$16(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__16(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__16, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__16, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__16, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__16, atspre_g0int_eq_int(arg0, tmp19__16)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__16) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__16] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$7$7(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4632)
-tmparg = S2Evar(tk(4632))
-tmpsub = Some(tk(4632) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__7(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__7, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__7, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__7, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__7, atspre_g1int_gt_int(arg0, tmp12__7)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__7) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__7__7] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5346(line=200, offs=13) -- 5396(line=200, offs=63)
-*/
-/*
-local: rip_128$0(level=0), loop_135$0(level=1)
-global: rip_128$0(level=0), loop_135$0(level=1), __patsfun_142$0(level=2)
-local: n$5174(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5175(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: n$5174(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5175(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_142(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret346, atstype_boxed) ;
-ATStmpdec(tmp347, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp348, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5346(line=200, offs=13) -- 5396(line=200, offs=63)
-*/
-ATSINSflab(__patsflab___patsfun_142):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5346(line=200, offs=13) -- 5396(line=200, offs=63)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5379(line=200, offs=46) -- 5390(line=200, offs=57)
-*/
-ATSINSmove(tmp348, rip_128(env0, env1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5374(line=200, offs=41) -- 5394(line=200, offs=61)
-*/
-ATSINSmove(tmp347, loop_135(tmp348, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5354(line=200, offs=21) -- 5395(line=200, offs=62)
-*/
-
-/*
-#LINCONSTATUS==0
-*/
-ATSINSmove_con1_beg()
-ATSINSmove_con1_new(tmpret346, postiats_tysum_1) ;
-#if(0)
-ATSINSstore_con1_tag(tmpret346, 1) ;
-#endif
-ATSINSstore_con1_ofs(tmpret346, postiats_tysum_1, atslab__0, env1) ;
-ATSINSstore_con1_ofs(tmpret346, postiats_tysum_1, atslab__1, tmp347) ;
-ATSINSmove_con1_end()
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret346) ;
-} /* end of [__patsfun_142] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5424(line=202, offs=13) -- 5476(line=202, offs=65)
-*/
-/*
-local: 
-global: __patsfun_143$0(level=2)
-local: acc$5175(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: acc$5175(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_143(atstkind_t0ype(atstype_int) env0, atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret349, atstype_boxed) ;
-ATStmpdec(tmp350, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5424(line=202, offs=13) -- 5476(line=202, offs=65)
-*/
-ATSINSflab(__patsflab___patsfun_143):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5424(line=202, offs=13) -- 5476(line=202, offs=65)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5452(line=202, offs=41) -- 5474(line=202, offs=63)
-*/
-ATSINSmove_ldelay(tmp350, atstype_boxed, ATSPMVcfunlab(1, __patsfun_144, ())) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5432(line=202, offs=21) -- 5475(line=202, offs=64)
-*/
-
-/*
-#LINCONSTATUS==0
-*/
-ATSINSmove_con1_beg()
-ATSINSmove_con1_new(tmpret349, postiats_tysum_1) ;
-#if(0)
-ATSINSstore_con1_tag(tmpret349, 1) ;
-#endif
-ATSINSstore_con1_ofs(tmpret349, postiats_tysum_1, atslab__0, env0) ;
-ATSINSstore_con1_ofs(tmpret349, postiats_tysum_1, atslab__1, tmp350) ;
-ATSINSmove_con1_end()
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret349) ;
-} /* end of [__patsfun_143] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5452(line=202, offs=41) -- 5474(line=202, offs=63)
-*/
-/*
-local: 
-global: __patsfun_144$0(level=3)
-local: 
-global: 
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_144(atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret351, atstype_boxed) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5452(line=202, offs=41) -- 5474(line=202, offs=63)
-*/
-ATSINSflab(__patsflab___patsfun_144):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5452(line=202, offs=41) -- 5474(line=202, offs=63)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5460(line=202, offs=49) -- 5473(line=202, offs=62)
-*/
-
-ATSINSmove_nil(tmpret351) ;
-
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret351) ;
-} /* end of [__patsfun_144] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5574(line=210, offs=4) -- 6013(line=228, offs=6)
-*/
-/*
-local: is_prime_52$0(level=0), rip_128$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), is_prime_52$0(level=0), rip_128$0(level=0), little_omega_145$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-little_omega_145(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret353, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5574(line=210, offs=4) -- 6013(line=228, offs=6)
-*/
-ATSINSflab(__patsflab_little_omega_145):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5612(line=211, offs=3) -- 6013(line=228, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5997(line=227, offs=5) -- 6007(line=227, offs=15)
-*/
-ATSINSmove(tmpret353, loop_146(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5612(line=211, offs=3) -- 6013(line=228, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret353) ;
-} /* end of [little_omega_145] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5624(line=212, offs=9) -- 5987(line=225, offs=27)
-*/
-/*
-local: is_prime_52$0(level=0), rip_128$0(level=0), loop_146$0(level=1)
-global: is_prime_52$0(level=0), rip_128$0(level=0), loop_146$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_146(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret354, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp355, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp358, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp359, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp360, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp363, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp364, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp367, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp368, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp369, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp370, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5624(line=212, offs=9) -- 5987(line=225, offs=27)
-*/
-ATSINSflab(__patsflab_loop_146):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5717(line=213, offs=10) -- 5725(line=213, offs=18)
-*/
-ATSINSmove(tmp355, ATSLIB_056_prelude__gte_g1int_int__72__4(arg1, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5714(line=213, offs=7) -- 5987(line=225, offs=27)
-*/
-ATSif(
-tmp355
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5742(line=214, offs=12) -- 5752(line=214, offs=22)
-*/
-ATSINSmove(tmp358, is_prime_52(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5739(line=214, offs=9) -- 5795(line=217, offs=12)
-*/
-ATSif(
-tmp358
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5769(line=215, offs=11) -- 5770(line=215, offs=12)
-*/
-ATSINSmove(tmpret354, ATSPMVi0nt(1)) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5794(line=217, offs=11) -- 5795(line=217, offs=12)
-*/
-ATSINSmove(tmpret354, ATSPMVi0nt(0)) ;
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5818(line=219, offs=12) -- 5845(line=219, offs=39)
-*/
-ATSINSmove(tmp363, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5818(line=219, offs=12) -- 5845(line=219, offs=39)
-*/
-ATSINSmove(tmp360, ATSLIB_056_prelude__eq_g0int_int__13__17(tmp363, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5818(line=219, offs=12) -- 5845(line=219, offs=39)
-*/
-ATSif(
-tmp360
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5818(line=219, offs=12) -- 5845(line=219, offs=39)
-*/
-ATSINSmove(tmp359, is_prime_52(arg1)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5818(line=219, offs=12) -- 5845(line=219, offs=39)
-*/
-ATSINSmove(tmp359, ATSPMVbool_false()) ;
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5815(line=219, offs=9) -- 5987(line=225, offs=27)
-*/
-ATSif(
-tmp359
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5865(line=220, offs=14) -- 5872(line=220, offs=21)
-*/
-ATSINSmove(tmp367, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5865(line=220, offs=14) -- 5876(line=220, offs=25)
-*/
-ATSINSmove(tmp364, ATSLIB_056_prelude__gt_g1int_int__7__8(tmp367, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5862(line=220, offs=11) -- 5947(line=223, offs=14)
-*/
-ATSif(
-tmp364
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5903(line=221, offs=22) -- 5914(line=221, offs=33)
-*/
-ATSINSmove(tmp369, rip_128(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5898(line=221, offs=17) -- 5918(line=221, offs=37)
-*/
-ATSINSmove(tmp368, loop_146(tmp369, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5894(line=221, offs=13) -- 5918(line=221, offs=37)
-*/
-ATSINSmove(tmpret354, atspre_g0int_add_int(ATSPMVi0nt(1), tmp368)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5946(line=223, offs=13) -- 5947(line=223, offs=14)
-*/
-ATSINSmove(tmpret354, ATSPMVi0nt(1)) ;
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5979(line=225, offs=19) -- 5986(line=225, offs=26)
-*/
-ATSINSmove(tmp370, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 5971(line=225, offs=11) -- 5987(line=225, offs=27)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, arg0) ;
-ATSINSmove_tlcal(apy1, tmp370) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_loop_146) ;
-ATStailcal_end()
-
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret354) ;
-} /* end of [loop_146] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$72$4(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4635)
-tmparg = S2Evar(tk(4635))
-tmpsub = Some(tk(4635) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__72__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret152__4, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp153__4, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp153__4, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret152__4, atspre_g1int_gte_int(arg0, tmp153__4)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret152__4) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__72__4] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$17(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__17(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__17, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__17, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__17, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__17, atspre_g0int_eq_int(arg0, tmp19__17)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__17) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__17] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$7$8(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4632)
-tmparg = S2Evar(tk(4632))
-tmpsub = Some(tk(4632) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__8(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__8, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__8, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__8, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__8, atspre_g1int_gt_int(arg0, tmp12__8)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__8) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__7__8] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6047(line=231, offs=4) -- 6536(line=243, offs=8)
-*/
-/*
-local: prime_factors_134$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), is_prime_52$0(level=0), rip_128$0(level=0), prime_factors_134$0(level=0), totient_150$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-totient_150(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret371, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref376, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref377, postiats_tyrec_0) ;
-ATStmpdec(tmpref378, postiats_tyrec_0) ;
-ATStmpdec(tmp396, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6047(line=231, offs=4) -- 6536(line=243, offs=8)
-*/
-ATSINSflab(__patsflab_totient_150):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6080(line=232, offs=3) -- 6536(line=243, offs=8)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6097(line=233, offs=7) -- 6098(line=233, offs=8)
-*/
-ATSINSlab(__atstmplab29):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6055(line=231, offs=12) -- 6056(line=231, offs=13)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab31) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6098(line=233, offs=8) -- 6098(line=233, offs=8)
-*/
-ATSINSlab(__atstmplab30):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6102(line=233, offs=12) -- 6103(line=233, offs=13)
-*/
-ATSINSmove(tmpret371, ATSPMVi0nt(1)) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6111(line=234, offs=8) -- 6111(line=234, offs=8)
-*/
-ATSINSlab(__atstmplab31):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6116(line=234, offs=13) -- 6536(line=243, offs=8)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6270(line=238, offs=11) -- 6271(line=238, offs=12)
-*/
-/*
-ATSINStmpdec(tmpref376) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6290(line=238, offs=31) -- 6305(line=238, offs=46)
-*/
-ATSINSmove(tmpref376, prime_factors_134(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6317(line=239, offs=11) -- 6327(line=239, offs=21)
-*/
-/*
-ATSINStmpdec(tmpref377) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6330(line=239, offs=24) -- 6356(line=239, offs=50)
-*/
-ATSINSmove_fltrec_beg()
-ATSINSstore_fltrec_ofs(tmpref377, postiats_tyrec_0, atslab__first, ATSPMVi0nt(1)) ;
-ATSINSstore_fltrec_ofs(tmpref377, postiats_tyrec_0, atslab__second, ATSPMVi0nt(1)) ;
-ATSINSmove_fltrec_end()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6374(line=240, offs=11) -- 6375(line=240, offs=12)
-*/
-/*
-ATSINStmpdec(tmpref378) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6378(line=240, offs=15) -- 6465(line=240, offs=102)
-*/
-ATSINSmove(tmpref378, ATSLIB_056_prelude__stream_vt_foldleft_cloptr__153__1(tmpref376, tmpref377, ATSPMVcfunlab(1, __patsfun_157, ()))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6496(line=242, offs=17) -- 6517(line=242, offs=38)
-*/
-ATSINSmove(tmp396, atspre_g0int_mul_int(arg0, ATSSELfltrec(tmpref378, postiats_tyrec_0, atslab__first))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6486(line=242, offs=7) -- 6528(line=242, offs=49)
-*/
-ATSINSmove(tmpret371, atspre_g0int_div_int(tmp396, ATSSELfltrec(tmpref378, postiats_tyrec_0, atslab__second))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6116(line=234, offs=13) -- 6536(line=243, offs=8)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret371) ;
-} /* end of [totient_150] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6129(line=235, offs=10) -- 6252(line=236, offs=80)
-*/
-/*
-local: 
-global: adjust_contents_151$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-postiats_tyrec_0
-adjust_contents_151(postiats_tyrec_0 arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret372, postiats_tyrec_0) ;
-ATStmpdec(tmp373, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp374, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp375, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6129(line=235, offs=10) -- 6252(line=236, offs=80)
-*/
-ATSINSflab(__patsflab_adjust_contents_151):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6211(line=236, offs=39) -- 6216(line=236, offs=44)
-*/
-ATSINSmove(tmp374, atspre_g0int_sub_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6192(line=236, offs=20) -- 6217(line=236, offs=45)
-*/
-ATSINSmove(tmp373, atspre_g0int_mul_int(ATSSELfltrec(arg0, postiats_tyrec_0, atslab__first), tmp374)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6228(line=236, offs=56) -- 6250(line=236, offs=78)
-*/
-ATSINSmove(tmp375, atspre_g0int_mul_int(ATSSELfltrec(arg0, postiats_tyrec_0, atslab__second), arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6181(line=236, offs=9) -- 6252(line=236, offs=80)
-*/
-ATSINSmove_fltrec_beg()
-ATSINSstore_fltrec_ofs(tmpret372, postiats_tyrec_0, atslab__first, tmp373) ;
-ATSINSstore_fltrec_ofs(tmpret372, postiats_tyrec_0, atslab__second, tmp375) ;
-ATSINSmove_fltrec_end()
-ATSfunbody_end()
-ATSreturn(tmpret372) ;
-} /* end of [adjust_contents_151] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 29943(line=1864, offs=3) -- 30423(line=1895, offs=2)
-*/
-/*
-local: 
-global: stream_vt_foldleft_cloptr$153$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = res(8325), a(8326)
-tmparg = S2Evar(res(8325)); S2Evar(a(8326))
-tmpsub = None()
-*/
-atstyvar_type(res)
-ATSLIB_056_prelude__stream_vt_foldleft_cloptr__153(atstkind_type(atstype_ptrk) arg0, atstyvar_type(res) arg1, atstype_cloptr arg2)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret379, atstyvar_type(res)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29915(line=1863, offs=1) -- 30423(line=1895, offs=2)
-*/
-ATSINSflab(__patsflab_stream_vt_foldleft_cloptr):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 30423(line=1895, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 29984(line=1865, offs=23)
-*/
-ATSINSmove(tmpret379, ATSfunclo_fun(PMVd2vfunlab(d2v=loop$4479(1), flab=loop_154$0(level=1)), (atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr), atstyvar_type(res))(arg0, arg1, arg2)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 30423(line=1895, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret379) ;
-} /* end of [ATSLIB_056_prelude__stream_vt_foldleft_cloptr__153] */
-#endif // end of [TEMPLATE]
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 30000(line=1869, offs=1) -- 30401(line=1893, offs=4)
-*/
-/*
-local: loop_154$0(level=1)
-global: loop_154$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstyvar_type(res)
-loop_154__154(atstkind_type(atstype_ptrk) arg0, atstyvar_type(res) arg1, atstype_cloptr arg2)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(apy1, atstyvar_type(res)) ;
-ATStmpdec(apy2, atstype_cloptr) ;
-ATStmpdec(tmpret380, atstyvar_type(res)) ;
-ATStmpdec(tmpref381, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp382, atstype_boxed) ;
-// ATStmpdec_void(tmp385) ;
-ATStmpdec(tmp386, atstyvar_type(res)) ;
-ATStmpdec(tmp387, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30000(line=1869, offs=1) -- 30401(line=1893, offs=4)
-*/
-ATSINSflab(__patsflab_loop_154):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30078(line=1875, offs=6) -- 30401(line=1893, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30088(line=1876, offs=7) -- 30094(line=1876, offs=13)
-*/
-/*
-ATSINStmpdec(tmpref381) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30097(line=1876, offs=16) -- 30100(line=1876, offs=19)
-*/
-ATSINSmove_llazyeval(tmpref381, atstype_boxed, arg0) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7)
-*/
-ATSINSmove(tmp382, tmpref381) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30107(line=1879, offs=1) -- 30367(line=1891, offs=6)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30134(line=1882, offs=3) -- 30155(line=1883, offs=7)
-*/
-ATSINSlab(__atstmplab32):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7)
-*/
-ATSifthen(ATSCKptriscons(tmp382)) { ATSINSgoto(__atstmplab35) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30155(line=1883, offs=7) -- 30155(line=1883, offs=7)
-*/
-ATSINSlab(__atstmplab33):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30167(line=1885, offs=5) -- 30199(line=1885, offs=37)
-*/
-ATSINSmove_void(tmp385, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30201(line=1885, offs=39) -- 30204(line=1885, offs=42)
-*/
-ATSINSmove(tmpret380, arg1) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30240(line=1887, offs=3) -- 30269(line=1888, offs=14)
-*/
-ATSINSlab(__atstmplab34):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7)
-*/
-#if(0)
-ATSifthen(ATSCKptrisnull(tmp382)) { ATSINSdeadcode_fail() ; } ;
-#endif
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30269(line=1888, offs=14) -- 30269(line=1888, offs=14)
-*/
-ATSINSlab(__atstmplab35):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30273(line=1888, offs=18) -- 30367(line=1891, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30291(line=1889, offs=15) -- 30304(line=1889, offs=28)
-*/
-ATSINSmove(tmp386, ATSfunclo_clo(ATSPMVrefarg0(arg2), (atstype_cloptr, atstyvar_type(res), atsrefarg1_type(atstyvar_type(a))), atstyvar_type(res))(ATSPMVrefarg0(arg2), arg1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp382, postiats_tysum_4, atslab__0))))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30319(line=1890, offs=15) -- 30322(line=1890, offs=18)
-*/
-ATSINSmove(tmp387, ATSSELcon(tmp382, postiats_tysum_4, atslab__1)) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30326(line=1890, offs=22) -- 30338(line=1890, offs=34)
-*/
-ATSINSfreecon(tmpref381) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30341(line=1890, offs=37) -- 30361(line=1890, offs=57)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp387) ;
-ATSINSmove_tlcal(apy1, tmp386) ;
-ATSINSmove_tlcal(apy2, arg2) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSargmove_tlcal(arg2, apy2) ;
-ATSINSfgoto(__patsflab_loop_154) ;
-ATStailcal_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30273(line=1888, offs=18) -- 30367(line=1891, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30078(line=1875, offs=6) -- 30401(line=1893, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret380) ;
-} /* end of [loop_154__154] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 29943(line=1864, offs=3) -- 30423(line=1895, offs=2)
-*/
-/*
-local: 
-global: stream_vt_foldleft_cloptr$153$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = res(8325), a(8326)
-tmparg = S2Evar(res(8325)); S2Evar(a(8326))
-tmpsub = Some(res(8325) -> S2EVar(5901); a(8326) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
-*/
-postiats_tyrec_0
-ATSLIB_056_prelude__stream_vt_foldleft_cloptr__153__1(atstkind_type(atstype_ptrk) arg0, postiats_tyrec_0 arg1, atstype_cloptr arg2)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret379__1, postiats_tyrec_0) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29915(line=1863, offs=1) -- 30423(line=1895, offs=2)
-*/
-ATSINSflab(__patsflab_stream_vt_foldleft_cloptr):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 30423(line=1895, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 29984(line=1865, offs=23)
-*/
-ATSINSmove(tmpret379__1, loop_154__154__1(arg0, arg1, arg2)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 30423(line=1895, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret379__1) ;
-} /* end of [ATSLIB_056_prelude__stream_vt_foldleft_cloptr__153__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 30000(line=1869, offs=1) -- 30401(line=1893, offs=4)
-*/
-/*
-local: loop_154$1(level=2)
-global: loop_154$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-postiats_tyrec_0
-loop_154__154__1(atstkind_type(atstype_ptrk) arg0, postiats_tyrec_0 arg1, atstype_cloptr arg2)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(apy1, postiats_tyrec_0) ;
-ATStmpdec(apy2, atstype_cloptr) ;
-ATStmpdec(tmpret380__1, postiats_tyrec_0) ;
-ATStmpdec(tmpref381__1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp382__1, atstype_boxed) ;
-// ATStmpdec_void(tmp385__1) ;
-ATStmpdec(tmp386__1, postiats_tyrec_0) ;
-ATStmpdec(tmp387__1, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30000(line=1869, offs=1) -- 30401(line=1893, offs=4)
-*/
-ATSINSflab(__patsflab_loop_154):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30078(line=1875, offs=6) -- 30401(line=1893, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30088(line=1876, offs=7) -- 30094(line=1876, offs=13)
-*/
-/*
-ATSINStmpdec(tmpref381) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30097(line=1876, offs=16) -- 30100(line=1876, offs=19)
-*/
-ATSINSmove_llazyeval(tmpref381__1, atstype_boxed, arg0) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7)
-*/
-ATSINSmove(tmp382__1, tmpref381__1) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30107(line=1879, offs=1) -- 30367(line=1891, offs=6)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30134(line=1882, offs=3) -- 30155(line=1883, offs=7)
-*/
-ATSINSlab(__atstmplab32):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7)
-*/
-ATSifthen(ATSCKptriscons(tmp382__1)) { ATSINSgoto(__atstmplab35) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30155(line=1883, offs=7) -- 30155(line=1883, offs=7)
-*/
-ATSINSlab(__atstmplab33):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30167(line=1885, offs=5) -- 30199(line=1885, offs=37)
-*/
-ATSINSmove_void(tmp385__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30201(line=1885, offs=39) -- 30204(line=1885, offs=42)
-*/
-ATSINSmove(tmpret380__1, arg1) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30240(line=1887, offs=3) -- 30269(line=1888, offs=14)
-*/
-ATSINSlab(__atstmplab34):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7)
-*/
-#if(0)
-ATSifthen(ATSCKptrisnull(tmp382__1)) { ATSINSdeadcode_fail() ; } ;
-#endif
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30269(line=1888, offs=14) -- 30269(line=1888, offs=14)
-*/
-ATSINSlab(__atstmplab35):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30273(line=1888, offs=18) -- 30367(line=1891, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30291(line=1889, offs=15) -- 30304(line=1889, offs=28)
-*/
-ATSINSmove(tmp386__1, ATSfunclo_clo(ATSPMVrefarg0(arg2), (atstype_cloptr, postiats_tyrec_0, atsrefarg1_type(atstkind_t0ype(atstype_int))), postiats_tyrec_0)(ATSPMVrefarg0(arg2), arg1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp382__1, postiats_tysum_1, atslab__0))))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30319(line=1890, offs=15) -- 30322(line=1890, offs=18)
-*/
-ATSINSmove(tmp387__1, ATSSELcon(tmp382__1, postiats_tysum_1, atslab__1)) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30326(line=1890, offs=22) -- 30338(line=1890, offs=34)
-*/
-ATSINSfreecon(tmpref381__1) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30341(line=1890, offs=37) -- 30361(line=1890, offs=57)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp387__1) ;
-ATSINSmove_tlcal(apy1, tmp386__1) ;
-ATSINSmove_tlcal(apy2, arg2) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSargmove_tlcal(arg2, apy2) ;
-ATSINSfgoto(__patsflab_loop_154) ;
-ATStailcal_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30273(line=1888, offs=18) -- 30367(line=1891, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30078(line=1875, offs=6) -- 30401(line=1893, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret380__1) ;
-} /* end of [loop_154__154__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6419(line=240, offs=56) -- 6464(line=240, offs=101)
-*/
-/*
-local: adjust_contents_151$0(level=1)
-global: adjust_contents_151$0(level=1), __patsfun_157$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-postiats_tyrec_0
-__patsfun_157(postiats_tyrec_0 arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret395, postiats_tyrec_0) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6419(line=240, offs=56) -- 6464(line=240, offs=101)
-*/
-ATSINSflab(__patsflab___patsfun_157):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6438(line=240, offs=75) -- 6464(line=240, offs=101)
-*/
-ATSINSmove(tmpret395, adjust_contents_151(arg0, ATSderef(arg1, atstkind_t0ype(atstype_int)))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret395) ;
-} /* end of [__patsfun_157] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6767(line=248, offs=4) -- 7155(line=262, offs=6)
-*/
-/*
-local: witness_0$0(level=0), totient_150$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), is_prime_52$0(level=0), rip_128$0(level=0), prime_factors_134$0(level=0), totient_150$0(level=0), totient_sum_158$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-totient_sum_158(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret397, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6767(line=248, offs=4) -- 7155(line=262, offs=6)
-*/
-ATSINSflab(__patsflab_totient_sum_158):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6807(line=249, offs=3) -- 7155(line=262, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 7139(line=261, offs=5) -- 7149(line=261, offs=15)
-*/
-ATSINSmove(tmpret397, loop_159(ATSPMVi0nt(1), arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6807(line=249, offs=3) -- 7155(line=262, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret397) ;
-} /* end of [totient_sum_158] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6819(line=250, offs=9) -- 7129(line=259, offs=40)
-*/
-/*
-local: witness_0$0(level=0), totient_150$0(level=0), loop_159$0(level=1)
-global: witness_0$0(level=0), totient_150$0(level=0), loop_159$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-loop_159(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret398, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp399, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmpref402, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp403, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref404, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp409, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp410, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp415, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp416, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-/*
-emit_funent_fnxdeclst:
-*/
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6819(line=250, offs=9) -- 7129(line=259, offs=40)
-*/
-ATSINSflab(__patsflab_loop_159):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6922(line=251, offs=10) -- 6931(line=251, offs=19)
-*/
-ATSINSmove(tmp399, ATSLIB_056_prelude__lt_g1int_int__54__3(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6919(line=251, offs=7) -- 7129(line=259, offs=40)
-*/
-ATSif(
-tmp399
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6945(line=252, offs=9) -- 7078(line=257, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6963(line=253, offs=15) -- 6964(line=253, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref402) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6972(line=253, offs=24) -- 6977(line=253, offs=29)
-*/
-ATSINSmove(tmp403, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6967(line=253, offs=19) -- 6985(line=253, offs=37)
-*/
-ATSINSmove(tmpref402, loop_159(tmp403, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 7000(line=254, offs=15) -- 7001(line=254, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref404) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 7031(line=254, offs=46) -- 7040(line=254, offs=55)
-*/
-ATSINSmove(tmp410, totient_150(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 7023(line=254, offs=38) -- 7042(line=254, offs=57)
-*/
-ATSINSmove(tmp409, witness_0(tmp410)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 7004(line=254, offs=19) -- 7043(line=254, offs=58)
-*/
-ATSINSmove(tmpref404, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__161__1(tmpref402, tmp409)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 7065(line=256, offs=11) -- 7066(line=256, offs=12)
-*/
-ATSINSmove(tmpret398, tmpref404) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 6945(line=252, offs=9) -- 7078(line=257, offs=12)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 7098(line=259, offs=9) -- 7129(line=259, offs=40)
-*/
-ATSINSmove(tmp416, totient_150(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 7098(line=259, offs=9) -- 7129(line=259, offs=40)
-*/
-ATSINSmove(tmp415, witness_0(tmp416)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/number-theory-internal.dats: 7098(line=259, offs=9) -- 7129(line=259, offs=40)
-*/
-ATSINSmove(tmpret398, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46__2(tmp415)) ;
-
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret398) ;
-/*
-emit_funent_fnxbodylst:
-*/
-} /* end of [loop_159] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
-*/
-/*
-local: 
-global: lt_g1int_int$54$3(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4626)
-tmparg = S2Evar(tk(4626))
-tmpsub = Some(tk(4626) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__54__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret112__3, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp113__3, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
-*/
-ATSINSmove(tmp113__3, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
-*/
-ATSINSmove(tmpret112__3, atspre_g1int_lt_int(arg0, tmp113__3)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret112__3) ;
-} /* end of [ATSLIB_056_prelude__lt_g1int_int__54__3] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5151(line=274, offs=3) -- 5217(line=279, offs=2)
-*/
-/*
-local: 
-global: add_intinf0_int$161$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__161(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret405, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp406) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5133(line=273, offs=1) -- 5217(line=279, offs=2)
-*/
-ATSINSflab(__patsflab_add_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5184(line=277, offs=10) -- 5212(line=277, offs=38)
-*/
-ATSINSmove_void(tmp406, atscntrb_gmp_mpz_add2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5161(line=274, offs=13) -- 5162(line=274, offs=14)
-*/
-ATSINSmove(tmpret405, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret405) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__161] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5151(line=274, offs=3) -- 5217(line=279, offs=2)
-*/
-/*
-local: 
-global: add_intinf0_int$161$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__161__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret405__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp406__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5133(line=273, offs=1) -- 5217(line=279, offs=2)
-*/
-ATSINSflab(__patsflab_add_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5184(line=277, offs=10) -- 5212(line=277, offs=38)
-*/
-ATSINSmove_void(tmp406__1, atscntrb_gmp_mpz_add2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5161(line=274, offs=13) -- 5162(line=274, offs=14)
-*/
-ATSINSmove(tmpret405__1, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret405__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__161__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$46$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46__2(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret98__2, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp99__2, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp100__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp99__2, ATSLIB_056_prelude__ptr_alloc__2__5()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp100__2, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp99__2, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret98__2, tmp99__2) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret98__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$2$5(level=3)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__5()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3__5, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret3__5, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3__5) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__2__5] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 630(line=35, offs=28) -- 652(line=36, offs=17)
-*/
-/*
-local: sum_divisors_119$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), sum_divisors_119$0(level=0), sum_divisors_ats$165$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_int)
-sum_divisors_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret417, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 613(line=35, offs=11) -- 653(line=36, offs=18)
-*/
-ATSINSflab(__patsflab_sum_divisors_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 638(line=36, offs=3) -- 652(line=36, offs=17)
-*/
-ATSINSmove(tmpret417, sum_divisors_119(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret417) ;
-} /* end of [sum_divisors_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 684(line=38, offs=30) -- 708(line=39, offs=19)
-*/
-/*
-local: count_divisors_114$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), divisors_68$0(level=0), count_divisors_114$0(level=0), count_divisors_ats$166$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_int)
-count_divisors_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret418, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 665(line=38, offs=11) -- 709(line=39, offs=20)
-*/
-ATSINSflab(__patsflab_count_divisors_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 692(line=39, offs=3) -- 708(line=39, offs=19)
-*/
-ATSINSmove(tmpret418, count_divisors_114(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret418) ;
-} /* end of [count_divisors_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 733(line=41, offs=23) -- 750(line=42, offs=12)
-*/
-/*
-local: totient_150$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), is_prime_52$0(level=0), rip_128$0(level=0), prime_factors_134$0(level=0), totient_150$0(level=0), totient_ats$167$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_int)
-totient_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret419, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 721(line=41, offs=11) -- 751(line=42, offs=13)
-*/
-ATSINSflab(__patsflab_totient_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 741(line=42, offs=3) -- 750(line=42, offs=12)
-*/
-ATSINSmove(tmpret419, totient_150(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret419) ;
-} /* end of [totient_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 780(line=44, offs=28) -- 802(line=45, offs=17)
-*/
-/*
-local: little_omega_145$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), is_prime_52$0(level=0), rip_128$0(level=0), little_omega_145$0(level=0), little_omega_ats$168$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_int)
-little_omega_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret420, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 763(line=44, offs=11) -- 803(line=45, offs=18)
-*/
-ATSINSflab(__patsflab_little_omega_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 788(line=45, offs=3) -- 802(line=45, offs=17)
-*/
-ATSINSmove(tmpret420, little_omega_145(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret420) ;
-} /* end of [little_omega_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 830(line=47, offs=26) -- 850(line=48, offs=15)
-*/
-/*
-local: is_perfect_126$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), sum_divisors_119$0(level=0), is_perfect_126$0(level=0), is_perfect_ats$169$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_bool)
-is_perfect_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret421, atstkind_t0ype(atstype_bool)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 815(line=47, offs=11) -- 851(line=48, offs=16)
-*/
-ATSINSflab(__patsflab_is_perfect_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 838(line=48, offs=3) -- 850(line=48, offs=15)
-*/
-ATSINSmove(tmpret421, is_perfect_126(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret421) ;
-} /* end of [is_perfect_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 874(line=50, offs=22) -- 907(line=51, offs=25)
-*/
-/*
-local: jacobi_106$0(level=0)
-global: witness_0$0(level=0), exp_6$0(level=0), sqrt_int_49$0(level=0), is_prime_52$0(level=0), div_gt_zero_99$0(level=0), exp_mod_prime_100$0(level=0), jacobi_106$0(level=0), jacobi_ats$170$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_int)
-jacobi_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret422, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 863(line=50, offs=11) -- 907(line=51, offs=25)
-*/
-ATSINSflab(__patsflab_jacobi_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 885(line=51, offs=3) -- 907(line=51, offs=25)
-*/
-ATSINSmove(tmpret422, jacobi_106(arg0, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), arg1))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret422) ;
-} /* end of [jacobi_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 935(line=53, offs=27) -- 956(line=54, offs=16)
-*/
-/*
-local: totient_sum_158$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), is_prime_52$0(level=0), rip_128$0(level=0), prime_factors_134$0(level=0), totient_150$0(level=0), totient_sum_158$0(level=0), totient_sum_ats$171$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_type(atstype_ptrk)
-totient_sum_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret423, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 919(line=53, offs=11) -- 957(line=54, offs=17)
-*/
-ATSINSflab(__patsflab_totient_sum_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 943(line=54, offs=3) -- 956(line=54, offs=16)
-*/
-ATSINSmove(tmpret423, totient_sum_158(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret423) ;
-} /* end of [totient_sum_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 981(line=56, offs=23) -- 1008(line=57, offs=19)
-*/
-/*
-local: is_coprime_66$0(level=0)
-global: witness_0$0(level=0), gcd_62$0(level=0), is_coprime_66$0(level=0), coprime_ats$172$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_bool)
-coprime_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret424, atstkind_t0ype(atstype_bool)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 969(line=56, offs=11) -- 1008(line=57, offs=19)
-*/
-ATSINSflab(__patsflab_coprime_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 992(line=57, offs=3) -- 1008(line=57, offs=19)
-*/
-ATSINSmove(tmpret424, is_coprime_66(arg0, arg1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret424) ;
+** The C code is generated by [ATS/Postiats-0-3-11]
+**
+*/
+
+/*
+** include runtime header files
+*/
+#ifndef _ATS_CCOMP_HEADER_NONE_
+#include "pats_ccomp_config.h"
+#include "pats_ccomp_basics.h"
+#include "pats_ccomp_typedefs.h"
+#include "pats_ccomp_instrset.h"
+#include "pats_ccomp_memalloc.h"
+#ifndef _ATS_CCOMP_EXCEPTION_NONE_
+#include "pats_ccomp_memalloca.h"
+#include "pats_ccomp_exception.h"
+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
+#endif /* _ATS_CCOMP_HEADER_NONE_ */
+
+
+/*
+** include prelude cats files
+*/
+#ifndef _ATS_CCOMP_PRELUDE_NONE_
+//
+#include "prelude/CATS/basics.cats"
+#include "prelude/CATS/integer.cats"
+#include "prelude/CATS/pointer.cats"
+#include "prelude/CATS/integer_long.cats"
+#include "prelude/CATS/integer_size.cats"
+#include "prelude/CATS/integer_short.cats"
+#include "prelude/CATS/bool.cats"
+#include "prelude/CATS/char.cats"
+#include "prelude/CATS/float.cats"
+#include "prelude/CATS/integer_ptr.cats"
+#include "prelude/CATS/integer_fixed.cats"
+#include "prelude/CATS/memory.cats"
+#include "prelude/CATS/string.cats"
+#include "prelude/CATS/strptr.cats"
+//
+#include "prelude/CATS/fprintf.cats"
+//
+#include "prelude/CATS/filebas.cats"
+//
+#include "prelude/CATS/list.cats"
+#include "prelude/CATS/option.cats"
+#include "prelude/CATS/array.cats"
+#include "prelude/CATS/arrayptr.cats"
+#include "prelude/CATS/arrayref.cats"
+#include "prelude/CATS/matrix.cats"
+#include "prelude/CATS/matrixptr.cats"
+//
+#endif /* _ATS_CCOMP_PRELUDE_NONE_ */
+/*
+** for user-supplied prelude
+*/
+#ifdef _ATS_CCOMP_PRELUDE_USER_
+//
+#include _ATS_CCOMP_PRELUDE_USER_
+//
+#endif /* _ATS_CCOMP_PRELUDE_USER_ */
+/*
+** for user2-supplied prelude
+*/
+#ifdef _ATS_CCOMP_PRELUDE_USER2_
+//
+#include _ATS_CCOMP_PRELUDE_USER2_
+//
+#endif /* _ATS_CCOMP_PRELUDE_USER2_ */
+
+/*
+staload-prologues(beg)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/basics.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 1533(line=44, offs=1) -- 1572(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_long.dats: 1602(line=49, offs=1) -- 1641(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_short.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/char.dats: 1610(line=48, offs=1) -- 1649(line=48, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/float.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/string.dats: 1631(line=50, offs=1) -- 1670(line=50, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/strptr.dats: 1629(line=50, offs=1) -- 1668(line=50, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/strptr.dats: 1691(line=54, offs=1) -- 1738(line=54, offs=48)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_ptr.dats: 1601(line=49, offs=1) -- 1640(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_fixed.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/memory.dats: 1410(line=38, offs=1) -- 1449(line=39, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1607(line=49, offs=1) -- 1646(line=50, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1669(line=54, offs=1) -- 1715(line=55, offs=39)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1738(line=59, offs=1) -- 1783(line=60, offs=38)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/stdio.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/types.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1865(line=66, offs=1) -- 1912(line=66, offs=48)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/stat.sats: 1390(line=36, offs=1) -- 1440(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/stat.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/stat.sats: 1756(line=58, offs=1) -- 1805(line=60, offs=34)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/types.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 15937(line=927, offs=1) -- 15974(line=928, offs=30)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/stdio.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/types.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list.dats: 1529(line=44, offs=1) -- 1568(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list.dats: 1569(line=46, offs=1) -- 1615(line=47, offs=39)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list_vt.dats: 1538(line=44, offs=1) -- 1577(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list_vt.dats: 1578(line=46, offs=1) -- 1624(line=47, offs=39)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/list_vt_mergesort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/list_vt_quicksort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/array.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/array_bsearch.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/array_quicksort.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/arrayptr.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/arrayref.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/matrix.dats: 1535(line=44, offs=1) -- 1574(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/matrixptr.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/matrixref.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/tostring.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/checkast.dats: 1531(line=44, offs=1) -- 1570(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
+*/
+
+//
+#include \
+"atscntrb-hx-libgmp/CATS/gmp.cats"
+//
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/mydepies.hats: 208(line=18, offs=1) -- 248(line=19, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
+*/
+
+//
+#include \
+"atscntrb-hx-libgmp/CATS/gmp.cats"
+//
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
+*/
+
+//
+#include \
+"atscntrb-hx-libgmp/CATS/gmp.cats"
+//
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/mydepies.hats: 208(line=18, offs=1) -- 248(line=19, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
+*/
+
+//
+#include \
+"atscntrb-hx-libgmp/CATS/gmp.cats"
+//
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/math.sats: 1380(line=35, offs=1) -- 1426(line=38, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/math.cats"
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+staload-prologues(end)
+*/
+/*
+typedefs-for-tyrecs-and-tysums(beg)
+*/
+typedef
+ATSstruct {
+atstkind_t0ype(atstype_int) atslab__first ;
+atstkind_t0ype(atstype_int) atslab__second ;
+} postiats_tyrec_0 ;
+typedef
+ATSstruct {
+#if(0)
+int contag ;
+#endif
+atstkind_t0ype(atstype_int) atslab__0 ;
+atstkind_type(atstype_ptrk) atslab__1 ;
+} postiats_tysum_1 ;
+typedef
+ATSstruct {
+#if(0)
+int contag ;
+#endif
+atstyvar_type(a) atslab__0 ;
+atstkind_type(atstype_ptrk) atslab__1 ;
+} postiats_tysum_2 ;
+typedef
+ATSstruct {
+#if(0)
+int contag ;
+#endif
+atstyvar_type(a) atslab__0 ;
+atstkind_type(atstype_ptrk) atslab__1 ;
+} postiats_tysum_3 ;
+typedef
+ATSstruct {
+#if(0)
+int contag ;
+#endif
+atstyvar_type(a) atslab__0 ;
+atstkind_type(atstype_ptrk) atslab__1 ;
+} postiats_tysum_4 ;
+/*
+typedefs-for-tyrecs-and-tysums(end)
+*/
+/*
+dynconlst-declaration(beg)
+*/
+/*
+dynconlst-declaration(end)
+*/
+/*
+dyncstlst-declaration(beg)
+*/
+ATSdyncst_mac(atspre_ptr_alloc_tsz)
+ATSdyncst_mac(atspre_g0int2uint_int_uint)
+ATSdyncst_mac(atspre_g1int_add_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_init)
+ATSdyncst_mac(atscntrb_gmp_mpz_fib_uint)
+ATSdyncst_mac(atspre_g1int2int_int_int)
+ATSdyncst_mac(atspre_g1int_gt_int)
+ATSdyncst_mac(atspre_g1int_half_int)
+ATSdyncst_mac(atspre_g0int_mod_int)
+ATSdyncst_mac(atspre_g0int2int_int_int)
+ATSdyncst_mac(atspre_g0int_eq_int)
+ATSdyncst_mac(atspre_g0int_mul_int)
+ATSdyncst_mac(atspre_g1int_eq_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_cmp_int)
+ATSdyncst_mac(atspre_g0int_lt_int)
+ATSdyncst_mac(atspre_g1int_neg_int)
+ATSdyncst_mac(atspre_g0int_gt_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_init_set_mpz)
+ATSdyncst_mac(atscntrb_gmp_mpz_mul2_mpz)
+ATSdyncst_mac(atscntrb_gmp_mpz_clear)
+ATSdyncst_mac(atspre_ptr_free)
+ATSdyncst_mac(atscntrb_gmp_mpz_init_set_int)
+ATSdyncst_mac(atspre_g0float2int_float_int)
+ATSdyncst_mac(atslib_libats_libc_sqrt_float)
+ATSdyncst_mac(atspre_g0int2float_int_float)
+ATSdyncst_mac(atspre_g1int_lt_int)
+ATSdyncst_mac(atspre_g0int_div_int)
+ATSdyncst_mac(atspre_g1int_gte_int)
+ATSdyncst_mac(atspre_g1int_neq_int)
+ATSdyncst_mac(atspre_g1int_div_int)
+ATSdyncst_mac(atspre_lazy_vt_free)
+ATSdyncst_mac(atspre_cloptr_free)
+ATSdyncst_mac(atspre_g1int_sub_int)
+ATSdyncst_mac(atspre_g0int_half_int)
+ATSdyncst_mac(atspre_g1int_mul_int)
+ATSdyncst_mac(atspre_g0int_neg_int)
+ATSdyncst_mac(atspre_g0int_add_int)
+ATSdyncst_mac(atspre_g0int_neq_int)
+ATSdyncst_mac(atspre_g0int_sub_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_add2_int)
+/*
+dyncstlst-declaration(end)
+*/
+/*
+dynvalist-implementation(beg)
+*/
+/*
+dynvalist-implementation(end)
+*/
+/*
+exnconlst-declaration(beg)
+*/
+#ifndef _ATS_CCOMP_EXCEPTION_NONE_
+ATSextern()
+atsvoid_t0ype
+the_atsexncon_initize
+(
+  atstype_exnconptr d2c, atstype_string exnmsg
+) ;
+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
+/*
+exnconlst-declaration(end)
+*/
+/*
+extypelst-declaration(beg)
+*/
+/*
+extypelst-declaration(end)
+*/
+/*
+assumelst-declaration(beg)
+*/
+#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
+#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
+/*
+assumelst-declaration(end)
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+fib_gmp_0(atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1() ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__1() ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+exp_5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+big_exp_17(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__18(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__18__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__21(atsrefarg0_type(atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__21__1(atsrefarg0_type(atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g0int_int__23(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g0int_int__23__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g0int_int__27(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g0int_int__27__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf0__32(atstkind_type(atstype_ptrk)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf0__32__1(atstkind_type(atstype_ptrk)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34(atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__1(atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__2() ;
+
+#if(0)
+#if(0)
+ATSextern()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37(atstkind_type(atstype_ptrk)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__1(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__2(atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__3() ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__41(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__41__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__2(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__3(atstkind_type(atstype_ptrk)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45__1(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__4() ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+sqrt_int_48(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+is_prime_51(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+loop_52(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__53(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__53__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__18__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+divides_59(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+gcd_61(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+lcm_63(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+is_coprime_65(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__6(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+divisors_67(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_68(atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_69(atstype_bool) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+loop_70(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__71(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__71__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__7(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g1int_int__75(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g1int_int__75__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_79(atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_80(atstkind_type(atstype_ptrk), atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_81(atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_82(atstkind_t0ype(atstype_int), atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_83(atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_84(atstype_bool) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__8(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_86(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_87(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstype_bool) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+prime_divisors_88(atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__stream_vt_filter_cloptr__89(atstkind_type(atstype_ptrk), atstype_cloptr) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+#if(0)
+ATSstatic()
+atstkind_type(atstype_ptrk)
+auxmain_90__90(atstkind_type(atstype_ptrk), atstype_cloptr) ;
+#endif // end of [TEMPLATE]
+
+#if(0)
+ATSstatic()
+atstype_boxed
+auxmain_con_91__91(atstkind_type(atstype_ptrk), atstype_cloptr) ;
+#endif // end of [TEMPLATE]
+
+#if(0)
+ATSstatic()
+atstype_boxed
+__patsfun_92__92(atstkind_type(atstype_ptrk), atstype_cloptr, atstype_bool) ;
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__stream_vt_filter_cloptr__89__1(atstkind_type(atstype_ptrk), atstype_cloptr) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+auxmain_90__90__1(atstkind_type(atstype_ptrk), atstype_cloptr) ;
+
+ATSstatic()
+atstype_boxed
+auxmain_con_91__91__1(atstkind_type(atstype_ptrk), atstype_cloptr) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_92__92__1(atstkind_type(atstype_ptrk), atstype_cloptr, atstype_bool) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+__patsfun_97(atsrefarg1_type(atstkind_t0ype(atstype_int))) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+div_gt_zero_98(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+exp_mod_prime_99(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__9(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+jacobi_105(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+legendre_106(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__10(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__11(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+get_multiplicity_109(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_110(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__18__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__12(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+jacobi2_114(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__6(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__13(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__14(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__15(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__16(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__17(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+count_divisors_122(atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+ATSLIB_056_prelude__stream_vt_length__123(atstkind_type(atstype_ptrk)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+#if(0)
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_124__124(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+ATSLIB_056_prelude__stream_vt_length__123__1(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_124__124__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+sum_divisors_127(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_128(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__71__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__18(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g1int_int__75__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__19(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+is_perfect_134(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__20(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+rip_136(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g0int_int__137(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g0int_int__137__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__7(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__53__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+prime_factors_142(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+loop_143(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__71__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_145(atstkind_t0ype(atstype_int), atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_146(atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_147(atstype_bool) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__21(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__8(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_150(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_151(atstkind_t0ype(atstype_int), atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_152(atstype_bool) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+little_omega_153(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_154(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__71__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__22(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__9(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+totient_158(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+postiats_tyrec_0
+adjust_contents_159(postiats_tyrec_0, atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstyvar_type(res)
+ATSLIB_056_prelude__stream_vt_foldleft_cloptr__161(atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+#if(0)
+ATSstatic()
+atstyvar_type(res)
+loop_162__162(atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr) ;
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+postiats_tyrec_0
+ATSLIB_056_prelude__stream_vt_foldleft_cloptr__161__1(atstkind_type(atstype_ptrk), postiats_tyrec_0, atstype_cloptr) ;
+
+ATSstatic()
+postiats_tyrec_0
+loop_162__162__1(atstkind_type(atstype_ptrk), postiats_tyrec_0, atstype_cloptr) ;
+
+ATSstatic()
+postiats_tyrec_0
+__patsfun_165(postiats_tyrec_0, atsrefarg1_type(atstkind_t0ype(atstype_int))) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+totient_sum_166(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+loop_167(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__53__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__169(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__169__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45__2(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__5() ;
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+sum_divisors_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+count_divisors_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+totient_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+little_omega_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+is_perfect_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+jacobi_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+totient_sum_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+coprime_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+ATSclosurerize_beg(__patsfun_68, (), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_68__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_68__cfun
+(
+__patsfun_68__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_68(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_68__closureinit
+(
+__patsfun_68__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_68__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_68__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_68__closureinit(ATS_MALLOC(sizeof(__patsfun_68__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_69, (), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_69__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_69__cfun
+(
+__patsfun_69__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_69(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_69__closureinit
+(
+__patsfun_69__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_69__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_69__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_69__closureinit(ATS_MALLOC(sizeof(__patsfun_69__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_79, (atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk)), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_t0ype(atstype_int) env0 ;
+atstkind_type(atstype_ptrk) env1 ;
+} __patsfun_79__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_79__cfun
+(
+__patsfun_79__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_79(p_cenv->env0, p_cenv->env1, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_79__closureinit
+(
+__patsfun_79__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0, atstkind_type(atstype_ptrk) env1
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->env1 = env1 ;
+p_cenv->cfun = __patsfun_79__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_79__closurerize
+(
+atstkind_t0ype(atstype_int) env0, atstkind_type(atstype_ptrk) env1
+)
+{
+return __patsfun_79__closureinit(ATS_MALLOC(sizeof(__patsfun_79__closure_t0ype)), env0, env1) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_80, (atstkind_type(atstype_ptrk)), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_type(atstype_ptrk) env0 ;
+} __patsfun_80__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_80__cfun
+(
+__patsfun_80__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_80(p_cenv->env0, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_80__closureinit
+(
+__patsfun_80__closure_t0ype *p_cenv, atstkind_type(atstype_ptrk) env0
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->cfun = __patsfun_80__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_80__closurerize
+(
+atstkind_type(atstype_ptrk) env0
+)
+{
+return __patsfun_80__closureinit(ATS_MALLOC(sizeof(__patsfun_80__closure_t0ype)), env0) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_81, (), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_81__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_81__cfun
+(
+__patsfun_81__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_81(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_81__closureinit
+(
+__patsfun_81__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_81__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_81__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_81__closureinit(ATS_MALLOC(sizeof(__patsfun_81__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_82, (atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_t0ype(atstype_int) env0 ;
+} __patsfun_82__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_82__cfun
+(
+__patsfun_82__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_82(p_cenv->env0, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_82__closureinit
+(
+__patsfun_82__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->cfun = __patsfun_82__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_82__closurerize
+(
+atstkind_t0ype(atstype_int) env0
+)
+{
+return __patsfun_82__closureinit(ATS_MALLOC(sizeof(__patsfun_82__closure_t0ype)), env0) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_83, (), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_83__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_83__cfun
+(
+__patsfun_83__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_83(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_83__closureinit
+(
+__patsfun_83__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_83__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_83__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_83__closureinit(ATS_MALLOC(sizeof(__patsfun_83__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_84, (), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_84__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_84__cfun
+(
+__patsfun_84__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_84(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_84__closureinit
+(
+__patsfun_84__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_84__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_84__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_84__closureinit(ATS_MALLOC(sizeof(__patsfun_84__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_86, (atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk)), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_t0ype(atstype_int) env0 ;
+atstkind_t0ype(atstype_int) env1 ;
+atstkind_type(atstype_ptrk) env2 ;
+} __patsfun_86__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_86__cfun
+(
+__patsfun_86__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_86(p_cenv->env0, p_cenv->env1, p_cenv->env2, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_86__closureinit
+(
+__patsfun_86__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_type(atstype_ptrk) env2
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->env1 = env1 ;
+p_cenv->env2 = env2 ;
+p_cenv->cfun = __patsfun_86__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_86__closurerize
+(
+atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_type(atstype_ptrk) env2
+)
+{
+return __patsfun_86__closureinit(ATS_MALLOC(sizeof(__patsfun_86__closure_t0ype)), env0, env1, env2) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_87, (atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk)), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_t0ype(atstype_int) env0 ;
+atstkind_t0ype(atstype_int) env1 ;
+atstkind_type(atstype_ptrk) env2 ;
+} __patsfun_87__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_87__cfun
+(
+__patsfun_87__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_87(p_cenv->env0, p_cenv->env1, p_cenv->env2, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_87__closureinit
+(
+__patsfun_87__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_type(atstype_ptrk) env2
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->env1 = env1 ;
+p_cenv->env2 = env2 ;
+p_cenv->cfun = __patsfun_87__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_87__closurerize
+(
+atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_type(atstype_ptrk) env2
+)
+{
+return __patsfun_87__closureinit(ATS_MALLOC(sizeof(__patsfun_87__closure_t0ype)), env0, env1, env2) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_92__92__1, (atstkind_type(atstype_ptrk), atstype_cloptr), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_type(atstype_ptrk) env0 ;
+atstype_cloptr env1 ;
+} __patsfun_92__92__1__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_92__92__1__cfun
+(
+__patsfun_92__92__1__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_92__92__1(p_cenv->env0, p_cenv->env1, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_92__92__1__closureinit
+(
+__patsfun_92__92__1__closure_t0ype *p_cenv, atstkind_type(atstype_ptrk) env0, atstype_cloptr env1
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->env1 = env1 ;
+p_cenv->cfun = __patsfun_92__92__1__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_92__92__1__closurerize
+(
+atstkind_type(atstype_ptrk) env0, atstype_cloptr env1
+)
+{
+return __patsfun_92__92__1__closureinit(ATS_MALLOC(sizeof(__patsfun_92__92__1__closure_t0ype)), env0, env1) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_97, (), (atsrefarg1_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_bool))
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_97__closure_t0ype ;
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+__patsfun_97__cfun
+(
+__patsfun_97__closure_t0ype *p_cenv, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg0
+)
+{
+ATSFCreturn(__patsfun_97(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_97__closureinit
+(
+__patsfun_97__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_97__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_97__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_97__closureinit(ATS_MALLOC(sizeof(__patsfun_97__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_145, (atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_t0ype(atstype_int) env0 ;
+} __patsfun_145__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_145__cfun
+(
+__patsfun_145__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_145(p_cenv->env0, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_145__closureinit
+(
+__patsfun_145__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->cfun = __patsfun_145__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_145__closurerize
+(
+atstkind_t0ype(atstype_int) env0
+)
+{
+return __patsfun_145__closureinit(ATS_MALLOC(sizeof(__patsfun_145__closure_t0ype)), env0) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_146, (), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_146__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_146__cfun
+(
+__patsfun_146__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_146(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_146__closureinit
+(
+__patsfun_146__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_146__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_146__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_146__closureinit(ATS_MALLOC(sizeof(__patsfun_146__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_147, (), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_147__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_147__cfun
+(
+__patsfun_147__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_147(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_147__closureinit
+(
+__patsfun_147__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_147__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_147__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_147__closureinit(ATS_MALLOC(sizeof(__patsfun_147__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_150, (atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_t0ype(atstype_int) env0 ;
+atstkind_t0ype(atstype_int) env1 ;
+} __patsfun_150__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_150__cfun
+(
+__patsfun_150__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_150(p_cenv->env0, p_cenv->env1, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_150__closureinit
+(
+__patsfun_150__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->env1 = env1 ;
+p_cenv->cfun = __patsfun_150__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_150__closurerize
+(
+atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
+)
+{
+return __patsfun_150__closureinit(ATS_MALLOC(sizeof(__patsfun_150__closure_t0ype)), env0, env1) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_151, (atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_t0ype(atstype_int) env0 ;
+} __patsfun_151__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_151__cfun
+(
+__patsfun_151__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_151(p_cenv->env0, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_151__closureinit
+(
+__patsfun_151__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->cfun = __patsfun_151__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_151__closurerize
+(
+atstkind_t0ype(atstype_int) env0
+)
+{
+return __patsfun_151__closureinit(ATS_MALLOC(sizeof(__patsfun_151__closure_t0ype)), env0) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_152, (), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_152__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_152__cfun
+(
+__patsfun_152__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_152(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_152__closureinit
+(
+__patsfun_152__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_152__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_152__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_152__closureinit(ATS_MALLOC(sizeof(__patsfun_152__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_165, (), (postiats_tyrec_0, atsrefarg1_type(atstkind_t0ype(atstype_int))), postiats_tyrec_0)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_165__closure_t0ype ;
+ATSstatic()
+postiats_tyrec_0
+__patsfun_165__cfun
+(
+__patsfun_165__closure_t0ype *p_cenv, postiats_tyrec_0 arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1
+)
+{
+ATSFCreturn(__patsfun_165(arg0, arg1)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_165__closureinit
+(
+__patsfun_165__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_165__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_165__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_165__closureinit(ATS_MALLOC(sizeof(__patsfun_165__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 941(line=25, offs=4) -- 1143(line=33, offs=6)
+*/
+/*
+local: 
+global: fib_gmp_0$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+fib_gmp_0(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref4, atstkind_t0ype(atstype_uint)) ;
+ATStmpdec(tmp5, atstkind_t0ype(atstype_int)) ;
+// ATStmpdec_void(tmp6) ;
+// ATStmpdec_void(tmp7) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 941(line=25, offs=4) -- 1143(line=33, offs=6)
+*/
+ATSINSflab(__patsflab_fib_gmp_0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 977(line=26, offs=3) -- 1143(line=33, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 989(line=27, offs=9) -- 990(line=27, offs=10)
+*/
+/*
+ATSINStmpdec(tmpref1) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 993(line=27, offs=13) -- 1004(line=27, offs=24)
+*/
+ATSINSmove(tmpref1, ATSLIB_056_prelude__ptr_alloc__1__1()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1013(line=28, offs=9) -- 1014(line=28, offs=10)
+*/
+/*
+ATSINStmpdec(tmpref4) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1028(line=28, offs=24) -- 1033(line=28, offs=29)
+*/
+ATSINSmove(tmp5, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1017(line=28, offs=13) -- 1034(line=28, offs=30)
+*/
+ATSINSmove(tmpref4, atspre_g0int2uint_int_uint(tmp5)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1048(line=29, offs=14) -- 1069(line=29, offs=35)
+*/
+ATSINSmove_void(tmp6, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmpref1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1083(line=30, offs=14) -- 1111(line=30, offs=42)
+*/
+ATSINSmove_void(tmp7, atscntrb_gmp_mpz_fib_uint(ATSPMVrefarg1(ATSSELrecsin(tmpref1, atstkind_type(atstype_ptrk), atslab__2)), tmpref4)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1121(line=32, offs=5) -- 1136(line=32, offs=20)
+*/
+ATSINSmove(tmpret0, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref1)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 977(line=26, offs=3) -- 1143(line=33, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret0) ;
+} /* end of [fib_gmp_0] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$1$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret2, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret2, atspre_ptr_alloc_tsz(ATSPMVsizeof(atstyvar_type(a)))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret2) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__1] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$1$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2EVar(5559))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__1()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret2__1, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret2__1, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret2__1) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__1__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1320(line=38, offs=5) -- 1759(line=59, offs=10)
+*/
+/*
+local: exp_5$0(level=0)
+global: exp_5$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+exp_5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret8, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp9, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref14, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref15, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp16, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp21, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref22, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp23, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp24, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1320(line=38, offs=5) -- 1759(line=59, offs=10)
+*/
+ATSINSflab(__patsflab_exp_5):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1370(line=39, offs=3) -- 1759(line=59, offs=10)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1387(line=40, offs=7) -- 1388(line=40, offs=8)
+*/
+ATSINSlab(__atstmplab0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1339(line=38, offs=24) -- 1340(line=38, offs=25)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1388(line=40, offs=8) -- 1388(line=40, offs=8)
+*/
+ATSINSlab(__atstmplab1):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1392(line=40, offs=12) -- 1393(line=40, offs=13)
+*/
+ATSINSmove(tmpret8, ATSPMVi0nt(0)) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1401(line=41, offs=8) -- 1401(line=41, offs=8)
+*/
+ATSINSlab(__atstmplab2):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1430(line=43, offs=12) -- 1435(line=43, offs=17)
+*/
+ATSINSmove(tmp9, ATSLIB_056_prelude__gt_g1int_int__6__1(arg1, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1427(line=43, offs=9) -- 1749(line=58, offs=12)
+*/
+ATSif(
+tmp9
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1451(line=44, offs=11) -- 1724(line=56, offs=14)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1471(line=45, offs=17) -- 1473(line=45, offs=19)
+*/
+/*
+ATSINStmpdec(tmpref14) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1476(line=45, offs=22) -- 1482(line=45, offs=28)
+*/
+ATSINSmove(tmpref14, atspre_g1int_half_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1500(line=46, offs=17) -- 1502(line=46, offs=19)
+*/
+/*
+ATSINStmpdec(tmpref15) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1505(line=46, offs=22) -- 1510(line=46, offs=27)
+*/
+ATSINSmove(tmpref15, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1539(line=48, offs=16) -- 1545(line=48, offs=22)
+*/
+ATSINSmove(tmp16, ATSLIB_056_prelude__eq_g0int_int__12__1(tmpref15, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1536(line=48, offs=13) -- 1710(line=55, offs=18)
+*/
+ATSif(
+tmp16
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1569(line=49, offs=19) -- 1574(line=49, offs=24)
+*/
+ATSINSmove(tmp21, atspre_g0int_mul_int(arg0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1565(line=49, offs=15) -- 1579(line=49, offs=29)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp21) ;
+ATSINSmove_tlcal(apy1, tmpref14) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_exp_5) ;
+ATStailcal_end()
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1611(line=51, offs=15) -- 1710(line=55, offs=18)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1635(line=52, offs=21) -- 1636(line=52, offs=22)
+*/
+/*
+ATSINStmpdec(tmpref22) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1647(line=52, offs=33) -- 1652(line=52, offs=38)
+*/
+ATSINSmove(tmp24, atspre_g0int_mul_int(arg0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1643(line=52, offs=29) -- 1657(line=52, offs=43)
+*/
+ATSINSmove(tmp23, exp_5(tmp24, tmpref14)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1639(line=52, offs=25) -- 1657(line=52, offs=43)
+*/
+ATSINSmove(tmpref22, atspre_g0int_mul_int(arg0, tmp23)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1691(line=54, offs=17) -- 1692(line=54, offs=18)
+*/
+ATSINSmove(tmpret8, tmpref22) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1611(line=51, offs=15) -- 1710(line=55, offs=18)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1451(line=44, offs=11) -- 1724(line=56, offs=14)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1748(line=58, offs=11) -- 1749(line=58, offs=12)
+*/
+ATSINSmove(tmpret8, ATSPMVi0nt(1)) ;
+} /* ATSendif */
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret8) ;
+} /* end of [exp_5] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret10, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp11, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp11, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4633))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret10, PMVtmpltcst(g1int_gt<S2Evar(tk(4633))>)(arg0, tmp11)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret10) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret10__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp11__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp11__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret10__1, atspre_g1int_gt_int(arg0, tmp11__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret10__1) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__1] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4624))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17, PMVtmpltcst(g0int_eq<S2Evar(tk(4624))>)(arg0, tmp18)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__1, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__1, atspre_g0int_eq_int(arg0, tmp18__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__1) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1797(line=62, offs=5) -- 2405(line=88, offs=39)
+*/
+/*
+local: big_exp_17$0(level=0)
+global: big_exp_17$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+big_exp_17(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret25, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp26, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp31, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp50, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref53, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref54, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp55, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref58, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref78, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref84, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref85, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp90) ;
+// ATStmpdec_void(tmp93) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1797(line=62, offs=5) -- 2405(line=88, offs=39)
+*/
+ATSINSflab(__patsflab_big_exp_17):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1860(line=63, offs=6) -- 1884(line=63, offs=30)
+*/
+ATSINSmove(tmp31, ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__21__1(ATSPMVrefarg0(arg0), ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1860(line=63, offs=6) -- 1888(line=63, offs=34)
+*/
+ATSINSmove(tmp26, ATSLIB_056_prelude__eq_g1int_int__18__1(tmp31, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1857(line=63, offs=3) -- 2405(line=88, offs=39)
+*/
+ATSif(
+tmp26
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1898(line=64, offs=5) -- 1899(line=64, offs=6)
+*/
+ATSINSmove(tmpret25, arg0) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1914(line=66, offs=8) -- 1919(line=66, offs=13)
+*/
+ATSINSmove(tmp50, ATSLIB_056_prelude__gt_g1int_int__6__2(arg1, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1911(line=66, offs=5) -- 2405(line=88, offs=39)
+*/
+ATSif(
+tmp50
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1931(line=67, offs=7) -- 2357(line=86, offs=10)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1947(line=68, offs=13) -- 1949(line=68, offs=15)
+*/
+/*
+ATSINStmpdec(tmpref53) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1952(line=68, offs=18) -- 1958(line=68, offs=24)
+*/
+ATSINSmove(tmpref53, atspre_g1int_half_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1972(line=69, offs=13) -- 1974(line=69, offs=15)
+*/
+/*
+ATSINStmpdec(tmpref54) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1977(line=69, offs=18) -- 1982(line=69, offs=23)
+*/
+ATSINSmove(tmpref54, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2003(line=71, offs=12) -- 2009(line=71, offs=18)
+*/
+ATSINSmove(tmp55, ATSLIB_056_prelude__eq_g0int_int__12__2(tmpref54, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2000(line=71, offs=9) -- 2347(line=85, offs=14)
+*/
+ATSif(
+tmp55
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2025(line=72, offs=11) -- 2120(line=76, offs=14)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2045(line=73, offs=17) -- 2046(line=73, offs=18)
+*/
+/*
+ATSINStmpdec(tmpref58) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2049(line=73, offs=21) -- 2065(line=73, offs=37)
+*/
+ATSINSmove(tmpref58, ATSCNTRB_056_HX_056_intinf_vt__square_intinf0__32__1(arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2092(line=75, offs=13) -- 2106(line=75, offs=27)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmpref58) ;
+ATSINSmove_tlcal(apy1, tmpref53) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_big_exp_17) ;
+ATStailcal_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2025(line=72, offs=11) -- 2120(line=76, offs=14)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2144(line=78, offs=11) -- 2347(line=85, offs=14)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2164(line=79, offs=17) -- 2166(line=79, offs=19)
+*/
+/*
+ATSINStmpdec(tmpref78) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2169(line=79, offs=22) -- 2185(line=79, offs=38)
+*/
+ATSINSmove(tmpref78, ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__2(ATSPMVrefarg0(arg0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2203(line=80, offs=17) -- 2205(line=80, offs=19)
+*/
+/*
+ATSINStmpdec(tmpref84) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2208(line=80, offs=22) -- 2223(line=80, offs=37)
+*/
+ATSINSmove(tmpref84, big_exp_17(tmpref78, tmpref53)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2240(line=81, offs=17) -- 2241(line=81, offs=18)
+*/
+/*
+ATSINStmpdec(tmpref85) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2244(line=81, offs=21) -- 2270(line=81, offs=47)
+*/
+ATSINSmove(tmpref85, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__41__1(tmpref84, ATSPMVrefarg0(arg0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2292(line=82, offs=22) -- 2305(line=82, offs=35)
+*/
+ATSINSmove_void(tmp90, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__2(arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2332(line=84, offs=13) -- 2333(line=84, offs=14)
+*/
+ATSINSmove(tmpret25, tmpref85) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2144(line=78, offs=11) -- 2347(line=85, offs=14)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1931(line=67, offs=7) -- 2357(line=86, offs=10)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2374(line=88, offs=8) -- 2387(line=88, offs=21)
+*/
+ATSINSmove_void(tmp93, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__3(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2391(line=88, offs=25) -- 2404(line=88, offs=38)
+*/
+ATSINSmove(tmpret25, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45__1(ATSPMVi0nt(1))) ;
+
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret25) ;
+} /* end of [big_exp_17] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
+*/
+/*
+local: 
+global: eq_g1int_int$18$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4639)
+tmparg = S2Evar(tk(4639))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__18(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret27, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp28, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
+*/
+ATSINSmove(tmp28, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4639))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
+*/
+ATSINSmove(tmpret27, PMVtmpltcst(g1int_eq<S2Evar(tk(4639))>)(arg0, tmp28)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret27) ;
+} /* end of [ATSLIB_056_prelude__eq_g1int_int__18] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
+*/
+/*
+local: 
+global: eq_g1int_int$18$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4639)
+tmparg = S2Evar(tk(4639))
+tmpsub = Some(tk(4639) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__18__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret27__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp28__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
+*/
+ATSINSmove(tmp28__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
+*/
+ATSINSmove(tmpret27__1, atspre_g1int_eq_int(arg0, tmp28__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret27__1) ;
+} /* end of [ATSLIB_056_prelude__eq_g1int_int__18__1] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13321(line=768, offs=9) -- 13484(line=775, offs=4)
+*/
+/*
+local: 
+global: compare_intinf_int$21$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_int)
+ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__21(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret32, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp33, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp34, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp35, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp36, atstkind_t0ype(atstype_bool)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13294(line=767, offs=1) -- 13484(line=775, offs=4)
+*/
+ATSINSflab(__patsflab_compare_intinf_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13347(line=770, offs=11) -- 13375(line=770, offs=39)
+*/
+ATSINSmove(tmp33, atscntrb_gmp_mpz_cmp_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13390(line=771, offs=15) -- 13397(line=771, offs=22)
+*/
+ATSINSmove(tmp35, PMVtmpltcst(lt_g0int_int<S2Eextkind(atstype_int)>)(tmp33, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13387(line=771, offs=12) -- 13437(line=771, offs=62)
+*/
+ATSif(
+tmp35
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13403(line=771, offs=28) -- 13405(line=771, offs=30)
+*/
+ATSINSmove(tmp34, PMVtmpltcst(g1int_neg<S2Eextkind(atstype_int)>)(ATSPMVi0nt(1))) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13415(line=771, offs=40) -- 13422(line=771, offs=47)
+*/
+ATSINSmove(tmp36, PMVtmpltcst(gt_g0int_int<S2Eextkind(atstype_int)>)(tmp33, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13412(line=771, offs=37) -- 13436(line=771, offs=61)
+*/
+ATSif(
+tmp36
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13428(line=771, offs=53) -- 13429(line=771, offs=54)
+*/
+ATSINSmove(tmp34, ATSPMVi0nt(1)) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13435(line=771, offs=60) -- 13436(line=771, offs=61)
+*/
+ATSINSmove(tmp34, ATSPMVi0nt(0)) ;
+} /* ATSendif */
+} /* ATSendif */
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13452(line=774, offs=3) -- 13479(line=774, offs=30)
+*/
+ATSINSmove(tmpret32, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp34)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret32) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__21] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13321(line=768, offs=9) -- 13484(line=775, offs=4)
+*/
+/*
+local: 
+global: compare_intinf_int$21$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_t0ype(atstype_int)
+ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__21__1(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret32__1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp33__1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp34__1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp35__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp36__1, atstkind_t0ype(atstype_bool)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13294(line=767, offs=1) -- 13484(line=775, offs=4)
+*/
+ATSINSflab(__patsflab_compare_intinf_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13347(line=770, offs=11) -- 13375(line=770, offs=39)
+*/
+ATSINSmove(tmp33__1, atscntrb_gmp_mpz_cmp_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13390(line=771, offs=15) -- 13397(line=771, offs=22)
+*/
+ATSINSmove(tmp35__1, ATSLIB_056_prelude__lt_g0int_int__23__1(tmp33__1, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13387(line=771, offs=12) -- 13437(line=771, offs=62)
+*/
+ATSif(
+tmp35__1
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13403(line=771, offs=28) -- 13405(line=771, offs=30)
+*/
+ATSINSmove(tmp34__1, atspre_g1int_neg_int(ATSPMVi0nt(1))) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13415(line=771, offs=40) -- 13422(line=771, offs=47)
+*/
+ATSINSmove(tmp36__1, ATSLIB_056_prelude__gt_g0int_int__27__1(tmp33__1, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13412(line=771, offs=37) -- 13436(line=771, offs=61)
+*/
+ATSif(
+tmp36__1
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13428(line=771, offs=53) -- 13429(line=771, offs=54)
+*/
+ATSINSmove(tmp34__1, ATSPMVi0nt(1)) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13435(line=771, offs=60) -- 13436(line=771, offs=61)
+*/
+ATSINSmove(tmp34__1, ATSPMVi0nt(0)) ;
+} /* ATSendif */
+} /* ATSendif */
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13452(line=774, offs=3) -- 13479(line=774, offs=30)
+*/
+ATSINSmove(tmpret32__1, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp34__1)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret32__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__21__1] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 11941(line=617, offs=3) -- 11980(line=617, offs=42)
+*/
+/*
+local: 
+global: lt_g0int_int$23$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4620)
+tmparg = S2Evar(tk(4620))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g0int_int__23(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret42, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp43, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11926(line=616, offs=1) -- 11980(line=617, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11967(line=617, offs=29) -- 11978(line=617, offs=40)
+*/
+ATSINSmove(tmp43, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4620))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11950(line=617, offs=12) -- 11980(line=617, offs=42)
+*/
+ATSINSmove(tmpret42, PMVtmpltcst(g0int_lt<S2Evar(tk(4620))>)(arg0, tmp43)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret42) ;
+} /* end of [ATSLIB_056_prelude__lt_g0int_int__23] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 11941(line=617, offs=3) -- 11980(line=617, offs=42)
+*/
+/*
+local: 
+global: lt_g0int_int$23$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4620)
+tmparg = S2Evar(tk(4620))
+tmpsub = Some(tk(4620) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g0int_int__23__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret42__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp43__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11926(line=616, offs=1) -- 11980(line=617, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11967(line=617, offs=29) -- 11978(line=617, offs=40)
+*/
+ATSINSmove(tmp43__1, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11950(line=617, offs=12) -- 11980(line=617, offs=42)
+*/
+ATSINSmove(tmpret42__1, atspre_g0int_lt_int(arg0, tmp43__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret42__1) ;
+} /* end of [ATSLIB_056_prelude__lt_g0int_int__23__1] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12100(line=626, offs=3) -- 12139(line=626, offs=42)
+*/
+/*
+local: 
+global: gt_g0int_int$27$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4622)
+tmparg = S2Evar(tk(4622))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g0int_int__27(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret46, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp47, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12085(line=625, offs=1) -- 12139(line=626, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12126(line=626, offs=29) -- 12137(line=626, offs=40)
+*/
+ATSINSmove(tmp47, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4622))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12109(line=626, offs=12) -- 12139(line=626, offs=42)
+*/
+ATSINSmove(tmpret46, PMVtmpltcst(g0int_gt<S2Evar(tk(4622))>)(arg0, tmp47)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret46) ;
+} /* end of [ATSLIB_056_prelude__gt_g0int_int__27] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12100(line=626, offs=3) -- 12139(line=626, offs=42)
+*/
+/*
+local: 
+global: gt_g0int_int$27$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4622)
+tmparg = S2Evar(tk(4622))
+tmpsub = Some(tk(4622) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g0int_int__27__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret46__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp47__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12085(line=625, offs=1) -- 12139(line=626, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12126(line=626, offs=29) -- 12137(line=626, offs=40)
+*/
+ATSINSmove(tmp47__1, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12109(line=626, offs=12) -- 12139(line=626, offs=42)
+*/
+ATSINSmove(tmpret46__1, atspre_g0int_gt_int(arg0, tmp47__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret46__1) ;
+} /* end of [ATSLIB_056_prelude__gt_g0int_int__27__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret10__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp11__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp11__2, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret10__2, atspre_g1int_gt_int(arg0, tmp11__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret10__2) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__2] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__2, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__2, atspre_g0int_eq_int(arg0, tmp18__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__2) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__2] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4581(line=236, offs=3) -- 4665(line=240, offs=2)
+*/
+/*
+local: 
+global: square_intinf0$32$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf0__32(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret59, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp60, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp61) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4564(line=235, offs=1) -- 4665(line=240, offs=2)
+*/
+ATSINSflab(__patsflab_square_intinf0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4587(line=236, offs=9) -- 4665(line=240, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4611(line=238, offs=13) -- 4627(line=238, offs=29)
+*/
+ATSINSmove(tmp60, PMVtmpltcst(square_intinf1<>)(ATSPMVrefarg0(arg0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4649(line=239, offs=21) -- 4662(line=239, offs=34)
+*/
+ATSINSmove_void(tmp61, PMVtmpltcst(intinf_free<>)(arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4587(line=236, offs=9) -- 4590(line=236, offs=12)
+*/
+ATSINSmove(tmpret59, tmp60) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4587(line=236, offs=9) -- 4665(line=240, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret59) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__square_intinf0__32] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4581(line=236, offs=3) -- 4665(line=240, offs=2)
+*/
+/*
+local: 
+global: square_intinf0$32$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf0__32__1(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret59__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp60__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp61__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4564(line=235, offs=1) -- 4665(line=240, offs=2)
+*/
+ATSINSflab(__patsflab_square_intinf0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4587(line=236, offs=9) -- 4665(line=240, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4611(line=238, offs=13) -- 4627(line=238, offs=29)
+*/
+ATSINSmove(tmp60__1, ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__1(ATSPMVrefarg0(arg0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4649(line=239, offs=21) -- 4662(line=239, offs=34)
+*/
+ATSINSmove_void(tmp61__1, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__1(arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4587(line=236, offs=9) -- 4590(line=236, offs=12)
+*/
+ATSINSmove(tmpret59__1, tmp60__1) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4587(line=236, offs=9) -- 4665(line=240, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret59__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__square_intinf0__32__1] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4755(line=247, offs=3) -- 4900(line=256, offs=2)
+*/
+/*
+local: 
+global: square_intinf1$34$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret65, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp66, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp67) ;
+// ATStmpdec_void(tmp68) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4738(line=246, offs=1) -- 4900(line=256, offs=2)
+*/
+ATSINSflab(__patsflab_square_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4761(line=247, offs=9) -- 4900(line=256, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4784(line=250, offs=9) -- 4800(line=250, offs=25)
+*/
+ATSINSmove(tmp66, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4812(line=252, offs=3) -- 4849(line=252, offs=40)
+*/
+ATSINSmove_void(tmp67, atscntrb_gmp_mpz_init_set_mpz(ATSPMVrefarg1(ATSSELrecsin(tmp66, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4862(line=254, offs=10) -- 4895(line=254, offs=43)
+*/
+ATSINSmove_void(tmp68, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(tmp66, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4762(line=247, offs=10) -- 4763(line=247, offs=11)
+*/
+ATSINSmove(tmpret65, tmp66) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4761(line=247, offs=9) -- 4900(line=256, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret65) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4755(line=247, offs=3) -- 4900(line=256, offs=2)
+*/
+/*
+local: 
+global: square_intinf1$34$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__1(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret65__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp66__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp67__1) ;
+// ATStmpdec_void(tmp68__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4738(line=246, offs=1) -- 4900(line=256, offs=2)
+*/
+ATSINSflab(__patsflab_square_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4761(line=247, offs=9) -- 4900(line=256, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4784(line=250, offs=9) -- 4800(line=250, offs=25)
+*/
+ATSINSmove(tmp66__1, ATSLIB_056_prelude__ptr_alloc__1__2()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4812(line=252, offs=3) -- 4849(line=252, offs=40)
+*/
+ATSINSmove_void(tmp67__1, atscntrb_gmp_mpz_init_set_mpz(ATSPMVrefarg1(ATSSELrecsin(tmp66__1, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4862(line=254, offs=10) -- 4895(line=254, offs=43)
+*/
+ATSINSmove_void(tmp68__1, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(tmp66__1, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4762(line=247, offs=10) -- 4763(line=247, offs=11)
+*/
+ATSINSmove(tmpret65__1, tmp66__1) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4761(line=247, offs=9) -- 4900(line=256, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret65__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$1$2(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__2()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret2__2, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret2__2, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret2__2) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__1__2] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$37$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret74) ;
+// ATStmpdec_void(tmp75) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp75, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret74, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret74) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$37$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__1(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret74__1) ;
+// ATStmpdec_void(tmp75__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp75__1, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret74__1, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret74__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4755(line=247, offs=3) -- 4900(line=256, offs=2)
+*/
+/*
+local: 
+global: square_intinf1$34$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__2(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret65__2, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp66__2, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp67__2) ;
+// ATStmpdec_void(tmp68__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4738(line=246, offs=1) -- 4900(line=256, offs=2)
+*/
+ATSINSflab(__patsflab_square_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4761(line=247, offs=9) -- 4900(line=256, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4784(line=250, offs=9) -- 4800(line=250, offs=25)
+*/
+ATSINSmove(tmp66__2, ATSLIB_056_prelude__ptr_alloc__1__3()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4812(line=252, offs=3) -- 4849(line=252, offs=40)
+*/
+ATSINSmove_void(tmp67__2, atscntrb_gmp_mpz_init_set_mpz(ATSPMVrefarg1(ATSSELrecsin(tmp66__2, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4862(line=254, offs=10) -- 4895(line=254, offs=43)
+*/
+ATSINSmove_void(tmp68__2, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(tmp66__2, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4762(line=247, offs=10) -- 4763(line=247, offs=11)
+*/
+ATSINSmove(tmpret65__2, tmp66__2) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4761(line=247, offs=9) -- 4900(line=256, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret65__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__2] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$1$3(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__3()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret2__3, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret2__3, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret2__3) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__1__3] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_intinf1$41$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__41(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret86, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp87) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
+*/
+ATSINSmove_void(tmp87, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
+*/
+ATSINSmove(tmpret86, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret86) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__41] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_intinf1$41$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__41__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret86__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp87__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
+*/
+ATSINSmove_void(tmp87__1, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
+*/
+ATSINSmove(tmpret86__1, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret86__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__41__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$37$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__2(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret74__2) ;
+// ATStmpdec_void(tmp75__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp75__2, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret74__2, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret74__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__2] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$37$3(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__3(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret74__3) ;
+// ATStmpdec_void(tmp75__3) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp75__3, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret74__3, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret74__3) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__3] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$45$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret96, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp97, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp98) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp97, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp98, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp97, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret96, tmp97) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret96) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$45$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45__1(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret96__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp97__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp98__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp97__1, ATSLIB_056_prelude__ptr_alloc__1__4()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp98__1, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp97__1, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret96__1, tmp97__1) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret96__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$1$4(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__4()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret2__4, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret2__4, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret2__4) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__1__4] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2497(line=92, offs=4) -- 2632(line=97, offs=6)
+*/
+/*
+local: 
+global: sqrt_int_48$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+sqrt_int_48(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret103, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref104, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp105, atstkind_t0ype(atstype_float)) ;
+ATStmpdec(tmp106, atstkind_t0ype(atstype_float)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2497(line=92, offs=4) -- 2632(line=97, offs=6)
+*/
+ATSINSflab(__patsflab_sqrt_int_48):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2543(line=93, offs=3) -- 2632(line=97, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2555(line=94, offs=9) -- 2560(line=94, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref104) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2586(line=94, offs=40) -- 2599(line=94, offs=53)
+*/
+ATSINSmove(tmp106, atspre_g0int2float_int_float(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2575(line=94, offs=29) -- 2601(line=94, offs=55)
+*/
+ATSINSmove(tmp105, atslib_libats_libc_sqrt_float(tmp106)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2563(line=94, offs=17) -- 2602(line=94, offs=56)
+*/
+ATSINSmove(tmpref104, atspre_g0float2int_float_int(tmp105)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2612(line=96, offs=5) -- 2625(line=96, offs=18)
+*/
+ATSINSmove(tmpret103, ATSPMVcastfn(witness, atstkind_t0ype(atstype_int), tmpref104)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2543(line=93, offs=3) -- 2632(line=97, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret103) ;
+} /* end of [sqrt_int_48] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2668(line=100, offs=4) -- 3249(line=123, offs=10)
+*/
+/*
+local: sqrt_int_48$0(level=0)
+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+is_prime_51(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret107, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp126, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2668(line=100, offs=4) -- 3249(line=123, offs=10)
+*/
+ATSINSflab(__patsflab_is_prime_51):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2704(line=101, offs=3) -- 3249(line=123, offs=10)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2721(line=102, offs=7) -- 2722(line=102, offs=8)
+*/
+ATSINSlab(__atstmplab3):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2677(line=100, offs=13) -- 2678(line=100, offs=14)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab5) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2722(line=102, offs=8) -- 2722(line=102, offs=8)
+*/
+ATSINSlab(__atstmplab4):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2726(line=102, offs=12) -- 2731(line=102, offs=17)
+*/
+ATSINSmove(tmpret107, ATSPMVbool_false()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2739(line=103, offs=8) -- 2739(line=103, offs=8)
+*/
+ATSINSlab(__atstmplab5):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2764(line=105, offs=9) -- 3239(line=122, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3215(line=121, offs=19) -- 3225(line=121, offs=29)
+*/
+ATSINSmove(tmp126, sqrt_int_48(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3207(line=121, offs=11) -- 3227(line=121, offs=31)
+*/
+ATSINSmove(tmpret107, loop_52(arg0, ATSPMVi0nt(2), tmp126)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2764(line=105, offs=9) -- 3239(line=122, offs=12)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret107) ;
+} /* end of [is_prime_51] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2782(line=106, offs=15) -- 3185(line=119, offs=21)
+*/
+/*
+local: loop_52$0(level=1)
+global: loop_52$0(level=1)
+local: k$5098(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: k$5098(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+loop_52(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret108, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp109, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp114, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp117, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp118, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp119, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp122, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp125, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2782(line=106, offs=15) -- 3185(line=119, offs=21)
+*/
+ATSINSflab(__patsflab_loop_52):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2872(line=107, offs=16) -- 2881(line=107, offs=25)
+*/
+ATSINSmove(tmp109, ATSLIB_056_prelude__lt_g1int_int__53__1(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2869(line=107, offs=13) -- 3185(line=119, offs=21)
+*/
+ATSif(
+tmp109
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2904(line=108, offs=18) -- 2909(line=108, offs=23)
+*/
+ATSINSmove(tmp117, atspre_g0int_mod_int(env0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2904(line=108, offs=18) -- 2913(line=108, offs=27)
+*/
+ATSINSmove(tmp114, ATSLIB_056_prelude__eq_g0int_int__12__3(tmp117, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2901(line=108, offs=15) -- 2994(line=111, offs=35)
+*/
+ATSif(
+tmp114
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2935(line=109, offs=17) -- 2940(line=109, offs=22)
+*/
+ATSINSmove(tmpret108, ATSPMVbool_false()) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2981(line=111, offs=22) -- 2986(line=111, offs=27)
+*/
+ATSINSmove(tmp118, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2976(line=111, offs=17) -- 2994(line=111, offs=35)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp118) ;
+ATSINSmove_tlcal(apy1, arg1) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_loop_52) ;
+ATStailcal_end()
+
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3029(line=113, offs=18) -- 3038(line=113, offs=27)
+*/
+ATSINSmove(tmp119, ATSLIB_056_prelude__eq_g1int_int__18__2(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3026(line=113, offs=15) -- 3185(line=119, offs=21)
+*/
+ATSif(
+tmp119
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3063(line=114, offs=20) -- 3068(line=114, offs=25)
+*/
+ATSINSmove(tmp125, atspre_g0int_mod_int(env0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3063(line=114, offs=20) -- 3072(line=114, offs=29)
+*/
+ATSINSmove(tmp122, ATSLIB_056_prelude__eq_g0int_int__12__4(tmp125, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3060(line=114, offs=17) -- 3145(line=117, offs=23)
+*/
+ATSif(
+tmp122
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3096(line=115, offs=19) -- 3101(line=115, offs=24)
+*/
+ATSINSmove(tmpret108, ATSPMVbool_false()) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3141(line=117, offs=19) -- 3145(line=117, offs=23)
+*/
+ATSINSmove(tmpret108, ATSPMVbool_true()) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3181(line=119, offs=17) -- 3185(line=119, offs=21)
+*/
+ATSINSmove(tmpret108, ATSPMVbool_true()) ;
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret108) ;
+} /* end of [loop_52] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
+*/
+/*
+local: 
+global: lt_g1int_int$53$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4627)
+tmparg = S2Evar(tk(4627))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__53(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret110, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp111, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
+*/
+ATSINSmove(tmp111, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4627))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
+*/
+ATSINSmove(tmpret110, PMVtmpltcst(g1int_lt<S2Evar(tk(4627))>)(arg0, tmp111)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret110) ;
+} /* end of [ATSLIB_056_prelude__lt_g1int_int__53] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
+*/
+/*
+local: 
+global: lt_g1int_int$53$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4627)
+tmparg = S2Evar(tk(4627))
+tmpsub = Some(tk(4627) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__53__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret110__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp111__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
+*/
+ATSINSmove(tmp111__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
+*/
+ATSINSmove(tmpret110__1, atspre_g1int_lt_int(arg0, tmp111__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret110__1) ;
+} /* end of [ATSLIB_056_prelude__lt_g1int_int__53__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$3(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__3, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__3, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__3, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__3, atspre_g0int_eq_int(arg0, tmp18__3)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__3) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__3] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
+*/
+/*
+local: 
+global: eq_g1int_int$18$2(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4639)
+tmparg = S2Evar(tk(4639))
+tmpsub = Some(tk(4639) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__18__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret27__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp28__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
+*/
+ATSINSmove(tmp28__2, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
+*/
+ATSINSmove(tmpret27__2, atspre_g1int_eq_int(arg0, tmp28__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret27__2) ;
+} /* end of [ATSLIB_056_prelude__eq_g1int_int__18__2] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$4(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__4, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__4, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__4, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__4, atspre_g0int_eq_int(arg0, tmp18__4)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__4) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__4] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 376(line=13, offs=4) -- 424(line=14, offs=12)
+*/
+/*
+local: 
+global: divides_59$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+divides_59(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret127, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp130, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 376(line=13, offs=4) -- 424(line=14, offs=12)
+*/
+ATSINSflab(__patsflab_divides_59):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 415(line=14, offs=3) -- 420(line=14, offs=8)
+*/
+ATSINSmove(tmp130, atspre_g0int_mod_int(arg1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 415(line=14, offs=3) -- 424(line=14, offs=12)
+*/
+ATSINSmove(tmpret127, ATSLIB_056_prelude__eq_g0int_int__12__5(tmp130, ATSPMVi0nt(0))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret127) ;
+} /* end of [divides_59] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$5(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__5, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__5, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__5, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__5, atspre_g0int_eq_int(arg0, tmp18__5)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__5) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__5] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 452(line=17, offs=5) -- 558(line=21, offs=6)
+*/
+/*
+local: gcd_61$0(level=0)
+global: gcd_61$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+gcd_61(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret131, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp132, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp135, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 452(line=17, offs=5) -- 558(line=21, offs=6)
+*/
+ATSINSflab(__patsflab_gcd_61):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 508(line=18, offs=6) -- 513(line=18, offs=11)
+*/
+ATSINSmove(tmp132, ATSLIB_056_prelude__gt_g1int_int__6__3(arg1, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 505(line=18, offs=3) -- 558(line=21, offs=6)
+*/
+ATSif(
+tmp132
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 538(line=19, offs=20) -- 543(line=19, offs=25)
+*/
+ATSINSmove(tmp135, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 523(line=19, offs=5) -- 545(line=19, offs=27)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, arg1) ;
+ATSINSmove_tlcal(apy1, ATSPMVcastfn(witness, atstkind_t0ype(atstype_int), tmp135)) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_gcd_61) ;
+ATStailcal_end()
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 557(line=21, offs=5) -- 558(line=21, offs=6)
+*/
+ATSINSmove(tmpret131, arg0) ;
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret131) ;
+} /* end of [gcd_61] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$3(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret10__3, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp11__3, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp11__3, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret10__3, atspre_g1int_gt_int(arg0, tmp11__3)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret10__3) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__3] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 563(line=23, offs=4) -- 635(line=24, offs=22)
+*/
+/*
+local: gcd_61$0(level=0)
+global: gcd_61$0(level=0), lcm_63$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+lcm_63(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret136, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp137, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp138, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 563(line=23, offs=4) -- 635(line=24, offs=22)
+*/
+ATSINSflab(__patsflab_lcm_63):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 621(line=24, offs=8) -- 630(line=24, offs=17)
+*/
+ATSINSmove(tmp138, gcd_61(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 617(line=24, offs=4) -- 630(line=24, offs=17)
+*/
+ATSINSmove(tmp137, atspre_g0int_div_int(arg0, tmp138)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 616(line=24, offs=3) -- 635(line=24, offs=22)
+*/
+ATSINSmove(tmpret136, atspre_g0int_mul_int(tmp137, arg1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret136) ;
+} /* end of [lcm_63] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 640(line=26, offs=4) -- 714(line=27, offs=16)
+*/
+/*
+local: gcd_61$0(level=0)
+global: gcd_61$0(level=0), is_coprime_65$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+is_coprime_65(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret139, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp142, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 640(line=26, offs=4) -- 714(line=27, offs=16)
+*/
+ATSINSflab(__patsflab_is_coprime_65):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 701(line=27, offs=3) -- 710(line=27, offs=12)
+*/
+ATSINSmove(tmp142, gcd_61(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 701(line=27, offs=3) -- 714(line=27, offs=16)
+*/
+ATSINSmove(tmpret139, ATSLIB_056_prelude__eq_g0int_int__12__6(tmp142, ATSPMVi0nt(1))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret139) ;
+} /* end of [is_coprime_65] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$6(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__6(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__6, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__6, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__6, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__6, atspre_g0int_eq_int(arg0, tmp18__6)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__6) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__6] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 757(line=30, offs=4) -- 1773(line=62, offs=8)
+*/
+/*
+local: sqrt_int_48$0(level=0)
+global: sqrt_int_48$0(level=0), divisors_67$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+divisors_67(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret143, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 757(line=30, offs=4) -- 1773(line=62, offs=8)
+*/
+ATSINSflab(__patsflab_divisors_67):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 802(line=31, offs=3) -- 1773(line=62, offs=8)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 819(line=32, offs=7) -- 820(line=32, offs=8)
+*/
+ATSINSlab(__atstmplab6):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 766(line=30, offs=13) -- 767(line=30, offs=14)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab8) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 820(line=32, offs=8) -- 820(line=32, offs=8)
+*/
+ATSINSlab(__atstmplab7):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 824(line=32, offs=12) -- 874(line=32, offs=62)
+*/
+ATSINSmove_ldelay(tmpret143, atstype_boxed, ATSPMVcfunlab(1, __patsfun_68, ())) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 882(line=33, offs=8) -- 882(line=33, offs=8)
+*/
+ATSINSlab(__atstmplab8):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 886(line=33, offs=12) -- 1773(line=62, offs=8)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1755(line=61, offs=7) -- 1765(line=61, offs=17)
+*/
+ATSINSmove(tmpret143, loop_70(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 886(line=33, offs=12) -- 1773(line=62, offs=8)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret143) ;
+} /* end of [divisors_67] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 824(line=32, offs=12) -- 874(line=32, offs=62)
+*/
+/*
+local: 
+global: __patsfun_68$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_68(atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret144, atstype_boxed) ;
+ATStmpdec(tmp145, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 824(line=32, offs=12) -- 874(line=32, offs=62)
+*/
+ATSINSflab(__patsflab___patsfun_68):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 824(line=32, offs=12) -- 874(line=32, offs=62)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 850(line=32, offs=38) -- 872(line=32, offs=60)
+*/
+ATSINSmove_ldelay(tmp145, atstype_boxed, ATSPMVcfunlab(1, __patsfun_69, ())) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 832(line=32, offs=20) -- 873(line=32, offs=61)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret144, postiats_tysum_1) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret144, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret144, postiats_tysum_1, atslab__0, ATSPMVi0nt(1)) ;
+ATSINSstore_con1_ofs(tmpret144, postiats_tysum_1, atslab__1, tmp145) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret144) ;
+} /* end of [__patsfun_68] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 850(line=32, offs=38) -- 872(line=32, offs=60)
+*/
+/*
+local: 
+global: __patsfun_69$0(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_69(atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret146, atstype_boxed) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 850(line=32, offs=38) -- 872(line=32, offs=60)
+*/
+ATSINSflab(__patsflab___patsfun_69):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 850(line=32, offs=38) -- 872(line=32, offs=60)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 858(line=32, offs=46) -- 871(line=32, offs=59)
+*/
+
+ATSINSmove_nil(tmpret146) ;
+
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret146) ;
+} /* end of [__patsfun_69] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 900(line=34, offs=11) -- 1741(line=59, offs=29)
+*/
+/*
+local: sqrt_int_48$0(level=0), loop_70$0(level=1)
+global: sqrt_int_48$0(level=0), loop_70$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+loop_70(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret147, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp148, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp153, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp154, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp157, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp158, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp163, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref164, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp174, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp177, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref178, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp184, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 900(line=34, offs=11) -- 1741(line=59, offs=29)
+*/
+ATSINSflab(__patsflab_loop_70):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1007(line=35, offs=19) -- 1017(line=35, offs=29)
+*/
+ATSINSmove(tmp153, sqrt_int_48(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1000(line=35, offs=12) -- 1017(line=35, offs=29)
+*/
+ATSINSmove(tmp148, ATSLIB_056_prelude__gte_g1int_int__71__1(arg1, tmp153)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 997(line=35, offs=9) -- 1741(line=59, offs=29)
+*/
+ATSif(
+tmp148
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1037(line=36, offs=14) -- 1044(line=36, offs=21)
+*/
+ATSINSmove(tmp157, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1037(line=36, offs=14) -- 1048(line=36, offs=25)
+*/
+ATSINSmove(tmp154, ATSLIB_056_prelude__eq_g0int_int__12__7(tmp157, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1034(line=36, offs=11) -- 1481(line=50, offs=35)
+*/
+ATSif(
+tmp154
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1069(line=37, offs=16) -- 1076(line=37, offs=23)
+*/
+ATSINSmove(tmp163, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1069(line=37, offs=16) -- 1083(line=37, offs=30)
+*/
+ATSINSmove(tmp158, ATSLIB_056_prelude__neq_g1int_int__75__1(tmp163, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1066(line=37, offs=13) -- 1431(line=48, offs=18)
+*/
+ATSif(
+tmp158
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1103(line=38, offs=15) -- 1275(line=42, offs=18)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1127(line=39, offs=21) -- 1128(line=39, offs=22)
+*/
+/*
+ATSINStmpdec(tmpref164) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1136(line=39, offs=30) -- 1143(line=39, offs=37)
+*/
+ATSINSmove(tmpref164, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1177(line=41, offs=17) -- 1257(line=41, offs=97)
+*/
+ATSINSmove_ldelay(tmpret147, atstype_boxed, ATSPMVcfunlab(1, __patsfun_79, (arg1, ATSPMVptrof(tmpref164)))) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1103(line=38, offs=15) -- 1275(line=42, offs=18)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1361(line=47, offs=17) -- 1413(line=47, offs=69)
+*/
+ATSINSmove_ldelay(tmpret147, atstype_boxed, ATSPMVcfunlab(1, __patsfun_82, (arg1))) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1459(line=50, offs=13) -- 1481(line=50, offs=35)
+*/
+ATSINSmove_ldelay(tmpret147, atstype_boxed, ATSPMVcfunlab(1, __patsfun_84, ())) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1508(line=52, offs=14) -- 1515(line=52, offs=21)
+*/
+ATSINSmove(tmp177, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1508(line=52, offs=14) -- 1519(line=52, offs=25)
+*/
+ATSINSmove(tmp174, ATSLIB_056_prelude__eq_g0int_int__12__8(tmp177, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1505(line=52, offs=11) -- 1741(line=59, offs=29)
+*/
+ATSif(
+tmp174
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1537(line=53, offs=13) -- 1697(line=57, offs=16)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1559(line=54, offs=19) -- 1560(line=54, offs=20)
+*/
+/*
+ATSINStmpdec(tmpref178) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1568(line=54, offs=28) -- 1575(line=54, offs=35)
+*/
+ATSINSmove(tmpref178, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1605(line=56, offs=15) -- 1681(line=56, offs=91)
+*/
+ATSINSmove_ldelay(tmpret147, atstype_boxed, ATSPMVcfunlab(1, __patsfun_86, (arg0, arg1, ATSPMVptrof(tmpref178)))) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1537(line=53, offs=13) -- 1697(line=57, offs=16)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1733(line=59, offs=21) -- 1740(line=59, offs=28)
+*/
+ATSINSmove(tmp184, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1725(line=59, offs=13) -- 1741(line=59, offs=29)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, arg0) ;
+ATSINSmove_tlcal(apy1, tmp184) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_loop_70) ;
+ATStailcal_end()
+
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret147) ;
+} /* end of [loop_70] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
+*/
+/*
+local: 
+global: gte_g1int_int$71$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4636)
+tmparg = S2Evar(tk(4636))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__71(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret149, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp150, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
+*/
+ATSINSflab(__patsflab_gte_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
+*/
+ATSINSmove(tmp150, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4636))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
+*/
+ATSINSmove(tmpret149, PMVtmpltcst(g1int_gte<S2Evar(tk(4636))>)(arg0, tmp150)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret149) ;
+} /* end of [ATSLIB_056_prelude__gte_g1int_int__71] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
+*/
+/*
+local: 
+global: gte_g1int_int$71$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4636)
+tmparg = S2Evar(tk(4636))
+tmpsub = Some(tk(4636) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__71__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret149__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp150__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
+*/
+ATSINSflab(__patsflab_gte_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
+*/
+ATSINSmove(tmp150__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
+*/
+ATSINSmove(tmpret149__1, atspre_g1int_gte_int(arg0, tmp150__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret149__1) ;
+} /* end of [ATSLIB_056_prelude__gte_g1int_int__71__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$7(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__7(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__7, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__7, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__7, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__7, atspre_g0int_eq_int(arg0, tmp18__7)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__7) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__7] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)
+*/
+/*
+local: 
+global: neq_g1int_int$75$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4642)
+tmparg = S2Evar(tk(4642))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g1int_int__75(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret159, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp160, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12900(line=671, offs=1) -- 12956(line=672, offs=43)
+*/
+ATSINSflab(__patsflab_neq_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)
+*/
+ATSINSmove(tmp160, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4642))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)
+*/
+ATSINSmove(tmpret159, PMVtmpltcst(g1int_neq<S2Evar(tk(4642))>)(arg0, tmp160)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret159) ;
+} /* end of [ATSLIB_056_prelude__neq_g1int_int__75] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)
+*/
+/*
+local: 
+global: neq_g1int_int$75$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4642)
+tmparg = S2Evar(tk(4642))
+tmpsub = Some(tk(4642) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g1int_int__75__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret159__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp160__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12900(line=671, offs=1) -- 12956(line=672, offs=43)
+*/
+ATSINSflab(__patsflab_neq_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)
+*/
+ATSINSmove(tmp160__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)
+*/
+ATSINSmove(tmpret159__1, atspre_g1int_neq_int(arg0, tmp160__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret159__1) ;
+} /* end of [ATSLIB_056_prelude__neq_g1int_int__75__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1177(line=41, offs=17) -- 1257(line=41, offs=97)
+*/
+/*
+local: 
+global: __patsfun_79$0(level=2)
+local: acc$5118(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), x$5119(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
+global: acc$5118(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), x$5119(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_79(atstkind_t0ype(atstype_int) env0, atstkind_type(atstype_ptrk) env1, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret165, atstype_boxed) ;
+ATStmpdec(tmp166, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1177(line=41, offs=17) -- 1257(line=41, offs=97)
+*/
+ATSINSflab(__patsflab___patsfun_79):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1177(line=41, offs=17) -- 1257(line=41, offs=97)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1205(line=41, offs=45) -- 1255(line=41, offs=95)
+*/
+ATSINSmove_ldelay(tmp166, atstype_boxed, ATSPMVcfunlab(1, __patsfun_80, (env1))) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1185(line=41, offs=25) -- 1256(line=41, offs=96)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret165, postiats_tysum_1) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret165, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret165, postiats_tysum_1, atslab__0, env0) ;
+ATSINSstore_con1_ofs(tmpret165, postiats_tysum_1, atslab__1, tmp166) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret165) ;
+} /* end of [__patsfun_79] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1205(line=41, offs=45) -- 1255(line=41, offs=95)
+*/
+/*
+local: 
+global: __patsfun_80$0(level=3)
+local: x$5119(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
+global: x$5119(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_80(atstkind_type(atstype_ptrk) env0, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret167, atstype_boxed) ;
+ATStmpdec(tmp168, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1205(line=41, offs=45) -- 1255(line=41, offs=95)
+*/
+ATSINSflab(__patsflab___patsfun_80):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1205(line=41, offs=45) -- 1255(line=41, offs=95)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1231(line=41, offs=71) -- 1253(line=41, offs=93)
+*/
+ATSINSmove_ldelay(tmp168, atstype_boxed, ATSPMVcfunlab(1, __patsfun_81, ())) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1213(line=41, offs=53) -- 1254(line=41, offs=94)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret167, postiats_tysum_1) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret167, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret167, postiats_tysum_1, atslab__0, ATSderef(env0, atstkind_t0ype(atstype_int))) ;
+ATSINSstore_con1_ofs(tmpret167, postiats_tysum_1, atslab__1, tmp168) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret167) ;
+} /* end of [__patsfun_80] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1231(line=41, offs=71) -- 1253(line=41, offs=93)
+*/
+/*
+local: 
+global: __patsfun_81$0(level=4)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_81(atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret169, atstype_boxed) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1231(line=41, offs=71) -- 1253(line=41, offs=93)
+*/
+ATSINSflab(__patsflab___patsfun_81):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1231(line=41, offs=71) -- 1253(line=41, offs=93)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1239(line=41, offs=79) -- 1252(line=41, offs=92)
+*/
+
+ATSINSmove_nil(tmpret169) ;
+
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret169) ;
+} /* end of [__patsfun_81] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1361(line=47, offs=17) -- 1413(line=47, offs=69)
+*/
+/*
+local: 
+global: __patsfun_82$0(level=2)
+local: acc$5118(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: acc$5118(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_82(atstkind_t0ype(atstype_int) env0, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret170, atstype_boxed) ;
+ATStmpdec(tmp171, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1361(line=47, offs=17) -- 1413(line=47, offs=69)
+*/
+ATSINSflab(__patsflab___patsfun_82):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1361(line=47, offs=17) -- 1413(line=47, offs=69)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1389(line=47, offs=45) -- 1411(line=47, offs=67)
+*/
+ATSINSmove_ldelay(tmp171, atstype_boxed, ATSPMVcfunlab(1, __patsfun_83, ())) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1369(line=47, offs=25) -- 1412(line=47, offs=68)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret170, postiats_tysum_1) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret170, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret170, postiats_tysum_1, atslab__0, env0) ;
+ATSINSstore_con1_ofs(tmpret170, postiats_tysum_1, atslab__1, tmp171) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret170) ;
+} /* end of [__patsfun_82] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1389(line=47, offs=45) -- 1411(line=47, offs=67)
+*/
+/*
+local: 
+global: __patsfun_83$0(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_83(atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret172, atstype_boxed) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1389(line=47, offs=45) -- 1411(line=47, offs=67)
+*/
+ATSINSflab(__patsflab___patsfun_83):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1389(line=47, offs=45) -- 1411(line=47, offs=67)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1397(line=47, offs=53) -- 1410(line=47, offs=66)
+*/
+
+ATSINSmove_nil(tmpret172) ;
+
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret172) ;
+} /* end of [__patsfun_83] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1459(line=50, offs=13) -- 1481(line=50, offs=35)
+*/
+/*
+local: 
+global: __patsfun_84$0(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_84(atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret173, atstype_boxed) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1459(line=50, offs=13) -- 1481(line=50, offs=35)
+*/
+ATSINSflab(__patsflab___patsfun_84):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1459(line=50, offs=13) -- 1481(line=50, offs=35)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1467(line=50, offs=21) -- 1480(line=50, offs=34)
+*/
+
+ATSINSmove_nil(tmpret173) ;
+
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret173) ;
+} /* end of [__patsfun_84] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$8(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__8(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__8, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__8, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__8, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__8, atspre_g0int_eq_int(arg0, tmp18__8)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__8) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__8] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1605(line=56, offs=15) -- 1681(line=56, offs=91)
+*/
+/*
+local: loop_70$0(level=1)
+global: loop_70$0(level=1), __patsfun_86$0(level=2)
+local: n$5117(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5118(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), x$5120(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
+global: n$5117(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5118(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), x$5120(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_86(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_type(atstype_ptrk) env2, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret179, atstype_boxed) ;
+ATStmpdec(tmp180, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1605(line=56, offs=15) -- 1681(line=56, offs=91)
+*/
+ATSINSflab(__patsflab___patsfun_86):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1605(line=56, offs=15) -- 1681(line=56, offs=91)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1633(line=56, offs=43) -- 1679(line=56, offs=89)
+*/
+ATSINSmove_ldelay(tmp180, atstype_boxed, ATSPMVcfunlab(1, __patsfun_87, (env0, env1, env2))) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1613(line=56, offs=23) -- 1680(line=56, offs=90)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret179, postiats_tysum_1) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret179, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret179, postiats_tysum_1, atslab__0, env1) ;
+ATSINSstore_con1_ofs(tmpret179, postiats_tysum_1, atslab__1, tmp180) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret179) ;
+} /* end of [__patsfun_86] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1633(line=56, offs=43) -- 1679(line=56, offs=89)
+*/
+/*
+local: loop_70$0(level=1)
+global: loop_70$0(level=1), __patsfun_87$0(level=3)
+local: n$5117(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5118(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), x$5120(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
+global: n$5117(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5118(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), x$5120(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_87(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_type(atstype_ptrk) env2, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret181, atstype_boxed) ;
+ATStmpdec(tmp182, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp183, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1633(line=56, offs=43) -- 1679(line=56, offs=89)
+*/
+ATSINSflab(__patsflab___patsfun_87):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1633(line=56, offs=43) -- 1679(line=56, offs=89)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1668(line=56, offs=78) -- 1675(line=56, offs=85)
+*/
+ATSINSmove(tmp183, atspre_g1int_add_int(env1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1660(line=56, offs=70) -- 1676(line=56, offs=86)
+*/
+ATSINSmove(tmp182, loop_70(env0, tmp183)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1641(line=56, offs=51) -- 1678(line=56, offs=88)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret181, postiats_tysum_1) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret181, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret181, postiats_tysum_1, atslab__0, ATSderef(env2, atstkind_t0ype(atstype_int))) ;
+ATSINSstore_con1_ofs(tmpret181, postiats_tysum_1, atslab__1, tmp182) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret181) ;
+} /* end of [__patsfun_87] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1810(line=65, offs=4) -- 1929(line=66, offs=71)
+*/
+/*
+local: is_prime_51$0(level=0), divisors_67$0(level=0)
+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), divisors_67$0(level=0), prime_divisors_88$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+prime_divisors_88(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret185, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp210, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1810(line=65, offs=4) -- 1929(line=66, offs=71)
+*/
+ATSINSflab(__patsflab_prime_divisors_88):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1885(line=66, offs=27) -- 1895(line=66, offs=37)
+*/
+ATSINSmove(tmp210, divisors_67(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1861(line=66, offs=3) -- 1929(line=66, offs=71)
+*/
+ATSINSmove(tmpret185, ATSLIB_056_prelude__stream_vt_filter_cloptr__89__1(tmp210, ATSPMVcfunlab(1, __patsfun_97, ()))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret185) ;
+} /* end of [prime_divisors_88] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 12936(line=777, offs=1) -- 13966(line=847, offs=2)
+*/
+/*
+local: 
+global: stream_vt_filter_cloptr$89$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = a(8216)
+tmparg = S2Evar(a(8216))
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__stream_vt_filter_cloptr__89(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret186, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12912(line=776, offs=1) -- 13966(line=847, offs=2)
+*/
+ATSINSflab(__patsflab_stream_vt_filter_cloptr):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12953(line=779, offs=5) -- 13966(line=847, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12953(line=779, offs=5) -- 12970(line=779, offs=22)
+*/
+ATSINSmove(tmpret186, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain$4250(1), flab=auxmain_90$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstkind_type(atstype_ptrk))(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12953(line=779, offs=5) -- 13966(line=847, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret186) ;
+} /* end of [ATSLIB_056_prelude__stream_vt_filter_cloptr__89] */
+#endif // end of [TEMPLATE]
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 12986(line=783, offs=1) -- 13161(line=798, offs=2)
+*/
+/*
+local: auxmain_con_91$0(level=1)
+global: auxmain_90$0(level=1), auxmain_con_91$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+auxmain_90__90(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret187, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12986(line=783, offs=1) -- 13161(line=798, offs=2)
+*/
+ATSINSflab(__patsflab_auxmain_90):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13066(line=789, offs=20) -- 13161(line=798, offs=2)
+*/
+ATSINSmove_ldelay(tmpret187, atstype_boxed, ATSPMVcfunlab(1, __patsfun_92__92, (arg0, arg1))) ;
+ATSfunbody_end()
+ATSreturn(tmpret187) ;
+} /* end of [auxmain_90__90] */
+#endif // end of [TEMPLATE]
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 13166(line=800, offs=1) -- 13936(line=845, offs=2)
+*/
+/*
+local: auxmain_90$0(level=1), auxmain_con_91$0(level=1)
+global: auxmain_90$0(level=1), auxmain_con_91$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+auxmain_con_91__91(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(apy1, atstype_cloptr) ;
+ATStmpdec(tmpret191, atstype_boxed) ;
+ATStmpdec(tmp192, atstype_boxed) ;
+// ATStmpdec_void(tmp195) ;
+ATStmpdec(tmp196, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp197, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp198, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13166(line=800, offs=1) -- 13936(line=845, offs=2)
+*/
+ATSINSflab(__patsflab_auxmain_con_91):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13259(line=809, offs=1) -- 13915(line=843, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13278(line=810, offs=16) -- 13281(line=810, offs=19)
+*/
+ATSINSmove_llazyeval(tmp192, atstype_boxed, arg0) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13288(line=813, offs=1) -- 13881(line=841, offs=6)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13306(line=814, offs=3) -- 13332(line=815, offs=12)
+*/
+ATSINSlab(__atstmplab9):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13278(line=810, offs=16) -- 13281(line=810, offs=19)
+*/
+ATSifthen(ATSCKptriscons(tmp192)) { ATSINSgoto(__atstmplab12) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13332(line=815, offs=12) -- 13332(line=815, offs=12)
+*/
+ATSINSlab(__atstmplab10):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13336(line=815, offs=16) -- 13462(line=822, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13357(line=817, offs=5) -- 13405(line=818, offs=37)
+*/
+ATSINSmove_void(tmp195, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg1))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13435(line=821, offs=5) -- 13448(line=821, offs=18)
+*/
+
+ATSINSmove_nil(tmpret191) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13336(line=815, offs=16) -- 13462(line=822, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13491(line=823, offs=3) -- 13520(line=824, offs=14)
+*/
+ATSINSlab(__atstmplab11):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13278(line=810, offs=16) -- 13281(line=810, offs=19)
+*/
+#if(0)
+ATSifthen(ATSCKptrisnull(tmp192)) { ATSINSdeadcode_fail() ; } ;
+#endif
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13520(line=824, offs=14) -- 13520(line=824, offs=14)
+*/
+ATSINSlab(__atstmplab12):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13524(line=824, offs=18) -- 13881(line=841, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13543(line=825, offs=16) -- 13550(line=825, offs=23)
+*/
+ATSINSmove(tmp196, ATSfunclo_clo(ATSPMVrefarg0(arg1), (atstype_cloptr, atsrefarg1_type(atstyvar_type(a))), atstkind_t0ype(atstype_bool))(ATSPMVrefarg0(arg1), ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp192, postiats_tysum_2, atslab__0))))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13561(line=827, offs=5) -- 13836(line=839, offs=8)
+*/
+ATSif(
+tmp196
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13580(line=828, offs=12) -- 13693(line=833, offs=8)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13633(line=831, offs=16) -- 13651(line=831, offs=34)
+*/
+ATSINSmove(tmp197, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain$4250(1), flab=auxmain_90$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstkind_type(atstype_ptrk))(ATSSELcon(tmp192, postiats_tysum_2, atslab__1), arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13626(line=831, offs=9) -- 13651(line=831, offs=34)
+*/
+ATSINSstore(ATSSELcon(tmp192, postiats_tysum_2, atslab__1), tmp197) ;
+/* (*nothing*) */
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13580(line=828, offs=12) -- 13586(line=828, offs=18)
+*/
+ATSINSmove(tmpret191, tmp192) ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13580(line=828, offs=12) -- 13693(line=833, offs=8)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13731(line=835, offs=7) -- 13836(line=839, offs=8)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13786(line=837, offs=19) -- 13789(line=837, offs=22)
+*/
+ATSINSmove(tmp198, ATSSELcon(tmp192, postiats_tysum_2, atslab__1)) ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13812(line=838, offs=23) -- 13827(line=838, offs=38)
+*/
+ATSINSfreecon(tmp192) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13731(line=835, offs=7) -- 13753(line=835, offs=29)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp198) ;
+ATSINSmove_tlcal(apy1, arg1) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_auxmain_con_91) ;
+ATStailcal_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13731(line=835, offs=7) -- 13836(line=839, offs=8)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13524(line=824, offs=18) -- 13881(line=841, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13259(line=809, offs=1) -- 13915(line=843, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret191) ;
+} /* end of [auxmain_con_91__91] */
+#endif // end of [TEMPLATE]
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 13066(line=789, offs=20) -- 13161(line=798, offs=2)
+*/
+/*
+local: auxmain_con_91$0(level=1)
+global: auxmain_con_91$0(level=1), __patsfun_92$0(level=2)
+local: xs$4252(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4253(2)(HSEfun(CLO(1); HSErefarg(1; HSEtyvar(a(8216))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
+global: xs$4252(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4253(2)(HSEfun(CLO(1); HSErefarg(1; HSEtyvar(a(8216))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_92__92(atstkind_type(atstype_ptrk) env0, atstype_cloptr env1, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret188, atstype_boxed) ;
+// ATStmpdec_void(tmp189) ;
+// ATStmpdec_void(tmp190) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13066(line=789, offs=20) -- 13161(line=798, offs=2)
+*/
+ATSINSflab(__patsflab___patsfun_92):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13066(line=789, offs=20) -- 13161(line=798, offs=2)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13078(line=791, offs=3) -- 13099(line=791, offs=24)
+*/
+ATSINSmove(tmpret188, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain_con$4251(1), flab=auxmain_con_91$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstype_boxed)(env0, env1)) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13106(line=794, offs=3) -- 13109(line=794, offs=6)
+*/
+ATSINSmove_void(tmp189, atspre_lazy_vt_free(env0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13113(line=795, offs=3) -- 13157(line=796, offs=33)
+*/
+ATSINSmove_void(tmp190, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;
+
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret188) ;
+} /* end of [__patsfun_92__92] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 12936(line=777, offs=1) -- 13966(line=847, offs=2)
+*/
+/*
+local: 
+global: stream_vt_filter_cloptr$89$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(8216)
+tmparg = S2Evar(a(8216))
+tmpsub = Some(a(8216) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__stream_vt_filter_cloptr__89__1(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret186__1, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12912(line=776, offs=1) -- 13966(line=847, offs=2)
+*/
+ATSINSflab(__patsflab_stream_vt_filter_cloptr):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12953(line=779, offs=5) -- 13966(line=847, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12953(line=779, offs=5) -- 12970(line=779, offs=22)
+*/
+ATSINSmove(tmpret186__1, auxmain_90__90__1(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12953(line=779, offs=5) -- 13966(line=847, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret186__1) ;
+} /* end of [ATSLIB_056_prelude__stream_vt_filter_cloptr__89__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 12986(line=783, offs=1) -- 13161(line=798, offs=2)
+*/
+/*
+local: auxmain_con_91$1(level=2)
+global: auxmain_90$1(level=2), auxmain_con_91$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+auxmain_90__90__1(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret187__1, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12986(line=783, offs=1) -- 13161(line=798, offs=2)
+*/
+ATSINSflab(__patsflab_auxmain_90):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13066(line=789, offs=20) -- 13161(line=798, offs=2)
+*/
+ATSINSmove_ldelay(tmpret187__1, atstype_boxed, ATSPMVcfunlab(1, __patsfun_92__92__1, (arg0, arg1))) ;
+ATSfunbody_end()
+ATSreturn(tmpret187__1) ;
+} /* end of [auxmain_90__90__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 13166(line=800, offs=1) -- 13936(line=845, offs=2)
+*/
+/*
+local: auxmain_90$1(level=2), auxmain_con_91$1(level=2)
+global: auxmain_90$1(level=2), auxmain_con_91$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+auxmain_con_91__91__1(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(apy1, atstype_cloptr) ;
+ATStmpdec(tmpret191__1, atstype_boxed) ;
+ATStmpdec(tmp192__1, atstype_boxed) ;
+// ATStmpdec_void(tmp195__1) ;
+ATStmpdec(tmp196__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp197__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp198__1, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13166(line=800, offs=1) -- 13936(line=845, offs=2)
+*/
+ATSINSflab(__patsflab_auxmain_con_91):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13259(line=809, offs=1) -- 13915(line=843, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13278(line=810, offs=16) -- 13281(line=810, offs=19)
+*/
+ATSINSmove_llazyeval(tmp192__1, atstype_boxed, arg0) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13288(line=813, offs=1) -- 13881(line=841, offs=6)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13306(line=814, offs=3) -- 13332(line=815, offs=12)
+*/
+ATSINSlab(__atstmplab9):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13278(line=810, offs=16) -- 13281(line=810, offs=19)
+*/
+ATSifthen(ATSCKptriscons(tmp192__1)) { ATSINSgoto(__atstmplab12) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13332(line=815, offs=12) -- 13332(line=815, offs=12)
+*/
+ATSINSlab(__atstmplab10):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13336(line=815, offs=16) -- 13462(line=822, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13357(line=817, offs=5) -- 13405(line=818, offs=37)
+*/
+ATSINSmove_void(tmp195__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg1))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13435(line=821, offs=5) -- 13448(line=821, offs=18)
+*/
+
+ATSINSmove_nil(tmpret191__1) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13336(line=815, offs=16) -- 13462(line=822, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13491(line=823, offs=3) -- 13520(line=824, offs=14)
+*/
+ATSINSlab(__atstmplab11):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13278(line=810, offs=16) -- 13281(line=810, offs=19)
+*/
+#if(0)
+ATSifthen(ATSCKptrisnull(tmp192__1)) { ATSINSdeadcode_fail() ; } ;
+#endif
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13520(line=824, offs=14) -- 13520(line=824, offs=14)
+*/
+ATSINSlab(__atstmplab12):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13524(line=824, offs=18) -- 13881(line=841, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13543(line=825, offs=16) -- 13550(line=825, offs=23)
+*/
+ATSINSmove(tmp196__1, ATSfunclo_clo(ATSPMVrefarg0(arg1), (atstype_cloptr, atsrefarg1_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_bool))(ATSPMVrefarg0(arg1), ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp192__1, postiats_tysum_1, atslab__0))))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13561(line=827, offs=5) -- 13836(line=839, offs=8)
+*/
+ATSif(
+tmp196__1
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13580(line=828, offs=12) -- 13693(line=833, offs=8)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13633(line=831, offs=16) -- 13651(line=831, offs=34)
+*/
+ATSINSmove(tmp197__1, auxmain_90__90__1(ATSSELcon(tmp192__1, postiats_tysum_1, atslab__1), arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13626(line=831, offs=9) -- 13651(line=831, offs=34)
+*/
+ATSINSstore(ATSSELcon(tmp192__1, postiats_tysum_1, atslab__1), tmp197__1) ;
+/* (*nothing*) */
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13580(line=828, offs=12) -- 13586(line=828, offs=18)
+*/
+ATSINSmove(tmpret191__1, tmp192__1) ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13580(line=828, offs=12) -- 13693(line=833, offs=8)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13731(line=835, offs=7) -- 13836(line=839, offs=8)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13786(line=837, offs=19) -- 13789(line=837, offs=22)
+*/
+ATSINSmove(tmp198__1, ATSSELcon(tmp192__1, postiats_tysum_1, atslab__1)) ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13812(line=838, offs=23) -- 13827(line=838, offs=38)
+*/
+ATSINSfreecon(tmp192__1) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13731(line=835, offs=7) -- 13753(line=835, offs=29)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp198__1) ;
+ATSINSmove_tlcal(apy1, arg1) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_auxmain_con_91) ;
+ATStailcal_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13731(line=835, offs=7) -- 13836(line=839, offs=8)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13524(line=824, offs=18) -- 13881(line=841, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13259(line=809, offs=1) -- 13915(line=843, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret191__1) ;
+} /* end of [auxmain_con_91__91__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 13066(line=789, offs=20) -- 13161(line=798, offs=2)
+*/
+/*
+local: auxmain_con_91$1(level=2)
+global: auxmain_con_91$1(level=2), __patsfun_92$1(level=3)
+local: xs$4252(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4253(2)(HSEfun(CLO(1); HSErefarg(1; HSEs2exp(S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
+global: xs$4252(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4253(2)(HSEfun(CLO(1); HSErefarg(1; HSEs2exp(S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_92__92__1(atstkind_type(atstype_ptrk) env0, atstype_cloptr env1, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret188__1, atstype_boxed) ;
+// ATStmpdec_void(tmp189__1) ;
+// ATStmpdec_void(tmp190__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13066(line=789, offs=20) -- 13161(line=798, offs=2)
+*/
+ATSINSflab(__patsflab___patsfun_92):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13066(line=789, offs=20) -- 13161(line=798, offs=2)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13078(line=791, offs=3) -- 13099(line=791, offs=24)
+*/
+ATSINSmove(tmpret188__1, auxmain_con_91__91__1(env0, env1)) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13106(line=794, offs=3) -- 13109(line=794, offs=6)
+*/
+ATSINSmove_void(tmp189__1, atspre_lazy_vt_free(env0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 13113(line=795, offs=3) -- 13157(line=796, offs=33)
+*/
+ATSINSmove_void(tmp190__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;
+
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret188__1) ;
+} /* end of [__patsfun_92__92__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1898(line=66, offs=40) -- 1928(line=66, offs=70)
+*/
+/*
+local: is_prime_51$0(level=0)
+global: is_prime_51$0(level=0), __patsfun_97$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+__patsfun_97(atsrefarg1_type(atstkind_t0ype(atstype_int)) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret211, atstkind_t0ype(atstype_bool)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1898(line=66, offs=40) -- 1928(line=66, offs=70)
+*/
+ATSINSflab(__patsflab___patsfun_97):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1907(line=66, offs=49) -- 1928(line=66, offs=70)
+*/
+ATSINSmove(tmpret211, is_prime_51(ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), ATSderef(arg0, atstkind_t0ype(atstype_int))))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret211) ;
+} /* end of [__patsfun_97] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1969(line=69, offs=4) -- 2041(line=70, offs=18)
+*/
+/*
+local: 
+global: div_gt_zero_98$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+div_gt_zero_98(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret212, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp213, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 1969(line=69, offs=4) -- 2041(line=70, offs=18)
+*/
+ATSINSflab(__patsflab_div_gt_zero_98):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2035(line=70, offs=12) -- 2040(line=70, offs=17)
+*/
+ATSINSmove(tmp213, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2026(line=70, offs=3) -- 2041(line=70, offs=18)
+*/
+ATSINSmove(tmpret212, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp213)) ;
+ATSfunbody_end()
+ATSreturn(tmpret212) ;
+} /* end of [div_gt_zero_98] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2079(line=73, offs=5) -- 2742(line=100, offs=6)
+*/
+/*
+local: exp_mod_prime_99$0(level=0)
+global: exp_mod_prime_99$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+exp_mod_prime_99(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1, atstkind_t0ype(atstype_int) arg2)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy2, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret214, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref215, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref216, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp217, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp218, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref221, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp222, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref223, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref224, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp225, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp226, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp227, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref230, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp231, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2079(line=73, offs=5) -- 2742(line=100, offs=6)
+*/
+ATSINSflab(__patsflab_exp_mod_prime_99):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2147(line=74, offs=3) -- 2742(line=100, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2159(line=75, offs=9) -- 2161(line=75, offs=11)
+*/
+/*
+ATSINStmpdec(tmpref215) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2164(line=75, offs=14) -- 2169(line=75, offs=19)
+*/
+ATSINSmove(tmpref215, atspre_g0int_mod_int(arg0, arg2)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2178(line=76, offs=9) -- 2180(line=76, offs=11)
+*/
+/*
+ATSINStmpdec(tmpref216) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2188(line=76, offs=19) -- 2193(line=76, offs=24)
+*/
+ATSINSmove(tmp217, atspre_g1int_sub_int(arg2, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2183(line=76, offs=14) -- 2194(line=76, offs=25)
+*/
+ATSINSmove(tmpref216, atspre_g0int_mod_int(arg1, tmp217)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2204(line=78, offs=5) -- 2736(line=99, offs=12)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2223(line=79, offs=9) -- 2224(line=79, offs=10)
+*/
+ATSINSlab(__atstmplab13):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2093(line=73, offs=19) -- 2094(line=73, offs=20)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab15) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2224(line=79, offs=10) -- 2224(line=79, offs=10)
+*/
+ATSINSlab(__atstmplab14):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2228(line=79, offs=14) -- 2229(line=79, offs=15)
+*/
+ATSINSmove(tmpret214, ATSPMVi0nt(0)) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2239(line=80, offs=10) -- 2239(line=80, offs=10)
+*/
+ATSINSlab(__atstmplab15):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2272(line=82, offs=14) -- 2277(line=82, offs=19)
+*/
+ATSINSmove(tmp218, ATSLIB_056_prelude__gt_g1int_int__6__4(arg1, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2269(line=82, offs=11) -- 2724(line=98, offs=14)
+*/
+ATSif(
+tmp218
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2295(line=83, offs=13) -- 2695(line=96, offs=16)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2317(line=84, offs=19) -- 2319(line=84, offs=21)
+*/
+/*
+ATSINStmpdec(tmpref221) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2342(line=84, offs=44) -- 2349(line=84, offs=51)
+*/
+ATSINSmove(tmp222, atspre_g0int_half_int(tmpref216)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2333(line=84, offs=35) -- 2351(line=84, offs=53)
+*/
+ATSINSmove(tmpref221, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp222)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2370(line=85, offs=19) -- 2372(line=85, offs=21)
+*/
+/*
+ATSINStmpdec(tmpref223) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2375(line=85, offs=24) -- 2381(line=85, offs=30)
+*/
+ATSINSmove(tmpref223, atspre_g0int_mod_int(tmpref216, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2400(line=86, offs=19) -- 2404(line=86, offs=23)
+*/
+/*
+ATSINStmpdec(tmpref224) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2427(line=86, offs=46) -- 2432(line=86, offs=51)
+*/
+ATSINSmove(tmp226, atspre_g1int_mul_int(arg0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2427(line=86, offs=46) -- 2436(line=86, offs=55)
+*/
+ATSINSmove(tmp225, atspre_g0int_mod_int(tmp226, arg2)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2418(line=86, offs=37) -- 2437(line=86, offs=56)
+*/
+ATSINSmove(tmpref224, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp225)) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2470(line=88, offs=18) -- 2476(line=88, offs=24)
+*/
+ATSINSmove(tmp227, ATSLIB_056_prelude__eq_g0int_int__12__9(tmpref223, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2467(line=88, offs=15) -- 2679(line=95, offs=20)
+*/
+ATSif(
+tmp227
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2498(line=89, offs=17) -- 2524(line=89, offs=43)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmpref224) ;
+ATSINSmove_tlcal(apy1, tmpref221) ;
+ATSINSmove_tlcal(apy2, arg2) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSargmove_tlcal(arg2, apy2) ;
+ATSINSfgoto(__patsflab_exp_mod_prime_99) ;
+ATStailcal_end()
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2560(line=91, offs=17) -- 2679(line=95, offs=20)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2586(line=92, offs=23) -- 2587(line=92, offs=24)
+*/
+/*
+ATSINStmpdec(tmpref230) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2594(line=92, offs=31) -- 2620(line=92, offs=57)
+*/
+ATSINSmove(tmp231, exp_mod_prime_99(tmpref224, tmpref221, arg2)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2590(line=92, offs=27) -- 2620(line=92, offs=57)
+*/
+ATSINSmove(tmpref230, atspre_g0int_mul_int(arg0, tmp231)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2658(line=94, offs=19) -- 2659(line=94, offs=20)
+*/
+ATSINSmove(tmpret214, tmpref230) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2560(line=91, offs=17) -- 2679(line=95, offs=20)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2295(line=83, offs=13) -- 2695(line=96, offs=16)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2723(line=98, offs=13) -- 2724(line=98, offs=14)
+*/
+ATSINSmove(tmpret214, ATSPMVi0nt(1)) ;
+} /* ATSendif */
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2147(line=74, offs=3) -- 2742(line=100, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret214) ;
+} /* end of [exp_mod_prime_99] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$4(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret10__4, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp11__4, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp11__4, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret10__4, atspre_g1int_gt_int(arg0, tmp11__4)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret10__4) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__4] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$9(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__9(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__9, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__9, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__9, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__9, atspre_g0int_eq_int(arg0, tmp18__9)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__9) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__9] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2861(line=104, offs=5) -- 3788(line=137, offs=6)
+*/
+/*
+local: exp_5$0(level=0), is_prime_51$0(level=0), div_gt_zero_98$0(level=0), exp_mod_prime_99$0(level=0)
+global: exp_5$0(level=0), sqrt_int_48$0(level=0), is_prime_51$0(level=0), div_gt_zero_98$0(level=0), exp_mod_prime_99$0(level=0), jacobi_105$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+jacobi_105(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret232, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2861(line=104, offs=5) -- 3788(line=137, offs=6)
+*/
+ATSINSflab(__patsflab_jacobi_105):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2902(line=105, offs=3) -- 3788(line=137, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3775(line=136, offs=5) -- 3782(line=136, offs=12)
+*/
+ATSINSmove(tmpret232, loop_110(arg0, arg1, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2902(line=105, offs=3) -- 3788(line=137, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret232) ;
+} /* end of [jacobi_105] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2955(line=107, offs=9) -- 3282(line=117, offs=12)
+*/
+/*
+local: exp_mod_prime_99$0(level=0)
+global: exp_mod_prime_99$0(level=0), legendre_106$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+legendre_106(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret233, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp234, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref235, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp236, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp237, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp238, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp239, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp242, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp243, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp244, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp247, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 2955(line=107, offs=9) -- 3282(line=117, offs=12)
+*/
+ATSINSflab(__patsflab_legendre_106):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3043(line=108, offs=13) -- 3048(line=108, offs=18)
+*/
+ATSINSmove(tmp234, atspre_g0int_mod_int(arg1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3037(line=108, offs=7) -- 3282(line=117, offs=12)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3062(line=109, offs=11) -- 3063(line=109, offs=12)
+*/
+ATSINSlab(__atstmplab16):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3043(line=108, offs=13) -- 3048(line=108, offs=18)
+*/
+ATSifnthen(ATSCKpat_int(tmp234, ATSPMVint(0))) { ATSINSgoto(__atstmplab18) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3063(line=109, offs=12) -- 3063(line=109, offs=12)
+*/
+ATSINSlab(__atstmplab17):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3067(line=109, offs=16) -- 3068(line=109, offs=17)
+*/
+ATSINSmove(tmpret233, ATSPMVi0nt(0)) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3080(line=110, offs=12) -- 3080(line=110, offs=12)
+*/
+ATSINSlab(__atstmplab18):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3084(line=110, offs=16) -- 3282(line=117, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3102(line=111, offs=15) -- 3103(line=111, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref235) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3124(line=111, offs=37) -- 3129(line=111, offs=42)
+*/
+ATSINSmove(tmp237, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3123(line=111, offs=36) -- 3134(line=111, offs=47)
+*/
+ATSINSmove(tmp236, atspre_g1int_div_int(tmp237, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3106(line=111, offs=19) -- 3138(line=111, offs=51)
+*/
+ATSINSmove(tmpref235, exp_mod_prime_99(arg0, tmp236, arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3166(line=113, offs=17) -- 3167(line=113, offs=18)
+*/
+ATSINSmove(tmp238, tmpref235) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3160(line=113, offs=11) -- 3270(line=116, offs=21)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3186(line=114, offs=16) -- 3186(line=114, offs=16)
+*/
+ATSINSlab(__atstmplab19):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-guard:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3197(line=114, offs=27) -- 3202(line=114, offs=32)
+*/
+ATSINSmove(tmp243, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3192(line=114, offs=22) -- 3203(line=114, offs=33)
+*/
+ATSINSmove(tmp242, atspre_g0int_mod_int(tmp238, tmp243)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3192(line=114, offs=22) -- 3207(line=114, offs=37)
+*/
+ATSINSmove(tmp239, ATSLIB_056_prelude__eq_g0int_int__12__10(tmp242, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3192(line=114, offs=22) -- 3207(line=114, offs=37)
+*/
+ATSifnthen(ATSCKpat_bool(tmp239, ATSPMVbool_true())) { ATSINSgoto(__atstmplab20) ; } ;
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3211(line=114, offs=41) -- 3213(line=114, offs=43)
+*/
+ATSINSmove(tmpret233, atspre_g1int_neg_int(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3229(line=115, offs=16) -- 3229(line=115, offs=16)
+*/
+ATSINSlab(__atstmplab20):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-guard:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3235(line=115, offs=22) -- 3240(line=115, offs=27)
+*/
+ATSINSmove(tmp247, atspre_g0int_mod_int(tmp238, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3235(line=115, offs=22) -- 3244(line=115, offs=31)
+*/
+ATSINSmove(tmp244, ATSLIB_056_prelude__eq_g0int_int__12__11(tmp247, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3235(line=115, offs=22) -- 3244(line=115, offs=31)
+*/
+ATSifnthen(ATSCKpat_bool(tmp244, ATSPMVbool_true())) { ATSINSgoto(__atstmplab21) ; } ;
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3248(line=115, offs=35) -- 3249(line=115, offs=36)
+*/
+ATSINSmove(tmpret233, ATSPMVi0nt(0)) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3265(line=116, offs=16) -- 3265(line=116, offs=16)
+*/
+ATSINSlab(__atstmplab21):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3269(line=116, offs=20) -- 3270(line=116, offs=21)
+*/
+ATSINSmove(tmpret233, ATSPMVi0nt(1)) ;
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3084(line=110, offs=16) -- 3282(line=117, offs=12)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret233) ;
+} /* end of [legendre_106] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$10(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__10(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__10, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__10, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__10, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__10, atspre_g0int_eq_int(arg0, tmp18__10)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__10) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__10] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$11(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__11(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__11, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__11, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__11, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__11, atspre_g0int_eq_int(arg0, tmp18__11)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__11) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__11] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3296(line=119, offs=9) -- 3451(line=122, offs=17)
+*/
+/*
+local: div_gt_zero_98$0(level=0), get_multiplicity_109$0(level=1)
+global: div_gt_zero_98$0(level=0), get_multiplicity_109$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+get_multiplicity_109(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret248, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp249, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp250, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp251, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3296(line=119, offs=9) -- 3451(line=122, offs=17)
+*/
+ATSINSflab(__patsflab_get_multiplicity_109):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3368(line=120, offs=13) -- 3373(line=120, offs=18)
+*/
+ATSINSmove(tmp249, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3362(line=120, offs=7) -- 3451(line=122, offs=17)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3387(line=121, offs=11) -- 3388(line=121, offs=12)
+*/
+ATSINSlab(__atstmplab22):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3368(line=120, offs=13) -- 3373(line=120, offs=18)
+*/
+ATSifnthen(ATSCKpat_int(tmp249, ATSPMVint(0))) { ATSINSgoto(__atstmplab24) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3388(line=121, offs=12) -- 3388(line=121, offs=12)
+*/
+ATSINSlab(__atstmplab23):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3413(line=121, offs=37) -- 3430(line=121, offs=54)
+*/
+ATSINSmove(tmp251, div_gt_zero_98(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3396(line=121, offs=20) -- 3434(line=121, offs=58)
+*/
+ATSINSmove(tmp250, get_multiplicity_109(tmp251, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3392(line=121, offs=16) -- 3434(line=121, offs=58)
+*/
+ATSINSmove(tmpret248, atspre_g1int_add_int(ATSPMVi0nt(1), tmp250)) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3446(line=122, offs=12) -- 3446(line=122, offs=12)
+*/
+ATSINSlab(__atstmplab24):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3450(line=122, offs=16) -- 3451(line=122, offs=17)
+*/
+ATSINSmove(tmpret248, ATSPMVi0nt(0)) ;
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret248) ;
+} /* end of [get_multiplicity_109] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3465(line=124, offs=9) -- 3765(line=134, offs=26)
+*/
+/*
+local: exp_5$0(level=0), is_prime_51$0(level=0), legendre_106$0(level=1), get_multiplicity_109$0(level=1), loop_110$0(level=1)
+global: exp_5$0(level=0), is_prime_51$0(level=0), div_gt_zero_98$0(level=0), exp_mod_prime_99$0(level=0), legendre_106$0(level=1), get_multiplicity_109$0(level=1), loop_110$0(level=1)
+local: a$5139(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), n$5140(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: a$5139(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), n$5140(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_110(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret252, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp253, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp256, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp259, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp260, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp263, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp264, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp265, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp266, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp267, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp268, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp269, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3465(line=124, offs=9) -- 3765(line=134, offs=26)
+*/
+ATSINSflab(__patsflab_loop_110):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3521(line=125, offs=10) -- 3528(line=125, offs=17)
+*/
+ATSINSmove(tmp253, ATSLIB_056_prelude__gt_g1int_int__6__5(arg0, env1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3518(line=125, offs=7) -- 3765(line=134, offs=26)
+*/
+ATSif(
+tmp253
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3542(line=126, offs=9) -- 3543(line=126, offs=10)
+*/
+ATSINSmove(tmpret252, ATSPMVi0nt(1)) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3566(line=128, offs=12) -- 3571(line=128, offs=17)
+*/
+ATSINSmove(tmp256, ATSLIB_056_prelude__eq_g1int_int__18__3(env0, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3563(line=128, offs=9) -- 3765(line=134, offs=26)
+*/
+ATSif(
+tmp256
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3587(line=129, offs=11) -- 3588(line=129, offs=12)
+*/
+ATSINSmove(tmpret252, ATSPMVi0nt(0)) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3615(line=131, offs=14) -- 3642(line=131, offs=41)
+*/
+ATSINSmove(tmp263, atspre_g0int_mod_int(env0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3615(line=131, offs=14) -- 3642(line=131, offs=41)
+*/
+ATSINSmove(tmp260, ATSLIB_056_prelude__eq_g0int_int__12__12(tmp263, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3615(line=131, offs=14) -- 3642(line=131, offs=41)
+*/
+ATSif(
+tmp260
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3615(line=131, offs=14) -- 3642(line=131, offs=41)
+*/
+ATSINSmove(tmp259, is_prime_51(arg0)) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3615(line=131, offs=14) -- 3642(line=131, offs=41)
+*/
+ATSINSmove(tmp259, ATSPMVbool_false()) ;
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3612(line=131, offs=11) -- 3765(line=134, offs=26)
+*/
+ATSif(
+tmp259
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3666(line=132, offs=18) -- 3673(line=132, offs=25)
+*/
+ATSINSmove(tmp265, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3661(line=132, offs=13) -- 3674(line=132, offs=26)
+*/
+ATSINSmove(tmp264, loop_110(env0, env1, tmp265)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3681(line=132, offs=33) -- 3697(line=132, offs=49)
+*/
+ATSINSmove(tmp267, legendre_106(arg0, env1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3699(line=132, offs=51) -- 3723(line=132, offs=75)
+*/
+ATSINSmove(tmp268, get_multiplicity_109(env0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3677(line=132, offs=29) -- 3724(line=132, offs=76)
+*/
+ATSINSmove(tmp266, exp_5(tmp267, tmp268)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3661(line=132, offs=13) -- 3724(line=132, offs=76)
+*/
+ATSINSmove(tmpret252, atspre_g0int_mul_int(tmp264, tmp266)) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3757(line=134, offs=18) -- 3764(line=134, offs=25)
+*/
+ATSINSmove(tmp269, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3752(line=134, offs=13) -- 3765(line=134, offs=26)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp269) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSfgoto(__patsflab_loop_110) ;
+ATStailcal_end()
+
+} /* ATSendif */
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret252) ;
+} /* end of [loop_110] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$5(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret10__5, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp11__5, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp11__5, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret10__5, atspre_g1int_gt_int(arg0, tmp11__5)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret10__5) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__5] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
+*/
+/*
+local: 
+global: eq_g1int_int$18$3(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4639)
+tmparg = S2Evar(tk(4639))
+tmpsub = Some(tk(4639) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__18__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret27__3, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp28__3, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
+*/
+ATSINSmove(tmp28__3, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
+*/
+ATSINSmove(tmpret27__3, atspre_g1int_eq_int(arg0, tmp28__3)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret27__3) ;
+} /* end of [ATSLIB_056_prelude__eq_g1int_int__18__3] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$12(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__12(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__12, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__12, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__12, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__12, atspre_g0int_eq_int(arg0, tmp18__12)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__12) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__12] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3863(line=140, offs=5) -- 4201(line=150, offs=26)
+*/
+/*
+local: jacobi2_114$0(level=0)
+global: jacobi2_114$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+jacobi2_114(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret270, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp271, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp274, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp275, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp278, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp279, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp280, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp283, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp286, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp287, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp288, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp289, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp290, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp291, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp292, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp295, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp298, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp299, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3863(line=140, offs=5) -- 4201(line=150, offs=26)
+*/
+ATSINSflab(__patsflab_jacobi2_114):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3920(line=141, offs=3) -- 4201(line=150, offs=26)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3937(line=142, offs=7) -- 3938(line=142, offs=8)
+*/
+ATSINSlab(__atstmplab25):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3886(line=140, offs=28) -- 3887(line=140, offs=29)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab27) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3938(line=142, offs=8) -- 3938(line=142, offs=8)
+*/
+ATSINSlab(__atstmplab26):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3942(line=142, offs=12) -- 3943(line=142, offs=13)
+*/
+ATSINSmove(tmpret270, ATSPMVi0nt(0)) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3950(line=143, offs=7) -- 3951(line=143, offs=8)
+*/
+ATSINSlab(__atstmplab27):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3886(line=140, offs=28) -- 3887(line=140, offs=29)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab29) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3951(line=143, offs=8) -- 3951(line=143, offs=8)
+*/
+ATSINSlab(__atstmplab28):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3955(line=143, offs=12) -- 3956(line=143, offs=13)
+*/
+ATSINSmove(tmpret270, ATSPMVi0nt(1)) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3964(line=144, offs=8) -- 3964(line=144, offs=8)
+*/
+ATSINSlab(__atstmplab29):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-guard:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3970(line=144, offs=14) -- 3975(line=144, offs=19)
+*/
+ATSINSmove(tmp271, ATSLIB_056_prelude__gt_g1int_int__6__6(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3970(line=144, offs=14) -- 3975(line=144, offs=19)
+*/
+ATSifnthen(ATSCKpat_bool(tmp271, ATSPMVbool_true())) { ATSINSgoto(__atstmplab30) ; } ;
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3996(line=144, offs=40) -- 4001(line=144, offs=45)
+*/
+ATSINSmove(tmp274, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 3979(line=144, offs=23) -- 4006(line=144, offs=50)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp274)) ;
+ATSINSmove_tlcal(apy1, arg1) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_jacobi2_114) ;
+ATStailcal_end()
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4014(line=145, offs=8) -- 4014(line=145, offs=8)
+*/
+ATSINSlab(__atstmplab30):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-guard:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4020(line=145, offs=14) -- 4025(line=145, offs=19)
+*/
+ATSINSmove(tmp278, atspre_g0int_mod_int(arg0, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4020(line=145, offs=14) -- 4029(line=145, offs=23)
+*/
+ATSINSmove(tmp275, ATSLIB_056_prelude__eq_g0int_int__12__13(tmp278, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4020(line=145, offs=14) -- 4029(line=145, offs=23)
+*/
+ATSifnthen(ATSCKpat_bool(tmp275, ATSPMVbool_true())) { ATSINSgoto(__atstmplab31) ; } ;
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4036(line=145, offs=30) -- 4059(line=145, offs=53)
+*/
+ATSINSmove(tmp283, atspre_g0int_mod_int(arg1, ATSPMVi0nt(8))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4036(line=145, offs=30) -- 4059(line=145, offs=53)
+*/
+ATSINSmove(tmp280, ATSLIB_056_prelude__eq_g0int_int__12__14(tmp283, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4036(line=145, offs=30) -- 4059(line=145, offs=53)
+*/
+ATSif(
+tmp280
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4036(line=145, offs=30) -- 4059(line=145, offs=53)
+*/
+ATSINSmove(tmp279, ATSPMVbool_true()) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4036(line=145, offs=30) -- 4059(line=145, offs=53)
+*/
+ATSINSmove(tmp286, atspre_g0int_mod_int(arg1, ATSPMVi0nt(8))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4036(line=145, offs=30) -- 4059(line=145, offs=53)
+*/
+ATSINSmove(tmp287, atspre_g1int_neg_int(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4036(line=145, offs=30) -- 4059(line=145, offs=53)
+*/
+ATSINSmove(tmp279, ATSLIB_056_prelude__eq_g0int_int__12__15(tmp286, tmp287)) ;
+
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4033(line=145, offs=27) -- 4122(line=148, offs=25)
+*/
+ATSif(
+tmp279
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4079(line=146, offs=15) -- 4084(line=146, offs=20)
+*/
+ATSINSmove(tmp288, atspre_g1int_div_int(arg0, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4071(line=146, offs=7) -- 4088(line=146, offs=24)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp288) ;
+ATSINSmove_tlcal(apy1, arg1) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_jacobi2_114) ;
+ATStailcal_end()
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4113(line=148, offs=16) -- 4118(line=148, offs=21)
+*/
+ATSINSmove(tmp290, atspre_g1int_div_int(arg0, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4105(line=148, offs=8) -- 4122(line=148, offs=25)
+*/
+ATSINSmove(tmp289, jacobi2_114(tmp290, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4104(line=148, offs=7) -- 4122(line=148, offs=25)
+*/
+ATSINSmove(tmpret270, atspre_g0int_neg_int(tmp289)) ;
+
+} /* ATSendif */
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4130(line=149, offs=8) -- 4130(line=149, offs=8)
+*/
+ATSINSlab(__atstmplab31):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-guard:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4136(line=149, offs=14) -- 4158(line=149, offs=36)
+*/
+ATSINSmove(tmp295, atspre_g0int_mod_int(arg0, ATSPMVi0nt(4))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4136(line=149, offs=14) -- 4158(line=149, offs=36)
+*/
+ATSINSmove(tmp292, ATSLIB_056_prelude__eq_g0int_int__12__16(tmp295, ATSPMVi0nt(3))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4136(line=149, offs=14) -- 4158(line=149, offs=36)
+*/
+ATSif(
+tmp292
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4136(line=149, offs=14) -- 4158(line=149, offs=36)
+*/
+ATSINSmove(tmp298, atspre_g0int_mod_int(arg1, ATSPMVi0nt(4))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4136(line=149, offs=14) -- 4158(line=149, offs=36)
+*/
+ATSINSmove(tmp291, ATSLIB_056_prelude__eq_g0int_int__12__17(tmp298, ATSPMVi0nt(3))) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4136(line=149, offs=14) -- 4158(line=149, offs=36)
+*/
+ATSINSmove(tmp291, ATSPMVbool_false()) ;
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4136(line=149, offs=14) -- 4158(line=149, offs=36)
+*/
+ATSifnthen(ATSCKpat_bool(tmp291, ATSPMVbool_true())) { ATSINSgoto(__atstmplab32) ; } ;
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4162(line=149, offs=40) -- 4175(line=149, offs=53)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, arg1) ;
+ATSINSmove_tlcal(apy1, arg0) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_jacobi2_114) ;
+ATStailcal_end()
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4183(line=150, offs=8) -- 4183(line=150, offs=8)
+*/
+ATSINSlab(__atstmplab32):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4188(line=150, offs=13) -- 4201(line=150, offs=26)
+*/
+ATSINSmove(tmp299, jacobi2_114(arg1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4187(line=150, offs=12) -- 4201(line=150, offs=26)
+*/
+ATSINSmove(tmpret270, atspre_g0int_neg_int(tmp299)) ;
+
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret270) ;
+} /* end of [jacobi2_114] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$6(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__6(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret10__6, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp11__6, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp11__6, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret10__6, atspre_g1int_gt_int(arg0, tmp11__6)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret10__6) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__6] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$13(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__13(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__13, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__13, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__13, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__13, atspre_g0int_eq_int(arg0, tmp18__13)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__13) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__13] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$14(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__14(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__14, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__14, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__14, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__14, atspre_g0int_eq_int(arg0, tmp18__14)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__14) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__14] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$15(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__15(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__15, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__15, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__15, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__15, atspre_g0int_eq_int(arg0, tmp18__15)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__15) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__15] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$16(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__16(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__16, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__16, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__16, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__16, atspre_g0int_eq_int(arg0, tmp18__16)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__16) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__16] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$17(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__17(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__17, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__17, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__17, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__17, atspre_g0int_eq_int(arg0, tmp18__17)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__17) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__17] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4206(line=152, offs=4) -- 4275(line=153, offs=32)
+*/
+/*
+local: divisors_67$0(level=0)
+global: sqrt_int_48$0(level=0), divisors_67$0(level=0), count_divisors_122$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+count_divisors_122(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret300, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp312, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4206(line=152, offs=4) -- 4275(line=153, offs=32)
+*/
+ATSINSflab(__patsflab_count_divisors_122):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4263(line=153, offs=20) -- 4273(line=153, offs=30)
+*/
+ATSINSmove(tmp312, divisors_67(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4246(line=153, offs=3) -- 4275(line=153, offs=32)
+*/
+ATSINSmove(tmpret300, ATSLIB_056_prelude__stream_vt_length__123__1(tmp312)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret300) ;
+} /* end of [count_divisors_122] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 8385(line=480, offs=17) -- 8607(line=495, offs=4)
+*/
+/*
+local: 
+global: stream_vt_length$123$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = a(8178)
+tmparg = S2Evar(a(8178))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_int)
+ATSLIB_056_prelude__stream_vt_length__123(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret301, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8369(line=480, offs=1) -- 8607(line=495, offs=4)
+*/
+ATSINSflab(__patsflab_stream_vt_length):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8393(line=480, offs=25) -- 8607(line=495, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8590(line=494, offs=16) -- 8602(line=494, offs=28)
+*/
+ATSINSmove(tmpret301, ATSfunclo_fun(PMVd2vfunlab(d2v=loop$4186(1), flab=loop_124$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)), atstkind_t0ype(atstype_int))(arg0, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8393(line=480, offs=25) -- 8607(line=495, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret301) ;
+} /* end of [ATSLIB_056_prelude__stream_vt_length__123] */
+#endif // end of [TEMPLATE]
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 8404(line=483, offs=1) -- 8548(line=491, offs=2)
+*/
+/*
+local: loop_124$0(level=1)
+global: loop_124$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_124__124(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret302, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp303, atstype_boxed) ;
+ATStmpdec(tmp305, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp306, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8404(line=483, offs=1) -- 8548(line=491, offs=2)
+*/
+ATSINSflab(__patsflab_loop_124):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8470(line=488, offs=9) -- 8473(line=488, offs=12)
+*/
+ATSINSmove_llazyeval(tmp303, atstype_boxed, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8464(line=488, offs=3) -- 8546(line=490, offs=44)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8481(line=489, offs=5) -- 8497(line=489, offs=21)
+*/
+ATSINSlab(__atstmplab33):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8470(line=488, offs=9) -- 8473(line=488, offs=12)
+*/
+ATSifthen(ATSCKptriscons(tmp303)) { ATSINSgoto(__atstmplab36) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8497(line=489, offs=21) -- 8497(line=489, offs=21)
+*/
+ATSINSlab(__atstmplab34):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8501(line=489, offs=25) -- 8502(line=489, offs=26)
+*/
+ATSINSmove(tmpret302, arg1) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8507(line=490, offs=5) -- 8529(line=490, offs=27)
+*/
+ATSINSlab(__atstmplab35):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8470(line=488, offs=9) -- 8473(line=488, offs=12)
+*/
+#if(0)
+ATSifthen(ATSCKptrisnull(tmp303)) { ATSINSdeadcode_fail() ; } ;
+#endif
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8529(line=490, offs=27) -- 8529(line=490, offs=27)
+*/
+ATSINSlab(__atstmplab36):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8526(line=490, offs=24) -- 8528(line=490, offs=26)
+*/
+ATSINSmove(tmp305, ATSSELcon(tmp303, postiats_tysum_3, atslab__1)) ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8507(line=490, offs=5) -- 8546(line=490, offs=44)
+*/
+ATSINSfreecon(tmp303) ;
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8542(line=490, offs=40) -- 8545(line=490, offs=43)
+*/
+ATSINSmove(tmp306, PMVtmpltcst(g1int_add<S2Eextkind(atstype_int)>)(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8533(line=490, offs=31) -- 8546(line=490, offs=44)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp305) ;
+ATSINSmove_tlcal(apy1, tmp306) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_loop_124) ;
+ATStailcal_end()
+
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret302) ;
+} /* end of [loop_124__124] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 8385(line=480, offs=17) -- 8607(line=495, offs=4)
+*/
+/*
+local: 
+global: stream_vt_length$123$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(8178)
+tmparg = S2Evar(a(8178))
+tmpsub = Some(a(8178) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
+*/
+atstkind_t0ype(atstype_int)
+ATSLIB_056_prelude__stream_vt_length__123__1(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret301__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8369(line=480, offs=1) -- 8607(line=495, offs=4)
+*/
+ATSINSflab(__patsflab_stream_vt_length):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8393(line=480, offs=25) -- 8607(line=495, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8590(line=494, offs=16) -- 8602(line=494, offs=28)
+*/
+ATSINSmove(tmpret301__1, loop_124__124__1(arg0, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8393(line=480, offs=25) -- 8607(line=495, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret301__1) ;
+} /* end of [ATSLIB_056_prelude__stream_vt_length__123__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 8404(line=483, offs=1) -- 8548(line=491, offs=2)
+*/
+/*
+local: loop_124$1(level=2)
+global: loop_124$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_124__124__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret302__1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp303__1, atstype_boxed) ;
+ATStmpdec(tmp305__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp306__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8404(line=483, offs=1) -- 8548(line=491, offs=2)
+*/
+ATSINSflab(__patsflab_loop_124):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8470(line=488, offs=9) -- 8473(line=488, offs=12)
+*/
+ATSINSmove_llazyeval(tmp303__1, atstype_boxed, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8464(line=488, offs=3) -- 8546(line=490, offs=44)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8481(line=489, offs=5) -- 8497(line=489, offs=21)
+*/
+ATSINSlab(__atstmplab33):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8470(line=488, offs=9) -- 8473(line=488, offs=12)
+*/
+ATSifthen(ATSCKptriscons(tmp303__1)) { ATSINSgoto(__atstmplab36) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8497(line=489, offs=21) -- 8497(line=489, offs=21)
+*/
+ATSINSlab(__atstmplab34):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8501(line=489, offs=25) -- 8502(line=489, offs=26)
+*/
+ATSINSmove(tmpret302__1, arg1) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8507(line=490, offs=5) -- 8529(line=490, offs=27)
+*/
+ATSINSlab(__atstmplab35):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8470(line=488, offs=9) -- 8473(line=488, offs=12)
+*/
+#if(0)
+ATSifthen(ATSCKptrisnull(tmp303__1)) { ATSINSdeadcode_fail() ; } ;
+#endif
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8529(line=490, offs=27) -- 8529(line=490, offs=27)
+*/
+ATSINSlab(__atstmplab36):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8526(line=490, offs=24) -- 8528(line=490, offs=26)
+*/
+ATSINSmove(tmp305__1, ATSSELcon(tmp303__1, postiats_tysum_1, atslab__1)) ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8507(line=490, offs=5) -- 8546(line=490, offs=44)
+*/
+ATSINSfreecon(tmp303__1) ;
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8542(line=490, offs=40) -- 8545(line=490, offs=43)
+*/
+ATSINSmove(tmp306__1, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8533(line=490, offs=31) -- 8546(line=490, offs=44)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp305__1) ;
+ATSINSmove_tlcal(apy1, tmp306__1) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_loop_124) ;
+ATStailcal_end()
+
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret302__1) ;
+} /* end of [loop_124__124__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4355(line=158, offs=4) -- 4954(line=184, offs=6)
+*/
+/*
+local: sqrt_int_48$0(level=0)
+global: sqrt_int_48$0(level=0), sum_divisors_127$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+sum_divisors_127(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret313, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4355(line=158, offs=4) -- 4954(line=184, offs=6)
+*/
+ATSINSflab(__patsflab_sum_divisors_127):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4393(line=159, offs=3) -- 4954(line=184, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4938(line=183, offs=5) -- 4948(line=183, offs=15)
+*/
+ATSINSmove(tmpret313, loop_128(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4393(line=159, offs=3) -- 4954(line=184, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret313) ;
+} /* end of [sum_divisors_127] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4405(line=160, offs=9) -- 4928(line=181, offs=27)
+*/
+/*
+local: sqrt_int_48$0(level=0), loop_128$0(level=1)
+global: sqrt_int_48$0(level=0), loop_128$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_128(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret314, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp315, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp318, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp319, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp322, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp323, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp326, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref327, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp328, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp331, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref332, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp333, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp334, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp335, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp336, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4405(line=160, offs=9) -- 4928(line=181, offs=27)
+*/
+ATSINSflab(__patsflab_loop_128):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4499(line=161, offs=17) -- 4509(line=161, offs=27)
+*/
+ATSINSmove(tmp318, sqrt_int_48(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4492(line=161, offs=10) -- 4509(line=161, offs=27)
+*/
+ATSINSmove(tmp315, ATSLIB_056_prelude__gte_g1int_int__71__2(arg1, tmp318)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4489(line=161, offs=7) -- 4928(line=181, offs=27)
+*/
+ATSif(
+tmp315
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4527(line=162, offs=12) -- 4534(line=162, offs=19)
+*/
+ATSINSmove(tmp322, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4527(line=162, offs=12) -- 4538(line=162, offs=23)
+*/
+ATSINSmove(tmp319, ATSLIB_056_prelude__eq_g0int_int__12__18(tmp322, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4524(line=162, offs=9) -- 4736(line=172, offs=12)
+*/
+ATSif(
+tmp319
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4557(line=163, offs=14) -- 4564(line=163, offs=21)
+*/
+ATSINSmove(tmp326, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4557(line=163, offs=14) -- 4571(line=163, offs=28)
+*/
+ATSINSmove(tmp323, ATSLIB_056_prelude__neq_g1int_int__75__2(tmp326, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4554(line=163, offs=11) -- 4711(line=170, offs=16)
+*/
+ATSif(
+tmp323
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4589(line=164, offs=13) -- 4680(line=168, offs=16)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4611(line=165, offs=19) -- 4612(line=165, offs=20)
+*/
+/*
+ATSINStmpdec(tmpref327) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4620(line=165, offs=28) -- 4627(line=165, offs=35)
+*/
+ATSINSmove(tmpref327, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4657(line=167, offs=15) -- 4664(line=167, offs=22)
+*/
+ATSINSmove(tmpret314, atspre_g1int_add_int(arg1, tmpref327)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4589(line=164, offs=13) -- 4680(line=168, offs=16)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4708(line=170, offs=13) -- 4711(line=170, offs=16)
+*/
+ATSINSmove(tmpret314, arg1) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4735(line=172, offs=11) -- 4736(line=172, offs=12)
+*/
+ATSINSmove(tmpret314, ATSPMVi0nt(0)) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4759(line=174, offs=12) -- 4766(line=174, offs=19)
+*/
+ATSINSmove(tmp331, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4759(line=174, offs=12) -- 4770(line=174, offs=23)
+*/
+ATSINSmove(tmp328, ATSLIB_056_prelude__eq_g0int_int__12__19(tmp331, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4756(line=174, offs=9) -- 4928(line=181, offs=27)
+*/
+ATSif(
+tmp328
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4786(line=175, offs=11) -- 4888(line=179, offs=14)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4806(line=176, offs=17) -- 4807(line=176, offs=18)
+*/
+/*
+ATSINStmpdec(tmpref332) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4815(line=176, offs=26) -- 4822(line=176, offs=33)
+*/
+ATSINSmove(tmpref332, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4848(line=178, offs=13) -- 4855(line=178, offs=20)
+*/
+ATSINSmove(tmp333, atspre_g1int_add_int(arg1, tmpref332)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4866(line=178, offs=31) -- 4873(line=178, offs=38)
+*/
+ATSINSmove(tmp335, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4858(line=178, offs=23) -- 4874(line=178, offs=39)
+*/
+ATSINSmove(tmp334, loop_128(arg0, tmp335)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4848(line=178, offs=13) -- 4874(line=178, offs=39)
+*/
+ATSINSmove(tmpret314, atspre_g0int_add_int(tmp333, tmp334)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4786(line=175, offs=11) -- 4888(line=179, offs=14)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4920(line=181, offs=19) -- 4927(line=181, offs=26)
+*/
+ATSINSmove(tmp336, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4912(line=181, offs=11) -- 4928(line=181, offs=27)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, arg0) ;
+ATSINSmove_tlcal(apy1, tmp336) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_loop_128) ;
+ATStailcal_end()
+
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret314) ;
+} /* end of [loop_128] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
+*/
+/*
+local: 
+global: gte_g1int_int$71$2(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4636)
+tmparg = S2Evar(tk(4636))
+tmpsub = Some(tk(4636) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__71__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret149__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp150__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
+*/
+ATSINSflab(__patsflab_gte_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
+*/
+ATSINSmove(tmp150__2, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
+*/
+ATSINSmove(tmpret149__2, atspre_g1int_gte_int(arg0, tmp150__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret149__2) ;
+} /* end of [ATSLIB_056_prelude__gte_g1int_int__71__2] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$18(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__18(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__18, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__18, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__18, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__18, atspre_g0int_eq_int(arg0, tmp18__18)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__18) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__18] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)
+*/
+/*
+local: 
+global: neq_g1int_int$75$2(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4642)
+tmparg = S2Evar(tk(4642))
+tmpsub = Some(tk(4642) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g1int_int__75__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret159__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp160__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12900(line=671, offs=1) -- 12956(line=672, offs=43)
+*/
+ATSINSflab(__patsflab_neq_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)
+*/
+ATSINSmove(tmp160__2, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)
+*/
+ATSINSmove(tmpret159__2, atspre_g1int_neq_int(arg0, tmp160__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret159__2) ;
+} /* end of [ATSLIB_056_prelude__neq_g1int_int__75__2] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$19(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__19(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__19, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__19, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__19, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__19, atspre_g0int_eq_int(arg0, tmp18__19)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__19) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__19] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4959(line=186, offs=4) -- 5014(line=187, offs=22)
+*/
+/*
+local: sum_divisors_127$0(level=0)
+global: sqrt_int_48$0(level=0), sum_divisors_127$0(level=0), is_perfect_134$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+is_perfect_134(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret337, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp340, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4959(line=186, offs=4) -- 5014(line=187, offs=22)
+*/
+ATSINSflab(__patsflab_is_perfect_134):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4995(line=187, offs=3) -- 5009(line=187, offs=17)
+*/
+ATSINSmove(tmp340, sum_divisors_127(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 4995(line=187, offs=3) -- 5014(line=187, offs=22)
+*/
+ATSINSmove(tmpret337, ATSLIB_056_prelude__eq_g0int_int__12__20(tmp340, arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret337) ;
+} /* end of [is_perfect_134] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$20(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__20(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__20, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__20, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__20, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__20, atspre_g0int_eq_int(arg0, tmp18__20)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__20) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__20] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5020(line=189, offs=5) -- 5340(line=203, offs=8)
+*/
+/*
+local: rip_136$0(level=0)
+global: rip_136$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+rip_136(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret341, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp342, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp347, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp348, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp351, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref352, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp353, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp356, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5020(line=189, offs=5) -- 5340(line=203, offs=8)
+*/
+ATSINSflab(__patsflab_rip_136):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5142(line=190, offs=6) -- 5147(line=190, offs=11)
+*/
+ATSINSmove(tmp347, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5142(line=190, offs=6) -- 5152(line=190, offs=16)
+*/
+ATSINSmove(tmp342, ATSLIB_056_prelude__neq_g0int_int__137__1(tmp347, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5139(line=190, offs=3) -- 5340(line=203, offs=8)
+*/
+ATSif(
+tmp342
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5162(line=191, offs=5) -- 5163(line=191, offs=6)
+*/
+ATSINSmove(tmpret341, arg0) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5178(line=193, offs=8) -- 5183(line=193, offs=13)
+*/
+ATSINSmove(tmp351, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5178(line=193, offs=8) -- 5187(line=193, offs=17)
+*/
+ATSINSmove(tmp348, ATSLIB_056_prelude__gt_g1int_int__6__7(tmp351, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5175(line=193, offs=5) -- 5340(line=203, offs=8)
+*/
+ATSif(
+tmp348
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5199(line=194, offs=7) -- 5323(line=201, offs=10)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5215(line=195, offs=13) -- 5217(line=195, offs=15)
+*/
+/*
+ATSINStmpdec(tmpref352) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5220(line=195, offs=18) -- 5225(line=195, offs=23)
+*/
+ATSINSmove(tmpref352, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5246(line=197, offs=12) -- 5252(line=197, offs=18)
+*/
+ATSINSmove(tmp353, ATSLIB_056_prelude__lt_g1int_int__53__2(tmpref352, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5243(line=197, offs=9) -- 5313(line=200, offs=12)
+*/
+ATSif(
+tmp353
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5277(line=198, offs=20) -- 5287(line=198, offs=30)
+*/
+ATSINSmove(tmp356, rip_136(tmpref352, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5268(line=198, offs=11) -- 5288(line=198, offs=31)
+*/
+ATSINSmove(tmpret341, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp356)) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5312(line=200, offs=11) -- 5313(line=200, offs=12)
+*/
+ATSINSmove(tmpret341, ATSPMVi0nt(1)) ;
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5199(line=194, offs=7) -- 5323(line=201, offs=10)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5339(line=203, offs=7) -- 5340(line=203, offs=8)
+*/
+ATSINSmove(tmpret341, ATSPMVi0nt(1)) ;
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret341) ;
+} /* end of [rip_136] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12337(line=639, offs=3) -- 12377(line=639, offs=43)
+*/
+/*
+local: 
+global: neq_g0int_int$137$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4625)
+tmparg = S2Evar(tk(4625))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g0int_int__137(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret343, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp344, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12321(line=638, offs=1) -- 12377(line=639, offs=43)
+*/
+ATSINSflab(__patsflab_neq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12364(line=639, offs=30) -- 12375(line=639, offs=41)
+*/
+ATSINSmove(tmp344, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4625))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12346(line=639, offs=12) -- 12377(line=639, offs=43)
+*/
+ATSINSmove(tmpret343, PMVtmpltcst(g0int_neq<S2Evar(tk(4625))>)(arg0, tmp344)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret343) ;
+} /* end of [ATSLIB_056_prelude__neq_g0int_int__137] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12337(line=639, offs=3) -- 12377(line=639, offs=43)
+*/
+/*
+local: 
+global: neq_g0int_int$137$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4625)
+tmparg = S2Evar(tk(4625))
+tmpsub = Some(tk(4625) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g0int_int__137__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret343__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp344__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12321(line=638, offs=1) -- 12377(line=639, offs=43)
+*/
+ATSINSflab(__patsflab_neq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12364(line=639, offs=30) -- 12375(line=639, offs=41)
+*/
+ATSINSmove(tmp344__1, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12346(line=639, offs=12) -- 12377(line=639, offs=43)
+*/
+ATSINSmove(tmpret343__1, atspre_g0int_neq_int(arg0, tmp344__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret343__1) ;
+} /* end of [ATSLIB_056_prelude__neq_g0int_int__137__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$7(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__7(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret10__7, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp11__7, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp11__7, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret10__7, atspre_g1int_gt_int(arg0, tmp11__7)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret10__7) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__7] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
+*/
+/*
+local: 
+global: lt_g1int_int$53$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4627)
+tmparg = S2Evar(tk(4627))
+tmpsub = Some(tk(4627) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__53__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret110__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp111__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
+*/
+ATSINSmove(tmp111__2, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
+*/
+ATSINSmove(tmpret110__2, atspre_g1int_lt_int(arg0, tmp111__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret110__2) ;
+} /* end of [ATSLIB_056_prelude__lt_g1int_int__53__2] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5345(line=205, offs=4) -- 5948(line=223, offs=6)
+*/
+/*
+local: is_prime_51$0(level=0), rip_136$0(level=0)
+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+prime_factors_142(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret357, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5345(line=205, offs=4) -- 5948(line=223, offs=6)
+*/
+ATSINSflab(__patsflab_prime_factors_142):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5395(line=206, offs=3) -- 5948(line=223, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5932(line=222, offs=5) -- 5942(line=222, offs=15)
+*/
+ATSINSmove(tmpret357, loop_143(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5395(line=206, offs=3) -- 5948(line=223, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret357) ;
+} /* end of [prime_factors_142] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5407(line=207, offs=9) -- 5922(line=220, offs=27)
+*/
+/*
+local: is_prime_51$0(level=0), rip_136$0(level=0), loop_143$0(level=1)
+global: is_prime_51$0(level=0), rip_136$0(level=0), loop_143$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+loop_143(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret358, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp359, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp362, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp367, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp368, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp371, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp372, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp375, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp382, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5407(line=207, offs=9) -- 5922(line=220, offs=27)
+*/
+ATSINSflab(__patsflab_loop_143):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5505(line=208, offs=10) -- 5513(line=208, offs=18)
+*/
+ATSINSmove(tmp359, ATSLIB_056_prelude__gte_g1int_int__71__3(arg1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5502(line=208, offs=7) -- 5922(line=220, offs=27)
+*/
+ATSif(
+tmp359
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5530(line=209, offs=12) -- 5540(line=209, offs=22)
+*/
+ATSINSmove(tmp362, is_prime_51(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5527(line=209, offs=9) -- 5653(line=212, offs=33)
+*/
+ATSif(
+tmp362
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5557(line=210, offs=11) -- 5607(line=210, offs=61)
+*/
+ATSINSmove_ldelay(tmpret358, atstype_boxed, ATSPMVcfunlab(1, __patsfun_145, (arg0))) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5631(line=212, offs=11) -- 5653(line=212, offs=33)
+*/
+ATSINSmove_ldelay(tmpret358, atstype_boxed, ATSPMVcfunlab(1, __patsfun_147, ())) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5676(line=214, offs=12) -- 5703(line=214, offs=39)
+*/
+ATSINSmove(tmp371, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5676(line=214, offs=12) -- 5703(line=214, offs=39)
+*/
+ATSINSmove(tmp368, ATSLIB_056_prelude__eq_g0int_int__12__21(tmp371, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5676(line=214, offs=12) -- 5703(line=214, offs=39)
+*/
+ATSif(
+tmp368
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5676(line=214, offs=12) -- 5703(line=214, offs=39)
+*/
+ATSINSmove(tmp367, is_prime_51(arg1)) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5676(line=214, offs=12) -- 5703(line=214, offs=39)
+*/
+ATSINSmove(tmp367, ATSPMVbool_false()) ;
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5673(line=214, offs=9) -- 5922(line=220, offs=27)
+*/
+ATSif(
+tmp367
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5723(line=215, offs=14) -- 5730(line=215, offs=21)
+*/
+ATSINSmove(tmp375, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5723(line=215, offs=14) -- 5734(line=215, offs=25)
+*/
+ATSINSmove(tmp372, ATSLIB_056_prelude__gt_g1int_int__6__8(tmp375, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5720(line=215, offs=11) -- 5882(line=218, offs=65)
+*/
+ATSif(
+tmp372
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5752(line=216, offs=13) -- 5802(line=216, offs=63)
+*/
+ATSINSmove_ldelay(tmpret358, atstype_boxed, ATSPMVcfunlab(1, __patsfun_150, (arg0, arg1))) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5830(line=218, offs=13) -- 5882(line=218, offs=65)
+*/
+ATSINSmove_ldelay(tmpret358, atstype_boxed, ATSPMVcfunlab(1, __patsfun_151, (arg1))) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5914(line=220, offs=19) -- 5921(line=220, offs=26)
+*/
+ATSINSmove(tmp382, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5906(line=220, offs=11) -- 5922(line=220, offs=27)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, arg0) ;
+ATSINSmove_tlcal(apy1, tmp382) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_loop_143) ;
+ATStailcal_end()
+
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret358) ;
+} /* end of [loop_143] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
+*/
+/*
+local: 
+global: gte_g1int_int$71$3(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4636)
+tmparg = S2Evar(tk(4636))
+tmpsub = Some(tk(4636) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__71__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret149__3, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp150__3, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
+*/
+ATSINSflab(__patsflab_gte_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
+*/
+ATSINSmove(tmp150__3, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
+*/
+ATSINSmove(tmpret149__3, atspre_g1int_gte_int(arg0, tmp150__3)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret149__3) ;
+} /* end of [ATSLIB_056_prelude__gte_g1int_int__71__3] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5557(line=210, offs=11) -- 5607(line=210, offs=61)
+*/
+/*
+local: 
+global: __patsfun_145$0(level=2)
+local: n$5173(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: n$5173(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_145(atstkind_t0ype(atstype_int) env0, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret363, atstype_boxed) ;
+ATStmpdec(tmp364, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5557(line=210, offs=11) -- 5607(line=210, offs=61)
+*/
+ATSINSflab(__patsflab___patsfun_145):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5557(line=210, offs=11) -- 5607(line=210, offs=61)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5583(line=210, offs=37) -- 5605(line=210, offs=59)
+*/
+ATSINSmove_ldelay(tmp364, atstype_boxed, ATSPMVcfunlab(1, __patsfun_146, ())) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5565(line=210, offs=19) -- 5606(line=210, offs=60)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret363, postiats_tysum_1) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret363, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret363, postiats_tysum_1, atslab__0, env0) ;
+ATSINSstore_con1_ofs(tmpret363, postiats_tysum_1, atslab__1, tmp364) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret363) ;
+} /* end of [__patsfun_145] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5583(line=210, offs=37) -- 5605(line=210, offs=59)
+*/
+/*
+local: 
+global: __patsfun_146$0(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_146(atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret365, atstype_boxed) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5583(line=210, offs=37) -- 5605(line=210, offs=59)
+*/
+ATSINSflab(__patsflab___patsfun_146):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5583(line=210, offs=37) -- 5605(line=210, offs=59)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5591(line=210, offs=45) -- 5604(line=210, offs=58)
+*/
+
+ATSINSmove_nil(tmpret365) ;
+
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret365) ;
+} /* end of [__patsfun_146] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5631(line=212, offs=11) -- 5653(line=212, offs=33)
+*/
+/*
+local: 
+global: __patsfun_147$0(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_147(atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret366, atstype_boxed) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5631(line=212, offs=11) -- 5653(line=212, offs=33)
+*/
+ATSINSflab(__patsflab___patsfun_147):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5631(line=212, offs=11) -- 5653(line=212, offs=33)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5639(line=212, offs=19) -- 5652(line=212, offs=32)
+*/
+
+ATSINSmove_nil(tmpret366) ;
+
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret366) ;
+} /* end of [__patsfun_147] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$21(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__21(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__21, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__21, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__21, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__21, atspre_g0int_eq_int(arg0, tmp18__21)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__21) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__21] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$8(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__8(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret10__8, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp11__8, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp11__8, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret10__8, atspre_g1int_gt_int(arg0, tmp11__8)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret10__8) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__8] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5752(line=216, offs=13) -- 5802(line=216, offs=63)
+*/
+/*
+local: rip_136$0(level=0), loop_143$0(level=1)
+global: rip_136$0(level=0), loop_143$0(level=1), __patsfun_150$0(level=2)
+local: n$5173(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5174(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: n$5173(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5174(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_150(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret376, atstype_boxed) ;
+ATStmpdec(tmp377, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp378, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5752(line=216, offs=13) -- 5802(line=216, offs=63)
+*/
+ATSINSflab(__patsflab___patsfun_150):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5752(line=216, offs=13) -- 5802(line=216, offs=63)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5785(line=216, offs=46) -- 5796(line=216, offs=57)
+*/
+ATSINSmove(tmp378, rip_136(env0, env1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5780(line=216, offs=41) -- 5800(line=216, offs=61)
+*/
+ATSINSmove(tmp377, loop_143(tmp378, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5760(line=216, offs=21) -- 5801(line=216, offs=62)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret376, postiats_tysum_1) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret376, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret376, postiats_tysum_1, atslab__0, env1) ;
+ATSINSstore_con1_ofs(tmpret376, postiats_tysum_1, atslab__1, tmp377) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret376) ;
+} /* end of [__patsfun_150] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5830(line=218, offs=13) -- 5882(line=218, offs=65)
+*/
+/*
+local: 
+global: __patsfun_151$0(level=2)
+local: acc$5174(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: acc$5174(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_151(atstkind_t0ype(atstype_int) env0, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret379, atstype_boxed) ;
+ATStmpdec(tmp380, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5830(line=218, offs=13) -- 5882(line=218, offs=65)
+*/
+ATSINSflab(__patsflab___patsfun_151):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5830(line=218, offs=13) -- 5882(line=218, offs=65)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5858(line=218, offs=41) -- 5880(line=218, offs=63)
+*/
+ATSINSmove_ldelay(tmp380, atstype_boxed, ATSPMVcfunlab(1, __patsfun_152, ())) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5838(line=218, offs=21) -- 5881(line=218, offs=64)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret379, postiats_tysum_1) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret379, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret379, postiats_tysum_1, atslab__0, env0) ;
+ATSINSstore_con1_ofs(tmpret379, postiats_tysum_1, atslab__1, tmp380) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret379) ;
+} /* end of [__patsfun_151] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5858(line=218, offs=41) -- 5880(line=218, offs=63)
+*/
+/*
+local: 
+global: __patsfun_152$0(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_152(atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret381, atstype_boxed) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5858(line=218, offs=41) -- 5880(line=218, offs=63)
+*/
+ATSINSflab(__patsflab___patsfun_152):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5858(line=218, offs=41) -- 5880(line=218, offs=63)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5866(line=218, offs=49) -- 5879(line=218, offs=62)
+*/
+
+ATSINSmove_nil(tmpret381) ;
+
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret381) ;
+} /* end of [__patsfun_152] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5980(line=226, offs=4) -- 6419(line=244, offs=6)
+*/
+/*
+local: is_prime_51$0(level=0), rip_136$0(level=0)
+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), little_omega_153$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+little_omega_153(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret383, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 5980(line=226, offs=4) -- 6419(line=244, offs=6)
+*/
+ATSINSflab(__patsflab_little_omega_153):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6018(line=227, offs=3) -- 6419(line=244, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6403(line=243, offs=5) -- 6413(line=243, offs=15)
+*/
+ATSINSmove(tmpret383, loop_154(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6018(line=227, offs=3) -- 6419(line=244, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret383) ;
+} /* end of [little_omega_153] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6030(line=228, offs=9) -- 6393(line=241, offs=27)
+*/
+/*
+local: is_prime_51$0(level=0), rip_136$0(level=0), loop_154$0(level=1)
+global: is_prime_51$0(level=0), rip_136$0(level=0), loop_154$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_154(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret384, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp385, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp388, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp389, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp390, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp393, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp394, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp397, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp398, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp399, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp400, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6030(line=228, offs=9) -- 6393(line=241, offs=27)
+*/
+ATSINSflab(__patsflab_loop_154):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6123(line=229, offs=10) -- 6131(line=229, offs=18)
+*/
+ATSINSmove(tmp385, ATSLIB_056_prelude__gte_g1int_int__71__4(arg1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6120(line=229, offs=7) -- 6393(line=241, offs=27)
+*/
+ATSif(
+tmp385
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6148(line=230, offs=12) -- 6158(line=230, offs=22)
+*/
+ATSINSmove(tmp388, is_prime_51(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6145(line=230, offs=9) -- 6201(line=233, offs=12)
+*/
+ATSif(
+tmp388
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6175(line=231, offs=11) -- 6176(line=231, offs=12)
+*/
+ATSINSmove(tmpret384, ATSPMVi0nt(1)) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6200(line=233, offs=11) -- 6201(line=233, offs=12)
+*/
+ATSINSmove(tmpret384, ATSPMVi0nt(0)) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6224(line=235, offs=12) -- 6251(line=235, offs=39)
+*/
+ATSINSmove(tmp393, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6224(line=235, offs=12) -- 6251(line=235, offs=39)
+*/
+ATSINSmove(tmp390, ATSLIB_056_prelude__eq_g0int_int__12__22(tmp393, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6224(line=235, offs=12) -- 6251(line=235, offs=39)
+*/
+ATSif(
+tmp390
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6224(line=235, offs=12) -- 6251(line=235, offs=39)
+*/
+ATSINSmove(tmp389, is_prime_51(arg1)) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6224(line=235, offs=12) -- 6251(line=235, offs=39)
+*/
+ATSINSmove(tmp389, ATSPMVbool_false()) ;
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6221(line=235, offs=9) -- 6393(line=241, offs=27)
+*/
+ATSif(
+tmp389
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6271(line=236, offs=14) -- 6278(line=236, offs=21)
+*/
+ATSINSmove(tmp397, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6271(line=236, offs=14) -- 6282(line=236, offs=25)
+*/
+ATSINSmove(tmp394, ATSLIB_056_prelude__gt_g1int_int__6__9(tmp397, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6268(line=236, offs=11) -- 6353(line=239, offs=14)
+*/
+ATSif(
+tmp394
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6309(line=237, offs=22) -- 6320(line=237, offs=33)
+*/
+ATSINSmove(tmp399, rip_136(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6304(line=237, offs=17) -- 6324(line=237, offs=37)
+*/
+ATSINSmove(tmp398, loop_154(tmp399, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6300(line=237, offs=13) -- 6324(line=237, offs=37)
+*/
+ATSINSmove(tmpret384, atspre_g0int_add_int(ATSPMVi0nt(1), tmp398)) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6352(line=239, offs=13) -- 6353(line=239, offs=14)
+*/
+ATSINSmove(tmpret384, ATSPMVi0nt(1)) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6385(line=241, offs=19) -- 6392(line=241, offs=26)
+*/
+ATSINSmove(tmp400, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6377(line=241, offs=11) -- 6393(line=241, offs=27)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, arg0) ;
+ATSINSmove_tlcal(apy1, tmp400) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_loop_154) ;
+ATStailcal_end()
+
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret384) ;
+} /* end of [loop_154] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
+*/
+/*
+local: 
+global: gte_g1int_int$71$4(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4636)
+tmparg = S2Evar(tk(4636))
+tmpsub = Some(tk(4636) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__71__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret149__4, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp150__4, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
+*/
+ATSINSflab(__patsflab_gte_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
+*/
+ATSINSmove(tmp150__4, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
+*/
+ATSINSmove(tmpret149__4, atspre_g1int_gte_int(arg0, tmp150__4)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret149__4) ;
+} /* end of [ATSLIB_056_prelude__gte_g1int_int__71__4] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$22(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__22(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__22, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__22, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__22, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__22, atspre_g0int_eq_int(arg0, tmp18__22)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__22) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__22] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$9(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__9(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret10__9, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp11__9, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp11__9, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret10__9, atspre_g1int_gt_int(arg0, tmp11__9)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret10__9) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__9] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6453(line=247, offs=4) -- 6942(line=259, offs=8)
+*/
+/*
+local: prime_factors_142$0(level=0)
+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0), totient_158$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+totient_158(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret401, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref406, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref407, postiats_tyrec_0) ;
+ATStmpdec(tmpref408, postiats_tyrec_0) ;
+ATStmpdec(tmp426, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6453(line=247, offs=4) -- 6942(line=259, offs=8)
+*/
+ATSINSflab(__patsflab_totient_158):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6486(line=248, offs=3) -- 6942(line=259, offs=8)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6503(line=249, offs=7) -- 6504(line=249, offs=8)
+*/
+ATSINSlab(__atstmplab37):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6461(line=247, offs=12) -- 6462(line=247, offs=13)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab39) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6504(line=249, offs=8) -- 6504(line=249, offs=8)
+*/
+ATSINSlab(__atstmplab38):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6508(line=249, offs=12) -- 6509(line=249, offs=13)
+*/
+ATSINSmove(tmpret401, ATSPMVi0nt(1)) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6517(line=250, offs=8) -- 6517(line=250, offs=8)
+*/
+ATSINSlab(__atstmplab39):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6522(line=250, offs=13) -- 6942(line=259, offs=8)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6676(line=254, offs=11) -- 6677(line=254, offs=12)
+*/
+/*
+ATSINStmpdec(tmpref406) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6696(line=254, offs=31) -- 6711(line=254, offs=46)
+*/
+ATSINSmove(tmpref406, prime_factors_142(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6723(line=255, offs=11) -- 6733(line=255, offs=21)
+*/
+/*
+ATSINStmpdec(tmpref407) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6736(line=255, offs=24) -- 6762(line=255, offs=50)
+*/
+ATSINSmove_fltrec_beg()
+ATSINSstore_fltrec_ofs(tmpref407, postiats_tyrec_0, atslab__first, ATSPMVi0nt(1)) ;
+ATSINSstore_fltrec_ofs(tmpref407, postiats_tyrec_0, atslab__second, ATSPMVi0nt(1)) ;
+ATSINSmove_fltrec_end()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6780(line=256, offs=11) -- 6781(line=256, offs=12)
+*/
+/*
+ATSINStmpdec(tmpref408) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6784(line=256, offs=15) -- 6871(line=256, offs=102)
+*/
+ATSINSmove(tmpref408, ATSLIB_056_prelude__stream_vt_foldleft_cloptr__161__1(tmpref406, tmpref407, ATSPMVcfunlab(1, __patsfun_165, ()))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6902(line=258, offs=17) -- 6923(line=258, offs=38)
+*/
+ATSINSmove(tmp426, atspre_g0int_mul_int(arg0, ATSSELfltrec(tmpref408, postiats_tyrec_0, atslab__first))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6892(line=258, offs=7) -- 6934(line=258, offs=49)
+*/
+ATSINSmove(tmpret401, atspre_g0int_div_int(tmp426, ATSSELfltrec(tmpref408, postiats_tyrec_0, atslab__second))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6522(line=250, offs=13) -- 6942(line=259, offs=8)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret401) ;
+} /* end of [totient_158] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6535(line=251, offs=10) -- 6658(line=252, offs=80)
+*/
+/*
+local: 
+global: adjust_contents_159$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+postiats_tyrec_0
+adjust_contents_159(postiats_tyrec_0 arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret402, postiats_tyrec_0) ;
+ATStmpdec(tmp403, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp404, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp405, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6535(line=251, offs=10) -- 6658(line=252, offs=80)
+*/
+ATSINSflab(__patsflab_adjust_contents_159):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6617(line=252, offs=39) -- 6622(line=252, offs=44)
+*/
+ATSINSmove(tmp404, atspre_g0int_sub_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6598(line=252, offs=20) -- 6623(line=252, offs=45)
+*/
+ATSINSmove(tmp403, atspre_g0int_mul_int(ATSSELfltrec(arg0, postiats_tyrec_0, atslab__first), tmp404)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6634(line=252, offs=56) -- 6656(line=252, offs=78)
+*/
+ATSINSmove(tmp405, atspre_g0int_mul_int(ATSSELfltrec(arg0, postiats_tyrec_0, atslab__second), arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6587(line=252, offs=9) -- 6658(line=252, offs=80)
+*/
+ATSINSmove_fltrec_beg()
+ATSINSstore_fltrec_ofs(tmpret402, postiats_tyrec_0, atslab__first, tmp403) ;
+ATSINSstore_fltrec_ofs(tmpret402, postiats_tyrec_0, atslab__second, tmp405) ;
+ATSINSmove_fltrec_end()
+ATSfunbody_end()
+ATSreturn(tmpret402) ;
+} /* end of [adjust_contents_159] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 29943(line=1864, offs=3) -- 30423(line=1895, offs=2)
+*/
+/*
+local: 
+global: stream_vt_foldleft_cloptr$161$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = res(8326), a(8327)
+tmparg = S2Evar(res(8326)); S2Evar(a(8327))
+tmpsub = None()
+*/
+atstyvar_type(res)
+ATSLIB_056_prelude__stream_vt_foldleft_cloptr__161(atstkind_type(atstype_ptrk) arg0, atstyvar_type(res) arg1, atstype_cloptr arg2)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret409, atstyvar_type(res)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29915(line=1863, offs=1) -- 30423(line=1895, offs=2)
+*/
+ATSINSflab(__patsflab_stream_vt_foldleft_cloptr):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 30423(line=1895, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 29984(line=1865, offs=23)
+*/
+ATSINSmove(tmpret409, ATSfunclo_fun(PMVd2vfunlab(d2v=loop$4479(1), flab=loop_162$0(level=1)), (atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr), atstyvar_type(res))(arg0, arg1, arg2)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 30423(line=1895, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret409) ;
+} /* end of [ATSLIB_056_prelude__stream_vt_foldleft_cloptr__161] */
+#endif // end of [TEMPLATE]
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 30000(line=1869, offs=1) -- 30401(line=1893, offs=4)
+*/
+/*
+local: loop_162$0(level=1)
+global: loop_162$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstyvar_type(res)
+loop_162__162(atstkind_type(atstype_ptrk) arg0, atstyvar_type(res) arg1, atstype_cloptr arg2)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(apy1, atstyvar_type(res)) ;
+ATStmpdec(apy2, atstype_cloptr) ;
+ATStmpdec(tmpret410, atstyvar_type(res)) ;
+ATStmpdec(tmpref411, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp412, atstype_boxed) ;
+// ATStmpdec_void(tmp415) ;
+ATStmpdec(tmp416, atstyvar_type(res)) ;
+ATStmpdec(tmp417, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30000(line=1869, offs=1) -- 30401(line=1893, offs=4)
+*/
+ATSINSflab(__patsflab_loop_162):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30078(line=1875, offs=6) -- 30401(line=1893, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30088(line=1876, offs=7) -- 30094(line=1876, offs=13)
+*/
+/*
+ATSINStmpdec(tmpref411) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30097(line=1876, offs=16) -- 30100(line=1876, offs=19)
+*/
+ATSINSmove_llazyeval(tmpref411, atstype_boxed, arg0) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7)
+*/
+ATSINSmove(tmp412, tmpref411) ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30107(line=1879, offs=1) -- 30367(line=1891, offs=6)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30134(line=1882, offs=3) -- 30155(line=1883, offs=7)
+*/
+ATSINSlab(__atstmplab40):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7)
+*/
+ATSifthen(ATSCKptriscons(tmp412)) { ATSINSgoto(__atstmplab43) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30155(line=1883, offs=7) -- 30155(line=1883, offs=7)
+*/
+ATSINSlab(__atstmplab41):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30167(line=1885, offs=5) -- 30199(line=1885, offs=37)
+*/
+ATSINSmove_void(tmp415, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30201(line=1885, offs=39) -- 30204(line=1885, offs=42)
+*/
+ATSINSmove(tmpret410, arg1) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30240(line=1887, offs=3) -- 30269(line=1888, offs=14)
+*/
+ATSINSlab(__atstmplab42):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7)
+*/
+#if(0)
+ATSifthen(ATSCKptrisnull(tmp412)) { ATSINSdeadcode_fail() ; } ;
+#endif
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30269(line=1888, offs=14) -- 30269(line=1888, offs=14)
+*/
+ATSINSlab(__atstmplab43):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30273(line=1888, offs=18) -- 30367(line=1891, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30291(line=1889, offs=15) -- 30304(line=1889, offs=28)
+*/
+ATSINSmove(tmp416, ATSfunclo_clo(ATSPMVrefarg0(arg2), (atstype_cloptr, atstyvar_type(res), atsrefarg1_type(atstyvar_type(a))), atstyvar_type(res))(ATSPMVrefarg0(arg2), arg1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp412, postiats_tysum_4, atslab__0))))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30319(line=1890, offs=15) -- 30322(line=1890, offs=18)
+*/
+ATSINSmove(tmp417, ATSSELcon(tmp412, postiats_tysum_4, atslab__1)) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30326(line=1890, offs=22) -- 30338(line=1890, offs=34)
+*/
+ATSINSfreecon(tmpref411) ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30341(line=1890, offs=37) -- 30361(line=1890, offs=57)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp417) ;
+ATSINSmove_tlcal(apy1, tmp416) ;
+ATSINSmove_tlcal(apy2, arg2) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSargmove_tlcal(arg2, apy2) ;
+ATSINSfgoto(__patsflab_loop_162) ;
+ATStailcal_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30273(line=1888, offs=18) -- 30367(line=1891, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30078(line=1875, offs=6) -- 30401(line=1893, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret410) ;
+} /* end of [loop_162__162] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 29943(line=1864, offs=3) -- 30423(line=1895, offs=2)
+*/
+/*
+local: 
+global: stream_vt_foldleft_cloptr$161$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = res(8326), a(8327)
+tmparg = S2Evar(res(8326)); S2Evar(a(8327))
+tmpsub = Some(res(8326) -> S2EVar(5933); a(8327) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
+*/
+postiats_tyrec_0
+ATSLIB_056_prelude__stream_vt_foldleft_cloptr__161__1(atstkind_type(atstype_ptrk) arg0, postiats_tyrec_0 arg1, atstype_cloptr arg2)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret409__1, postiats_tyrec_0) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29915(line=1863, offs=1) -- 30423(line=1895, offs=2)
+*/
+ATSINSflab(__patsflab_stream_vt_foldleft_cloptr):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 30423(line=1895, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 29984(line=1865, offs=23)
+*/
+ATSINSmove(tmpret409__1, loop_162__162__1(arg0, arg1, arg2)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 30423(line=1895, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret409__1) ;
+} /* end of [ATSLIB_056_prelude__stream_vt_foldleft_cloptr__161__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 30000(line=1869, offs=1) -- 30401(line=1893, offs=4)
+*/
+/*
+local: loop_162$1(level=2)
+global: loop_162$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+postiats_tyrec_0
+loop_162__162__1(atstkind_type(atstype_ptrk) arg0, postiats_tyrec_0 arg1, atstype_cloptr arg2)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(apy1, postiats_tyrec_0) ;
+ATStmpdec(apy2, atstype_cloptr) ;
+ATStmpdec(tmpret410__1, postiats_tyrec_0) ;
+ATStmpdec(tmpref411__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp412__1, atstype_boxed) ;
+// ATStmpdec_void(tmp415__1) ;
+ATStmpdec(tmp416__1, postiats_tyrec_0) ;
+ATStmpdec(tmp417__1, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30000(line=1869, offs=1) -- 30401(line=1893, offs=4)
+*/
+ATSINSflab(__patsflab_loop_162):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30078(line=1875, offs=6) -- 30401(line=1893, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30088(line=1876, offs=7) -- 30094(line=1876, offs=13)
+*/
+/*
+ATSINStmpdec(tmpref411) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30097(line=1876, offs=16) -- 30100(line=1876, offs=19)
+*/
+ATSINSmove_llazyeval(tmpref411__1, atstype_boxed, arg0) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7)
+*/
+ATSINSmove(tmp412__1, tmpref411__1) ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30107(line=1879, offs=1) -- 30367(line=1891, offs=6)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30134(line=1882, offs=3) -- 30155(line=1883, offs=7)
+*/
+ATSINSlab(__atstmplab40):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7)
+*/
+ATSifthen(ATSCKptriscons(tmp412__1)) { ATSINSgoto(__atstmplab43) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30155(line=1883, offs=7) -- 30155(line=1883, offs=7)
+*/
+ATSINSlab(__atstmplab41):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30167(line=1885, offs=5) -- 30199(line=1885, offs=37)
+*/
+ATSINSmove_void(tmp415__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30201(line=1885, offs=39) -- 30204(line=1885, offs=42)
+*/
+ATSINSmove(tmpret410__1, arg1) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30240(line=1887, offs=3) -- 30269(line=1888, offs=14)
+*/
+ATSINSlab(__atstmplab42):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7)
+*/
+#if(0)
+ATSifthen(ATSCKptrisnull(tmp412__1)) { ATSINSdeadcode_fail() ; } ;
+#endif
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30269(line=1888, offs=14) -- 30269(line=1888, offs=14)
+*/
+ATSINSlab(__atstmplab43):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30273(line=1888, offs=18) -- 30367(line=1891, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30291(line=1889, offs=15) -- 30304(line=1889, offs=28)
+*/
+ATSINSmove(tmp416__1, ATSfunclo_clo(ATSPMVrefarg0(arg2), (atstype_cloptr, postiats_tyrec_0, atsrefarg1_type(atstkind_t0ype(atstype_int))), postiats_tyrec_0)(ATSPMVrefarg0(arg2), arg1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp412__1, postiats_tysum_1, atslab__0))))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30319(line=1890, offs=15) -- 30322(line=1890, offs=18)
+*/
+ATSINSmove(tmp417__1, ATSSELcon(tmp412__1, postiats_tysum_1, atslab__1)) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30326(line=1890, offs=22) -- 30338(line=1890, offs=34)
+*/
+ATSINSfreecon(tmpref411__1) ;
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30341(line=1890, offs=37) -- 30361(line=1890, offs=57)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp417__1) ;
+ATSINSmove_tlcal(apy1, tmp416__1) ;
+ATSINSmove_tlcal(apy2, arg2) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSargmove_tlcal(arg2, apy2) ;
+ATSINSfgoto(__patsflab_loop_162) ;
+ATStailcal_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30273(line=1888, offs=18) -- 30367(line=1891, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30078(line=1875, offs=6) -- 30401(line=1893, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret410__1) ;
+} /* end of [loop_162__162__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6825(line=256, offs=56) -- 6870(line=256, offs=101)
+*/
+/*
+local: adjust_contents_159$0(level=1)
+global: adjust_contents_159$0(level=1), __patsfun_165$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+postiats_tyrec_0
+__patsfun_165(postiats_tyrec_0 arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret425, postiats_tyrec_0) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6825(line=256, offs=56) -- 6870(line=256, offs=101)
+*/
+ATSINSflab(__patsflab___patsfun_165):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 6844(line=256, offs=75) -- 6870(line=256, offs=101)
+*/
+ATSINSmove(tmpret425, adjust_contents_159(arg0, ATSderef(arg1, atstkind_t0ype(atstype_int)))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret425) ;
+} /* end of [__patsfun_165] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7173(line=264, offs=4) -- 7561(line=278, offs=6)
+*/
+/*
+local: totient_158$0(level=0)
+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0), totient_158$0(level=0), totient_sum_166$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+totient_sum_166(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret427, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7173(line=264, offs=4) -- 7561(line=278, offs=6)
+*/
+ATSINSflab(__patsflab_totient_sum_166):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7213(line=265, offs=3) -- 7561(line=278, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7545(line=277, offs=5) -- 7555(line=277, offs=15)
+*/
+ATSINSmove(tmpret427, loop_167(ATSPMVi0nt(1), arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7213(line=265, offs=3) -- 7561(line=278, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret427) ;
+} /* end of [totient_sum_166] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7225(line=266, offs=9) -- 7535(line=275, offs=40)
+*/
+/*
+local: totient_158$0(level=0), loop_167$0(level=1)
+global: totient_158$0(level=0), loop_167$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+loop_167(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret428, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp429, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref432, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp433, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref434, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp439, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp444, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7225(line=266, offs=9) -- 7535(line=275, offs=40)
+*/
+ATSINSflab(__patsflab_loop_167):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7328(line=267, offs=10) -- 7337(line=267, offs=19)
+*/
+ATSINSmove(tmp429, ATSLIB_056_prelude__lt_g1int_int__53__3(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7325(line=267, offs=7) -- 7535(line=275, offs=40)
+*/
+ATSif(
+tmp429
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7351(line=268, offs=9) -- 7484(line=273, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7369(line=269, offs=15) -- 7370(line=269, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref432) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7378(line=269, offs=24) -- 7383(line=269, offs=29)
+*/
+ATSINSmove(tmp433, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7373(line=269, offs=19) -- 7391(line=269, offs=37)
+*/
+ATSINSmove(tmpref432, loop_167(tmp433, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7406(line=270, offs=15) -- 7407(line=270, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref434) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7437(line=270, offs=46) -- 7446(line=270, offs=55)
+*/
+ATSINSmove(tmp439, totient_158(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7410(line=270, offs=19) -- 7449(line=270, offs=58)
+*/
+ATSINSmove(tmpref434, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__169__1(tmpref432, ATSPMVcastfn(witness, atstkind_t0ype(atstype_int), tmp439))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7471(line=272, offs=11) -- 7472(line=272, offs=12)
+*/
+ATSINSmove(tmpret428, tmpref434) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7351(line=268, offs=9) -- 7484(line=273, offs=12)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7504(line=275, offs=9) -- 7535(line=275, offs=40)
+*/
+ATSINSmove(tmp444, totient_158(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory-internal.dats: 7504(line=275, offs=9) -- 7535(line=275, offs=40)
+*/
+ATSINSmove(tmpret428, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45__2(ATSPMVcastfn(witness, atstkind_t0ype(atstype_int), tmp444))) ;
+
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret428) ;
+} /* end of [loop_167] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
+*/
+/*
+local: 
+global: lt_g1int_int$53$3(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4627)
+tmparg = S2Evar(tk(4627))
+tmpsub = Some(tk(4627) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__53__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret110__3, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp111__3, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
+*/
+ATSINSmove(tmp111__3, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
+*/
+ATSINSmove(tmpret110__3, atspre_g1int_lt_int(arg0, tmp111__3)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret110__3) ;
+} /* end of [ATSLIB_056_prelude__lt_g1int_int__53__3] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5151(line=274, offs=3) -- 5217(line=279, offs=2)
+*/
+/*
+local: 
+global: add_intinf0_int$169$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__169(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret435, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp436) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5133(line=273, offs=1) -- 5217(line=279, offs=2)
+*/
+ATSINSflab(__patsflab_add_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5184(line=277, offs=10) -- 5212(line=277, offs=38)
+*/
+ATSINSmove_void(tmp436, atscntrb_gmp_mpz_add2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5161(line=274, offs=13) -- 5162(line=274, offs=14)
+*/
+ATSINSmove(tmpret435, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret435) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__169] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5151(line=274, offs=3) -- 5217(line=279, offs=2)
+*/
+/*
+local: 
+global: add_intinf0_int$169$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__169__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret435__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp436__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5133(line=273, offs=1) -- 5217(line=279, offs=2)
+*/
+ATSINSflab(__patsflab_add_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5184(line=277, offs=10) -- 5212(line=277, offs=38)
+*/
+ATSINSmove_void(tmp436__1, atscntrb_gmp_mpz_add2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5161(line=274, offs=13) -- 5162(line=274, offs=14)
+*/
+ATSINSmove(tmpret435__1, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret435__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__169__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$45$2(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45__2(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret96__2, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp97__2, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp98__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp97__2, ATSLIB_056_prelude__ptr_alloc__1__5()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp98__2, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp97__2, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret96__2, tmp97__2) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret96__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45__2] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$1$5(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__5()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret2__5, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret2__5, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret2__5) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__1__5] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 630(line=35, offs=28) -- 652(line=36, offs=17)
+*/
+/*
+local: sum_divisors_127$0(level=0)
+global: sqrt_int_48$0(level=0), sum_divisors_127$0(level=0), sum_divisors_ats$173$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_int)
+sum_divisors_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret445, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 613(line=35, offs=11) -- 653(line=36, offs=18)
+*/
+ATSINSflab(__patsflab_sum_divisors_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 638(line=36, offs=3) -- 652(line=36, offs=17)
+*/
+ATSINSmove(tmpret445, sum_divisors_127(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret445) ;
+} /* end of [sum_divisors_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 684(line=38, offs=30) -- 708(line=39, offs=19)
+*/
+/*
+local: count_divisors_122$0(level=0)
+global: sqrt_int_48$0(level=0), divisors_67$0(level=0), count_divisors_122$0(level=0), count_divisors_ats$174$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_int)
+count_divisors_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret446, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 665(line=38, offs=11) -- 709(line=39, offs=20)
+*/
+ATSINSflab(__patsflab_count_divisors_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 692(line=39, offs=3) -- 708(line=39, offs=19)
+*/
+ATSINSmove(tmpret446, count_divisors_122(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret446) ;
+} /* end of [count_divisors_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 733(line=41, offs=23) -- 750(line=42, offs=12)
+*/
+/*
+local: totient_158$0(level=0)
+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0), totient_158$0(level=0), totient_ats$175$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_int)
+totient_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret447, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 721(line=41, offs=11) -- 751(line=42, offs=13)
+*/
+ATSINSflab(__patsflab_totient_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 741(line=42, offs=3) -- 750(line=42, offs=12)
+*/
+ATSINSmove(tmpret447, totient_158(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret447) ;
+} /* end of [totient_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 780(line=44, offs=28) -- 802(line=45, offs=17)
+*/
+/*
+local: little_omega_153$0(level=0)
+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), little_omega_153$0(level=0), little_omega_ats$176$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_int)
+little_omega_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret448, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 763(line=44, offs=11) -- 803(line=45, offs=18)
+*/
+ATSINSflab(__patsflab_little_omega_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 788(line=45, offs=3) -- 802(line=45, offs=17)
+*/
+ATSINSmove(tmpret448, little_omega_153(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret448) ;
+} /* end of [little_omega_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 830(line=47, offs=26) -- 850(line=48, offs=15)
+*/
+/*
+local: is_perfect_134$0(level=0)
+global: sqrt_int_48$0(level=0), sum_divisors_127$0(level=0), is_perfect_134$0(level=0), is_perfect_ats$177$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_bool)
+is_perfect_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret449, atstkind_t0ype(atstype_bool)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 815(line=47, offs=11) -- 851(line=48, offs=16)
+*/
+ATSINSflab(__patsflab_is_perfect_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 838(line=48, offs=3) -- 850(line=48, offs=15)
+*/
+ATSINSmove(tmpret449, is_perfect_134(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret449) ;
+} /* end of [is_perfect_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 874(line=50, offs=22) -- 907(line=51, offs=25)
+*/
+/*
+local: jacobi_105$0(level=0)
+global: exp_5$0(level=0), sqrt_int_48$0(level=0), is_prime_51$0(level=0), div_gt_zero_98$0(level=0), exp_mod_prime_99$0(level=0), jacobi_105$0(level=0), jacobi_ats$178$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_int)
+jacobi_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret450, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 863(line=50, offs=11) -- 907(line=51, offs=25)
+*/
+ATSINSflab(__patsflab_jacobi_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 885(line=51, offs=3) -- 907(line=51, offs=25)
+*/
+ATSINSmove(tmpret450, jacobi_105(arg0, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), arg1))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret450) ;
+} /* end of [jacobi_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 935(line=53, offs=27) -- 956(line=54, offs=16)
+*/
+/*
+local: totient_sum_166$0(level=0)
+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0), totient_158$0(level=0), totient_sum_166$0(level=0), totient_sum_ats$179$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+totient_sum_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret451, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 919(line=53, offs=11) -- 957(line=54, offs=17)
+*/
+ATSINSflab(__patsflab_totient_sum_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 943(line=54, offs=3) -- 956(line=54, offs=16)
+*/
+ATSINSmove(tmpret451, totient_sum_166(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret451) ;
+} /* end of [totient_sum_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 981(line=56, offs=23) -- 1008(line=57, offs=19)
+*/
+/*
+local: is_coprime_65$0(level=0)
+global: gcd_61$0(level=0), is_coprime_65$0(level=0), coprime_ats$180$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_bool)
+coprime_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret452, atstkind_t0ype(atstype_bool)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 969(line=56, offs=11) -- 1008(line=57, offs=19)
+*/
+ATSINSflab(__patsflab_coprime_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 992(line=57, offs=3) -- 1008(line=57, offs=19)
+*/
+ATSINSmove(tmpret452, is_coprime_65(arg0, arg1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret452) ;
 } /* end of [coprime_ats] */
 
 /*
diff --git a/cbits/numerics.c b/cbits/numerics.c
--- a/cbits/numerics.c
+++ b/cbits/numerics.c
@@ -1,3472 +1,3427 @@
 /*
 **
-** The C code is generated by [ATS/Postiats-0-3-10]
-** The starting compilation time is: 2018-5-30: 19h:45m
-**
-*/
-
-/*
-** include runtime header files
-*/
-#ifndef _ATS_CCOMP_HEADER_NONE_
-#include "pats_ccomp_config.h"
-#include "pats_ccomp_basics.h"
-#include "pats_ccomp_typedefs.h"
-#include "pats_ccomp_instrset.h"
-#include "pats_ccomp_memalloc.h"
-#ifndef _ATS_CCOMP_EXCEPTION_NONE_
-#include "pats_ccomp_memalloca.h"
-#include "pats_ccomp_exception.h"
-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
-#endif /* _ATS_CCOMP_HEADER_NONE_ */
-
-
-/*
-** include prelude cats files
-*/
-#ifndef _ATS_CCOMP_PRELUDE_NONE_
-//
-#include "prelude/CATS/basics.cats"
-#include "prelude/CATS/integer.cats"
-#include "prelude/CATS/pointer.cats"
-#include "prelude/CATS/integer_long.cats"
-#include "prelude/CATS/integer_size.cats"
-#include "prelude/CATS/integer_short.cats"
-#include "prelude/CATS/bool.cats"
-#include "prelude/CATS/char.cats"
-#include "prelude/CATS/float.cats"
-#include "prelude/CATS/integer_ptr.cats"
-#include "prelude/CATS/integer_fixed.cats"
-#include "prelude/CATS/memory.cats"
-#include "prelude/CATS/string.cats"
-#include "prelude/CATS/strptr.cats"
-//
-#include "prelude/CATS/fprintf.cats"
-//
-#include "prelude/CATS/filebas.cats"
-//
-#include "prelude/CATS/list.cats"
-#include "prelude/CATS/option.cats"
-#include "prelude/CATS/array.cats"
-#include "prelude/CATS/arrayptr.cats"
-#include "prelude/CATS/arrayref.cats"
-#include "prelude/CATS/matrix.cats"
-#include "prelude/CATS/matrixptr.cats"
-//
-#endif /* _ATS_CCOMP_PRELUDE_NONE_ */
-/*
-** for user-supplied prelude
-*/
-#ifdef _ATS_CCOMP_PRELUDE_USER_
-//
-#include _ATS_CCOMP_PRELUDE_USER_
-//
-#endif /* _ATS_CCOMP_PRELUDE_USER_ */
-/*
-** for user2-supplied prelude
-*/
-#ifdef _ATS_CCOMP_PRELUDE_USER2_
-//
-#include _ATS_CCOMP_PRELUDE_USER2_
-//
-#endif /* _ATS_CCOMP_PRELUDE_USER2_ */
-
-/*
-staload-prologues(beg)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/basics.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 1533(line=44, offs=1) -- 1572(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_long.dats: 1602(line=49, offs=1) -- 1641(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_short.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/char.dats: 1610(line=48, offs=1) -- 1649(line=48, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/float.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/string.dats: 1631(line=50, offs=1) -- 1670(line=50, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/strptr.dats: 1629(line=50, offs=1) -- 1668(line=50, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/strptr.dats: 1691(line=54, offs=1) -- 1738(line=54, offs=48)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_ptr.dats: 1601(line=49, offs=1) -- 1640(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer_fixed.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/memory.dats: 1410(line=38, offs=1) -- 1449(line=39, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 1607(line=49, offs=1) -- 1646(line=50, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 1669(line=54, offs=1) -- 1715(line=55, offs=39)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 1738(line=59, offs=1) -- 1783(line=60, offs=38)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/stdio.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/types.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 1865(line=66, offs=1) -- 1912(line=66, offs=48)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/stat.sats: 1390(line=36, offs=1) -- 1440(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/stat.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/stat.sats: 1756(line=58, offs=1) -- 1805(line=60, offs=34)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/types.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/filebas.dats: 15937(line=927, offs=1) -- 15974(line=928, offs=30)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/stdio.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/types.cats"
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/list.dats: 1529(line=44, offs=1) -- 1568(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/list.dats: 1569(line=46, offs=1) -- 1615(line=47, offs=39)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/list_vt.dats: 1538(line=44, offs=1) -- 1577(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/list_vt.dats: 1578(line=46, offs=1) -- 1624(line=47, offs=39)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/SHARE/list_vt_mergesort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/SHARE/list_vt_quicksort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/array.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/SHARE/array_bsearch.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/SHARE/array_quicksort.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/arrayptr.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/arrayref.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/matrix.dats: 1535(line=44, offs=1) -- 1574(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/matrixptr.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/matrixref.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/stream_vt.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/tostring.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/checkast.dats: 1531(line=44, offs=1) -- 1570(line=45, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
-*/
-
-//
-#include \
-"atscntrb-hx-libgmp/CATS/gmp.cats"
-//
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/mydepies.hats: 208(line=18, offs=1) -- 248(line=19, offs=32)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
-*/
-
-//
-#include \
-"atscntrb-hx-libgmp/CATS/gmp.cats"
-//
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/libats/libc/SATS/math.sats: 1380(line=35, offs=1) -- 1426(line=38, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/math.cats"
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-staload-prologues(end)
-*/
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 172(line=8, offs=1) -- 311(line=12, offs=3)
-*/
-ATSextcode_beg()
-#define ATS_MEMALLOC_LIBC
-#include "ccomp/runtime/pats_ccomp_memalloc_libc.h"
-#include "ccomp/runtime/pats_ccomp_runtime_memalloc.c"
-ATSextcode_end()
-/*
-typedefs-for-tyrecs-and-tysums(beg)
-*/
-/*
-typedefs-for-tyrecs-and-tysums(end)
-*/
-/*
-dynconlst-declaration(beg)
-*/
-/*
-dynconlst-declaration(end)
-*/
-/*
-dyncstlst-declaration(beg)
-*/
-ATSdyncst_mac(atspre_ptr_alloc_tsz)
-ATSdyncst_mac(atspre_g0int2uint_int_uint)
-ATSdyncst_mac(atspre_g1int_add_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_init)
-ATSdyncst_mac(atscntrb_gmp_mpz_fib_uint)
-ATSdyncst_mac(atspre_g1int2int_int_int)
-ATSdyncst_mac(atspre_g1int_gt_int)
-ATSdyncst_mac(atspre_g1int_half_int)
-ATSdyncst_mac(atspre_g0int_mod_int)
-ATSdyncst_mac(atspre_g0int2int_int_int)
-ATSdyncst_mac(atspre_g0int_eq_int)
-ATSdyncst_mac(atspre_g0int_mul_int)
-ATSdyncst_mac(atspre_g1int_eq_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_cmp_int)
-ATSdyncst_mac(atspre_g0int_lt_int)
-ATSdyncst_mac(atspre_g1int_neg_int)
-ATSdyncst_mac(atspre_g0int_gt_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_abs2)
-ATSdyncst_mac(atscntrb_gmp_mpz_mul2_mpz)
-ATSdyncst_mac(atscntrb_gmp_mpz_clear)
-ATSdyncst_mac(atspre_ptr_free)
-ATSdyncst_mac(atscntrb_gmp_mpz_init_set_int)
-ATSdyncst_mac(atspre_g0float2int_float_int)
-ATSdyncst_mac(atslib_libats_libc_sqrt_float)
-ATSdyncst_mac(atspre_g0int2float_int_float)
-ATSdyncst_mac(atspre_g1int_lt_int)
-/*
-dyncstlst-declaration(end)
-*/
-/*
-dynvalist-implementation(beg)
-*/
-/*
-dynvalist-implementation(end)
-*/
-/*
-exnconlst-declaration(beg)
-*/
-#ifndef _ATS_CCOMP_EXCEPTION_NONE_
-ATSextern()
-atsvoid_t0ype
-the_atsexncon_initize
-(
-  atstype_exnconptr d2c, atstype_string exnmsg
-) ;
-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
-/*
-exnconlst-declaration(end)
-*/
-/*
-extypelst-declaration(beg)
-*/
-/*
-extypelst-declaration(end)
-*/
-/*
-assumelst-declaration(beg)
-*/
-#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
-#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
-/*
-assumelst-declaration(end)
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-witness_0(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-fib_gmp_1(atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2() ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__1() ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-exp_6(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-big_exp_18(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__19(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__19__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_int)
-ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__22(atsrefarg0_type(atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__22__1(atsrefarg0_type(atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g0int_int__24(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g0int_int__24__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g0int_int__28(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g0int_int__28__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33(atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__1(atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__2() ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38(atstkind_type(atstype_ptrk)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__1(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__2(atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__3() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__2(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__3(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__2(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__3(atstkind_type(atstype_ptrk)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46__1(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__4() ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-sqrt_int_49(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-is_prime_52(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-loop_53(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__54(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__54__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__19__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-is_prime_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_int)
-exp_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 831(line=21, offs=4) -- 882(line=22, offs=14)
-*/
-/*
-local: 
-global: witness_0$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-witness_0(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret0, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 831(line=21, offs=4) -- 882(line=22, offs=14)
-*/
-ATSINSflab(__patsflab_witness_0):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 871(line=22, offs=3) -- 881(line=22, offs=13)
-*/
-ATSINSmove(tmpret0, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), arg0)) ;
-ATSfunbody_end()
-ATSreturn(tmpret0) ;
-} /* end of [witness_0] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 947(line=25, offs=5) -- 1147(line=33, offs=6)
-*/
-/*
-local: 
-global: fib_gmp_1$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-fib_gmp_1(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref2, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref5, atstkind_t0ype(atstype_uint)) ;
-ATStmpdec(tmp6, atstkind_t0ype(atstype_int)) ;
-// ATStmpdec_void(tmp7) ;
-// ATStmpdec_void(tmp8) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 947(line=25, offs=5) -- 1147(line=33, offs=6)
-*/
-ATSINSflab(__patsflab_fib_gmp_1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 983(line=26, offs=3) -- 1147(line=33, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 995(line=27, offs=9) -- 996(line=27, offs=10)
-*/
-/*
-ATSINStmpdec(tmpref2) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 999(line=27, offs=13) -- 1010(line=27, offs=24)
-*/
-ATSINSmove(tmpref2, ATSLIB_056_prelude__ptr_alloc__2__1()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1019(line=28, offs=9) -- 1020(line=28, offs=10)
-*/
-/*
-ATSINStmpdec(tmpref5) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1034(line=28, offs=24) -- 1039(line=28, offs=29)
-*/
-ATSINSmove(tmp6, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1023(line=28, offs=13) -- 1040(line=28, offs=30)
-*/
-ATSINSmove(tmpref5, atspre_g0int2uint_int_uint(tmp6)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1053(line=29, offs=13) -- 1074(line=29, offs=34)
-*/
-ATSINSmove_void(tmp7, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmpref2, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1087(line=30, offs=13) -- 1115(line=30, offs=41)
-*/
-ATSINSmove_void(tmp8, atscntrb_gmp_mpz_fib_uint(ATSPMVrefarg1(ATSSELrecsin(tmpref2, atstkind_type(atstype_ptrk), atslab__2)), tmpref5)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1125(line=32, offs=5) -- 1140(line=32, offs=20)
-*/
-ATSINSmove(tmpret1, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref2)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 983(line=26, offs=3) -- 1147(line=33, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret1) ;
-} /* end of [fib_gmp_1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$2$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret3, atspre_ptr_alloc_tsz(ATSPMVsizeof(atstyvar_type(a)))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__2] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$2$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2EVar(5561))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__1()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3__1, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret3__1, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3__1) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__2__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1324(line=38, offs=5) -- 1763(line=59, offs=10)
-*/
-/*
-local: exp_6$0(level=0)
-global: exp_6$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-exp_6(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret9, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp10, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmpref15, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref16, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp17, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp22, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref23, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp24, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp25, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1324(line=38, offs=5) -- 1763(line=59, offs=10)
-*/
-ATSINSflab(__patsflab_exp_6):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1374(line=39, offs=3) -- 1763(line=59, offs=10)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1391(line=40, offs=7) -- 1392(line=40, offs=8)
-*/
-ATSINSlab(__atstmplab0):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1343(line=38, offs=24) -- 1344(line=38, offs=25)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1392(line=40, offs=8) -- 1392(line=40, offs=8)
-*/
-ATSINSlab(__atstmplab1):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1396(line=40, offs=12) -- 1397(line=40, offs=13)
-*/
-ATSINSmove(tmpret9, ATSPMVi0nt(0)) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1405(line=41, offs=8) -- 1405(line=41, offs=8)
-*/
-ATSINSlab(__atstmplab2):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1434(line=43, offs=12) -- 1439(line=43, offs=17)
-*/
-ATSINSmove(tmp10, ATSLIB_056_prelude__gt_g1int_int__7__1(arg1, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1431(line=43, offs=9) -- 1753(line=58, offs=12)
-*/
-ATSif(
-tmp10
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1455(line=44, offs=11) -- 1728(line=56, offs=14)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1475(line=45, offs=17) -- 1477(line=45, offs=19)
-*/
-/*
-ATSINStmpdec(tmpref15) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1480(line=45, offs=22) -- 1486(line=45, offs=28)
-*/
-ATSINSmove(tmpref15, atspre_g1int_half_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1504(line=46, offs=17) -- 1506(line=46, offs=19)
-*/
-/*
-ATSINStmpdec(tmpref16) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1509(line=46, offs=22) -- 1514(line=46, offs=27)
-*/
-ATSINSmove(tmpref16, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1543(line=48, offs=16) -- 1549(line=48, offs=22)
-*/
-ATSINSmove(tmp17, ATSLIB_056_prelude__eq_g0int_int__13__1(tmpref16, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1540(line=48, offs=13) -- 1714(line=55, offs=18)
-*/
-ATSif(
-tmp17
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1573(line=49, offs=19) -- 1578(line=49, offs=24)
-*/
-ATSINSmove(tmp22, atspre_g0int_mul_int(arg0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1569(line=49, offs=15) -- 1583(line=49, offs=29)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp22) ;
-ATSINSmove_tlcal(apy1, tmpref15) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_exp_6) ;
-ATStailcal_end()
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1615(line=51, offs=15) -- 1714(line=55, offs=18)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1639(line=52, offs=21) -- 1640(line=52, offs=22)
-*/
-/*
-ATSINStmpdec(tmpref23) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1651(line=52, offs=33) -- 1656(line=52, offs=38)
-*/
-ATSINSmove(tmp25, atspre_g0int_mul_int(arg0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1647(line=52, offs=29) -- 1661(line=52, offs=43)
-*/
-ATSINSmove(tmp24, exp_6(tmp25, tmpref15)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1643(line=52, offs=25) -- 1661(line=52, offs=43)
-*/
-ATSINSmove(tmpref23, atspre_g0int_mul_int(arg0, tmp24)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1695(line=54, offs=17) -- 1696(line=54, offs=18)
-*/
-ATSINSmove(tmpret9, tmpref23) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1615(line=51, offs=15) -- 1714(line=55, offs=18)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1455(line=44, offs=11) -- 1728(line=56, offs=14)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1752(line=58, offs=11) -- 1753(line=58, offs=12)
-*/
-ATSINSmove(tmpret9, ATSPMVi0nt(1)) ;
-} /* ATSendif */
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret9) ;
-} /* end of [exp_6] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$7$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4632)
-tmparg = S2Evar(tk(4632))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4632))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11, PMVtmpltcst(g1int_gt<S2Evar(tk(4632))>)(arg0, tmp12)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__7] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$7$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4632)
-tmparg = S2Evar(tk(4632))
-tmpsub = Some(tk(4632) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__1, atspre_g1int_gt_int(arg0, tmp12__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__1) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__7__1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4623))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18, PMVtmpltcst(g0int_eq<S2Evar(tk(4623))>)(arg0, tmp19)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__1, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__1, atspre_g0int_eq_int(arg0, tmp19__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__1) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1837(line=62, offs=5) -- 2598(line=92, offs=39)
-*/
-/*
-local: big_exp_18$0(level=0)
-global: big_exp_18$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-big_exp_18(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret26, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp27, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp32, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp51, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmpref54, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref55, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp56, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmpref59, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref69, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp74) ;
-ATStmpdec(tmpref79, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref85, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref88, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref89, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp92) ;
-// ATStmpdec_void(tmp95) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1837(line=62, offs=5) -- 2598(line=92, offs=39)
-*/
-ATSINSflab(__patsflab_big_exp_18):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1900(line=63, offs=6) -- 1924(line=63, offs=30)
-*/
-ATSINSmove(tmp32, ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__22__1(ATSPMVrefarg0(arg0), ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1900(line=63, offs=6) -- 1928(line=63, offs=34)
-*/
-ATSINSmove(tmp27, ATSLIB_056_prelude__eq_g1int_int__19__1(tmp32, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1897(line=63, offs=3) -- 2598(line=92, offs=39)
-*/
-ATSif(
-tmp27
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1938(line=64, offs=5) -- 1939(line=64, offs=6)
-*/
-ATSINSmove(tmpret26, arg0) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1954(line=66, offs=8) -- 1959(line=66, offs=13)
-*/
-ATSINSmove(tmp51, ATSLIB_056_prelude__gt_g1int_int__7__2(arg1, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1951(line=66, offs=5) -- 2598(line=92, offs=39)
-*/
-ATSif(
-tmp51
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1971(line=67, offs=7) -- 2550(line=90, offs=10)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1987(line=68, offs=13) -- 1989(line=68, offs=15)
-*/
-/*
-ATSINStmpdec(tmpref54) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1992(line=68, offs=18) -- 1998(line=68, offs=24)
-*/
-ATSINSmove(tmpref54, atspre_g1int_half_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2012(line=69, offs=13) -- 2014(line=69, offs=15)
-*/
-/*
-ATSINStmpdec(tmpref55) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2017(line=69, offs=18) -- 2022(line=69, offs=23)
-*/
-ATSINSmove(tmpref55, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2043(line=71, offs=12) -- 2049(line=71, offs=18)
-*/
-ATSINSmove(tmp56, ATSLIB_056_prelude__eq_g0int_int__13__2(tmpref55, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2040(line=71, offs=9) -- 2540(line=89, offs=14)
-*/
-ATSif(
-tmp56
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2065(line=72, offs=11) -- 2269(line=79, offs=14)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2114(line=74, offs=17) -- 2116(line=74, offs=19)
-*/
-/*
-ATSINStmpdec(tmpref59) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2119(line=74, offs=22) -- 2132(line=74, offs=35)
-*/
-ATSINSmove(tmpref59, ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__1(ATSPMVrefarg0(arg0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2150(line=75, offs=17) -- 2151(line=75, offs=18)
-*/
-/*
-ATSINStmpdec(tmpref69) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2154(line=75, offs=21) -- 2180(line=75, offs=47)
-*/
-ATSINSmove(tmpref69, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__1(tmpref59, ATSPMVrefarg0(arg0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2201(line=76, offs=21) -- 2214(line=76, offs=34)
-*/
-ATSINSmove_void(tmp74, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__1(arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2241(line=78, offs=13) -- 2255(line=78, offs=27)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmpref69) ;
-ATSINSmove_tlcal(apy1, tmpref54) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_big_exp_18) ;
-ATStailcal_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2065(line=72, offs=11) -- 2269(line=79, offs=14)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2293(line=81, offs=11) -- 2540(line=89, offs=14)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2313(line=82, offs=17) -- 2315(line=82, offs=19)
-*/
-/*
-ATSINStmpdec(tmpref79) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2318(line=82, offs=22) -- 2331(line=82, offs=35)
-*/
-ATSINSmove(tmpref79, ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__2(ATSPMVrefarg0(arg0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2349(line=83, offs=17) -- 2351(line=83, offs=19)
-*/
-/*
-ATSINStmpdec(tmpref85) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2354(line=83, offs=22) -- 2380(line=83, offs=48)
-*/
-ATSINSmove(tmpref85, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__2(tmpref79, ATSPMVrefarg0(arg0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2397(line=84, offs=17) -- 2399(line=84, offs=19)
-*/
-/*
-ATSINStmpdec(tmpref88) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2402(line=84, offs=22) -- 2417(line=84, offs=37)
-*/
-ATSINSmove(tmpref88, big_exp_18(tmpref85, tmpref54)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2434(line=85, offs=17) -- 2435(line=85, offs=18)
-*/
-/*
-ATSINStmpdec(tmpref89) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2438(line=85, offs=21) -- 2464(line=85, offs=47)
-*/
-ATSINSmove(tmpref89, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__3(tmpref88, ATSPMVrefarg0(arg0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2485(line=86, offs=21) -- 2498(line=86, offs=34)
-*/
-ATSINSmove_void(tmp92, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__2(arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2525(line=88, offs=13) -- 2526(line=88, offs=14)
-*/
-ATSINSmove(tmpret26, tmpref89) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2293(line=81, offs=11) -- 2540(line=89, offs=14)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 1971(line=67, offs=7) -- 2550(line=90, offs=10)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2567(line=92, offs=8) -- 2580(line=92, offs=21)
-*/
-ATSINSmove_void(tmp95, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__3(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2584(line=92, offs=25) -- 2597(line=92, offs=38)
-*/
-ATSINSmove(tmpret26, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46__1(ATSPMVi0nt(1))) ;
-
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret26) ;
-} /* end of [big_exp_18] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
-*/
-/*
-local: 
-global: eq_g1int_int$19$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4638)
-tmparg = S2Evar(tk(4638))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__19(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret28, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp29, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
-*/
-ATSINSmove(tmp29, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4638))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
-*/
-ATSINSmove(tmpret28, PMVtmpltcst(g1int_eq<S2Evar(tk(4638))>)(arg0, tmp29)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret28) ;
-} /* end of [ATSLIB_056_prelude__eq_g1int_int__19] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
-*/
-/*
-local: 
-global: eq_g1int_int$19$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4638)
-tmparg = S2Evar(tk(4638))
-tmpsub = Some(tk(4638) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__19__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret28__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp29__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
-*/
-ATSINSmove(tmp29__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
-*/
-ATSINSmove(tmpret28__1, atspre_g1int_eq_int(arg0, tmp29__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret28__1) ;
-} /* end of [ATSLIB_056_prelude__eq_g1int_int__19__1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13321(line=768, offs=9) -- 13484(line=775, offs=4)
-*/
-/*
-local: 
-global: compare_intinf_int$22$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_int)
-ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__22(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret33, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp34, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp35, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp36, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp37, atstkind_t0ype(atstype_bool)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13294(line=767, offs=1) -- 13484(line=775, offs=4)
-*/
-ATSINSflab(__patsflab_compare_intinf_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13347(line=770, offs=11) -- 13375(line=770, offs=39)
-*/
-ATSINSmove(tmp34, atscntrb_gmp_mpz_cmp_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13390(line=771, offs=15) -- 13397(line=771, offs=22)
-*/
-ATSINSmove(tmp36, PMVtmpltcst(lt_g0int_int<S2Eextkind(atstype_int)>)(tmp34, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13387(line=771, offs=12) -- 13437(line=771, offs=62)
-*/
-ATSif(
-tmp36
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13403(line=771, offs=28) -- 13405(line=771, offs=30)
-*/
-ATSINSmove(tmp35, PMVtmpltcst(g1int_neg<S2Eextkind(atstype_int)>)(ATSPMVi0nt(1))) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13415(line=771, offs=40) -- 13422(line=771, offs=47)
-*/
-ATSINSmove(tmp37, PMVtmpltcst(gt_g0int_int<S2Eextkind(atstype_int)>)(tmp34, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13412(line=771, offs=37) -- 13436(line=771, offs=61)
-*/
-ATSif(
-tmp37
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13428(line=771, offs=53) -- 13429(line=771, offs=54)
-*/
-ATSINSmove(tmp35, ATSPMVi0nt(1)) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13435(line=771, offs=60) -- 13436(line=771, offs=61)
-*/
-ATSINSmove(tmp35, ATSPMVi0nt(0)) ;
-} /* ATSendif */
-} /* ATSendif */
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13452(line=774, offs=3) -- 13479(line=774, offs=30)
-*/
-ATSINSmove(tmpret33, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp35)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret33) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__22] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13321(line=768, offs=9) -- 13484(line=775, offs=4)
-*/
-/*
-local: 
-global: compare_intinf_int$22$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_t0ype(atstype_int)
-ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__22__1(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret33__1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp34__1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp35__1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp36__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp37__1, atstkind_t0ype(atstype_bool)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13294(line=767, offs=1) -- 13484(line=775, offs=4)
-*/
-ATSINSflab(__patsflab_compare_intinf_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13347(line=770, offs=11) -- 13375(line=770, offs=39)
-*/
-ATSINSmove(tmp34__1, atscntrb_gmp_mpz_cmp_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13390(line=771, offs=15) -- 13397(line=771, offs=22)
-*/
-ATSINSmove(tmp36__1, ATSLIB_056_prelude__lt_g0int_int__24__1(tmp34__1, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13387(line=771, offs=12) -- 13437(line=771, offs=62)
-*/
-ATSif(
-tmp36__1
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13403(line=771, offs=28) -- 13405(line=771, offs=30)
-*/
-ATSINSmove(tmp35__1, atspre_g1int_neg_int(ATSPMVi0nt(1))) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13415(line=771, offs=40) -- 13422(line=771, offs=47)
-*/
-ATSINSmove(tmp37__1, ATSLIB_056_prelude__gt_g0int_int__28__1(tmp34__1, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13412(line=771, offs=37) -- 13436(line=771, offs=61)
-*/
-ATSif(
-tmp37__1
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13428(line=771, offs=53) -- 13429(line=771, offs=54)
-*/
-ATSINSmove(tmp35__1, ATSPMVi0nt(1)) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13435(line=771, offs=60) -- 13436(line=771, offs=61)
-*/
-ATSINSmove(tmp35__1, ATSPMVi0nt(0)) ;
-} /* ATSendif */
-} /* ATSendif */
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13452(line=774, offs=3) -- 13479(line=774, offs=30)
-*/
-ATSINSmove(tmpret33__1, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp35__1)) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret33__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__22__1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 11941(line=617, offs=3) -- 11980(line=617, offs=42)
-*/
-/*
-local: 
-global: lt_g0int_int$24$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4619)
-tmparg = S2Evar(tk(4619))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g0int_int__24(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret43, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp44, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11926(line=616, offs=1) -- 11980(line=617, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11967(line=617, offs=29) -- 11978(line=617, offs=40)
-*/
-ATSINSmove(tmp44, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4619))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11950(line=617, offs=12) -- 11980(line=617, offs=42)
-*/
-ATSINSmove(tmpret43, PMVtmpltcst(g0int_lt<S2Evar(tk(4619))>)(arg0, tmp44)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret43) ;
-} /* end of [ATSLIB_056_prelude__lt_g0int_int__24] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 11941(line=617, offs=3) -- 11980(line=617, offs=42)
-*/
-/*
-local: 
-global: lt_g0int_int$24$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4619)
-tmparg = S2Evar(tk(4619))
-tmpsub = Some(tk(4619) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g0int_int__24__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret43__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp44__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11926(line=616, offs=1) -- 11980(line=617, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11967(line=617, offs=29) -- 11978(line=617, offs=40)
-*/
-ATSINSmove(tmp44__1, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11950(line=617, offs=12) -- 11980(line=617, offs=42)
-*/
-ATSINSmove(tmpret43__1, atspre_g0int_lt_int(arg0, tmp44__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret43__1) ;
-} /* end of [ATSLIB_056_prelude__lt_g0int_int__24__1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12100(line=626, offs=3) -- 12139(line=626, offs=42)
-*/
-/*
-local: 
-global: gt_g0int_int$28$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4621)
-tmparg = S2Evar(tk(4621))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g0int_int__28(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret47, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp48, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12085(line=625, offs=1) -- 12139(line=626, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12126(line=626, offs=29) -- 12137(line=626, offs=40)
-*/
-ATSINSmove(tmp48, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4621))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12109(line=626, offs=12) -- 12139(line=626, offs=42)
-*/
-ATSINSmove(tmpret47, PMVtmpltcst(g0int_gt<S2Evar(tk(4621))>)(arg0, tmp48)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret47) ;
-} /* end of [ATSLIB_056_prelude__gt_g0int_int__28] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12100(line=626, offs=3) -- 12139(line=626, offs=42)
-*/
-/*
-local: 
-global: gt_g0int_int$28$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4621)
-tmparg = S2Evar(tk(4621))
-tmpsub = Some(tk(4621) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g0int_int__28__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret47__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp48__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12085(line=625, offs=1) -- 12139(line=626, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12126(line=626, offs=29) -- 12137(line=626, offs=40)
-*/
-ATSINSmove(tmp48__1, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12109(line=626, offs=12) -- 12139(line=626, offs=42)
-*/
-ATSINSmove(tmpret47__1, atspre_g0int_gt_int(arg0, tmp48__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret47__1) ;
-} /* end of [ATSLIB_056_prelude__gt_g0int_int__28__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$7$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4632)
-tmparg = S2Evar(tk(4632))
-tmpsub = Some(tk(4632) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__7__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__2, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__2, atspre_g1int_gt_int(arg0, tmp12__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__2) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__7__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__2, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__2, atspre_g0int_eq_int(arg0, tmp19__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__2) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__2] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4068(line=199, offs=3) -- 4190(line=207, offs=2)
-*/
-/*
-local: 
-global: abs_intinf1$33$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret60, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp61, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp62) ;
-// ATStmpdec_void(tmp63) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4054(line=198, offs=1) -- 4190(line=207, offs=2)
-*/
-ATSINSflab(__patsflab_abs_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4074(line=199, offs=9) -- 4190(line=207, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4097(line=202, offs=9) -- 4113(line=202, offs=25)
-*/
-ATSINSmove(tmp61, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4126(line=204, offs=10) -- 4147(line=204, offs=31)
-*/
-ATSINSmove_void(tmp62, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmp61, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4157(line=205, offs=10) -- 4185(line=205, offs=38)
-*/
-ATSINSmove_void(tmp63, atscntrb_gmp_mpz_abs2(ATSPMVrefarg1(ATSSELrecsin(tmp61, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4075(line=199, offs=10) -- 4076(line=199, offs=11)
-*/
-ATSINSmove(tmpret60, tmp61) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4074(line=199, offs=9) -- 4190(line=207, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret60) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4068(line=199, offs=3) -- 4190(line=207, offs=2)
-*/
-/*
-local: 
-global: abs_intinf1$33$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__1(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret60__1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp61__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp62__1) ;
-// ATStmpdec_void(tmp63__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4054(line=198, offs=1) -- 4190(line=207, offs=2)
-*/
-ATSINSflab(__patsflab_abs_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4074(line=199, offs=9) -- 4190(line=207, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4097(line=202, offs=9) -- 4113(line=202, offs=25)
-*/
-ATSINSmove(tmp61__1, ATSLIB_056_prelude__ptr_alloc__2__2()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4126(line=204, offs=10) -- 4147(line=204, offs=31)
-*/
-ATSINSmove_void(tmp62__1, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmp61__1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4157(line=205, offs=10) -- 4185(line=205, offs=38)
-*/
-ATSINSmove_void(tmp63__1, atscntrb_gmp_mpz_abs2(ATSPMVrefarg1(ATSSELrecsin(tmp61__1, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4075(line=199, offs=10) -- 4076(line=199, offs=11)
-*/
-ATSINSmove(tmpret60__1, tmp61__1) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4074(line=199, offs=9) -- 4190(line=207, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret60__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$2$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__2()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3__2, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret3__2, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3__2) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__2__2] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_intinf1$36$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret70, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp71) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
-*/
-ATSINSmove_void(tmp71, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
-*/
-ATSINSmove(tmpret70, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret70) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_intinf1$36$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret70__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp71__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
-*/
-ATSINSmove_void(tmp71__1, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
-*/
-ATSINSmove(tmpret70__1, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret70__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$38$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret75) ;
-// ATStmpdec_void(tmp76) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp76, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret75, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret75) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$38$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__1(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret75__1) ;
-// ATStmpdec_void(tmp76__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp76__1, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret75__1, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret75__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4068(line=199, offs=3) -- 4190(line=207, offs=2)
-*/
-/*
-local: 
-global: abs_intinf1$33$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__2(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret60__2, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp61__2, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp62__2) ;
-// ATStmpdec_void(tmp63__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4054(line=198, offs=1) -- 4190(line=207, offs=2)
-*/
-ATSINSflab(__patsflab_abs_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4074(line=199, offs=9) -- 4190(line=207, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4097(line=202, offs=9) -- 4113(line=202, offs=25)
-*/
-ATSINSmove(tmp61__2, ATSLIB_056_prelude__ptr_alloc__2__3()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4126(line=204, offs=10) -- 4147(line=204, offs=31)
-*/
-ATSINSmove_void(tmp62__2, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmp61__2, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4157(line=205, offs=10) -- 4185(line=205, offs=38)
-*/
-ATSINSmove_void(tmp63__2, atscntrb_gmp_mpz_abs2(ATSPMVrefarg1(ATSSELrecsin(tmp61__2, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4075(line=199, offs=10) -- 4076(line=199, offs=11)
-*/
-ATSINSmove(tmpret60__2, tmp61__2) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4074(line=199, offs=9) -- 4190(line=207, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret60__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__abs_intinf1__33__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$2$3(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__3()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3__3, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret3__3, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3__3) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__2__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_intinf1$36$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__2(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret70__2, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp71__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
-*/
-ATSINSmove_void(tmp71__2, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
-*/
-ATSINSmove(tmpret70__2, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret70__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_intinf1$36$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__3(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret70__3, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp71__3) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
-*/
-ATSINSmove_void(tmp71__3, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
-*/
-ATSINSmove(tmpret70__3, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret70__3) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__36__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$38$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__2(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret75__2) ;
-// ATStmpdec_void(tmp76__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp76__2, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret75__2, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret75__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$38$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__3(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret75__3) ;
-// ATStmpdec_void(tmp76__3) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp76__3, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret75__3, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret75__3) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__38__3] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$46$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret98, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp99, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp100) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp99, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp100, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp99, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret98, tmp99) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret98) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$46$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46__1(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret98__1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp99__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp100__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp99__1, ATSLIB_056_prelude__ptr_alloc__2__4()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp100__1, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp99__1, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret98__1, tmp99__1) ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret98__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__46__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$2$4(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4735)
-tmparg = S2Evar(a(4735))
-tmpsub = Some(a(4735) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__4()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3__4, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret3__4, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3__4) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__2__4] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2644(line=95, offs=4) -- 2784(line=100, offs=6)
-*/
-/*
-local: witness_0$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-sqrt_int_49(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret105, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref106, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp107, atstkind_t0ype(atstype_float)) ;
-ATStmpdec(tmp108, atstkind_t0ype(atstype_float)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2644(line=95, offs=4) -- 2784(line=100, offs=6)
-*/
-ATSINSflab(__patsflab_sqrt_int_49):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2690(line=96, offs=3) -- 2784(line=100, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2702(line=97, offs=9) -- 2707(line=97, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref106) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2738(line=97, offs=45) -- 2751(line=97, offs=58)
-*/
-ATSINSmove(tmp108, atspre_g0int2float_int_float(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2727(line=97, offs=34) -- 2753(line=97, offs=60)
-*/
-ATSINSmove(tmp107, atslib_libats_libc_sqrt_float(tmp108)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2715(line=97, offs=22) -- 2754(line=97, offs=61)
-*/
-ATSINSmove(tmpref106, atspre_g0float2int_float_int(tmp107)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2764(line=99, offs=5) -- 2777(line=99, offs=18)
-*/
-ATSINSmove(tmpret105, witness_0(tmpref106)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2690(line=96, offs=3) -- 2784(line=100, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret105) ;
-} /* end of [sqrt_int_49] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2820(line=103, offs=4) -- 3401(line=126, offs=10)
-*/
-/*
-local: sqrt_int_49$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), is_prime_52$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-is_prime_52(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret109, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp128, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2820(line=103, offs=4) -- 3401(line=126, offs=10)
-*/
-ATSINSflab(__patsflab_is_prime_52):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2856(line=104, offs=3) -- 3401(line=126, offs=10)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2873(line=105, offs=7) -- 2874(line=105, offs=8)
-*/
-ATSINSlab(__atstmplab3):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2829(line=103, offs=13) -- 2830(line=103, offs=14)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab5) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2874(line=105, offs=8) -- 2874(line=105, offs=8)
-*/
-ATSINSlab(__atstmplab4):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2878(line=105, offs=12) -- 2883(line=105, offs=17)
-*/
-ATSINSmove(tmpret109, ATSPMVbool_false()) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2891(line=106, offs=8) -- 2891(line=106, offs=8)
-*/
-ATSINSlab(__atstmplab5):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2916(line=108, offs=9) -- 3391(line=125, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3367(line=124, offs=19) -- 3377(line=124, offs=29)
-*/
-ATSINSmove(tmp128, sqrt_int_49(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3359(line=124, offs=11) -- 3379(line=124, offs=31)
-*/
-ATSINSmove(tmpret109, loop_53(arg0, ATSPMVi0nt(2), tmp128)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2916(line=108, offs=9) -- 3391(line=125, offs=12)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret109) ;
-} /* end of [is_prime_52] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2934(line=109, offs=15) -- 3337(line=122, offs=21)
-*/
-/*
-local: loop_53$0(level=1)
-global: loop_53$0(level=1)
-local: k$5102(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: k$5102(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-loop_53(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret110, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp111, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp116, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp119, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp120, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp121, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp124, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp127, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 2934(line=109, offs=15) -- 3337(line=122, offs=21)
-*/
-ATSINSflab(__patsflab_loop_53):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3024(line=110, offs=16) -- 3033(line=110, offs=25)
-*/
-ATSINSmove(tmp111, ATSLIB_056_prelude__lt_g1int_int__54__1(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3021(line=110, offs=13) -- 3337(line=122, offs=21)
-*/
-ATSif(
-tmp111
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3056(line=111, offs=18) -- 3061(line=111, offs=23)
-*/
-ATSINSmove(tmp119, atspre_g0int_mod_int(env0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3056(line=111, offs=18) -- 3065(line=111, offs=27)
-*/
-ATSINSmove(tmp116, ATSLIB_056_prelude__eq_g0int_int__13__3(tmp119, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3053(line=111, offs=15) -- 3146(line=114, offs=35)
-*/
-ATSif(
-tmp116
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3087(line=112, offs=17) -- 3092(line=112, offs=22)
-*/
-ATSINSmove(tmpret110, ATSPMVbool_false()) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3133(line=114, offs=22) -- 3138(line=114, offs=27)
-*/
-ATSINSmove(tmp120, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3128(line=114, offs=17) -- 3146(line=114, offs=35)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp120) ;
-ATSINSmove_tlcal(apy1, arg1) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_loop_53) ;
-ATStailcal_end()
-
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3181(line=116, offs=18) -- 3190(line=116, offs=27)
-*/
-ATSINSmove(tmp121, ATSLIB_056_prelude__eq_g1int_int__19__2(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3178(line=116, offs=15) -- 3337(line=122, offs=21)
-*/
-ATSif(
-tmp121
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3215(line=117, offs=20) -- 3220(line=117, offs=25)
-*/
-ATSINSmove(tmp127, atspre_g0int_mod_int(env0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3215(line=117, offs=20) -- 3224(line=117, offs=29)
-*/
-ATSINSmove(tmp124, ATSLIB_056_prelude__eq_g0int_int__13__4(tmp127, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3212(line=117, offs=17) -- 3297(line=120, offs=23)
-*/
-ATSif(
-tmp124
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3248(line=118, offs=19) -- 3253(line=118, offs=24)
-*/
-ATSINSmove(tmpret110, ATSPMVbool_false()) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3293(line=120, offs=19) -- 3297(line=120, offs=23)
-*/
-ATSINSmove(tmpret110, ATSPMVbool_true()) ;
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/numerics-internal.dats: 3333(line=122, offs=17) -- 3337(line=122, offs=21)
-*/
-ATSINSmove(tmpret110, ATSPMVbool_true()) ;
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret110) ;
-} /* end of [loop_53] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
-*/
-/*
-local: 
-global: lt_g1int_int$54$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4626)
-tmparg = S2Evar(tk(4626))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__54(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret112, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp113, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
-*/
-ATSINSmove(tmp113, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4626))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
-*/
-ATSINSmove(tmpret112, PMVtmpltcst(g1int_lt<S2Evar(tk(4626))>)(arg0, tmp113)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret112) ;
-} /* end of [ATSLIB_056_prelude__lt_g1int_int__54] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
-*/
-/*
-local: 
-global: lt_g1int_int$54$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4626)
-tmparg = S2Evar(tk(4626))
-tmpsub = Some(tk(4626) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__54__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret112__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp113__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
-*/
-ATSINSmove(tmp113__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
-*/
-ATSINSmove(tmpret112__1, atspre_g1int_lt_int(arg0, tmp113__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret112__1) ;
-} /* end of [ATSLIB_056_prelude__lt_g1int_int__54__1] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$3(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__3, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__3, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__3, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__3, atspre_g0int_eq_int(arg0, tmp19__3)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__3) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
-*/
-/*
-local: 
-global: eq_g1int_int$19$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4638)
-tmparg = S2Evar(tk(4638))
-tmpsub = Some(tk(4638) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__19__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret28__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp29__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
-*/
-ATSINSmove(tmp29__2, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
-*/
-ATSINSmove(tmpret28__2, atspre_g1int_eq_int(arg0, tmp29__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret28__2) ;
-} /* end of [ATSLIB_056_prelude__eq_g1int_int__19__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$13$4(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4623)
-tmparg = S2Evar(tk(4623))
-tmpsub = Some(tk(4623) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__13__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__4, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__4, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__4, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__4, atspre_g0int_eq_int(arg0, tmp19__4)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__4) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__13__4] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 535(line=26, offs=24) -- 553(line=27, offs=13)
-*/
-/*
-local: is_prime_52$0(level=0)
-global: witness_0$0(level=0), sqrt_int_49$0(level=0), is_prime_52$0(level=0), is_prime_ats$60$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_bool)
-is_prime_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret129, atstkind_t0ype(atstype_bool)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 522(line=26, offs=11) -- 554(line=27, offs=14)
-*/
-ATSINSflab(__patsflab_is_prime_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 543(line=27, offs=3) -- 553(line=27, offs=13)
-*/
-ATSINSmove(tmpret129, is_prime_52(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret129) ;
-} /* end of [is_prime_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 574(line=29, offs=19) -- 594(line=30, offs=12)
-*/
-/*
-local: exp_6$0(level=0)
-global: exp_6$0(level=0), exp_ats$61$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_int)
-exp_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret130, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 566(line=29, offs=11) -- 594(line=30, offs=12)
-*/
-ATSINSflab(__patsflab_exp_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 585(line=30, offs=3) -- 594(line=30, offs=12)
-*/
-ATSINSmove(tmpret130, exp_6(arg0, arg1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret130) ;
+** The C code is generated by [ATS/Postiats-0-3-11]
+**
+*/
+
+/*
+** include runtime header files
+*/
+#ifndef _ATS_CCOMP_HEADER_NONE_
+#include "pats_ccomp_config.h"
+#include "pats_ccomp_basics.h"
+#include "pats_ccomp_typedefs.h"
+#include "pats_ccomp_instrset.h"
+#include "pats_ccomp_memalloc.h"
+#ifndef _ATS_CCOMP_EXCEPTION_NONE_
+#include "pats_ccomp_memalloca.h"
+#include "pats_ccomp_exception.h"
+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
+#endif /* _ATS_CCOMP_HEADER_NONE_ */
+
+
+/*
+** include prelude cats files
+*/
+#ifndef _ATS_CCOMP_PRELUDE_NONE_
+//
+#include "prelude/CATS/basics.cats"
+#include "prelude/CATS/integer.cats"
+#include "prelude/CATS/pointer.cats"
+#include "prelude/CATS/integer_long.cats"
+#include "prelude/CATS/integer_size.cats"
+#include "prelude/CATS/integer_short.cats"
+#include "prelude/CATS/bool.cats"
+#include "prelude/CATS/char.cats"
+#include "prelude/CATS/float.cats"
+#include "prelude/CATS/integer_ptr.cats"
+#include "prelude/CATS/integer_fixed.cats"
+#include "prelude/CATS/memory.cats"
+#include "prelude/CATS/string.cats"
+#include "prelude/CATS/strptr.cats"
+//
+#include "prelude/CATS/fprintf.cats"
+//
+#include "prelude/CATS/filebas.cats"
+//
+#include "prelude/CATS/list.cats"
+#include "prelude/CATS/option.cats"
+#include "prelude/CATS/array.cats"
+#include "prelude/CATS/arrayptr.cats"
+#include "prelude/CATS/arrayref.cats"
+#include "prelude/CATS/matrix.cats"
+#include "prelude/CATS/matrixptr.cats"
+//
+#endif /* _ATS_CCOMP_PRELUDE_NONE_ */
+/*
+** for user-supplied prelude
+*/
+#ifdef _ATS_CCOMP_PRELUDE_USER_
+//
+#include _ATS_CCOMP_PRELUDE_USER_
+//
+#endif /* _ATS_CCOMP_PRELUDE_USER_ */
+/*
+** for user2-supplied prelude
+*/
+#ifdef _ATS_CCOMP_PRELUDE_USER2_
+//
+#include _ATS_CCOMP_PRELUDE_USER2_
+//
+#endif /* _ATS_CCOMP_PRELUDE_USER2_ */
+
+/*
+staload-prologues(beg)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/basics.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 1533(line=44, offs=1) -- 1572(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_long.dats: 1602(line=49, offs=1) -- 1641(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_short.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/char.dats: 1610(line=48, offs=1) -- 1649(line=48, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/float.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/string.dats: 1631(line=50, offs=1) -- 1670(line=50, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/strptr.dats: 1629(line=50, offs=1) -- 1668(line=50, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/strptr.dats: 1691(line=54, offs=1) -- 1738(line=54, offs=48)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_ptr.dats: 1601(line=49, offs=1) -- 1640(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_fixed.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/memory.dats: 1410(line=38, offs=1) -- 1449(line=39, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1607(line=49, offs=1) -- 1646(line=50, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1669(line=54, offs=1) -- 1715(line=55, offs=39)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1738(line=59, offs=1) -- 1783(line=60, offs=38)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/stdio.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/types.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1865(line=66, offs=1) -- 1912(line=66, offs=48)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/stat.sats: 1390(line=36, offs=1) -- 1440(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/stat.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/stat.sats: 1756(line=58, offs=1) -- 1805(line=60, offs=34)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/types.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 15937(line=927, offs=1) -- 15974(line=928, offs=30)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/stdio.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/types.cats"
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list.dats: 1529(line=44, offs=1) -- 1568(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list.dats: 1569(line=46, offs=1) -- 1615(line=47, offs=39)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list_vt.dats: 1538(line=44, offs=1) -- 1577(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list_vt.dats: 1578(line=46, offs=1) -- 1624(line=47, offs=39)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/list_vt_mergesort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/list_vt_quicksort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/array.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/array_bsearch.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/array_quicksort.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/arrayptr.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/arrayref.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/matrix.dats: 1535(line=44, offs=1) -- 1574(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/matrixptr.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/matrixref.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/tostring.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/checkast.dats: 1531(line=44, offs=1) -- 1570(line=45, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
+*/
+
+//
+#include \
+"atscntrb-hx-libgmp/CATS/gmp.cats"
+//
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/mydepies.hats: 208(line=18, offs=1) -- 248(line=19, offs=32)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
+*/
+
+//
+#include \
+"atscntrb-hx-libgmp/CATS/gmp.cats"
+//
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/math.sats: 1380(line=35, offs=1) -- 1426(line=38, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/math.cats"
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+staload-prologues(end)
+*/
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 172(line=8, offs=1) -- 340(line=14, offs=3)
+*/
+ATSextcode_beg()
+#ifndef LIBRARY_BUILD
+#define ATS_MEMALLOC_LIBC
+#include "ccomp/runtime/pats_ccomp_memalloc_libc.h"
+#include "ccomp/runtime/pats_ccomp_runtime_memalloc.c"
+#endif
+ATSextcode_end()
+/*
+typedefs-for-tyrecs-and-tysums(beg)
+*/
+/*
+typedefs-for-tyrecs-and-tysums(end)
+*/
+/*
+dynconlst-declaration(beg)
+*/
+/*
+dynconlst-declaration(end)
+*/
+/*
+dyncstlst-declaration(beg)
+*/
+ATSdyncst_mac(atspre_ptr_alloc_tsz)
+ATSdyncst_mac(atspre_g0int2uint_int_uint)
+ATSdyncst_mac(atspre_g1int_add_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_init)
+ATSdyncst_mac(atscntrb_gmp_mpz_fib_uint)
+ATSdyncst_mac(atspre_g1int2int_int_int)
+ATSdyncst_mac(atspre_g1int_gt_int)
+ATSdyncst_mac(atspre_g1int_half_int)
+ATSdyncst_mac(atspre_g0int_mod_int)
+ATSdyncst_mac(atspre_g0int2int_int_int)
+ATSdyncst_mac(atspre_g0int_eq_int)
+ATSdyncst_mac(atspre_g0int_mul_int)
+ATSdyncst_mac(atspre_g1int_eq_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_cmp_int)
+ATSdyncst_mac(atspre_g0int_lt_int)
+ATSdyncst_mac(atspre_g1int_neg_int)
+ATSdyncst_mac(atspre_g0int_gt_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_init_set_mpz)
+ATSdyncst_mac(atscntrb_gmp_mpz_mul2_mpz)
+ATSdyncst_mac(atscntrb_gmp_mpz_clear)
+ATSdyncst_mac(atspre_ptr_free)
+ATSdyncst_mac(atscntrb_gmp_mpz_init_set_int)
+ATSdyncst_mac(atspre_g0float2int_float_int)
+ATSdyncst_mac(atslib_libats_libc_sqrt_float)
+ATSdyncst_mac(atspre_g0int2float_int_float)
+ATSdyncst_mac(atspre_g1int_lt_int)
+/*
+dyncstlst-declaration(end)
+*/
+/*
+dynvalist-implementation(beg)
+*/
+/*
+dynvalist-implementation(end)
+*/
+/*
+exnconlst-declaration(beg)
+*/
+#ifndef _ATS_CCOMP_EXCEPTION_NONE_
+ATSextern()
+atsvoid_t0ype
+the_atsexncon_initize
+(
+  atstype_exnconptr d2c, atstype_string exnmsg
+) ;
+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
+/*
+exnconlst-declaration(end)
+*/
+/*
+extypelst-declaration(beg)
+*/
+/*
+extypelst-declaration(end)
+*/
+/*
+assumelst-declaration(beg)
+*/
+#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
+#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
+/*
+assumelst-declaration(end)
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+fib_gmp_0(atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1() ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__1() ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+exp_5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+big_exp_17(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__18(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__18__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__21(atsrefarg0_type(atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__21__1(atsrefarg0_type(atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g0int_int__23(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g0int_int__23__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g0int_int__27(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g0int_int__27__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf0__32(atstkind_type(atstype_ptrk)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf0__32__1(atstkind_type(atstype_ptrk)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34(atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__1(atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__2() ;
+
+#if(0)
+#if(0)
+ATSextern()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37(atstkind_type(atstype_ptrk)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__1(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__2(atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__3() ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__41(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__41__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__2(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__3(atstkind_type(atstype_ptrk)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45__1(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__4() ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+sqrt_int_48(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+is_prime_51(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+loop_52(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__53(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__53__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__18__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+is_prime_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+exp_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 941(line=25, offs=4) -- 1143(line=33, offs=6)
+*/
+/*
+local: 
+global: fib_gmp_0$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+fib_gmp_0(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref4, atstkind_t0ype(atstype_uint)) ;
+ATStmpdec(tmp5, atstkind_t0ype(atstype_int)) ;
+// ATStmpdec_void(tmp6) ;
+// ATStmpdec_void(tmp7) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 941(line=25, offs=4) -- 1143(line=33, offs=6)
+*/
+ATSINSflab(__patsflab_fib_gmp_0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 977(line=26, offs=3) -- 1143(line=33, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 989(line=27, offs=9) -- 990(line=27, offs=10)
+*/
+/*
+ATSINStmpdec(tmpref1) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 993(line=27, offs=13) -- 1004(line=27, offs=24)
+*/
+ATSINSmove(tmpref1, ATSLIB_056_prelude__ptr_alloc__1__1()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1013(line=28, offs=9) -- 1014(line=28, offs=10)
+*/
+/*
+ATSINStmpdec(tmpref4) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1028(line=28, offs=24) -- 1033(line=28, offs=29)
+*/
+ATSINSmove(tmp5, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1017(line=28, offs=13) -- 1034(line=28, offs=30)
+*/
+ATSINSmove(tmpref4, atspre_g0int2uint_int_uint(tmp5)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1048(line=29, offs=14) -- 1069(line=29, offs=35)
+*/
+ATSINSmove_void(tmp6, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmpref1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1083(line=30, offs=14) -- 1111(line=30, offs=42)
+*/
+ATSINSmove_void(tmp7, atscntrb_gmp_mpz_fib_uint(ATSPMVrefarg1(ATSSELrecsin(tmpref1, atstkind_type(atstype_ptrk), atslab__2)), tmpref4)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1121(line=32, offs=5) -- 1136(line=32, offs=20)
+*/
+ATSINSmove(tmpret0, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref1)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 977(line=26, offs=3) -- 1143(line=33, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret0) ;
+} /* end of [fib_gmp_0] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$1$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret2, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret2, atspre_ptr_alloc_tsz(ATSPMVsizeof(atstyvar_type(a)))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret2) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__1] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$1$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2EVar(5559))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__1()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret2__1, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret2__1, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret2__1) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__1__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1320(line=38, offs=5) -- 1759(line=59, offs=10)
+*/
+/*
+local: exp_5$0(level=0)
+global: exp_5$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+exp_5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret8, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp9, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref14, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref15, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp16, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp21, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref22, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp23, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp24, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1320(line=38, offs=5) -- 1759(line=59, offs=10)
+*/
+ATSINSflab(__patsflab_exp_5):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1370(line=39, offs=3) -- 1759(line=59, offs=10)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1387(line=40, offs=7) -- 1388(line=40, offs=8)
+*/
+ATSINSlab(__atstmplab0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1339(line=38, offs=24) -- 1340(line=38, offs=25)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1388(line=40, offs=8) -- 1388(line=40, offs=8)
+*/
+ATSINSlab(__atstmplab1):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1392(line=40, offs=12) -- 1393(line=40, offs=13)
+*/
+ATSINSmove(tmpret8, ATSPMVi0nt(0)) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1401(line=41, offs=8) -- 1401(line=41, offs=8)
+*/
+ATSINSlab(__atstmplab2):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1430(line=43, offs=12) -- 1435(line=43, offs=17)
+*/
+ATSINSmove(tmp9, ATSLIB_056_prelude__gt_g1int_int__6__1(arg1, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1427(line=43, offs=9) -- 1749(line=58, offs=12)
+*/
+ATSif(
+tmp9
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1451(line=44, offs=11) -- 1724(line=56, offs=14)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1471(line=45, offs=17) -- 1473(line=45, offs=19)
+*/
+/*
+ATSINStmpdec(tmpref14) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1476(line=45, offs=22) -- 1482(line=45, offs=28)
+*/
+ATSINSmove(tmpref14, atspre_g1int_half_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1500(line=46, offs=17) -- 1502(line=46, offs=19)
+*/
+/*
+ATSINStmpdec(tmpref15) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1505(line=46, offs=22) -- 1510(line=46, offs=27)
+*/
+ATSINSmove(tmpref15, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1539(line=48, offs=16) -- 1545(line=48, offs=22)
+*/
+ATSINSmove(tmp16, ATSLIB_056_prelude__eq_g0int_int__12__1(tmpref15, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1536(line=48, offs=13) -- 1710(line=55, offs=18)
+*/
+ATSif(
+tmp16
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1569(line=49, offs=19) -- 1574(line=49, offs=24)
+*/
+ATSINSmove(tmp21, atspre_g0int_mul_int(arg0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1565(line=49, offs=15) -- 1579(line=49, offs=29)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp21) ;
+ATSINSmove_tlcal(apy1, tmpref14) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_exp_5) ;
+ATStailcal_end()
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1611(line=51, offs=15) -- 1710(line=55, offs=18)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1635(line=52, offs=21) -- 1636(line=52, offs=22)
+*/
+/*
+ATSINStmpdec(tmpref22) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1647(line=52, offs=33) -- 1652(line=52, offs=38)
+*/
+ATSINSmove(tmp24, atspre_g0int_mul_int(arg0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1643(line=52, offs=29) -- 1657(line=52, offs=43)
+*/
+ATSINSmove(tmp23, exp_5(tmp24, tmpref14)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1639(line=52, offs=25) -- 1657(line=52, offs=43)
+*/
+ATSINSmove(tmpref22, atspre_g0int_mul_int(arg0, tmp23)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1691(line=54, offs=17) -- 1692(line=54, offs=18)
+*/
+ATSINSmove(tmpret8, tmpref22) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1611(line=51, offs=15) -- 1710(line=55, offs=18)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1451(line=44, offs=11) -- 1724(line=56, offs=14)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1748(line=58, offs=11) -- 1749(line=58, offs=12)
+*/
+ATSINSmove(tmpret8, ATSPMVi0nt(1)) ;
+} /* ATSendif */
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret8) ;
+} /* end of [exp_5] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret10, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp11, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp11, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4633))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret10, PMVtmpltcst(g1int_gt<S2Evar(tk(4633))>)(arg0, tmp11)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret10) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret10__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp11__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp11__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret10__1, atspre_g1int_gt_int(arg0, tmp11__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret10__1) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__1] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4624))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17, PMVtmpltcst(g0int_eq<S2Evar(tk(4624))>)(arg0, tmp18)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__1, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__1, atspre_g0int_eq_int(arg0, tmp18__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__1) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1797(line=62, offs=5) -- 2405(line=88, offs=39)
+*/
+/*
+local: big_exp_17$0(level=0)
+global: big_exp_17$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+big_exp_17(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret25, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp26, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp31, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp50, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref53, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref54, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp55, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref58, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref78, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref84, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref85, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp90) ;
+// ATStmpdec_void(tmp93) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1797(line=62, offs=5) -- 2405(line=88, offs=39)
+*/
+ATSINSflab(__patsflab_big_exp_17):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1860(line=63, offs=6) -- 1884(line=63, offs=30)
+*/
+ATSINSmove(tmp31, ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__21__1(ATSPMVrefarg0(arg0), ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1860(line=63, offs=6) -- 1888(line=63, offs=34)
+*/
+ATSINSmove(tmp26, ATSLIB_056_prelude__eq_g1int_int__18__1(tmp31, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1857(line=63, offs=3) -- 2405(line=88, offs=39)
+*/
+ATSif(
+tmp26
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1898(line=64, offs=5) -- 1899(line=64, offs=6)
+*/
+ATSINSmove(tmpret25, arg0) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1914(line=66, offs=8) -- 1919(line=66, offs=13)
+*/
+ATSINSmove(tmp50, ATSLIB_056_prelude__gt_g1int_int__6__2(arg1, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1911(line=66, offs=5) -- 2405(line=88, offs=39)
+*/
+ATSif(
+tmp50
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1931(line=67, offs=7) -- 2357(line=86, offs=10)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1947(line=68, offs=13) -- 1949(line=68, offs=15)
+*/
+/*
+ATSINStmpdec(tmpref53) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1952(line=68, offs=18) -- 1958(line=68, offs=24)
+*/
+ATSINSmove(tmpref53, atspre_g1int_half_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1972(line=69, offs=13) -- 1974(line=69, offs=15)
+*/
+/*
+ATSINStmpdec(tmpref54) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1977(line=69, offs=18) -- 1982(line=69, offs=23)
+*/
+ATSINSmove(tmpref54, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2003(line=71, offs=12) -- 2009(line=71, offs=18)
+*/
+ATSINSmove(tmp55, ATSLIB_056_prelude__eq_g0int_int__12__2(tmpref54, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2000(line=71, offs=9) -- 2347(line=85, offs=14)
+*/
+ATSif(
+tmp55
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2025(line=72, offs=11) -- 2120(line=76, offs=14)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2045(line=73, offs=17) -- 2046(line=73, offs=18)
+*/
+/*
+ATSINStmpdec(tmpref58) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2049(line=73, offs=21) -- 2065(line=73, offs=37)
+*/
+ATSINSmove(tmpref58, ATSCNTRB_056_HX_056_intinf_vt__square_intinf0__32__1(arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2092(line=75, offs=13) -- 2106(line=75, offs=27)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmpref58) ;
+ATSINSmove_tlcal(apy1, tmpref53) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_big_exp_17) ;
+ATStailcal_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2025(line=72, offs=11) -- 2120(line=76, offs=14)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2144(line=78, offs=11) -- 2347(line=85, offs=14)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2164(line=79, offs=17) -- 2166(line=79, offs=19)
+*/
+/*
+ATSINStmpdec(tmpref78) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2169(line=79, offs=22) -- 2185(line=79, offs=38)
+*/
+ATSINSmove(tmpref78, ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__2(ATSPMVrefarg0(arg0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2203(line=80, offs=17) -- 2205(line=80, offs=19)
+*/
+/*
+ATSINStmpdec(tmpref84) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2208(line=80, offs=22) -- 2223(line=80, offs=37)
+*/
+ATSINSmove(tmpref84, big_exp_17(tmpref78, tmpref53)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2240(line=81, offs=17) -- 2241(line=81, offs=18)
+*/
+/*
+ATSINStmpdec(tmpref85) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2244(line=81, offs=21) -- 2270(line=81, offs=47)
+*/
+ATSINSmove(tmpref85, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__41__1(tmpref84, ATSPMVrefarg0(arg0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2292(line=82, offs=22) -- 2305(line=82, offs=35)
+*/
+ATSINSmove_void(tmp90, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__2(arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2332(line=84, offs=13) -- 2333(line=84, offs=14)
+*/
+ATSINSmove(tmpret25, tmpref85) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2144(line=78, offs=11) -- 2347(line=85, offs=14)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 1931(line=67, offs=7) -- 2357(line=86, offs=10)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2374(line=88, offs=8) -- 2387(line=88, offs=21)
+*/
+ATSINSmove_void(tmp93, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__3(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2391(line=88, offs=25) -- 2404(line=88, offs=38)
+*/
+ATSINSmove(tmpret25, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45__1(ATSPMVi0nt(1))) ;
+
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret25) ;
+} /* end of [big_exp_17] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
+*/
+/*
+local: 
+global: eq_g1int_int$18$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4639)
+tmparg = S2Evar(tk(4639))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__18(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret27, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp28, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
+*/
+ATSINSmove(tmp28, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4639))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
+*/
+ATSINSmove(tmpret27, PMVtmpltcst(g1int_eq<S2Evar(tk(4639))>)(arg0, tmp28)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret27) ;
+} /* end of [ATSLIB_056_prelude__eq_g1int_int__18] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
+*/
+/*
+local: 
+global: eq_g1int_int$18$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4639)
+tmparg = S2Evar(tk(4639))
+tmpsub = Some(tk(4639) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__18__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret27__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp28__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
+*/
+ATSINSmove(tmp28__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
+*/
+ATSINSmove(tmpret27__1, atspre_g1int_eq_int(arg0, tmp28__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret27__1) ;
+} /* end of [ATSLIB_056_prelude__eq_g1int_int__18__1] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13321(line=768, offs=9) -- 13484(line=775, offs=4)
+*/
+/*
+local: 
+global: compare_intinf_int$21$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_int)
+ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__21(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret32, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp33, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp34, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp35, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp36, atstkind_t0ype(atstype_bool)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13294(line=767, offs=1) -- 13484(line=775, offs=4)
+*/
+ATSINSflab(__patsflab_compare_intinf_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13347(line=770, offs=11) -- 13375(line=770, offs=39)
+*/
+ATSINSmove(tmp33, atscntrb_gmp_mpz_cmp_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13390(line=771, offs=15) -- 13397(line=771, offs=22)
+*/
+ATSINSmove(tmp35, PMVtmpltcst(lt_g0int_int<S2Eextkind(atstype_int)>)(tmp33, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13387(line=771, offs=12) -- 13437(line=771, offs=62)
+*/
+ATSif(
+tmp35
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13403(line=771, offs=28) -- 13405(line=771, offs=30)
+*/
+ATSINSmove(tmp34, PMVtmpltcst(g1int_neg<S2Eextkind(atstype_int)>)(ATSPMVi0nt(1))) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13415(line=771, offs=40) -- 13422(line=771, offs=47)
+*/
+ATSINSmove(tmp36, PMVtmpltcst(gt_g0int_int<S2Eextkind(atstype_int)>)(tmp33, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13412(line=771, offs=37) -- 13436(line=771, offs=61)
+*/
+ATSif(
+tmp36
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13428(line=771, offs=53) -- 13429(line=771, offs=54)
+*/
+ATSINSmove(tmp34, ATSPMVi0nt(1)) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13435(line=771, offs=60) -- 13436(line=771, offs=61)
+*/
+ATSINSmove(tmp34, ATSPMVi0nt(0)) ;
+} /* ATSendif */
+} /* ATSendif */
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13452(line=774, offs=3) -- 13479(line=774, offs=30)
+*/
+ATSINSmove(tmpret32, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp34)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret32) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__21] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13321(line=768, offs=9) -- 13484(line=775, offs=4)
+*/
+/*
+local: 
+global: compare_intinf_int$21$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_t0ype(atstype_int)
+ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__21__1(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret32__1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp33__1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp34__1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp35__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp36__1, atstkind_t0ype(atstype_bool)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13294(line=767, offs=1) -- 13484(line=775, offs=4)
+*/
+ATSINSflab(__patsflab_compare_intinf_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13347(line=770, offs=11) -- 13375(line=770, offs=39)
+*/
+ATSINSmove(tmp33__1, atscntrb_gmp_mpz_cmp_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13390(line=771, offs=15) -- 13397(line=771, offs=22)
+*/
+ATSINSmove(tmp35__1, ATSLIB_056_prelude__lt_g0int_int__23__1(tmp33__1, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13387(line=771, offs=12) -- 13437(line=771, offs=62)
+*/
+ATSif(
+tmp35__1
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13403(line=771, offs=28) -- 13405(line=771, offs=30)
+*/
+ATSINSmove(tmp34__1, atspre_g1int_neg_int(ATSPMVi0nt(1))) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13415(line=771, offs=40) -- 13422(line=771, offs=47)
+*/
+ATSINSmove(tmp36__1, ATSLIB_056_prelude__gt_g0int_int__27__1(tmp33__1, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13412(line=771, offs=37) -- 13436(line=771, offs=61)
+*/
+ATSif(
+tmp36__1
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13428(line=771, offs=53) -- 13429(line=771, offs=54)
+*/
+ATSINSmove(tmp34__1, ATSPMVi0nt(1)) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13435(line=771, offs=60) -- 13436(line=771, offs=61)
+*/
+ATSINSmove(tmp34__1, ATSPMVi0nt(0)) ;
+} /* ATSendif */
+} /* ATSendif */
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13452(line=774, offs=3) -- 13479(line=774, offs=30)
+*/
+ATSINSmove(tmpret32__1, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp34__1)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 13330(line=768, offs=18) -- 13484(line=775, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret32__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__compare_intinf_int__21__1] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 11941(line=617, offs=3) -- 11980(line=617, offs=42)
+*/
+/*
+local: 
+global: lt_g0int_int$23$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4620)
+tmparg = S2Evar(tk(4620))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g0int_int__23(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret42, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp43, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11926(line=616, offs=1) -- 11980(line=617, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11967(line=617, offs=29) -- 11978(line=617, offs=40)
+*/
+ATSINSmove(tmp43, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4620))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11950(line=617, offs=12) -- 11980(line=617, offs=42)
+*/
+ATSINSmove(tmpret42, PMVtmpltcst(g0int_lt<S2Evar(tk(4620))>)(arg0, tmp43)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret42) ;
+} /* end of [ATSLIB_056_prelude__lt_g0int_int__23] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 11941(line=617, offs=3) -- 11980(line=617, offs=42)
+*/
+/*
+local: 
+global: lt_g0int_int$23$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4620)
+tmparg = S2Evar(tk(4620))
+tmpsub = Some(tk(4620) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g0int_int__23__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret42__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp43__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11926(line=616, offs=1) -- 11980(line=617, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11967(line=617, offs=29) -- 11978(line=617, offs=40)
+*/
+ATSINSmove(tmp43__1, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11950(line=617, offs=12) -- 11980(line=617, offs=42)
+*/
+ATSINSmove(tmpret42__1, atspre_g0int_lt_int(arg0, tmp43__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret42__1) ;
+} /* end of [ATSLIB_056_prelude__lt_g0int_int__23__1] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12100(line=626, offs=3) -- 12139(line=626, offs=42)
+*/
+/*
+local: 
+global: gt_g0int_int$27$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4622)
+tmparg = S2Evar(tk(4622))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g0int_int__27(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret46, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp47, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12085(line=625, offs=1) -- 12139(line=626, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12126(line=626, offs=29) -- 12137(line=626, offs=40)
+*/
+ATSINSmove(tmp47, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4622))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12109(line=626, offs=12) -- 12139(line=626, offs=42)
+*/
+ATSINSmove(tmpret46, PMVtmpltcst(g0int_gt<S2Evar(tk(4622))>)(arg0, tmp47)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret46) ;
+} /* end of [ATSLIB_056_prelude__gt_g0int_int__27] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12100(line=626, offs=3) -- 12139(line=626, offs=42)
+*/
+/*
+local: 
+global: gt_g0int_int$27$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4622)
+tmparg = S2Evar(tk(4622))
+tmpsub = Some(tk(4622) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g0int_int__27__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret46__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp47__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12085(line=625, offs=1) -- 12139(line=626, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12126(line=626, offs=29) -- 12137(line=626, offs=40)
+*/
+ATSINSmove(tmp47__1, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12109(line=626, offs=12) -- 12139(line=626, offs=42)
+*/
+ATSINSmove(tmpret46__1, atspre_g0int_gt_int(arg0, tmp47__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret46__1) ;
+} /* end of [ATSLIB_056_prelude__gt_g0int_int__27__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret10__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp11__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp11__2, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret10__2, atspre_g1int_gt_int(arg0, tmp11__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret10__2) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__2] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__2, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__2, atspre_g0int_eq_int(arg0, tmp18__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__2) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__2] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4581(line=236, offs=3) -- 4665(line=240, offs=2)
+*/
+/*
+local: 
+global: square_intinf0$32$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf0__32(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret59, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp60, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp61) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4564(line=235, offs=1) -- 4665(line=240, offs=2)
+*/
+ATSINSflab(__patsflab_square_intinf0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4587(line=236, offs=9) -- 4665(line=240, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4611(line=238, offs=13) -- 4627(line=238, offs=29)
+*/
+ATSINSmove(tmp60, PMVtmpltcst(square_intinf1<>)(ATSPMVrefarg0(arg0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4649(line=239, offs=21) -- 4662(line=239, offs=34)
+*/
+ATSINSmove_void(tmp61, PMVtmpltcst(intinf_free<>)(arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4587(line=236, offs=9) -- 4590(line=236, offs=12)
+*/
+ATSINSmove(tmpret59, tmp60) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4587(line=236, offs=9) -- 4665(line=240, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret59) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__square_intinf0__32] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4581(line=236, offs=3) -- 4665(line=240, offs=2)
+*/
+/*
+local: 
+global: square_intinf0$32$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf0__32__1(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret59__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp60__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp61__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4564(line=235, offs=1) -- 4665(line=240, offs=2)
+*/
+ATSINSflab(__patsflab_square_intinf0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4587(line=236, offs=9) -- 4665(line=240, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4611(line=238, offs=13) -- 4627(line=238, offs=29)
+*/
+ATSINSmove(tmp60__1, ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__1(ATSPMVrefarg0(arg0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4649(line=239, offs=21) -- 4662(line=239, offs=34)
+*/
+ATSINSmove_void(tmp61__1, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__1(arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4587(line=236, offs=9) -- 4590(line=236, offs=12)
+*/
+ATSINSmove(tmpret59__1, tmp60__1) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4587(line=236, offs=9) -- 4665(line=240, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret59__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__square_intinf0__32__1] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4755(line=247, offs=3) -- 4900(line=256, offs=2)
+*/
+/*
+local: 
+global: square_intinf1$34$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret65, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp66, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp67) ;
+// ATStmpdec_void(tmp68) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4738(line=246, offs=1) -- 4900(line=256, offs=2)
+*/
+ATSINSflab(__patsflab_square_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4761(line=247, offs=9) -- 4900(line=256, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4784(line=250, offs=9) -- 4800(line=250, offs=25)
+*/
+ATSINSmove(tmp66, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4812(line=252, offs=3) -- 4849(line=252, offs=40)
+*/
+ATSINSmove_void(tmp67, atscntrb_gmp_mpz_init_set_mpz(ATSPMVrefarg1(ATSSELrecsin(tmp66, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4862(line=254, offs=10) -- 4895(line=254, offs=43)
+*/
+ATSINSmove_void(tmp68, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(tmp66, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4762(line=247, offs=10) -- 4763(line=247, offs=11)
+*/
+ATSINSmove(tmpret65, tmp66) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4761(line=247, offs=9) -- 4900(line=256, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret65) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4755(line=247, offs=3) -- 4900(line=256, offs=2)
+*/
+/*
+local: 
+global: square_intinf1$34$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__1(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret65__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp66__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp67__1) ;
+// ATStmpdec_void(tmp68__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4738(line=246, offs=1) -- 4900(line=256, offs=2)
+*/
+ATSINSflab(__patsflab_square_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4761(line=247, offs=9) -- 4900(line=256, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4784(line=250, offs=9) -- 4800(line=250, offs=25)
+*/
+ATSINSmove(tmp66__1, ATSLIB_056_prelude__ptr_alloc__1__2()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4812(line=252, offs=3) -- 4849(line=252, offs=40)
+*/
+ATSINSmove_void(tmp67__1, atscntrb_gmp_mpz_init_set_mpz(ATSPMVrefarg1(ATSSELrecsin(tmp66__1, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4862(line=254, offs=10) -- 4895(line=254, offs=43)
+*/
+ATSINSmove_void(tmp68__1, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(tmp66__1, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4762(line=247, offs=10) -- 4763(line=247, offs=11)
+*/
+ATSINSmove(tmpret65__1, tmp66__1) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4761(line=247, offs=9) -- 4900(line=256, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret65__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$1$2(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__2()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret2__2, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret2__2, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret2__2) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__1__2] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$37$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret74) ;
+// ATStmpdec_void(tmp75) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp75, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret74, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret74) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$37$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__1(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret74__1) ;
+// ATStmpdec_void(tmp75__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp75__1, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret74__1, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret74__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4755(line=247, offs=3) -- 4900(line=256, offs=2)
+*/
+/*
+local: 
+global: square_intinf1$34$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__2(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret65__2, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp66__2, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp67__2) ;
+// ATStmpdec_void(tmp68__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4738(line=246, offs=1) -- 4900(line=256, offs=2)
+*/
+ATSINSflab(__patsflab_square_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4761(line=247, offs=9) -- 4900(line=256, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4784(line=250, offs=9) -- 4800(line=250, offs=25)
+*/
+ATSINSmove(tmp66__2, ATSLIB_056_prelude__ptr_alloc__1__3()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4812(line=252, offs=3) -- 4849(line=252, offs=40)
+*/
+ATSINSmove_void(tmp67__2, atscntrb_gmp_mpz_init_set_mpz(ATSPMVrefarg1(ATSSELrecsin(tmp66__2, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4862(line=254, offs=10) -- 4895(line=254, offs=43)
+*/
+ATSINSmove_void(tmp68__2, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(tmp66__2, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4762(line=247, offs=10) -- 4763(line=247, offs=11)
+*/
+ATSINSmove(tmpret65__2, tmp66__2) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 4761(line=247, offs=9) -- 4900(line=256, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret65__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__square_intinf1__34__2] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$1$3(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__3()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret2__3, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret2__3, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret2__3) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__1__3] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_intinf1$41$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__41(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret86, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp87) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
+*/
+ATSINSmove_void(tmp87, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
+*/
+ATSINSmove(tmpret86, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret86) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__41] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_intinf1$41$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__41__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret86__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp87__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
+*/
+ATSINSmove_void(tmp87__1, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
+*/
+ATSINSmove(tmpret86__1, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret86__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__41__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$37$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__2(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret74__2) ;
+// ATStmpdec_void(tmp75__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp75__2, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret74__2, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret74__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__2] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$37$3(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__3(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret74__3) ;
+// ATStmpdec_void(tmp75__3) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp75__3, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret74__3, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret74__3) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__37__3] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$45$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret96, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp97, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp98) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp97, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp98, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp97, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret96, tmp97) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret96) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$45$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45__1(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret96__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp97__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp98__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp97__1, ATSLIB_056_prelude__ptr_alloc__1__4()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp98__1, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp97__1, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret96__1, tmp97__1) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret96__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$1$4(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__1__4()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret2__4, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret2__4, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret2__4) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__1__4] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2497(line=92, offs=4) -- 2632(line=97, offs=6)
+*/
+/*
+local: 
+global: sqrt_int_48$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+sqrt_int_48(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret103, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref104, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp105, atstkind_t0ype(atstype_float)) ;
+ATStmpdec(tmp106, atstkind_t0ype(atstype_float)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2497(line=92, offs=4) -- 2632(line=97, offs=6)
+*/
+ATSINSflab(__patsflab_sqrt_int_48):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2543(line=93, offs=3) -- 2632(line=97, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2555(line=94, offs=9) -- 2560(line=94, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref104) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2586(line=94, offs=40) -- 2599(line=94, offs=53)
+*/
+ATSINSmove(tmp106, atspre_g0int2float_int_float(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2575(line=94, offs=29) -- 2601(line=94, offs=55)
+*/
+ATSINSmove(tmp105, atslib_libats_libc_sqrt_float(tmp106)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2563(line=94, offs=17) -- 2602(line=94, offs=56)
+*/
+ATSINSmove(tmpref104, atspre_g0float2int_float_int(tmp105)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2612(line=96, offs=5) -- 2625(line=96, offs=18)
+*/
+ATSINSmove(tmpret103, ATSPMVcastfn(witness, atstkind_t0ype(atstype_int), tmpref104)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2543(line=93, offs=3) -- 2632(line=97, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret103) ;
+} /* end of [sqrt_int_48] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2668(line=100, offs=4) -- 3249(line=123, offs=10)
+*/
+/*
+local: sqrt_int_48$0(level=0)
+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+is_prime_51(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret107, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp126, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2668(line=100, offs=4) -- 3249(line=123, offs=10)
+*/
+ATSINSflab(__patsflab_is_prime_51):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2704(line=101, offs=3) -- 3249(line=123, offs=10)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2721(line=102, offs=7) -- 2722(line=102, offs=8)
+*/
+ATSINSlab(__atstmplab3):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2677(line=100, offs=13) -- 2678(line=100, offs=14)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab5) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2722(line=102, offs=8) -- 2722(line=102, offs=8)
+*/
+ATSINSlab(__atstmplab4):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2726(line=102, offs=12) -- 2731(line=102, offs=17)
+*/
+ATSINSmove(tmpret107, ATSPMVbool_false()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2739(line=103, offs=8) -- 2739(line=103, offs=8)
+*/
+ATSINSlab(__atstmplab5):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2764(line=105, offs=9) -- 3239(line=122, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3215(line=121, offs=19) -- 3225(line=121, offs=29)
+*/
+ATSINSmove(tmp126, sqrt_int_48(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3207(line=121, offs=11) -- 3227(line=121, offs=31)
+*/
+ATSINSmove(tmpret107, loop_52(arg0, ATSPMVi0nt(2), tmp126)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2764(line=105, offs=9) -- 3239(line=122, offs=12)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret107) ;
+} /* end of [is_prime_51] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2782(line=106, offs=15) -- 3185(line=119, offs=21)
+*/
+/*
+local: loop_52$0(level=1)
+global: loop_52$0(level=1)
+local: k$5098(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: k$5098(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+loop_52(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret108, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp109, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp114, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp117, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp118, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp119, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp122, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp125, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2782(line=106, offs=15) -- 3185(line=119, offs=21)
+*/
+ATSINSflab(__patsflab_loop_52):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2872(line=107, offs=16) -- 2881(line=107, offs=25)
+*/
+ATSINSmove(tmp109, ATSLIB_056_prelude__lt_g1int_int__53__1(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2869(line=107, offs=13) -- 3185(line=119, offs=21)
+*/
+ATSif(
+tmp109
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2904(line=108, offs=18) -- 2909(line=108, offs=23)
+*/
+ATSINSmove(tmp117, atspre_g0int_mod_int(env0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2904(line=108, offs=18) -- 2913(line=108, offs=27)
+*/
+ATSINSmove(tmp114, ATSLIB_056_prelude__eq_g0int_int__12__3(tmp117, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2901(line=108, offs=15) -- 2994(line=111, offs=35)
+*/
+ATSif(
+tmp114
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2935(line=109, offs=17) -- 2940(line=109, offs=22)
+*/
+ATSINSmove(tmpret108, ATSPMVbool_false()) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2981(line=111, offs=22) -- 2986(line=111, offs=27)
+*/
+ATSINSmove(tmp118, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 2976(line=111, offs=17) -- 2994(line=111, offs=35)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp118) ;
+ATSINSmove_tlcal(apy1, arg1) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_loop_52) ;
+ATStailcal_end()
+
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3029(line=113, offs=18) -- 3038(line=113, offs=27)
+*/
+ATSINSmove(tmp119, ATSLIB_056_prelude__eq_g1int_int__18__2(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3026(line=113, offs=15) -- 3185(line=119, offs=21)
+*/
+ATSif(
+tmp119
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3063(line=114, offs=20) -- 3068(line=114, offs=25)
+*/
+ATSINSmove(tmp125, atspre_g0int_mod_int(env0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3063(line=114, offs=20) -- 3072(line=114, offs=29)
+*/
+ATSINSmove(tmp122, ATSLIB_056_prelude__eq_g0int_int__12__4(tmp125, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3060(line=114, offs=17) -- 3145(line=117, offs=23)
+*/
+ATSif(
+tmp122
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3096(line=115, offs=19) -- 3101(line=115, offs=24)
+*/
+ATSINSmove(tmpret108, ATSPMVbool_false()) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3141(line=117, offs=19) -- 3145(line=117, offs=23)
+*/
+ATSINSmove(tmpret108, ATSPMVbool_true()) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics-internal.dats: 3181(line=119, offs=17) -- 3185(line=119, offs=21)
+*/
+ATSINSmove(tmpret108, ATSPMVbool_true()) ;
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret108) ;
+} /* end of [loop_52] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
+*/
+/*
+local: 
+global: lt_g1int_int$53$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4627)
+tmparg = S2Evar(tk(4627))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__53(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret110, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp111, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
+*/
+ATSINSmove(tmp111, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4627))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
+*/
+ATSINSmove(tmpret110, PMVtmpltcst(g1int_lt<S2Evar(tk(4627))>)(arg0, tmp111)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret110) ;
+} /* end of [ATSLIB_056_prelude__lt_g1int_int__53] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
+*/
+/*
+local: 
+global: lt_g1int_int$53$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4627)
+tmparg = S2Evar(tk(4627))
+tmpsub = Some(tk(4627) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__53__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret110__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp111__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
+*/
+ATSINSmove(tmp111__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
+*/
+ATSINSmove(tmpret110__1, atspre_g1int_lt_int(arg0, tmp111__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret110__1) ;
+} /* end of [ATSLIB_056_prelude__lt_g1int_int__53__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$3(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__3, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__3, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__3, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__3, atspre_g0int_eq_int(arg0, tmp18__3)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__3) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__3] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
+*/
+/*
+local: 
+global: eq_g1int_int$18$2(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4639)
+tmparg = S2Evar(tk(4639))
+tmpsub = Some(tk(4639) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__18__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret27__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp28__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
+*/
+ATSINSmove(tmp28__2, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
+*/
+ATSINSmove(tmpret27__2, atspre_g1int_eq_int(arg0, tmp28__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret27__2) ;
+} /* end of [ATSLIB_056_prelude__eq_g1int_int__18__2] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$4(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret17__4, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp18__4, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp18__4, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret17__4, atspre_g0int_eq_int(arg0, tmp18__4)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret17__4) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__4] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 564(line=28, offs=24) -- 582(line=29, offs=13)
+*/
+/*
+local: is_prime_51$0(level=0)
+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), is_prime_ats$59$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_bool)
+is_prime_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret127, atstkind_t0ype(atstype_bool)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 551(line=28, offs=11) -- 583(line=29, offs=14)
+*/
+ATSINSflab(__patsflab_is_prime_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 572(line=29, offs=3) -- 582(line=29, offs=13)
+*/
+ATSINSmove(tmpret127, is_prime_51(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret127) ;
+} /* end of [is_prime_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 603(line=31, offs=19) -- 623(line=32, offs=12)
+*/
+/*
+local: exp_5$0(level=0)
+global: exp_5$0(level=0), exp_ats$60$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_int)
+exp_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret128, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 595(line=31, offs=11) -- 623(line=32, offs=12)
+*/
+ATSINSflab(__patsflab_exp_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 614(line=32, offs=3) -- 623(line=32, offs=12)
+*/
+ATSINSmove(tmpret128, exp_5(arg0, arg1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret128) ;
 } /* end of [exp_ats] */
 
 #if(0)
diff --git a/fast-arithmetic.cabal b/fast-arithmetic.cabal
--- a/fast-arithmetic.cabal
+++ b/fast-arithmetic.cabal
@@ -1,12 +1,13 @@
 cabal-version: 1.18
 name: fast-arithmetic
-version: 0.6.0.7
+version: 0.6.0.8
 license: BSD3
 license-file: LICENSE
 copyright: Copyright: (c) 2018 Vanessa McHale
 maintainer: vamchale@gmail.com
 author: Vanessa McHale
-homepage: https://github.com/vmchale/fast-arithmetic#readme
+tested-with: ghc ==7.0.4 ghc ==7.2.2 ghc ==7.4.2 ghc ==7.6.3
+             ghc ==7.8.4 ghc ==7.10.3 ghc ==8.0.2 ghc ==8.2.2 ghc ==8.4.3
 bug-reports: https://github.com/vmchale/hs-ats/issues
 synopsis: Fast functions on integers.
 description:
@@ -16,20 +17,29 @@
 extra-source-files:
     atspkg.dhall
     pkg.dhall
+    lib.dhall
+    source.dhall
+    bench.dhall
     ats-src/*.dats
-    .atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/*.h
-    .atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/*.c
-    .atspkg/contrib/ats-includes-0.3.10/prelude/CATS/*.cats
-    .atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/*.cats
-    .atspkg/contrib/ats-includes-0.3.10/libats/libc/CATS/sys/*.cats
+    .atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/*.h
+    .atspkg/contrib/ats-includes-0.3.11/ccomp/runtime/*.c
+    .atspkg/contrib/ats-includes-0.3.11/prelude/CATS/*.cats
+    .atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/*.cats
+    .atspkg/contrib/ats-includes-0.3.11/libats/libc/CATS/sys/*.cats
     .atspkg/contrib/atscntrb-hx-intinf/*.hats
     .atspkg/contrib/atscntrb-hx-libgmp/CATS/*.cats
 extra-doc-files: README.md
+                 CHANGELOG.md
 
 source-repository head
     type: git
     location: git@github.com:vmchale/hs-ats.git
 
+flag no-integer-gmp
+    description:
+        Disable functions relying on GMP
+    default: False
+
 flag development
     description:
         Enable `-Werror`.
@@ -39,23 +49,39 @@
 library
     exposed-modules:
         Numeric.NumberTheory
-        Numeric.Combinatorics
+    cc-options: -mtune=native -flto -O3
     c-sources:
-        cbits/combinatorics.c
         cbits/number-theory.c
         cbits/numerics.c
     hs-source-dirs: src
     other-modules:
         Numeric.Common
     default-language: Haskell2010
-    include-dirs: .atspkg/contrib/ats-includes-0.3.10/ccomp/runtime
-                  .atspkg/contrib/ats-includes-0.3.10/ .atspkg/contrib
-    ghc-options: -Wall -optc-mtune=native -optc-flto -optc-O3
+    include-dirs: .atspkg/contrib/ats-includes-0.3.11/ccomp/runtime
+                  .atspkg/contrib/ats-includes-0.3.11/ .atspkg/contrib
+    ghc-options: -Wall
     build-depends:
         base >=4.3 && <5,
-        composition-prelude >=1.2.0.0,
-        gmpint -any
+        composition-prelude >=1.2.0.0
     
+    if os(windows)
+        buildable: False
+    
+    if !flag(no-integer-gmp)
+        exposed-modules:
+            Numeric.Combinatorics
+    
+    if !flag(no-integer-gmp)
+        c-sources:
+            cbits/combinatorics.c
+    
+    if !flag(no-integer-gmp)
+        build-depends:
+            gmpint -any
+    
+    if os(windows)
+        buildable: False
+    
     if impl(ghc >=8.0)
         ghc-options: -Wincomplete-uni-patterns -Wincomplete-record-updates
                      -Wcompat
@@ -74,7 +100,7 @@
         fast-arithmetic -any,
         hspec -any,
         QuickCheck -any,
-        arithmoi -any
+        arithmoi >=0.6.0.0
     
     if impl(ghc >=8.4)
         build-depends:
@@ -100,7 +126,7 @@
         base -any,
         fast-arithmetic -any,
         criterion -any,
-        arithmoi -any
+        arithmoi >=0.6.0.0
     
     if impl(ghc >=8.4)
         build-depends:
diff --git a/lib.dhall b/lib.dhall
new file mode 100644
--- /dev/null
+++ b/lib.dhall
@@ -0,0 +1,2 @@
+λ(icc : Bool) →
+    { sourceBld = False, withBench = True, icc = icc }
diff --git a/pkg.dhall b/pkg.dhall
--- a/pkg.dhall
+++ b/pkg.dhall
@@ -1,4 +1,4 @@
-let prelude = https://raw.githubusercontent.com/vmchale/atspkg/master/ats-pkg/dhall/atspkg-prelude.dhall
+let prelude = http://hackage.haskell.org/package/ats-pkg/src/dhall/atspkg-prelude.dhall
 
 in λ(x : List Natural) →
   prelude.makeHsPkg { x = x, name = "fast-arithmetic" }
diff --git a/source.dhall b/source.dhall
new file mode 100644
--- /dev/null
+++ b/source.dhall
@@ -0,0 +1,1 @@
+{ sourceBld = True, withBench = False, icc = False }
diff --git a/src/Numeric/Common.hs b/src/Numeric/Common.hs
--- a/src/Numeric/Common.hs
+++ b/src/Numeric/Common.hs
@@ -17,4 +17,4 @@
         go :: Word8 -> Bool
         go 0 = False
         go 1 = True
-        go _ = False
+        go _ = error "converBool failed"
diff --git a/src/Numeric/NumberTheory.hs b/src/Numeric/NumberTheory.hs
--- a/src/Numeric/NumberTheory.hs
+++ b/src/Numeric/NumberTheory.hs
@@ -31,7 +31,7 @@
 isPerfect :: Int -> Bool
 isPerfect = asTest is_perfect_ats
 
--- | Sum of proper divisors.
+-- | Sum of proper divisors. May overflow.
 sumDivisors :: Int -> Int
 sumDivisors = conjugate sum_divisors_ats
 
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -2,8 +2,6 @@
 
 import qualified Math.Combinat.Numbers                 as Ext
 import qualified Math.NumberTheory.ArithmeticFunctions as Ext
-import           Math.NumberTheory.Moduli.Jacobi       (JacobiSymbol (..))
-import qualified Math.NumberTheory.Moduli.Jacobi       as Ext
 import           Numeric.Combinatorics
 import           Numeric.NumberTheory
 import           Test.Hspec
@@ -15,11 +13,6 @@
 hsIsPrime x = all ((/=0) . (x `rem`)) [2..up]
     where up = floor (sqrt (fromIntegral x :: Float))
 
-toInt :: JacobiSymbol -> Int
-toInt MinusOne = -1
-toInt Zero     = 0
-toInt One      = 1
-
 hsDerangement :: (Integral a) => Int -> a
 hsDerangement n = derangements !! n
 
@@ -57,8 +50,8 @@
         [hsIsPrime]
 
     describe "jacobi" $
-        it "should match the arithmoi function" $
-            toInt (Ext.jacobi (15 :: Int) 19) `shouldBe` toInt (Ext.jacobi (15 :: Int) 19)
+        prop "should match the arithmoi function" $
+            pendingWith "not yet" -- \p q -> p < 0 || not (isPrime q) || q <= 2 || jacobi p q == toInt (Ext.jacobi p q)
     describe "totient" $
         prop "should be equal to p-1 for p prime" $
             \p -> p < 1 || not (isPrime p) || totient p == p - 1
