packages feed

fast-arithmetic-0.3.0.2: cbits/number-theory.c

/*
**
** The C code is generated by [ATS/Postiats-0-3-8]
** The starting compilation time is: 2018-1-14: 18h:51m
**
*/

/*
** 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)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/basics.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats: 1533(line=44, offs=1) -- 1572(line=44, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_long.dats: 1602(line=49, offs=1) -- 1641(line=49, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_short.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/char.dats: 1610(line=48, offs=1) -- 1649(line=48, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/float.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/string.dats: 1631(line=50, offs=1) -- 1670(line=50, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/strptr.dats: 1629(line=50, offs=1) -- 1668(line=50, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/strptr.dats: 1691(line=54, offs=1) -- 1738(line=54, offs=48)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_ptr.dats: 1601(line=49, offs=1) -- 1640(line=49, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_fixed.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/memory.dats: 1410(line=38, offs=1) -- 1449(line=39, offs=32)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1613(line=49, offs=1) -- 1652(line=50, offs=32)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1675(line=54, offs=1) -- 1721(line=55, offs=39)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1744(line=59, offs=1) -- 1789(line=60, offs=38)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
*/

#include \
"libats/libc/CATS/stdio.cats"
/*
/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
*/

#include \
"libats/libc/CATS/sys/types.cats"
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1871(line=66, offs=1) -- 1918(line=66, offs=48)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/stat.sats: 1390(line=36, offs=1) -- 1440(line=39, offs=3)
*/

#include \
"libats/libc/CATS/sys/stat.cats"
/*
/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/stat.sats: 1756(line=58, offs=1) -- 1805(line=60, offs=34)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
*/

#include \
"libats/libc/CATS/sys/types.cats"
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 15529(line=878, offs=1) -- 15566(line=879, offs=30)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
*/

#include \
"libats/libc/CATS/stdio.cats"
/*
/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
*/

#include \
"libats/libc/CATS/sys/types.cats"
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list.dats: 1529(line=44, offs=1) -- 1568(line=45, offs=32)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list.dats: 1569(line=46, offs=1) -- 1615(line=47, offs=39)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list_vt.dats: 1538(line=44, offs=1) -- 1577(line=45, offs=32)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list_vt.dats: 1578(line=46, offs=1) -- 1624(line=47, offs=39)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/list_vt_mergesort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/list_vt_quicksort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/array.dats: 1534(line=44, offs=1) -- 1573(line=44, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/array.dats: 1574(line=45, offs=1) -- 1616(line=45, offs=43)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/array_bsearch.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/array_quicksort.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/arrayptr.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/arrayref.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrix.dats: 1535(line=44, offs=1) -- 1574(line=44, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrixptr.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrixref.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/tostring.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/checkast.dats: 1531(line=44, offs=1) -- 1570(line=45, offs=32)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/mydepies.hats: 192(line=16, offs=1) -- 232(line=16, offs=41)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1233(line=43, offs=3)
*/

//
#include \
"atscntrb-libgmp/CATS/gmp.cats"
//
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1233(line=43, offs=3)
*/

//
#include \
"atscntrb-libgmp/CATS/gmp.cats"
//
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/math.sats: 1380(line=35, offs=1) -- 1426(line=38, offs=3)
*/

#include \
"libats/libc/CATS/math.cats"
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/mydepies.hats: 192(line=16, offs=1) -- 232(line=16, offs=41)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1233(line=43, offs=3)
*/

//
#include \
"atscntrb-libgmp/CATS/gmp.cats"
//
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/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 {
#if(0)
int contag ;
#endif
atstkind_t0ype(atstype_int) atslab__0 ;
atstkind_type(atstype_ptrk) atslab__1 ;
} postiats_tysum_0 ;
typedef
ATSstruct {
#if(0)
int contag ;
#endif
atstyvar_type(a) 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 ;
/*
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_ulint)
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_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_g1int_eq_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_cloptr_free)
ATSdyncst_mac(atspre_lazy_vt_free)
ATSdyncst_mac(atspre_g1int_sub_int)
ATSdyncst_mac(atspre_g0int_half_int)
ATSdyncst_mac(atspre_g1int_mul_int)
ATSdyncst_mac(atspre_g1int_neg_int)
ATSdyncst_mac(atspre_g0int_add_int)
ATSdyncst_mac(atspre_g0int_neq_int)
ATSdyncst_mac(atscntrb_gmp_mpz_add2_int)
ATSdyncst_mac(atscntrb_gmp_mpz_init_set_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_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_t0ype(atstype_int)
sqrt_int_17(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
is_prime_20(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
loop_21(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__22(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__22__1(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_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__26(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__26__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)
divides_30(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_int)
gcd_32(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_int)
lcm_34(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
divisors_36(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstype_boxed
__patsfun_37(atstype_bool) ;

ATSstatic()
atstype_boxed
__patsfun_38(atstype_bool) ;

ATSstatic()
atstkind_type(atstype_ptrk)
loop_39(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__40(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__40__1(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)) ;

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__neq_g1int_int__44(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__44__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstype_boxed
__patsfun_48(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstype_bool) ;

ATSstatic()
atstype_boxed
__patsfun_49(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstype_bool) ;

ATSstatic()
atstype_boxed
__patsfun_50(atstype_bool) ;

ATSstatic()
atstype_boxed
__patsfun_51(atstkind_t0ype(atstype_int), atstype_bool) ;

ATSstatic()
atstype_boxed
__patsfun_52(atstype_bool) ;

ATSstatic()
atstype_boxed
__patsfun_53(atstype_bool) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g0int_int__12__6(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstype_boxed
__patsfun_55(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstype_bool) ;

ATSstatic()
atstype_boxed
__patsfun_56(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstype_bool) ;

ATSstatic()
atstkind_type(atstype_ptrk)
prime_divisors_57(atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__stream_vt_filter_cloptr__58(atstkind_type(atstype_ptrk), atstype_cloptr) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atstkind_type(atstype_ptrk)
auxmain_59__59(atstkind_type(atstype_ptrk), atstype_cloptr) ;
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atstype_boxed
__patsfun_60__60(atstkind_type(atstype_ptrk), atstype_cloptr, atstype_bool) ;
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__stream_vt_filter_cloptr__58__1(atstkind_type(atstype_ptrk), atstype_cloptr) ;

ATSstatic()
atstkind_type(atstype_ptrk)
auxmain_59__59__1(atstkind_type(atstype_ptrk), atstype_cloptr) ;

ATSstatic()
atstype_boxed
__patsfun_60__60__1(atstkind_type(atstype_ptrk), atstype_cloptr, atstype_bool) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
__patsfun_64(atsrefarg1_type(atstkind_t0ype(atstype_int))) ;

ATSstatic()
atstkind_t0ype(atstype_int)
div_gt_zero_65(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
exp_mod_prime_66(atstkind_t0ype(atstype_int), 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_bool)
ATSLIB_056_prelude__eq_g0int_int__12__7(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
jacobi_72(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
legendre_73(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g0int_int__12__8(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)
get_multiplicity_77(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
loop_78(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__10(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
count_divisors_81(atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__stream_vt_length__82(atstkind_type(atstype_ptrk)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atstkind_t0ype(atstype_int)
loop_83__83(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__stream_vt_length__82__1(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
loop_83__83__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
sum_divisors_86(atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atstyvar_type(res)
ATSLIB_056_prelude__stream_vt_foldleft_cloptr__87(atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atstyvar_type(res)
loop_88__88(atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr) ;
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__stream_vt_foldleft_cloptr__87__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstype_cloptr) ;

ATSstatic()
atstkind_t0ype(atstype_int)
loop_88__88__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstype_cloptr) ;

ATSstatic()
atstkind_t0ype(atstype_int)
__patsfun_91(atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_t0ype(atstype_int))) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
is_perfect_93(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)
rip_95(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__neq_g0int_int__96(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__96__1(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__lt_g1int_int__22__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
little_omega_101(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
loop_102(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__40__2(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_bool)
ATSLIB_056_prelude__gt_g1int_int__6__6(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
totient_106(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
loop_107(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__40__3(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__neq_g1int_int__44__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
totient_sum_111(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
loop_112(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lt_g1int_int__22__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__114(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__114__1(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__116(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__116__1(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__2__2() ;

#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]

ATSclosurerize_beg(__patsfun_37, (), (atstype_bool), atstype_boxed)
typedef
ATSstruct {
atstype_funptr cfun ;
} __patsfun_37__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_37__cfun
(
__patsfun_37__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_37(arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_37__closureinit
(
__patsfun_37__closure_t0ype *p_cenv
)
{
p_cenv->cfun = __patsfun_37__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_37__closurerize
(
// argumentless
)
{
return __patsfun_37__closureinit(ATS_MALLOC(sizeof(__patsfun_37__closure_t0ype))) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_38, (), (atstype_bool), atstype_boxed)
typedef
ATSstruct {
atstype_funptr cfun ;
} __patsfun_38__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_38__cfun
(
__patsfun_38__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_38(arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_38__closureinit
(
__patsfun_38__closure_t0ype *p_cenv
)
{
p_cenv->cfun = __patsfun_38__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_38__closurerize
(
// argumentless
)
{
return __patsfun_38__closureinit(ATS_MALLOC(sizeof(__patsfun_38__closure_t0ype))) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_48, (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_48__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_48__cfun
(
__patsfun_48__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_48(p_cenv->env0, p_cenv->env1, arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_48__closureinit
(
__patsfun_48__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_48__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_48__closurerize
(
atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
)
{
return __patsfun_48__closureinit(ATS_MALLOC(sizeof(__patsfun_48__closure_t0ype)), env0, env1) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_49, (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_49__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_49__cfun
(
__patsfun_49__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_49(p_cenv->env0, p_cenv->env1, arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_49__closureinit
(
__patsfun_49__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_49__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_49__closurerize
(
atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
)
{
return __patsfun_49__closureinit(ATS_MALLOC(sizeof(__patsfun_49__closure_t0ype)), env0, env1) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_50, (), (atstype_bool), atstype_boxed)
typedef
ATSstruct {
atstype_funptr cfun ;
} __patsfun_50__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_50__cfun
(
__patsfun_50__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_50(arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_50__closureinit
(
__patsfun_50__closure_t0ype *p_cenv
)
{
p_cenv->cfun = __patsfun_50__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_50__closurerize
(
// argumentless
)
{
return __patsfun_50__closureinit(ATS_MALLOC(sizeof(__patsfun_50__closure_t0ype))) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_51, (atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
typedef
ATSstruct {
atstype_funptr cfun ;
atstkind_t0ype(atstype_int) env0 ;
} __patsfun_51__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_51__cfun
(
__patsfun_51__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_51(p_cenv->env0, arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_51__closureinit
(
__patsfun_51__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0
)
{
p_cenv->env0 = env0 ;
p_cenv->cfun = __patsfun_51__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_51__closurerize
(
atstkind_t0ype(atstype_int) env0
)
{
return __patsfun_51__closureinit(ATS_MALLOC(sizeof(__patsfun_51__closure_t0ype)), env0) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_52, (), (atstype_bool), atstype_boxed)
typedef
ATSstruct {
atstype_funptr cfun ;
} __patsfun_52__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_52__cfun
(
__patsfun_52__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_52(arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_52__closureinit
(
__patsfun_52__closure_t0ype *p_cenv
)
{
p_cenv->cfun = __patsfun_52__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_52__closurerize
(
// argumentless
)
{
return __patsfun_52__closureinit(ATS_MALLOC(sizeof(__patsfun_52__closure_t0ype))) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_53, (), (atstype_bool), atstype_boxed)
typedef
ATSstruct {
atstype_funptr cfun ;
} __patsfun_53__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_53__cfun
(
__patsfun_53__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_53(arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_53__closureinit
(
__patsfun_53__closure_t0ype *p_cenv
)
{
p_cenv->cfun = __patsfun_53__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_53__closurerize
(
// argumentless
)
{
return __patsfun_53__closureinit(ATS_MALLOC(sizeof(__patsfun_53__closure_t0ype))) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_55, (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_55__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_55__cfun
(
__patsfun_55__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_55(p_cenv->env0, p_cenv->env1, arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_55__closureinit
(
__patsfun_55__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_55__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_55__closurerize
(
atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
)
{
return __patsfun_55__closureinit(ATS_MALLOC(sizeof(__patsfun_55__closure_t0ype)), env0, env1) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_56, (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_56__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_56__cfun
(
__patsfun_56__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_56(p_cenv->env0, p_cenv->env1, arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_56__closureinit
(
__patsfun_56__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_56__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_56__closurerize
(
atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
)
{
return __patsfun_56__closureinit(ATS_MALLOC(sizeof(__patsfun_56__closure_t0ype)), env0, env1) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_60__60__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_60__60__1__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_60__60__1__cfun
(
__patsfun_60__60__1__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_60__60__1(p_cenv->env0, p_cenv->env1, arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_60__60__1__closureinit
(
__patsfun_60__60__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_60__60__1__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_60__60__1__closurerize
(
atstkind_type(atstype_ptrk) env0, atstype_cloptr env1
)
{
return __patsfun_60__60__1__closureinit(ATS_MALLOC(sizeof(__patsfun_60__60__1__closure_t0ype)), env0, env1) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_64, (), (atsrefarg1_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_bool))
typedef
ATSstruct {
atstype_funptr cfun ;
} __patsfun_64__closure_t0ype ;
ATSstatic()
atstkind_t0ype(atstype_bool)
__patsfun_64__cfun
(
__patsfun_64__closure_t0ype *p_cenv, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg0
)
{
ATSFCreturn(__patsfun_64(arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_64__closureinit
(
__patsfun_64__closure_t0ype *p_cenv
)
{
p_cenv->cfun = __patsfun_64__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_64__closurerize
(
// argumentless
)
{
return __patsfun_64__closureinit(ATS_MALLOC(sizeof(__patsfun_64__closure_t0ype))) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_91, (), (atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_int))
typedef
ATSstruct {
atstype_funptr cfun ;
} __patsfun_91__closure_t0ype ;
ATSstatic()
atstkind_t0ype(atstype_int)
__patsfun_91__cfun
(
__patsfun_91__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1
)
{
ATSFCreturn(__patsfun_91(arg0, arg1)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_91__closureinit
(
__patsfun_91__closure_t0ype *p_cenv
)
{
p_cenv->cfun = __patsfun_91__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_91__closurerize
(
// argumentless
)
{
return __patsfun_91__closureinit(ATS_MALLOC(sizeof(__patsfun_91__closure_t0ype))) ;
} /* end of [closurerize] */
ATSclosurerize_end()
/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 753(line=23, offs=4) -- 808(line=24, 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/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 753(line=23, offs=4) -- 808(line=24, offs=14)
*/
ATSINSflab(__patsflab_witness_0):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 797(line=24, offs=3) -- 807(line=24, offs=13)
*/
ATSINSmove(tmpret0, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), arg0)) ;
ATSfunbody_end()
ATSreturn(tmpret0) ;
} /* end of [witness_0] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 873(line=27, offs=5) -- 1092(line=35, 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_ulint)) ;
ATStmpdec(tmp6, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmp7) ;
// ATStmpdec_void(tmp8) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 873(line=27, offs=5) -- 1092(line=35, offs=6)
*/
ATSINSflab(__patsflab_fib_gmp_1):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 909(line=28, offs=3) -- 1092(line=35, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 921(line=29, offs=9) -- 922(line=29, offs=10)
*/
/*
ATSINStmpdec(tmpref2) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 925(line=29, offs=13) -- 936(line=29, offs=24)
*/
ATSINSmove(tmpref2, ATSLIB_056_prelude__ptr_alloc__2__1()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 945(line=30, offs=9) -- 946(line=30, offs=10)
*/
/*
ATSINStmpdec(tmpref5) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 977(line=30, offs=41) -- 982(line=30, offs=46)
*/
ATSINSmove(tmp6, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 956(line=30, offs=20) -- 983(line=30, offs=47)
*/
ATSINSmove(tmpref5, atspre_g0int2uint_int_ulint(tmp6)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 997(line=31, offs=14) -- 1018(line=31, offs=35)
*/
ATSINSmove_void(tmp7, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmpref2, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1032(line=32, offs=14) -- 1060(line=32, offs=42)
*/
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/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1070(line=34, offs=5) -- 1085(line=34, offs=20)
*/
ATSINSmove(tmpret1, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref2)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 909(line=28, offs=3) -- 1092(line=35, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret1) ;
} /* end of [fib_gmp_1] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/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(4806)
tmparg = S2Evar(a(4806))
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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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]

/*
/usr/local/lib/ats2-postiats-0.3.8/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(4806)
tmparg = S2Evar(a(4806))
tmpsub = Some(a(4806) -> S2EVar(5569))
*/
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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1170(line=38, offs=5) -- 1611(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(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/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1170(line=38, offs=5) -- 1611(line=59, offs=10)
*/
ATSINSflab(__patsflab_exp_5):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1222(line=39, offs=3) -- 1611(line=59, offs=10)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1239(line=40, offs=7) -- 1240(line=40, offs=8)
*/
ATSINSlab(__atstmplab0):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1191(line=38, offs=26) -- 1192(line=38, offs=27)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1240(line=40, offs=8) -- 1240(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/fast-arithmetic/ats-src/numerics.dats: 1244(line=40, offs=12) -- 1245(line=40, offs=13)
*/
ATSINSmove(tmpret9, ATSPMVi0nt(0)) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1253(line=41, offs=8) -- 1253(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/fast-arithmetic/ats-src/numerics.dats: 1282(line=43, offs=12) -- 1287(line=43, offs=17)
*/
ATSINSmove(tmp10, ATSLIB_056_prelude__gt_g1int_int__6__1(arg1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1279(line=43, offs=9) -- 1601(line=58, offs=12)
*/
ATSif(
tmp10
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1303(line=44, offs=11) -- 1576(line=56, offs=14)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1323(line=45, offs=17) -- 1325(line=45, offs=19)
*/
/*
ATSINStmpdec(tmpref15) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1328(line=45, offs=22) -- 1334(line=45, offs=28)
*/
ATSINSmove(tmpref15, atspre_g1int_half_int(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1352(line=46, offs=17) -- 1354(line=46, offs=19)
*/
/*
ATSINStmpdec(tmpref16) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1357(line=46, offs=22) -- 1362(line=46, offs=27)
*/
ATSINSmove(tmpref16, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1391(line=48, offs=16) -- 1397(line=48, offs=22)
*/
ATSINSmove(tmp17, ATSLIB_056_prelude__eq_g0int_int__12__1(tmpref16, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1388(line=48, offs=13) -- 1562(line=55, offs=18)
*/
ATSif(
tmp17
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1421(line=49, offs=19) -- 1426(line=49, offs=24)
*/
ATSINSmove(tmp22, atspre_g0int_mul_int(arg0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1417(line=49, offs=15) -- 1431(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_5) ;
ATStailcal_end()

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1463(line=51, offs=15) -- 1562(line=55, offs=18)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1487(line=52, offs=21) -- 1488(line=52, offs=22)
*/
/*
ATSINStmpdec(tmpref23) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1499(line=52, offs=33) -- 1504(line=52, offs=38)
*/
ATSINSmove(tmp25, atspre_g0int_mul_int(arg0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1495(line=52, offs=29) -- 1509(line=52, offs=43)
*/
ATSINSmove(tmp24, exp_5(tmp25, tmpref15)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1491(line=52, offs=25) -- 1509(line=52, offs=43)
*/
ATSINSmove(tmpref23, atspre_g0int_mul_int(arg0, tmp24)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1543(line=54, offs=17) -- 1544(line=54, offs=18)
*/
ATSINSmove(tmpret9, tmpref23) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1463(line=51, offs=15) -- 1562(line=55, offs=18)
*/
/*
INSletpop()
*/
} /* ATSendif */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1303(line=44, offs=11) -- 1576(line=56, offs=14)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1600(line=58, offs=11) -- 1601(line=58, offs=12)
*/
ATSINSmove(tmpret9, ATSPMVi0nt(1)) ;
} /* ATSendif */
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

ATSfunbody_end()
ATSreturn(tmpret9) ;
} /* end of [exp_5] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/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(4703)
tmparg = S2Evar(tk(4703))
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(tmpret11, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp12, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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(4703))>)(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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(4703))>)(arg0, tmp12)) ;

ATSfunbody_end()
ATSreturn(tmpret11) ;
} /* end of [ATSLIB_056_prelude__gt_g1int_int__6] */
#endif // end of [TEMPLATE]

/*
/usr/local/lib/ats2-postiats-0.3.8/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(4703)
tmparg = S2Evar(tk(4703))
tmpsub = Some(tk(4703) -> 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(tmpret11__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp12__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__6__1] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/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(4694)
tmparg = S2Evar(tk(4694))
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(tmpret18, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp19, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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(4694))>)(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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(4694))>)(arg0, tmp19)) ;

ATSfunbody_end()
ATSreturn(tmpret18) ;
} /* end of [ATSLIB_056_prelude__eq_g0int_int__12] */
#endif // end of [TEMPLATE]

/*
/usr/local/lib/ats2-postiats-0.3.8/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(4694)
tmparg = S2Evar(tk(4694))
tmpsub = Some(tk(4694) -> 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(tmpret18__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp19__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__12__1] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1616(line=61, offs=4) -- 1760(line=66, offs=6)
*/
/*
local: witness_0$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
sqrt_int_17(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret26, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref27, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp28, atstkind_t0ype(atstype_float)) ;
ATStmpdec(tmp29, atstkind_t0ype(atstype_float)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1616(line=61, offs=4) -- 1760(line=66, offs=6)
*/
ATSINSflab(__patsflab_sqrt_int_17):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1666(line=62, offs=3) -- 1760(line=66, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1678(line=63, offs=9) -- 1683(line=63, offs=14)
*/
/*
ATSINStmpdec(tmpref27) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1714(line=63, offs=45) -- 1727(line=63, offs=58)
*/
ATSINSmove(tmp29, atspre_g0int2float_int_float(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1703(line=63, offs=34) -- 1729(line=63, offs=60)
*/
ATSINSmove(tmp28, atslib_libats_libc_sqrt_float(tmp29)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1691(line=63, offs=22) -- 1730(line=63, offs=61)
*/
ATSINSmove(tmpref27, atspre_g0float2int_float_int(tmp28)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1740(line=65, offs=5) -- 1753(line=65, offs=18)
*/
ATSINSmove(tmpret26, witness_0(tmpref27)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1666(line=62, offs=3) -- 1760(line=66, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret26) ;
} /* end of [sqrt_int_17] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1796(line=69, offs=4) -- 2381(line=92, offs=10)
*/
/*
local: sqrt_int_17$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_bool)
is_prime_20(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret30, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp51, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1796(line=69, offs=4) -- 2381(line=92, offs=10)
*/
ATSINSflab(__patsflab_is_prime_20):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1832(line=70, offs=3) -- 2381(line=92, offs=10)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1849(line=71, offs=7) -- 1850(line=71, offs=8)
*/
ATSINSlab(__atstmplab3):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1805(line=69, offs=13) -- 1806(line=69, offs=14)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab5) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1850(line=71, offs=8) -- 1850(line=71, 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/fast-arithmetic/ats-src/numerics.dats: 1854(line=71, offs=12) -- 1859(line=71, offs=17)
*/
ATSINSmove(tmpret30, ATSPMVbool_false()) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1867(line=72, offs=8) -- 1867(line=72, 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/fast-arithmetic/ats-src/numerics.dats: 1892(line=74, offs=9) -- 2371(line=91, offs=12)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2347(line=90, offs=19) -- 2357(line=90, offs=29)
*/
ATSINSmove(tmp51, sqrt_int_17(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2339(line=90, offs=11) -- 2359(line=90, offs=31)
*/
ATSINSmove(tmpret30, loop_21(arg0, ATSPMVi0nt(2), tmp51)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1892(line=74, offs=9) -- 2371(line=91, offs=12)
*/
/*
INSletpop()
*/
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

ATSfunbody_end()
ATSreturn(tmpret30) ;
} /* end of [is_prime_20] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1910(line=75, offs=15) -- 2317(line=88, offs=21)
*/
/*
local: loop_21$0(level=1)
global: loop_21$0(level=1)
local: k$5106(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: k$5106(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atstkind_t0ype(atstype_bool)
loop_21(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(tmpret31, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp32, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp37, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp40, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp41, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp42, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp47, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp50, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
/*
emit_funent_fnxdeclst:
*/
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1910(line=75, offs=15) -- 2317(line=88, offs=21)
*/
ATSINSflab(__patsflab_loop_21):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2004(line=76, offs=16) -- 2013(line=76, offs=25)
*/
ATSINSmove(tmp32, ATSLIB_056_prelude__lt_g1int_int__22__1(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2001(line=76, offs=13) -- 2317(line=88, offs=21)
*/
ATSif(
tmp32
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2036(line=77, offs=18) -- 2041(line=77, offs=23)
*/
ATSINSmove(tmp40, atspre_g0int_mod_int(env0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2036(line=77, offs=18) -- 2045(line=77, offs=27)
*/
ATSINSmove(tmp37, ATSLIB_056_prelude__eq_g0int_int__12__2(tmp40, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2033(line=77, offs=15) -- 2126(line=80, offs=35)
*/
ATSif(
tmp37
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2067(line=78, offs=17) -- 2072(line=78, offs=22)
*/
ATSINSmove(tmpret31, ATSPMVbool_false()) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2113(line=80, offs=22) -- 2118(line=80, offs=27)
*/
ATSINSmove(tmp41, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2108(line=80, offs=17) -- 2126(line=80, offs=35)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp41) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_21) ;
ATStailcal_end()

} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2161(line=82, offs=18) -- 2170(line=82, offs=27)
*/
ATSINSmove(tmp42, ATSLIB_056_prelude__eq_g1int_int__26__1(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2158(line=82, offs=15) -- 2317(line=88, offs=21)
*/
ATSif(
tmp42
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2195(line=83, offs=20) -- 2200(line=83, offs=25)
*/
ATSINSmove(tmp50, atspre_g0int_mod_int(env0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2195(line=83, offs=20) -- 2204(line=83, offs=29)
*/
ATSINSmove(tmp47, ATSLIB_056_prelude__eq_g0int_int__12__3(tmp50, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2192(line=83, offs=17) -- 2277(line=86, offs=23)
*/
ATSif(
tmp47
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2228(line=84, offs=19) -- 2233(line=84, offs=24)
*/
ATSINSmove(tmpret31, ATSPMVbool_false()) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2273(line=86, offs=19) -- 2277(line=86, offs=23)
*/
ATSINSmove(tmpret31, ATSPMVbool_true()) ;
} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2313(line=88, offs=17) -- 2317(line=88, offs=21)
*/
ATSINSmove(tmpret31, ATSPMVbool_true()) ;
} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret31) ;
/*
emit_funent_fnxbodylst:
*/
} /* end of [loop_21] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
*/
/*
local: 
global: lt_g1int_int$22$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4697)
tmparg = S2Evar(tk(4697))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lt_g1int_int__22(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret33, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp34, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
*/
ATSINSmove(tmp34, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4697))>)(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
*/
ATSINSmove(tmpret33, PMVtmpltcst(g1int_lt<S2Evar(tk(4697))>)(arg0, tmp34)) ;

ATSfunbody_end()
ATSreturn(tmpret33) ;
} /* end of [ATSLIB_056_prelude__lt_g1int_int__22] */
#endif // end of [TEMPLATE]

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
*/
/*
local: 
global: lt_g1int_int$22$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4697)
tmparg = S2Evar(tk(4697))
tmpsub = Some(tk(4697) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lt_g1int_int__22__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret33__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp34__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
*/
ATSINSmove(tmp34__1, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
*/
ATSINSmove(tmpret33__1, atspre_g1int_lt_int(arg0, tmp34__1)) ;

ATSfunbody_end()
ATSreturn(tmpret33__1) ;
} /* end of [ATSLIB_056_prelude__lt_g1int_int__22__1] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
*/
/*
local: 
global: eq_g0int_int$12$2(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4694)
tmparg = S2Evar(tk(4694))
tmpsub = Some(tk(4694) -> 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(tmpret18__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp19__2, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__12__2] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
*/
/*
local: 
global: eq_g1int_int$26$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4709)
tmparg = S2Evar(tk(4709))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__26(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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
*/
ATSINSmove(tmp44, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4709))>)(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
*/
ATSINSmove(tmpret43, PMVtmpltcst(g1int_eq<S2Evar(tk(4709))>)(arg0, tmp44)) ;

ATSfunbody_end()
ATSreturn(tmpret43) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__26] */
#endif // end of [TEMPLATE]

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
*/
/*
local: 
global: eq_g1int_int$26$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4709)
tmparg = S2Evar(tk(4709))
tmpsub = Some(tk(4709) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__26__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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
*/
ATSINSmove(tmp44__1, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
*/
ATSINSmove(tmpret43__1, atspre_g1int_eq_int(arg0, tmp44__1)) ;

ATSfunbody_end()
ATSreturn(tmpret43__1) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__26__1] */

/*
/usr/local/lib/ats2-postiats-0.3.8/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(4694)
tmparg = S2Evar(tk(4694))
tmpsub = Some(tk(4694) -> 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(tmpret18__3, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp19__3, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__12__3] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 297(line=12, offs=4) -- 345(line=13, offs=12)
*/
/*
local: 
global: divides_30$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_bool)
divides_30(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret52, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp55, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 297(line=12, offs=4) -- 345(line=13, offs=12)
*/
ATSINSflab(__patsflab_divides_30):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 336(line=13, offs=3) -- 341(line=13, offs=8)
*/
ATSINSmove(tmp55, atspre_g0int_mod_int(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 336(line=13, offs=3) -- 345(line=13, offs=12)
*/
ATSINSmove(tmpret52, ATSLIB_056_prelude__eq_g0int_int__12__4(tmp55, ATSPMVi0nt(0))) ;

ATSfunbody_end()
ATSreturn(tmpret52) ;
} /* end of [divides_30] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
*/
/*
local: 
global: eq_g0int_int$12$4(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4694)
tmparg = S2Evar(tk(4694))
tmpsub = Some(tk(4694) -> 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(tmpret18__4, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp19__4, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__12__4] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 351(line=15, offs=5) -- 462(line=19, offs=6)
*/
/*
local: witness_0$0(level=0), gcd_32$0(level=0)
global: witness_0$0(level=0), gcd_32$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
gcd_32(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(tmpret56, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp57, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp60, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp61, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
/*
emit_funent_fnxdeclst:
*/
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 351(line=15, offs=5) -- 462(line=19, offs=6)
*/
ATSINSflab(__patsflab_gcd_32):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 412(line=16, offs=6) -- 417(line=16, offs=11)
*/
ATSINSmove(tmp57, ATSLIB_056_prelude__gt_g1int_int__6__2(arg1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 409(line=16, offs=3) -- 462(line=19, offs=6)
*/
ATSif(
tmp57
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 442(line=17, offs=20) -- 447(line=17, offs=25)
*/
ATSINSmove(tmp61, atspre_g0int_mod_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 434(line=17, offs=12) -- 448(line=17, offs=26)
*/
ATSINSmove(tmp60, witness_0(tmp61)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 427(line=17, offs=5) -- 449(line=17, offs=27)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg1) ;
ATSINSmove_tlcal(apy1, tmp60) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_gcd_32) ;
ATStailcal_end()

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 461(line=19, offs=5) -- 462(line=19, offs=6)
*/
ATSINSmove(tmpret56, arg0) ;
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret56) ;
/*
emit_funent_fnxbodylst:
*/
} /* end of [gcd_32] */

/*
/usr/local/lib/ats2-postiats-0.3.8/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(4703)
tmparg = S2Evar(tk(4703))
tmpsub = Some(tk(4703) -> 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(tmpret11__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp12__2, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__6__2] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 467(line=21, offs=4) -- 544(line=22, offs=22)
*/
/*
local: gcd_32$0(level=0)
global: witness_0$0(level=0), gcd_32$0(level=0), lcm_34$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
lcm_34(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret62, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp63, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp64, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 467(line=21, offs=4) -- 544(line=22, offs=22)
*/
ATSINSflab(__patsflab_lcm_34):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 530(line=22, offs=8) -- 539(line=22, offs=17)
*/
ATSINSmove(tmp64, gcd_32(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 526(line=22, offs=4) -- 539(line=22, offs=17)
*/
ATSINSmove(tmp63, atspre_g0int_div_int(arg0, tmp64)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 525(line=22, offs=3) -- 544(line=22, offs=22)
*/
ATSINSmove(tmpret62, atspre_g0int_mul_int(tmp63, arg1)) ;

ATSfunbody_end()
ATSreturn(tmpret62) ;
} /* end of [lcm_34] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 587(line=25, offs=4) -- 1368(line=45, offs=8)
*/
/*
local: sqrt_int_17$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0), divisors_36$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
divisors_36(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret65, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 587(line=25, offs=4) -- 1368(line=45, offs=8)
*/
ATSINSflab(__patsflab_divisors_36):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 632(line=26, offs=3) -- 1368(line=45, offs=8)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 649(line=27, offs=7) -- 650(line=27, offs=8)
*/
ATSINSlab(__atstmplab6):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 596(line=25, offs=13) -- 597(line=25, offs=14)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab8) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 650(line=27, offs=8) -- 650(line=27, 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/fast-arithmetic/ats-src/number-theory.dats: 654(line=27, offs=12) -- 704(line=27, offs=62)
*/
ATSINSmove_ldelay(tmpret65, atstype_boxed, ATSPMVcfunlab(1, __patsfun_37, ())) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 712(line=28, offs=8) -- 712(line=28, 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/fast-arithmetic/ats-src/number-theory.dats: 716(line=28, offs=12) -- 1368(line=45, offs=8)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1350(line=44, offs=7) -- 1360(line=44, offs=17)
*/
ATSINSmove(tmpret65, loop_39(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 716(line=28, offs=12) -- 1368(line=45, offs=8)
*/
/*
INSletpop()
*/
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

ATSfunbody_end()
ATSreturn(tmpret65) ;
} /* end of [divisors_36] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 654(line=27, offs=12) -- 704(line=27, offs=62)
*/
/*
local: 
global: __patsfun_37$0(level=1)
local: 
global: 
*/
ATSstatic()
atstype_boxed
__patsfun_37(atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret66, atstype_boxed) ;
ATStmpdec(tmp67, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 654(line=27, offs=12) -- 704(line=27, offs=62)
*/
ATSINSflab(__patsflab___patsfun_37):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 654(line=27, offs=12) -- 704(line=27, offs=62)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 680(line=27, offs=38) -- 702(line=27, offs=60)
*/
ATSINSmove_ldelay(tmp67, atstype_boxed, ATSPMVcfunlab(1, __patsfun_38, ())) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 662(line=27, offs=20) -- 703(line=27, offs=61)
*/

/*
#LINCONSTATUS==0
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmpret66, postiats_tysum_0) ;
#if(0)
ATSINSstore_con1_tag(tmpret66, 1) ;
#endif
ATSINSstore_con1_ofs(tmpret66, postiats_tysum_0, atslab__0, ATSPMVi0nt(1)) ;
ATSINSstore_con1_ofs(tmpret66, postiats_tysum_0, atslab__1, tmp67) ;
ATSINSmove_con1_end()
} ATSelse() {
/* (*nothing*) */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret66) ;
} /* end of [__patsfun_37] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 680(line=27, offs=38) -- 702(line=27, offs=60)
*/
/*
local: 
global: __patsfun_38$0(level=2)
local: 
global: 
*/
ATSstatic()
atstype_boxed
__patsfun_38(atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret68, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 680(line=27, offs=38) -- 702(line=27, offs=60)
*/
ATSINSflab(__patsflab___patsfun_38):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 680(line=27, offs=38) -- 702(line=27, offs=60)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 688(line=27, offs=46) -- 701(line=27, offs=59)
*/

ATSINSmove_nil(tmpret68) ;

} ATSelse() {
/* (*nothing*) */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret68) ;
} /* end of [__patsfun_38] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 730(line=29, offs=11) -- 1336(line=42, offs=29)
*/
/*
local: sqrt_int_17$0(level=0), loop_39$0(level=1)
global: sqrt_int_17$0(level=0), loop_39$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
loop_39(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(tmpret69, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp70, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp75, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp76, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp79, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp80, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp85, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp96, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp99, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp106, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 730(line=29, offs=11) -- 1336(line=42, offs=29)
*/
ATSINSflab(__patsflab_loop_39):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 838(line=30, offs=19) -- 848(line=30, offs=29)
*/
ATSINSmove(tmp75, sqrt_int_17(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 831(line=30, offs=12) -- 848(line=30, offs=29)
*/
ATSINSmove(tmp70, ATSLIB_056_prelude__gte_g1int_int__40__1(arg1, tmp75)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 828(line=30, offs=9) -- 1336(line=42, offs=29)
*/
ATSif(
tmp70
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 868(line=31, offs=14) -- 875(line=31, offs=21)
*/
ATSINSmove(tmp79, atspre_g0int_mod_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 868(line=31, offs=14) -- 879(line=31, offs=25)
*/
ATSINSmove(tmp76, ATSLIB_056_prelude__eq_g0int_int__12__5(tmp79, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 865(line=31, offs=11) -- 1154(line=37, offs=35)
*/
ATSif(
tmp76
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 900(line=32, offs=16) -- 907(line=32, offs=23)
*/
ATSINSmove(tmp85, atspre_g1int_div_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 900(line=32, offs=16) -- 914(line=32, offs=30)
*/
ATSINSmove(tmp80, ATSLIB_056_prelude__neq_g1int_int__44__1(tmp85, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 897(line=32, offs=13) -- 1104(line=35, offs=67)
*/
ATSif(
tmp80
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 934(line=33, offs=15) -- 1020(line=33, offs=101)
*/
ATSINSmove_ldelay(tmpret69, atstype_boxed, ATSPMVcfunlab(1, __patsfun_48, (arg0, arg1))) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1052(line=35, offs=15) -- 1104(line=35, offs=67)
*/
ATSINSmove_ldelay(tmpret69, atstype_boxed, ATSPMVcfunlab(1, __patsfun_51, (arg1))) ;
} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1132(line=37, offs=13) -- 1154(line=37, offs=35)
*/
ATSINSmove_ldelay(tmpret69, atstype_boxed, ATSPMVcfunlab(1, __patsfun_53, ())) ;
} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1181(line=39, offs=14) -- 1188(line=39, offs=21)
*/
ATSINSmove(tmp99, atspre_g0int_mod_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1181(line=39, offs=14) -- 1192(line=39, offs=25)
*/
ATSINSmove(tmp96, ATSLIB_056_prelude__eq_g0int_int__12__6(tmp99, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1178(line=39, offs=11) -- 1336(line=42, offs=29)
*/
ATSif(
tmp96
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1210(line=40, offs=13) -- 1292(line=40, offs=95)
*/
ATSINSmove_ldelay(tmpret69, atstype_boxed, ATSPMVcfunlab(1, __patsfun_55, (arg0, arg1))) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1328(line=42, offs=21) -- 1335(line=42, offs=28)
*/
ATSINSmove(tmp106, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1320(line=42, offs=13) -- 1336(line=42, offs=29)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp106) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_39) ;
ATStailcal_end()

} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret69) ;
} /* end of [loop_39] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
*/
/*
local: 
global: gte_g1int_int$40$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4706)
tmparg = S2Evar(tk(4706))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__40(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret71, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp72, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
*/
ATSINSmove(tmp72, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4706))>)(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
*/
ATSINSmove(tmpret71, PMVtmpltcst(g1int_gte<S2Evar(tk(4706))>)(arg0, tmp72)) ;

ATSfunbody_end()
ATSreturn(tmpret71) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__40] */
#endif // end of [TEMPLATE]

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
*/
/*
local: 
global: gte_g1int_int$40$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4706)
tmparg = S2Evar(tk(4706))
tmpsub = Some(tk(4706) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__40__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret71__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp72__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
*/
ATSINSmove(tmp72__1, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
*/
ATSINSmove(tmpret71__1, atspre_g1int_gte_int(arg0, tmp72__1)) ;

ATSfunbody_end()
ATSreturn(tmpret71__1) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__40__1] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
*/
/*
local: 
global: eq_g0int_int$12$5(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4694)
tmparg = S2Evar(tk(4694))
tmpsub = Some(tk(4694) -> 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(tmpret18__5, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp19__5, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__12__5] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)
*/
/*
local: 
global: neq_g1int_int$44$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4712)
tmparg = S2Evar(tk(4712))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__neq_g1int_int__44(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret81, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp82, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)
*/
ATSINSmove(tmp82, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4712))>)(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)
*/
ATSINSmove(tmpret81, PMVtmpltcst(g1int_neq<S2Evar(tk(4712))>)(arg0, tmp82)) ;

ATSfunbody_end()
ATSreturn(tmpret81) ;
} /* end of [ATSLIB_056_prelude__neq_g1int_int__44] */
#endif // end of [TEMPLATE]

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)
*/
/*
local: 
global: neq_g1int_int$44$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4712)
tmparg = S2Evar(tk(4712))
tmpsub = Some(tk(4712) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__neq_g1int_int__44__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret81__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp82__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)
*/
ATSINSmove(tmp82__1, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)
*/
ATSINSmove(tmpret81__1, atspre_g1int_neq_int(arg0, tmp82__1)) ;

ATSfunbody_end()
ATSreturn(tmpret81__1) ;
} /* end of [ATSLIB_056_prelude__neq_g1int_int__44__1] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 934(line=33, offs=15) -- 1020(line=33, offs=101)
*/
/*
local: 
global: __patsfun_48$0(level=2)
local: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atstype_boxed
__patsfun_48(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret86, atstype_boxed) ;
ATStmpdec(tmp87, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 934(line=33, offs=15) -- 1020(line=33, offs=101)
*/
ATSINSflab(__patsflab___patsfun_48):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 934(line=33, offs=15) -- 1020(line=33, offs=101)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 962(line=33, offs=43) -- 1018(line=33, offs=99)
*/
ATSINSmove_ldelay(tmp87, atstype_boxed, ATSPMVcfunlab(1, __patsfun_49, (env0, env1))) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 942(line=33, offs=23) -- 1019(line=33, offs=100)
*/

/*
#LINCONSTATUS==0
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmpret86, postiats_tysum_0) ;
#if(0)
ATSINSstore_con1_tag(tmpret86, 1) ;
#endif
ATSINSstore_con1_ofs(tmpret86, postiats_tysum_0, atslab__0, env1) ;
ATSINSstore_con1_ofs(tmpret86, postiats_tysum_0, atslab__1, tmp87) ;
ATSINSmove_con1_end()
} ATSelse() {
/* (*nothing*) */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret86) ;
} /* end of [__patsfun_48] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 962(line=33, offs=43) -- 1018(line=33, offs=99)
*/
/*
local: 
global: __patsfun_49$0(level=3)
local: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atstype_boxed
__patsfun_49(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret88, atstype_boxed) ;
ATStmpdec(tmp89, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp90, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 962(line=33, offs=43) -- 1018(line=33, offs=99)
*/
ATSINSflab(__patsflab___patsfun_49):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 962(line=33, offs=43) -- 1018(line=33, offs=99)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 985(line=33, offs=66) -- 992(line=33, offs=73)
*/
ATSINSmove(tmp89, atspre_g1int_div_int(env0, env1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 994(line=33, offs=75) -- 1016(line=33, offs=97)
*/
ATSINSmove_ldelay(tmp90, atstype_boxed, ATSPMVcfunlab(1, __patsfun_50, ())) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 970(line=33, offs=51) -- 1017(line=33, offs=98)
*/

/*
#LINCONSTATUS==0
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmpret88, postiats_tysum_0) ;
#if(0)
ATSINSstore_con1_tag(tmpret88, 1) ;
#endif
ATSINSstore_con1_ofs(tmpret88, postiats_tysum_0, atslab__0, tmp89) ;
ATSINSstore_con1_ofs(tmpret88, postiats_tysum_0, atslab__1, tmp90) ;
ATSINSmove_con1_end()
} ATSelse() {
/* (*nothing*) */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret88) ;
} /* end of [__patsfun_49] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 994(line=33, offs=75) -- 1016(line=33, offs=97)
*/
/*
local: 
global: __patsfun_50$0(level=4)
local: 
global: 
*/
ATSstatic()
atstype_boxed
__patsfun_50(atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret91, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 994(line=33, offs=75) -- 1016(line=33, offs=97)
*/
ATSINSflab(__patsflab___patsfun_50):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 994(line=33, offs=75) -- 1016(line=33, offs=97)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1002(line=33, offs=83) -- 1015(line=33, offs=96)
*/

ATSINSmove_nil(tmpret91) ;

} ATSelse() {
/* (*nothing*) */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret91) ;
} /* end of [__patsfun_50] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1052(line=35, offs=15) -- 1104(line=35, offs=67)
*/
/*
local: 
global: __patsfun_51$0(level=2)
local: acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atstype_boxed
__patsfun_51(atstkind_t0ype(atstype_int) env0, atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret92, atstype_boxed) ;
ATStmpdec(tmp93, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1052(line=35, offs=15) -- 1104(line=35, offs=67)
*/
ATSINSflab(__patsflab___patsfun_51):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1052(line=35, offs=15) -- 1104(line=35, offs=67)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1080(line=35, offs=43) -- 1102(line=35, offs=65)
*/
ATSINSmove_ldelay(tmp93, atstype_boxed, ATSPMVcfunlab(1, __patsfun_52, ())) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1060(line=35, offs=23) -- 1103(line=35, offs=66)
*/

/*
#LINCONSTATUS==0
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmpret92, postiats_tysum_0) ;
#if(0)
ATSINSstore_con1_tag(tmpret92, 1) ;
#endif
ATSINSstore_con1_ofs(tmpret92, postiats_tysum_0, atslab__0, env0) ;
ATSINSstore_con1_ofs(tmpret92, postiats_tysum_0, atslab__1, tmp93) ;
ATSINSmove_con1_end()
} ATSelse() {
/* (*nothing*) */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret92) ;
} /* end of [__patsfun_51] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1080(line=35, offs=43) -- 1102(line=35, offs=65)
*/
/*
local: 
global: __patsfun_52$0(level=3)
local: 
global: 
*/
ATSstatic()
atstype_boxed
__patsfun_52(atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret94, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1080(line=35, offs=43) -- 1102(line=35, offs=65)
*/
ATSINSflab(__patsflab___patsfun_52):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1080(line=35, offs=43) -- 1102(line=35, offs=65)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1088(line=35, offs=51) -- 1101(line=35, offs=64)
*/

ATSINSmove_nil(tmpret94) ;

} ATSelse() {
/* (*nothing*) */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret94) ;
} /* end of [__patsfun_52] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1132(line=37, offs=13) -- 1154(line=37, offs=35)
*/
/*
local: 
global: __patsfun_53$0(level=2)
local: 
global: 
*/
ATSstatic()
atstype_boxed
__patsfun_53(atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret95, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1132(line=37, offs=13) -- 1154(line=37, offs=35)
*/
ATSINSflab(__patsflab___patsfun_53):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1132(line=37, offs=13) -- 1154(line=37, offs=35)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1140(line=37, offs=21) -- 1153(line=37, offs=34)
*/

ATSINSmove_nil(tmpret95) ;

} ATSelse() {
/* (*nothing*) */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret95) ;
} /* end of [__patsfun_53] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
*/
/*
local: 
global: eq_g0int_int$12$6(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4694)
tmparg = S2Evar(tk(4694))
tmpsub = Some(tk(4694) -> 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(tmpret18__6, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp19__6, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__12__6] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1210(line=40, offs=13) -- 1292(line=40, offs=95)
*/
/*
local: loop_39$0(level=1)
global: loop_39$0(level=1), __patsfun_55$0(level=2)
local: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atstype_boxed
__patsfun_55(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret100, atstype_boxed) ;
ATStmpdec(tmp101, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1210(line=40, offs=13) -- 1292(line=40, offs=95)
*/
ATSINSflab(__patsflab___patsfun_55):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1210(line=40, offs=13) -- 1292(line=40, offs=95)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1238(line=40, offs=41) -- 1290(line=40, offs=93)
*/
ATSINSmove_ldelay(tmp101, atstype_boxed, ATSPMVcfunlab(1, __patsfun_56, (env0, env1))) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1218(line=40, offs=21) -- 1291(line=40, offs=94)
*/

/*
#LINCONSTATUS==0
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmpret100, postiats_tysum_0) ;
#if(0)
ATSINSstore_con1_tag(tmpret100, 1) ;
#endif
ATSINSstore_con1_ofs(tmpret100, postiats_tysum_0, atslab__0, env1) ;
ATSINSstore_con1_ofs(tmpret100, postiats_tysum_0, atslab__1, tmp101) ;
ATSINSmove_con1_end()
} ATSelse() {
/* (*nothing*) */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret100) ;
} /* end of [__patsfun_55] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1238(line=40, offs=41) -- 1290(line=40, offs=93)
*/
/*
local: loop_39$0(level=1)
global: loop_39$0(level=1), __patsfun_56$0(level=3)
local: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atstype_boxed
__patsfun_56(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret102, atstype_boxed) ;
ATStmpdec(tmp103, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp104, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp105, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1238(line=40, offs=41) -- 1290(line=40, offs=93)
*/
ATSINSflab(__patsflab___patsfun_56):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1238(line=40, offs=41) -- 1290(line=40, offs=93)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1261(line=40, offs=64) -- 1268(line=40, offs=71)
*/
ATSINSmove(tmp103, atspre_g1int_div_int(env0, env1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1279(line=40, offs=82) -- 1286(line=40, offs=89)
*/
ATSINSmove(tmp105, atspre_g1int_add_int(env1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1271(line=40, offs=74) -- 1287(line=40, offs=90)
*/
ATSINSmove(tmp104, loop_39(env0, tmp105)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1246(line=40, offs=49) -- 1289(line=40, offs=92)
*/

/*
#LINCONSTATUS==0
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmpret102, postiats_tysum_0) ;
#if(0)
ATSINSstore_con1_tag(tmpret102, 1) ;
#endif
ATSINSstore_con1_ofs(tmpret102, postiats_tysum_0, atslab__0, tmp103) ;
ATSINSstore_con1_ofs(tmpret102, postiats_tysum_0, atslab__1, tmp104) ;
ATSINSmove_con1_end()
} ATSelse() {
/* (*nothing*) */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret102) ;
} /* end of [__patsfun_56] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1405(line=48, offs=4) -- 1524(line=49, offs=71)
*/
/*
local: is_prime_20$0(level=0), divisors_36$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), divisors_36$0(level=0), prime_divisors_57$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
prime_divisors_57(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret107, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp132, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1405(line=48, offs=4) -- 1524(line=49, offs=71)
*/
ATSINSflab(__patsflab_prime_divisors_57):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1480(line=49, offs=27) -- 1490(line=49, offs=37)
*/
ATSINSmove(tmp132, divisors_36(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1456(line=49, offs=3) -- 1524(line=49, offs=71)
*/
ATSINSmove(tmpret107, ATSLIB_056_prelude__stream_vt_filter_cloptr__58__1(tmp132, ATSPMVcfunlab(1, __patsfun_64, ()))) ;

ATSfunbody_end()
ATSreturn(tmpret107) ;
} /* end of [prime_divisors_57] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11373(line=684, offs=1) -- 12248(line=743, offs=2)
*/
/*
local: 
global: stream_vt_filter_cloptr$58$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(8764)
tmparg = S2Evar(a(8764))
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__stream_vt_filter_cloptr__58(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret108, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11349(line=683, offs=1) -- 12248(line=743, offs=2)
*/
ATSINSflab(__patsflab_stream_vt_filter_cloptr):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 12248(line=743, offs=2)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 11407(line=686, offs=22)
*/
ATSINSmove(tmpret108, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain$4303(1), flab=auxmain_59$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstkind_type(atstype_ptrk))(arg0, arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 12248(line=743, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret108) ;
} /* end of [ATSLIB_056_prelude__stream_vt_filter_cloptr__58] */
#endif // end of [TEMPLATE]

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11423(line=690, offs=1) -- 12222(line=741, offs=2)
*/
/*
local: auxmain_59$0(level=1)
global: auxmain_59$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
auxmain_59__59(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret109, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11423(line=690, offs=1) -- 12222(line=741, offs=2)
*/
ATSINSflab(__patsflab_auxmain_59):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
*/
ATSINSmove_ldelay(tmpret109, atstype_boxed, ATSPMVcfunlab(1, __patsfun_60__60, (arg0, arg1))) ;
ATSfunbody_end()
ATSreturn(tmpret109) ;
} /* end of [auxmain_59__59] */
#endif // end of [TEMPLATE]

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11503(line=696, offs=20) -- 12222(line=741, offs=2)
*/
/*
local: auxmain_59$0(level=1)
global: auxmain_59$0(level=1), __patsfun_60$0(level=2)
local: xs$4304(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4305(2)(HSEfun(CLO(1); HSErefarg(1; HSEtyvar(a(8764))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
global: xs$4304(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4305(2)(HSEfun(CLO(1); HSErefarg(1; HSEtyvar(a(8764))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
*/
ATSstatic()
atstype_boxed
__patsfun_60__60(atstkind_type(atstype_ptrk) env0, atstype_cloptr env1, atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret110, atstype_boxed) ;
ATStmpdec(tmp111, atstype_boxed) ;
// ATStmpdec_void(tmp114) ;
ATStmpdec(tmp115, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp116, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp117, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp118, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp119) ;
// ATStmpdec_void(tmp120) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
*/
ATSINSflab(__patsflab___patsfun_60):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11516(line=699, offs=1) -- 12138(line=732, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
*/
ATSINSmove_llazyeval(tmp111, atstype_boxed, env0) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11545(line=703, offs=1) -- 12104(line=730, offs=6)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11563(line=704, offs=3) -- 11589(line=705, offs=12)
*/
ATSINSlab(__atstmplab9):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
*/
ATSifthen(ATSCKptriscons(tmp111)) { ATSINSgoto(__atstmplab12) ; } ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11589(line=705, offs=12) -- 11589(line=705, offs=12)
*/
ATSINSlab(__atstmplab10):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11593(line=705, offs=16) -- 11719(line=712, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11614(line=707, offs=5) -- 11662(line=708, offs=37)
*/
ATSINSmove_void(tmp114, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11692(line=711, offs=5) -- 11705(line=711, offs=18)
*/

ATSINSmove_nil(tmpret110) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11593(line=705, offs=16) -- 11719(line=712, offs=6)
*/
/*
INSletpop()
*/
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11748(line=713, offs=3) -- 11776(line=714, offs=13)
*/
ATSINSlab(__atstmplab11):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
*/
#if(0)
ATSifthen(ATSCKptrisnull(tmp111)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11776(line=714, offs=13) -- 11776(line=714, offs=13)
*/
ATSINSlab(__atstmplab12):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11780(line=714, offs=17) -- 12104(line=730, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11799(line=715, offs=16) -- 11805(line=715, offs=22)
*/
ATSINSmove(tmp115, ATSfunclo_clo(ATSPMVrefarg0(env1), (atstype_cloptr, atsrefarg1_type(atstyvar_type(a))), atstkind_t0ype(atstype_bool))(ATSPMVrefarg0(env1), ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp111, postiats_tysum_1, atslab__0))))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11816(line=717, offs=5) -- 12062(line=728, offs=10)
*/
ATSif(
tmp115
) ATSthen() {
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11835(line=718, offs=12) -- 11941(line=723, offs=10)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11871(line=720, offs=16) -- 11889(line=720, offs=34)
*/
ATSINSmove(tmp116, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain$4303(1), flab=auxmain_59$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstkind_type(atstype_ptrk))(ATSSELcon(tmp111, postiats_tysum_1, atslab__1), env1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11864(line=720, offs=9) -- 11889(line=720, offs=34)
*/
ATSINSstore(ATSSELcon(tmp111, postiats_tysum_1, atslab__1), tmp116) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11925(line=722, offs=27) -- 11931(line=722, offs=33)
*/
ATSINSmove(tmpret110, tmp111) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11835(line=718, offs=12) -- 11941(line=723, offs=10)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11970(line=724, offs=12) -- 12062(line=728, offs=10)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11992(line=725, offs=19) -- 11995(line=725, offs=22)
*/
ATSINSmove(tmp117, ATSSELcon(tmp111, postiats_tysum_1, atslab__1)) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12013(line=727, offs=9) -- 12028(line=727, offs=24)
*/
ATSINSfreecon(tmp111) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12033(line=727, offs=29) -- 12051(line=727, offs=47)
*/
ATSINSmove(tmp118, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain$4303(1), flab=auxmain_59$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstkind_type(atstype_ptrk))(tmp117, env1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12031(line=727, offs=27) -- 12052(line=727, offs=48)
*/
ATSINSmove_llazyeval(tmpret110, atstype_boxed, tmp118) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11970(line=724, offs=12) -- 12062(line=728, offs=10)
*/
/*
INSletpop()
*/
} /* ATSendif */
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11780(line=714, offs=17) -- 12104(line=730, offs=6)
*/
/*
INSletpop()
*/
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11516(line=699, offs=1) -- 12138(line=732, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12167(line=737, offs=3) -- 12170(line=737, offs=6)
*/
ATSINSmove_void(tmp119, atspre_lazy_vt_free(env0)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12174(line=738, offs=3) -- 12215(line=738, offs=44)
*/
ATSINSmove_void(tmp120, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;

} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret110) ;
} /* end of [__patsfun_60__60] */
#endif // end of [TEMPLATE]

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11373(line=684, offs=1) -- 12248(line=743, offs=2)
*/
/*
local: 
global: stream_vt_filter_cloptr$58$1(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(8764)
tmparg = S2Evar(a(8764))
tmpsub = Some(a(8764) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__stream_vt_filter_cloptr__58__1(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret108__1, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11349(line=683, offs=1) -- 12248(line=743, offs=2)
*/
ATSINSflab(__patsflab_stream_vt_filter_cloptr):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 12248(line=743, offs=2)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 11407(line=686, offs=22)
*/
ATSINSmove(tmpret108__1, auxmain_59__59__1(arg0, arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 12248(line=743, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret108__1) ;
} /* end of [ATSLIB_056_prelude__stream_vt_filter_cloptr__58__1] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11423(line=690, offs=1) -- 12222(line=741, offs=2)
*/
/*
local: auxmain_59$1(level=2)
global: auxmain_59$1(level=2)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
auxmain_59__59__1(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret109__1, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11423(line=690, offs=1) -- 12222(line=741, offs=2)
*/
ATSINSflab(__patsflab_auxmain_59):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
*/
ATSINSmove_ldelay(tmpret109__1, atstype_boxed, ATSPMVcfunlab(1, __patsfun_60__60__1, (arg0, arg1))) ;
ATSfunbody_end()
ATSreturn(tmpret109__1) ;
} /* end of [auxmain_59__59__1] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11503(line=696, offs=20) -- 12222(line=741, offs=2)
*/
/*
local: auxmain_59$1(level=2)
global: auxmain_59$1(level=2), __patsfun_60$1(level=3)
local: xs$4304(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4305(2)(HSEfun(CLO(1); HSErefarg(1; HSEs2exp(S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
global: xs$4304(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4305(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_60__60__1(atstkind_type(atstype_ptrk) env0, atstype_cloptr env1, atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret110__1, atstype_boxed) ;
ATStmpdec(tmp111__1, atstype_boxed) ;
// ATStmpdec_void(tmp114__1) ;
ATStmpdec(tmp115__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp116__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp117__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp118__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp119__1) ;
// ATStmpdec_void(tmp120__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
*/
ATSINSflab(__patsflab___patsfun_60):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11516(line=699, offs=1) -- 12138(line=732, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
*/
ATSINSmove_llazyeval(tmp111__1, atstype_boxed, env0) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11545(line=703, offs=1) -- 12104(line=730, offs=6)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11563(line=704, offs=3) -- 11589(line=705, offs=12)
*/
ATSINSlab(__atstmplab9):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
*/
ATSifthen(ATSCKptriscons(tmp111__1)) { ATSINSgoto(__atstmplab12) ; } ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11589(line=705, offs=12) -- 11589(line=705, offs=12)
*/
ATSINSlab(__atstmplab10):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11593(line=705, offs=16) -- 11719(line=712, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11614(line=707, offs=5) -- 11662(line=708, offs=37)
*/
ATSINSmove_void(tmp114__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11692(line=711, offs=5) -- 11705(line=711, offs=18)
*/

ATSINSmove_nil(tmpret110__1) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11593(line=705, offs=16) -- 11719(line=712, offs=6)
*/
/*
INSletpop()
*/
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11748(line=713, offs=3) -- 11776(line=714, offs=13)
*/
ATSINSlab(__atstmplab11):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
*/
#if(0)
ATSifthen(ATSCKptrisnull(tmp111__1)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11776(line=714, offs=13) -- 11776(line=714, offs=13)
*/
ATSINSlab(__atstmplab12):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11780(line=714, offs=17) -- 12104(line=730, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11799(line=715, offs=16) -- 11805(line=715, offs=22)
*/
ATSINSmove(tmp115__1, ATSfunclo_clo(ATSPMVrefarg0(env1), (atstype_cloptr, atsrefarg1_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_bool))(ATSPMVrefarg0(env1), ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp111__1, postiats_tysum_0, atslab__0))))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11816(line=717, offs=5) -- 12062(line=728, offs=10)
*/
ATSif(
tmp115__1
) ATSthen() {
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11835(line=718, offs=12) -- 11941(line=723, offs=10)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11871(line=720, offs=16) -- 11889(line=720, offs=34)
*/
ATSINSmove(tmp116__1, auxmain_59__59__1(ATSSELcon(tmp111__1, postiats_tysum_0, atslab__1), env1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11864(line=720, offs=9) -- 11889(line=720, offs=34)
*/
ATSINSstore(ATSSELcon(tmp111__1, postiats_tysum_0, atslab__1), tmp116__1) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11925(line=722, offs=27) -- 11931(line=722, offs=33)
*/
ATSINSmove(tmpret110__1, tmp111__1) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11835(line=718, offs=12) -- 11941(line=723, offs=10)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11970(line=724, offs=12) -- 12062(line=728, offs=10)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11992(line=725, offs=19) -- 11995(line=725, offs=22)
*/
ATSINSmove(tmp117__1, ATSSELcon(tmp111__1, postiats_tysum_0, atslab__1)) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12013(line=727, offs=9) -- 12028(line=727, offs=24)
*/
ATSINSfreecon(tmp111__1) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12033(line=727, offs=29) -- 12051(line=727, offs=47)
*/
ATSINSmove(tmp118__1, auxmain_59__59__1(tmp117__1, env1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12031(line=727, offs=27) -- 12052(line=727, offs=48)
*/
ATSINSmove_llazyeval(tmpret110__1, atstype_boxed, tmp118__1) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11970(line=724, offs=12) -- 12062(line=728, offs=10)
*/
/*
INSletpop()
*/
} /* ATSendif */
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11780(line=714, offs=17) -- 12104(line=730, offs=6)
*/
/*
INSletpop()
*/
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11516(line=699, offs=1) -- 12138(line=732, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12167(line=737, offs=3) -- 12170(line=737, offs=6)
*/
ATSINSmove_void(tmp119__1, atspre_lazy_vt_free(env0)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12174(line=738, offs=3) -- 12215(line=738, offs=44)
*/
ATSINSmove_void(tmp120__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;

} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret110__1) ;
} /* end of [__patsfun_60__60__1] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1493(line=49, offs=40) -- 1523(line=49, offs=70)
*/
/*
local: is_prime_20$0(level=0)
global: is_prime_20$0(level=0), __patsfun_64$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_bool)
__patsfun_64(atsrefarg1_type(atstkind_t0ype(atstype_int)) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret133, atstkind_t0ype(atstype_bool)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1493(line=49, offs=40) -- 1523(line=49, offs=70)
*/
ATSINSflab(__patsflab___patsfun_64):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1502(line=49, offs=49) -- 1523(line=49, offs=70)
*/
ATSINSmove(tmpret133, is_prime_20(ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), ATSderef(arg0, atstkind_t0ype(atstype_int))))) ;

ATSfunbody_end()
ATSreturn(tmpret133) ;
} /* end of [__patsfun_64] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1529(line=51, offs=4) -- 1601(line=52, offs=18)
*/
/*
local: 
global: div_gt_zero_65$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
div_gt_zero_65(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret134, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp135, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1529(line=51, offs=4) -- 1601(line=52, offs=18)
*/
ATSINSflab(__patsflab_div_gt_zero_65):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1595(line=52, offs=12) -- 1600(line=52, offs=17)
*/
ATSINSmove(tmp135, atspre_g1int_div_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1586(line=52, offs=3) -- 1601(line=52, offs=18)
*/
ATSINSmove(tmpret134, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp135)) ;
ATSfunbody_end()
ATSreturn(tmpret134) ;
} /* end of [div_gt_zero_65] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1642(line=55, offs=5) -- 2305(line=82, offs=6)
*/
/*
local: exp_mod_prime_66$0(level=0)
global: exp_mod_prime_66$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
exp_mod_prime_66(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(tmpret136, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref137, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref138, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp139, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp140, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmpref143, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp144, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref145, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref146, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp147, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp148, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp149, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmpref152, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp153, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1642(line=55, offs=5) -- 2305(line=82, offs=6)
*/
ATSINSflab(__patsflab_exp_mod_prime_66):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1710(line=56, offs=3) -- 2305(line=82, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1722(line=57, offs=9) -- 1724(line=57, offs=11)
*/
/*
ATSINStmpdec(tmpref137) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1727(line=57, offs=14) -- 1732(line=57, offs=19)
*/
ATSINSmove(tmpref137, atspre_g0int_mod_int(arg0, arg2)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1741(line=58, offs=9) -- 1743(line=58, offs=11)
*/
/*
ATSINStmpdec(tmpref138) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1751(line=58, offs=19) -- 1756(line=58, offs=24)
*/
ATSINSmove(tmp139, atspre_g1int_sub_int(arg2, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1746(line=58, offs=14) -- 1757(line=58, offs=25)
*/
ATSINSmove(tmpref138, atspre_g0int_mod_int(arg1, tmp139)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1767(line=60, offs=5) -- 2299(line=81, offs=12)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1786(line=61, offs=9) -- 1787(line=61, offs=10)
*/
ATSINSlab(__atstmplab13):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1656(line=55, offs=19) -- 1657(line=55, offs=20)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab15) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1787(line=61, offs=10) -- 1787(line=61, 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/fast-arithmetic/ats-src/number-theory.dats: 1791(line=61, offs=14) -- 1792(line=61, offs=15)
*/
ATSINSmove(tmpret136, ATSPMVi0nt(0)) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1802(line=62, offs=10) -- 1802(line=62, 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/fast-arithmetic/ats-src/number-theory.dats: 1835(line=64, offs=14) -- 1840(line=64, offs=19)
*/
ATSINSmove(tmp140, ATSLIB_056_prelude__gt_g1int_int__6__3(arg1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1832(line=64, offs=11) -- 2287(line=80, offs=14)
*/
ATSif(
tmp140
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1858(line=65, offs=13) -- 2258(line=78, offs=16)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1880(line=66, offs=19) -- 1882(line=66, offs=21)
*/
/*
ATSINStmpdec(tmpref143) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1905(line=66, offs=44) -- 1912(line=66, offs=51)
*/
ATSINSmove(tmp144, atspre_g0int_half_int(tmpref138)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1896(line=66, offs=35) -- 1914(line=66, offs=53)
*/
ATSINSmove(tmpref143, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp144)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1933(line=67, offs=19) -- 1935(line=67, offs=21)
*/
/*
ATSINStmpdec(tmpref145) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1938(line=67, offs=24) -- 1944(line=67, offs=30)
*/
ATSINSmove(tmpref145, atspre_g0int_mod_int(tmpref138, ATSPMVi0nt(2))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1963(line=68, offs=19) -- 1967(line=68, offs=23)
*/
/*
ATSINStmpdec(tmpref146) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1990(line=68, offs=46) -- 1995(line=68, offs=51)
*/
ATSINSmove(tmp148, atspre_g1int_mul_int(arg0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1990(line=68, offs=46) -- 1999(line=68, offs=55)
*/
ATSINSmove(tmp147, atspre_g0int_mod_int(tmp148, arg2)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1981(line=68, offs=37) -- 2000(line=68, offs=56)
*/
ATSINSmove(tmpref146, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp147)) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2033(line=70, offs=18) -- 2039(line=70, offs=24)
*/
ATSINSmove(tmp149, ATSLIB_056_prelude__eq_g0int_int__12__7(tmpref145, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2030(line=70, offs=15) -- 2242(line=77, offs=20)
*/
ATSif(
tmp149
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2061(line=71, offs=17) -- 2087(line=71, offs=43)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmpref146) ;
ATSINSmove_tlcal(apy1, tmpref143) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSfgoto(__patsflab_exp_mod_prime_66) ;
ATStailcal_end()

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2123(line=73, offs=17) -- 2242(line=77, offs=20)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2149(line=74, offs=23) -- 2150(line=74, offs=24)
*/
/*
ATSINStmpdec(tmpref152) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2157(line=74, offs=31) -- 2183(line=74, offs=57)
*/
ATSINSmove(tmp153, exp_mod_prime_66(tmpref146, tmpref143, arg2)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2153(line=74, offs=27) -- 2183(line=74, offs=57)
*/
ATSINSmove(tmpref152, atspre_g0int_mul_int(arg0, tmp153)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2221(line=76, offs=19) -- 2222(line=76, offs=20)
*/
ATSINSmove(tmpret136, tmpref152) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2123(line=73, offs=17) -- 2242(line=77, offs=20)
*/
/*
INSletpop()
*/
} /* ATSendif */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1858(line=65, offs=13) -- 2258(line=78, offs=16)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2286(line=80, offs=13) -- 2287(line=80, offs=14)
*/
ATSINSmove(tmpret136, ATSPMVi0nt(1)) ;
} /* ATSendif */
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1710(line=56, offs=3) -- 2305(line=82, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret136) ;
} /* end of [exp_mod_prime_66] */

/*
/usr/local/lib/ats2-postiats-0.3.8/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(4703)
tmparg = S2Evar(tk(4703))
tmpsub = Some(tk(4703) -> 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(tmpret11__3, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp12__3, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__6__3] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
*/
/*
local: 
global: eq_g0int_int$12$7(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4694)
tmparg = S2Evar(tk(4694))
tmpsub = Some(tk(4694) -> 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(tmpret18__7, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp19__7, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__12__7] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2408(line=85, offs=5) -- 3241(line=114, offs=6)
*/
/*
local: exp_5$0(level=0), is_prime_20$0(level=0), div_gt_zero_65$0(level=0), exp_mod_prime_66$0(level=0)
global: witness_0$0(level=0), exp_5$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), div_gt_zero_65$0(level=0), exp_mod_prime_66$0(level=0), jacobi_72$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
jacobi_72(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret154, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2408(line=85, offs=5) -- 3241(line=114, offs=6)
*/
ATSINSflab(__patsflab_jacobi_72):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2449(line=86, offs=3) -- 3241(line=114, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3228(line=113, offs=5) -- 3235(line=113, offs=12)
*/
ATSINSmove(tmpret154, loop_78(arg0, arg1, ATSPMVi0nt(2))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2449(line=86, offs=3) -- 3241(line=114, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret154) ;
} /* end of [jacobi_72] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2461(line=87, offs=9) -- 2789(line=97, offs=12)
*/
/*
local: exp_mod_prime_66$0(level=0)
global: exp_mod_prime_66$0(level=0), legendre_73$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
legendre_73(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret155, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp156, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref157, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp158, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp159, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp160, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp161, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp164, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp165, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp166, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp169, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2461(line=87, offs=9) -- 2789(line=97, offs=12)
*/
ATSINSflab(__patsflab_legendre_73):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2550(line=88, offs=13) -- 2555(line=88, offs=18)
*/
ATSINSmove(tmp156, atspre_g0int_mod_int(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2544(line=88, offs=7) -- 2789(line=97, offs=12)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2569(line=89, offs=11) -- 2570(line=89, offs=12)
*/
ATSINSlab(__atstmplab16):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2550(line=88, offs=13) -- 2555(line=88, offs=18)
*/
ATSifnthen(ATSCKpat_int(tmp156, ATSPMVint(0))) { ATSINSgoto(__atstmplab18) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2570(line=89, offs=12) -- 2570(line=89, 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/fast-arithmetic/ats-src/number-theory.dats: 2574(line=89, offs=16) -- 2575(line=89, offs=17)
*/
ATSINSmove(tmpret155, ATSPMVi0nt(0)) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2587(line=90, offs=12) -- 2587(line=90, 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/fast-arithmetic/ats-src/number-theory.dats: 2591(line=90, offs=16) -- 2789(line=97, offs=12)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2609(line=91, offs=15) -- 2610(line=91, offs=16)
*/
/*
ATSINStmpdec(tmpref157) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2631(line=91, offs=37) -- 2636(line=91, offs=42)
*/
ATSINSmove(tmp159, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2630(line=91, offs=36) -- 2641(line=91, offs=47)
*/
ATSINSmove(tmp158, atspre_g1int_div_int(tmp159, ATSPMVi0nt(2))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2613(line=91, offs=19) -- 2645(line=91, offs=51)
*/
ATSINSmove(tmpref157, exp_mod_prime_66(arg0, tmp158, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2673(line=93, offs=17) -- 2674(line=93, offs=18)
*/
ATSINSmove(tmp160, tmpref157) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2667(line=93, offs=11) -- 2777(line=96, offs=21)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2693(line=94, offs=16) -- 2693(line=94, 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/fast-arithmetic/ats-src/number-theory.dats: 2704(line=94, offs=27) -- 2709(line=94, offs=32)
*/
ATSINSmove(tmp165, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2699(line=94, offs=22) -- 2710(line=94, offs=33)
*/
ATSINSmove(tmp164, atspre_g0int_mod_int(tmp160, tmp165)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2699(line=94, offs=22) -- 2714(line=94, offs=37)
*/
ATSINSmove(tmp161, ATSLIB_056_prelude__eq_g0int_int__12__8(tmp164, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2699(line=94, offs=22) -- 2714(line=94, offs=37)
*/
ATSifnthen(ATSCKpat_bool(tmp161, 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/fast-arithmetic/ats-src/number-theory.dats: 2718(line=94, offs=41) -- 2720(line=94, offs=43)
*/
ATSINSmove(tmpret155, atspre_g1int_neg_int(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2736(line=95, offs=16) -- 2736(line=95, 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/fast-arithmetic/ats-src/number-theory.dats: 2742(line=95, offs=22) -- 2747(line=95, offs=27)
*/
ATSINSmove(tmp169, atspre_g0int_mod_int(tmp160, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2742(line=95, offs=22) -- 2751(line=95, offs=31)
*/
ATSINSmove(tmp166, ATSLIB_056_prelude__eq_g0int_int__12__9(tmp169, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2742(line=95, offs=22) -- 2751(line=95, offs=31)
*/
ATSifnthen(ATSCKpat_bool(tmp166, 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/fast-arithmetic/ats-src/number-theory.dats: 2755(line=95, offs=35) -- 2756(line=95, offs=36)
*/
ATSINSmove(tmpret155, ATSPMVi0nt(0)) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2772(line=96, offs=16) -- 2772(line=96, 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/fast-arithmetic/ats-src/number-theory.dats: 2776(line=96, offs=20) -- 2777(line=96, offs=21)
*/
ATSINSmove(tmpret155, ATSPMVi0nt(1)) ;
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2591(line=90, offs=16) -- 2789(line=97, offs=12)
*/
/*
INSletpop()
*/
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

ATSfunbody_end()
ATSreturn(tmpret155) ;
} /* end of [legendre_73] */

/*
/usr/local/lib/ats2-postiats-0.3.8/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(4694)
tmparg = S2Evar(tk(4694))
tmpsub = Some(tk(4694) -> 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(tmpret18__8, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp19__8, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__12__8] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
*/
/*
local: 
global: eq_g0int_int$12$9(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4694)
tmparg = S2Evar(tk(4694))
tmpsub = Some(tk(4694) -> 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(tmpret18__9, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp19__9, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__12__9] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2803(line=99, offs=9) -- 2958(line=102, offs=17)
*/
/*
local: div_gt_zero_65$0(level=0), get_multiplicity_77$0(level=1)
global: div_gt_zero_65$0(level=0), get_multiplicity_77$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
get_multiplicity_77(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret170, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp171, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp172, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp173, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2803(line=99, offs=9) -- 2958(line=102, offs=17)
*/
ATSINSflab(__patsflab_get_multiplicity_77):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2875(line=100, offs=13) -- 2880(line=100, offs=18)
*/
ATSINSmove(tmp171, atspre_g0int_mod_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2869(line=100, offs=7) -- 2958(line=102, offs=17)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2894(line=101, offs=11) -- 2895(line=101, offs=12)
*/
ATSINSlab(__atstmplab22):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2875(line=100, offs=13) -- 2880(line=100, offs=18)
*/
ATSifnthen(ATSCKpat_int(tmp171, ATSPMVint(0))) { ATSINSgoto(__atstmplab24) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2895(line=101, offs=12) -- 2895(line=101, 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/fast-arithmetic/ats-src/number-theory.dats: 2920(line=101, offs=37) -- 2937(line=101, offs=54)
*/
ATSINSmove(tmp173, div_gt_zero_65(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2903(line=101, offs=20) -- 2941(line=101, offs=58)
*/
ATSINSmove(tmp172, get_multiplicity_77(tmp173, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2899(line=101, offs=16) -- 2941(line=101, offs=58)
*/
ATSINSmove(tmpret170, atspre_g1int_add_int(ATSPMVi0nt(1), tmp172)) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2953(line=102, offs=12) -- 2953(line=102, 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/fast-arithmetic/ats-src/number-theory.dats: 2957(line=102, offs=16) -- 2958(line=102, offs=17)
*/
ATSINSmove(tmpret170, ATSPMVi0nt(0)) ;
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

ATSfunbody_end()
ATSreturn(tmpret170) ;
} /* end of [get_multiplicity_77] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2972(line=104, offs=9) -- 3218(line=111, offs=24)
*/
/*
local: exp_5$0(level=0), is_prime_20$0(level=0), legendre_73$0(level=1), get_multiplicity_77$0(level=1), loop_78$0(level=1)
global: exp_5$0(level=0), is_prime_20$0(level=0), div_gt_zero_65$0(level=0), exp_mod_prime_66$0(level=0), legendre_73$0(level=1), get_multiplicity_77$0(level=1), loop_78$0(level=1)
local: a$5142(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), n$5143(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: a$5142(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), n$5143(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atstkind_t0ype(atstype_int)
loop_78(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpret174, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp175, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp178, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp179, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp182, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp183, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp184, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp185, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp186, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp187, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp188, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2972(line=104, offs=9) -- 3218(line=111, offs=24)
*/
ATSINSflab(__patsflab_loop_78):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3029(line=105, offs=10) -- 3036(line=105, offs=17)
*/
ATSINSmove(tmp175, ATSLIB_056_prelude__gt_g1int_int__6__4(arg0, env1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3026(line=105, offs=7) -- 3218(line=111, offs=24)
*/
ATSif(
tmp175
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3050(line=106, offs=9) -- 3051(line=106, offs=10)
*/
ATSINSmove(tmpret174, ATSPMVi0nt(1)) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3074(line=108, offs=12) -- 3101(line=108, offs=39)
*/
ATSINSmove(tmp182, atspre_g0int_mod_int(env0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3074(line=108, offs=12) -- 3101(line=108, offs=39)
*/
ATSINSmove(tmp179, ATSLIB_056_prelude__eq_g0int_int__12__10(tmp182, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3074(line=108, offs=12) -- 3101(line=108, offs=39)
*/
ATSif(
tmp179
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3074(line=108, offs=12) -- 3101(line=108, offs=39)
*/
ATSINSmove(tmp178, is_prime_20(arg0)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3074(line=108, offs=12) -- 3101(line=108, offs=39)
*/
ATSINSmove(tmp178, ATSPMVbool_false()) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3071(line=108, offs=9) -- 3218(line=111, offs=24)
*/
ATSif(
tmp178
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3123(line=109, offs=16) -- 3130(line=109, offs=23)
*/
ATSINSmove(tmp184, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3118(line=109, offs=11) -- 3131(line=109, offs=24)
*/
ATSINSmove(tmp183, loop_78(env0, env1, tmp184)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3138(line=109, offs=31) -- 3154(line=109, offs=47)
*/
ATSINSmove(tmp186, legendre_73(arg0, env1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3156(line=109, offs=49) -- 3180(line=109, offs=73)
*/
ATSINSmove(tmp187, get_multiplicity_77(env0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3134(line=109, offs=27) -- 3181(line=109, offs=74)
*/
ATSINSmove(tmp185, exp_5(tmp186, tmp187)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3118(line=109, offs=11) -- 3181(line=109, offs=74)
*/
ATSINSmove(tmpret174, atspre_g0int_mul_int(tmp183, tmp185)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3210(line=111, offs=16) -- 3217(line=111, offs=23)
*/
ATSINSmove(tmp188, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3205(line=111, offs=11) -- 3218(line=111, offs=24)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp188) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSfgoto(__patsflab_loop_78) ;
ATStailcal_end()

} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret174) ;
} /* end of [loop_78] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
*/
/*
local: 
global: gt_g1int_int$6$4(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4703)
tmparg = S2Evar(tk(4703))
tmpsub = Some(tk(4703) -> 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(tmpret11__4, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp12__4, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__6__4] */

/*
/usr/local/lib/ats2-postiats-0.3.8/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(4694)
tmparg = S2Evar(tk(4694))
tmpsub = Some(tk(4694) -> 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(tmpret18__10, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp19__10, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__12__10] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3272(line=117, offs=4) -- 3341(line=118, offs=32)
*/
/*
local: divisors_36$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0), divisors_36$0(level=0), count_divisors_81$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
count_divisors_81(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret189, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp201, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3272(line=117, offs=4) -- 3341(line=118, offs=32)
*/
ATSINSflab(__patsflab_count_divisors_81):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3329(line=118, offs=20) -- 3339(line=118, offs=30)
*/
ATSINSmove(tmp201, divisors_36(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3312(line=118, offs=3) -- 3341(line=118, offs=32)
*/
ATSINSmove(tmpret189, ATSLIB_056_prelude__stream_vt_length__82__1(tmp201)) ;

ATSfunbody_end()
ATSreturn(tmpret189) ;
} /* end of [count_divisors_81] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 8056(line=456, offs=17) -- 8278(line=471, offs=4)
*/
/*
local: 
global: stream_vt_length$82$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(8735)
tmparg = S2Evar(a(8735))
tmpsub = None()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__stream_vt_length__82(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret190, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8040(line=456, offs=1) -- 8278(line=471, offs=4)
*/
ATSINSflab(__patsflab_stream_vt_length):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8064(line=456, offs=25) -- 8278(line=471, offs=4)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8261(line=470, offs=16) -- 8273(line=470, offs=28)
*/
ATSINSmove(tmpret190, ATSfunclo_fun(PMVd2vfunlab(d2v=loop$4254(1), flab=loop_83$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)), atstkind_t0ype(atstype_int))(arg0, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8064(line=456, offs=25) -- 8278(line=471, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret190) ;
} /* end of [ATSLIB_056_prelude__stream_vt_length__82] */
#endif // end of [TEMPLATE]

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 8075(line=459, offs=1) -- 8219(line=467, offs=2)
*/
/*
local: loop_83$0(level=1)
global: loop_83$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
loop_83__83(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(tmpret191, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp192, atstype_boxed) ;
ATStmpdec(tmp194, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp195, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8075(line=459, offs=1) -- 8219(line=467, offs=2)
*/
ATSINSflab(__patsflab_loop_83):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8141(line=464, offs=9) -- 8144(line=464, offs=12)
*/
ATSINSmove_llazyeval(tmp192, atstype_boxed, arg0) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8135(line=464, offs=3) -- 8217(line=466, offs=44)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8152(line=465, offs=5) -- 8168(line=465, offs=21)
*/
ATSINSlab(__atstmplab25):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8141(line=464, offs=9) -- 8144(line=464, offs=12)
*/
ATSifthen(ATSCKptriscons(tmp192)) { ATSINSgoto(__atstmplab28) ; } ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8168(line=465, offs=21) -- 8168(line=465, offs=21)
*/
ATSINSlab(__atstmplab26):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8172(line=465, offs=25) -- 8173(line=465, offs=26)
*/
ATSINSmove(tmpret191, arg1) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8178(line=466, offs=5) -- 8200(line=466, offs=27)
*/
ATSINSlab(__atstmplab27):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8141(line=464, offs=9) -- 8144(line=464, offs=12)
*/
#if(0)
ATSifthen(ATSCKptrisnull(tmp192)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8200(line=466, offs=27) -- 8200(line=466, offs=27)
*/
ATSINSlab(__atstmplab28):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8197(line=466, offs=24) -- 8199(line=466, offs=26)
*/
ATSINSmove(tmp194, ATSSELcon(tmp192, postiats_tysum_2, atslab__1)) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8178(line=466, offs=5) -- 8217(line=466, offs=44)
*/
ATSINSfreecon(tmp192) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8213(line=466, offs=40) -- 8216(line=466, offs=43)
*/
ATSINSmove(tmp195, PMVtmpltcst(g1int_add<S2Eextkind(atstype_int)>)(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8204(line=466, offs=31) -- 8217(line=466, offs=44)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp194) ;
ATSINSmove_tlcal(apy1, tmp195) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_83) ;
ATStailcal_end()

ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

ATSfunbody_end()
ATSreturn(tmpret191) ;
} /* end of [loop_83__83] */
#endif // end of [TEMPLATE]

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 8056(line=456, offs=17) -- 8278(line=471, offs=4)
*/
/*
local: 
global: stream_vt_length$82$1(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(8735)
tmparg = S2Evar(a(8735))
tmpsub = Some(a(8735) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__stream_vt_length__82__1(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret190__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8040(line=456, offs=1) -- 8278(line=471, offs=4)
*/
ATSINSflab(__patsflab_stream_vt_length):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8064(line=456, offs=25) -- 8278(line=471, offs=4)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8261(line=470, offs=16) -- 8273(line=470, offs=28)
*/
ATSINSmove(tmpret190__1, loop_83__83__1(arg0, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8064(line=456, offs=25) -- 8278(line=471, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret190__1) ;
} /* end of [ATSLIB_056_prelude__stream_vt_length__82__1] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 8075(line=459, offs=1) -- 8219(line=467, offs=2)
*/
/*
local: loop_83$1(level=2)
global: loop_83$1(level=2)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
loop_83__83__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(tmpret191__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp192__1, atstype_boxed) ;
ATStmpdec(tmp194__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp195__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8075(line=459, offs=1) -- 8219(line=467, offs=2)
*/
ATSINSflab(__patsflab_loop_83):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8141(line=464, offs=9) -- 8144(line=464, offs=12)
*/
ATSINSmove_llazyeval(tmp192__1, atstype_boxed, arg0) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8135(line=464, offs=3) -- 8217(line=466, offs=44)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8152(line=465, offs=5) -- 8168(line=465, offs=21)
*/
ATSINSlab(__atstmplab25):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8141(line=464, offs=9) -- 8144(line=464, offs=12)
*/
ATSifthen(ATSCKptriscons(tmp192__1)) { ATSINSgoto(__atstmplab28) ; } ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8168(line=465, offs=21) -- 8168(line=465, offs=21)
*/
ATSINSlab(__atstmplab26):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8172(line=465, offs=25) -- 8173(line=465, offs=26)
*/
ATSINSmove(tmpret191__1, arg1) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8178(line=466, offs=5) -- 8200(line=466, offs=27)
*/
ATSINSlab(__atstmplab27):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8141(line=464, offs=9) -- 8144(line=464, offs=12)
*/
#if(0)
ATSifthen(ATSCKptrisnull(tmp192__1)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8200(line=466, offs=27) -- 8200(line=466, offs=27)
*/
ATSINSlab(__atstmplab28):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8197(line=466, offs=24) -- 8199(line=466, offs=26)
*/
ATSINSmove(tmp194__1, ATSSELcon(tmp192__1, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8178(line=466, offs=5) -- 8217(line=466, offs=44)
*/
ATSINSfreecon(tmp192__1) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8213(line=466, offs=40) -- 8216(line=466, offs=43)
*/
ATSINSmove(tmp195__1, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8204(line=466, offs=31) -- 8217(line=466, offs=44)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp194__1) ;
ATSINSmove_tlcal(apy1, tmp195__1) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_83) ;
ATStailcal_end()

ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

ATSfunbody_end()
ATSreturn(tmpret191__1) ;
} /* end of [loop_83__83__1] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3372(line=121, offs=4) -- 3541(line=126, offs=6)
*/
/*
local: divisors_36$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0), divisors_36$0(level=0), sum_divisors_86$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
sum_divisors_86(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret202, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp203, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3372(line=121, offs=4) -- 3541(line=126, offs=6)
*/
ATSINSflab(__patsflab_sum_divisors_86):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3410(line=122, offs=3) -- 3541(line=126, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3442(line=123, offs=29) -- 3452(line=123, offs=39)
*/
ATSINSmove(tmp203, divisors_36(arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3463(line=125, offs=5) -- 3535(line=125, offs=77)
*/
ATSINSmove(tmpret202, ATSLIB_056_prelude__stream_vt_foldleft_cloptr__87__1(tmp203, ATSPMVi0nt(0), ATSPMVcfunlab(1, __patsfun_91, ()))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3410(line=122, offs=3) -- 3541(line=126, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret202) ;
} /* end of [sum_divisors_86] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 26263(line=1640, offs=3) -- 26743(line=1671, offs=2)
*/
/*
local: 
global: stream_vt_foldleft_cloptr$87$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = res(8865), a(8866)
tmparg = S2Evar(res(8865)); S2Evar(a(8866))
tmpsub = None()
*/
atstyvar_type(res)
ATSLIB_056_prelude__stream_vt_foldleft_cloptr__87(atstkind_type(atstype_ptrk) arg0, atstyvar_type(res) arg1, atstype_cloptr arg2)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret204, atstyvar_type(res)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26235(line=1639, offs=1) -- 26743(line=1671, offs=2)
*/
ATSINSflab(__patsflab_stream_vt_foldleft_cloptr):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26284(line=1641, offs=3) -- 26743(line=1671, offs=2)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26284(line=1641, offs=3) -- 26304(line=1641, offs=23)
*/
ATSINSmove(tmpret204, ATSfunclo_fun(PMVd2vfunlab(d2v=loop$4501(1), flab=loop_88$0(level=1)), (atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr), atstyvar_type(res))(arg0, arg1, arg2)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26284(line=1641, offs=3) -- 26743(line=1671, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret204) ;
} /* end of [ATSLIB_056_prelude__stream_vt_foldleft_cloptr__87] */
#endif // end of [TEMPLATE]

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 26320(line=1645, offs=1) -- 26721(line=1669, offs=4)
*/
/*
local: loop_88$0(level=1)
global: loop_88$0(level=1)
local: 
global: 
*/
ATSstatic()
atstyvar_type(res)
loop_88__88(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(tmpret205, atstyvar_type(res)) ;
ATStmpdec(tmpref206, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp207, atstype_boxed) ;
// ATStmpdec_void(tmp210) ;
ATStmpdec(tmp211, atstyvar_type(res)) ;
ATStmpdec(tmp212, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26320(line=1645, offs=1) -- 26721(line=1669, offs=4)
*/
ATSINSflab(__patsflab_loop_88):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26398(line=1651, offs=6) -- 26721(line=1669, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26408(line=1652, offs=7) -- 26414(line=1652, offs=13)
*/
/*
ATSINStmpdec(tmpref206) ;
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26417(line=1652, offs=16) -- 26420(line=1652, offs=19)
*/
ATSINSmove_llazyeval(tmpref206, atstype_boxed, arg0) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26433(line=1656, offs=1) -- 26439(line=1656, offs=7)
*/
ATSINSmove(tmp207, tmpref206) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26427(line=1655, offs=1) -- 26687(line=1667, offs=6)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26454(line=1658, offs=3) -- 26475(line=1659, offs=7)
*/
ATSINSlab(__atstmplab29):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26433(line=1656, offs=1) -- 26439(line=1656, offs=7)
*/
ATSifthen(ATSCKptriscons(tmp207)) { ATSINSgoto(__atstmplab32) ; } ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26475(line=1659, offs=7) -- 26475(line=1659, offs=7)
*/
ATSINSlab(__atstmplab30):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26487(line=1661, offs=5) -- 26519(line=1661, offs=37)
*/
ATSINSmove_void(tmp210, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg2))) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26521(line=1661, offs=39) -- 26524(line=1661, offs=42)
*/
ATSINSmove(tmpret205, arg1) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26560(line=1663, offs=3) -- 26589(line=1664, offs=14)
*/
ATSINSlab(__atstmplab31):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26433(line=1656, offs=1) -- 26439(line=1656, offs=7)
*/
#if(0)
ATSifthen(ATSCKptrisnull(tmp207)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26589(line=1664, offs=14) -- 26589(line=1664, offs=14)
*/
ATSINSlab(__atstmplab32):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26593(line=1664, offs=18) -- 26687(line=1667, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26611(line=1665, offs=15) -- 26624(line=1665, offs=28)
*/
ATSINSmove(tmp211, ATSfunclo_clo(ATSPMVrefarg0(arg2), (atstype_cloptr, atstyvar_type(res), atsrefarg1_type(atstyvar_type(a))), atstyvar_type(res))(ATSPMVrefarg0(arg2), arg1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp207, postiats_tysum_3, atslab__0))))) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26639(line=1666, offs=15) -- 26642(line=1666, offs=18)
*/
ATSINSmove(tmp212, ATSSELcon(tmp207, postiats_tysum_3, atslab__1)) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26646(line=1666, offs=22) -- 26658(line=1666, offs=34)
*/
ATSINSfreecon(tmpref206) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26661(line=1666, offs=37) -- 26681(line=1666, offs=57)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp212) ;
ATSINSmove_tlcal(apy1, tmp211) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSfgoto(__patsflab_loop_88) ;
ATStailcal_end()

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26593(line=1664, offs=18) -- 26687(line=1667, offs=6)
*/
/*
INSletpop()
*/
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26398(line=1651, offs=6) -- 26721(line=1669, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret205) ;
} /* end of [loop_88__88] */
#endif // end of [TEMPLATE]

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 26263(line=1640, offs=3) -- 26743(line=1671, offs=2)
*/
/*
local: 
global: stream_vt_foldleft_cloptr$87$1(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = res(8865), a(8866)
tmparg = S2Evar(res(8865)); S2Evar(a(8866))
tmpsub = Some(res(8865) -> S2EVar(5752); a(8866) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__stream_vt_foldleft_cloptr__87__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1, atstype_cloptr arg2)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret204__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26235(line=1639, offs=1) -- 26743(line=1671, offs=2)
*/
ATSINSflab(__patsflab_stream_vt_foldleft_cloptr):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26284(line=1641, offs=3) -- 26743(line=1671, offs=2)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26284(line=1641, offs=3) -- 26304(line=1641, offs=23)
*/
ATSINSmove(tmpret204__1, loop_88__88__1(arg0, arg1, arg2)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26284(line=1641, offs=3) -- 26743(line=1671, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret204__1) ;
} /* end of [ATSLIB_056_prelude__stream_vt_foldleft_cloptr__87__1] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 26320(line=1645, offs=1) -- 26721(line=1669, offs=4)
*/
/*
local: loop_88$1(level=2)
global: loop_88$1(level=2)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
loop_88__88__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1, atstype_cloptr arg2)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(apy2, atstype_cloptr) ;
ATStmpdec(tmpret205__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref206__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp207__1, atstype_boxed) ;
// ATStmpdec_void(tmp210__1) ;
ATStmpdec(tmp211__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp212__1, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26320(line=1645, offs=1) -- 26721(line=1669, offs=4)
*/
ATSINSflab(__patsflab_loop_88):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26398(line=1651, offs=6) -- 26721(line=1669, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26408(line=1652, offs=7) -- 26414(line=1652, offs=13)
*/
/*
ATSINStmpdec(tmpref206) ;
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26417(line=1652, offs=16) -- 26420(line=1652, offs=19)
*/
ATSINSmove_llazyeval(tmpref206__1, atstype_boxed, arg0) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26433(line=1656, offs=1) -- 26439(line=1656, offs=7)
*/
ATSINSmove(tmp207__1, tmpref206__1) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26427(line=1655, offs=1) -- 26687(line=1667, offs=6)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26454(line=1658, offs=3) -- 26475(line=1659, offs=7)
*/
ATSINSlab(__atstmplab29):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26433(line=1656, offs=1) -- 26439(line=1656, offs=7)
*/
ATSifthen(ATSCKptriscons(tmp207__1)) { ATSINSgoto(__atstmplab32) ; } ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26475(line=1659, offs=7) -- 26475(line=1659, offs=7)
*/
ATSINSlab(__atstmplab30):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26487(line=1661, offs=5) -- 26519(line=1661, offs=37)
*/
ATSINSmove_void(tmp210__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg2))) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26521(line=1661, offs=39) -- 26524(line=1661, offs=42)
*/
ATSINSmove(tmpret205__1, arg1) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26560(line=1663, offs=3) -- 26589(line=1664, offs=14)
*/
ATSINSlab(__atstmplab31):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26433(line=1656, offs=1) -- 26439(line=1656, offs=7)
*/
#if(0)
ATSifthen(ATSCKptrisnull(tmp207__1)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26589(line=1664, offs=14) -- 26589(line=1664, offs=14)
*/
ATSINSlab(__atstmplab32):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26593(line=1664, offs=18) -- 26687(line=1667, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26611(line=1665, offs=15) -- 26624(line=1665, offs=28)
*/
ATSINSmove(tmp211__1, ATSfunclo_clo(ATSPMVrefarg0(arg2), (atstype_cloptr, atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_int))(ATSPMVrefarg0(arg2), arg1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp207__1, postiats_tysum_0, atslab__0))))) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26639(line=1666, offs=15) -- 26642(line=1666, offs=18)
*/
ATSINSmove(tmp212__1, ATSSELcon(tmp207__1, postiats_tysum_0, atslab__1)) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26646(line=1666, offs=22) -- 26658(line=1666, offs=34)
*/
ATSINSfreecon(tmpref206__1) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26661(line=1666, offs=37) -- 26681(line=1666, offs=57)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp212__1) ;
ATSINSmove_tlcal(apy1, tmp211__1) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSfgoto(__patsflab_loop_88) ;
ATStailcal_end()

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26593(line=1664, offs=18) -- 26687(line=1667, offs=6)
*/
/*
INSletpop()
*/
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26398(line=1651, offs=6) -- 26721(line=1669, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret205__1) ;
} /* end of [loop_88__88__1] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3495(line=125, offs=37) -- 3534(line=125, offs=76)
*/
/*
local: 
global: __patsfun_91$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
__patsfun_91(atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret220, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3495(line=125, offs=37) -- 3534(line=125, offs=76)
*/
ATSINSflab(__patsflab___patsfun_91):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3514(line=125, offs=56) -- 3534(line=125, offs=76)
*/
ATSINSmove(tmpret220, atspre_g0int_add_int(arg0, ATSderef(arg1, atstkind_t0ype(atstype_int)))) ;

ATSfunbody_end()
ATSreturn(tmpret220) ;
} /* end of [__patsfun_91] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3546(line=128, offs=4) -- 3602(line=129, offs=22)
*/
/*
local: sum_divisors_86$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0), divisors_36$0(level=0), sum_divisors_86$0(level=0), is_perfect_93$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_bool)
is_perfect_93(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret221, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp224, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3546(line=128, offs=4) -- 3602(line=129, offs=22)
*/
ATSINSflab(__patsflab_is_perfect_93):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3583(line=129, offs=3) -- 3597(line=129, offs=17)
*/
ATSINSmove(tmp224, sum_divisors_86(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3583(line=129, offs=3) -- 3602(line=129, offs=22)
*/
ATSINSmove(tmpret221, ATSLIB_056_prelude__eq_g0int_int__12__11(tmp224, arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret221) ;
} /* end of [is_perfect_93] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
*/
/*
local: 
global: eq_g0int_int$12$11(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4694)
tmparg = S2Evar(tk(4694))
tmpsub = Some(tk(4694) -> 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(tmpret18__11, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp19__11, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__12__11] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3608(line=131, offs=5) -- 3928(line=145, offs=8)
*/
/*
local: rip_95$0(level=0)
global: rip_95$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
rip_95(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret225, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp226, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp231, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp232, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp235, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref236, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp237, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp240, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3608(line=131, offs=5) -- 3928(line=145, offs=8)
*/
ATSINSflab(__patsflab_rip_95):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3730(line=132, offs=6) -- 3735(line=132, offs=11)
*/
ATSINSmove(tmp231, atspre_g0int_mod_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3730(line=132, offs=6) -- 3740(line=132, offs=16)
*/
ATSINSmove(tmp226, ATSLIB_056_prelude__neq_g0int_int__96__1(tmp231, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3727(line=132, offs=3) -- 3928(line=145, offs=8)
*/
ATSif(
tmp226
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3750(line=133, offs=5) -- 3751(line=133, offs=6)
*/
ATSINSmove(tmpret225, arg0) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3766(line=135, offs=8) -- 3771(line=135, offs=13)
*/
ATSINSmove(tmp235, atspre_g1int_div_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3766(line=135, offs=8) -- 3775(line=135, offs=17)
*/
ATSINSmove(tmp232, ATSLIB_056_prelude__gt_g1int_int__6__5(tmp235, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3763(line=135, offs=5) -- 3928(line=145, offs=8)
*/
ATSif(
tmp232
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3787(line=136, offs=7) -- 3911(line=143, offs=10)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3803(line=137, offs=13) -- 3805(line=137, offs=15)
*/
/*
ATSINStmpdec(tmpref236) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3808(line=137, offs=18) -- 3813(line=137, offs=23)
*/
ATSINSmove(tmpref236, atspre_g1int_div_int(arg0, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3834(line=139, offs=12) -- 3840(line=139, offs=18)
*/
ATSINSmove(tmp237, ATSLIB_056_prelude__lt_g1int_int__22__2(tmpref236, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3831(line=139, offs=9) -- 3901(line=142, offs=12)
*/
ATSif(
tmp237
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3865(line=140, offs=20) -- 3875(line=140, offs=30)
*/
ATSINSmove(tmp240, rip_95(tmpref236, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3856(line=140, offs=11) -- 3876(line=140, offs=31)
*/
ATSINSmove(tmpret225, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp240)) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3900(line=142, offs=11) -- 3901(line=142, offs=12)
*/
ATSINSmove(tmpret225, ATSPMVi0nt(1)) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3787(line=136, offs=7) -- 3911(line=143, offs=10)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3927(line=145, offs=7) -- 3928(line=145, offs=8)
*/
ATSINSmove(tmpret225, ATSPMVi0nt(1)) ;
} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret225) ;
} /* end of [rip_95] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12337(line=639, offs=3) -- 12377(line=639, offs=43)
*/
/*
local: 
global: neq_g0int_int$96$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4695)
tmparg = S2Evar(tk(4695))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__neq_g0int_int__96(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret227, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp228, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12364(line=639, offs=30) -- 12375(line=639, offs=41)
*/
ATSINSmove(tmp228, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4695))>)(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12346(line=639, offs=12) -- 12377(line=639, offs=43)
*/
ATSINSmove(tmpret227, PMVtmpltcst(g0int_neq<S2Evar(tk(4695))>)(arg0, tmp228)) ;

ATSfunbody_end()
ATSreturn(tmpret227) ;
} /* end of [ATSLIB_056_prelude__neq_g0int_int__96] */
#endif // end of [TEMPLATE]

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12337(line=639, offs=3) -- 12377(line=639, offs=43)
*/
/*
local: 
global: neq_g0int_int$96$1(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4695)
tmparg = S2Evar(tk(4695))
tmpsub = Some(tk(4695) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__neq_g0int_int__96__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret227__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp228__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12364(line=639, offs=30) -- 12375(line=639, offs=41)
*/
ATSINSmove(tmp228__1, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12346(line=639, offs=12) -- 12377(line=639, offs=43)
*/
ATSINSmove(tmpret227__1, atspre_g0int_neq_int(arg0, tmp228__1)) ;

ATSfunbody_end()
ATSreturn(tmpret227__1) ;
} /* end of [ATSLIB_056_prelude__neq_g0int_int__96__1] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
*/
/*
local: 
global: gt_g1int_int$6$5(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4703)
tmparg = S2Evar(tk(4703))
tmpsub = Some(tk(4703) -> 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(tmpret11__5, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp12__5, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__6__5] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
*/
/*
local: 
global: lt_g1int_int$22$2(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4697)
tmparg = S2Evar(tk(4697))
tmpsub = Some(tk(4697) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lt_g1int_int__22__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret33__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp34__2, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
*/
ATSINSmove(tmp34__2, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
*/
ATSINSmove(tmpret33__2, atspre_g1int_lt_int(arg0, tmp34__2)) ;

ATSfunbody_end()
ATSreturn(tmpret33__2) ;
} /* end of [ATSLIB_056_prelude__lt_g1int_int__22__2] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3960(line=148, offs=4) -- 4406(line=166, offs=6)
*/
/*
local: is_prime_20$0(level=0), rip_95$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), rip_95$0(level=0), little_omega_101$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
little_omega_101(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret241, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3960(line=148, offs=4) -- 4406(line=166, offs=6)
*/
ATSINSflab(__patsflab_little_omega_101):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4004(line=149, offs=3) -- 4406(line=166, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4390(line=165, offs=5) -- 4400(line=165, offs=15)
*/
ATSINSmove(tmpret241, loop_102(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4004(line=149, offs=3) -- 4406(line=166, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret241) ;
} /* end of [little_omega_101] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4016(line=150, offs=9) -- 4380(line=163, offs=27)
*/
/*
local: is_prime_20$0(level=0), rip_95$0(level=0), loop_102$0(level=1)
global: is_prime_20$0(level=0), rip_95$0(level=0), loop_102$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
loop_102(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(tmpret242, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp243, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp246, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp247, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp248, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp251, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp252, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp255, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp256, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp257, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp258, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4016(line=150, offs=9) -- 4380(line=163, offs=27)
*/
ATSINSflab(__patsflab_loop_102):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4110(line=151, offs=10) -- 4118(line=151, offs=18)
*/
ATSINSmove(tmp243, ATSLIB_056_prelude__gte_g1int_int__40__2(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4107(line=151, offs=7) -- 4380(line=163, offs=27)
*/
ATSif(
tmp243
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4135(line=152, offs=12) -- 4145(line=152, offs=22)
*/
ATSINSmove(tmp246, is_prime_20(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4132(line=152, offs=9) -- 4188(line=155, offs=12)
*/
ATSif(
tmp246
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4162(line=153, offs=11) -- 4163(line=153, offs=12)
*/
ATSINSmove(tmpret242, ATSPMVi0nt(1)) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4187(line=155, offs=11) -- 4188(line=155, offs=12)
*/
ATSINSmove(tmpret242, ATSPMVi0nt(0)) ;
} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4211(line=157, offs=12) -- 4238(line=157, offs=39)
*/
ATSINSmove(tmp251, atspre_g0int_mod_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4211(line=157, offs=12) -- 4238(line=157, offs=39)
*/
ATSINSmove(tmp248, ATSLIB_056_prelude__eq_g0int_int__12__12(tmp251, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4211(line=157, offs=12) -- 4238(line=157, offs=39)
*/
ATSif(
tmp248
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4211(line=157, offs=12) -- 4238(line=157, offs=39)
*/
ATSINSmove(tmp247, is_prime_20(arg1)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4211(line=157, offs=12) -- 4238(line=157, offs=39)
*/
ATSINSmove(tmp247, ATSPMVbool_false()) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4208(line=157, offs=9) -- 4380(line=163, offs=27)
*/
ATSif(
tmp247
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4258(line=158, offs=14) -- 4265(line=158, offs=21)
*/
ATSINSmove(tmp255, atspre_g1int_div_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4258(line=158, offs=14) -- 4269(line=158, offs=25)
*/
ATSINSmove(tmp252, ATSLIB_056_prelude__gt_g1int_int__6__6(tmp255, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4255(line=158, offs=11) -- 4340(line=161, offs=14)
*/
ATSif(
tmp252
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4296(line=159, offs=22) -- 4307(line=159, offs=33)
*/
ATSINSmove(tmp257, rip_95(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4291(line=159, offs=17) -- 4311(line=159, offs=37)
*/
ATSINSmove(tmp256, loop_102(tmp257, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4287(line=159, offs=13) -- 4311(line=159, offs=37)
*/
ATSINSmove(tmpret242, atspre_g0int_add_int(ATSPMVi0nt(1), tmp256)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4339(line=161, offs=13) -- 4340(line=161, offs=14)
*/
ATSINSmove(tmpret242, ATSPMVi0nt(1)) ;
} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4372(line=163, offs=19) -- 4379(line=163, offs=26)
*/
ATSINSmove(tmp258, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4364(line=163, offs=11) -- 4380(line=163, offs=27)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp258) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_102) ;
ATStailcal_end()

} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret242) ;
} /* end of [loop_102] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
*/
/*
local: 
global: gte_g1int_int$40$2(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4706)
tmparg = S2Evar(tk(4706))
tmpsub = Some(tk(4706) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__40__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret71__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp72__2, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
*/
ATSINSmove(tmp72__2, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
*/
ATSINSmove(tmpret71__2, atspre_g1int_gte_int(arg0, tmp72__2)) ;

ATSfunbody_end()
ATSreturn(tmpret71__2) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__40__2] */

/*
/usr/local/lib/ats2-postiats-0.3.8/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(4694)
tmparg = S2Evar(tk(4694))
tmpsub = Some(tk(4694) -> 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(tmpret18__12, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp19__12, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__12__12] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
*/
/*
local: 
global: gt_g1int_int$6$6(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4703)
tmparg = S2Evar(tk(4703))
tmpsub = Some(tk(4703) -> 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(tmpret11__6, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp12__6, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__6__6] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4440(line=169, offs=4) -- 4988(line=189, offs=10)
*/
/*
local: is_prime_20$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), totient_106$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
totient_106(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret259, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4440(line=169, offs=4) -- 4988(line=189, offs=10)
*/
ATSINSflab(__patsflab_totient_106):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4473(line=170, offs=3) -- 4988(line=189, offs=10)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4490(line=171, offs=7) -- 4491(line=171, offs=8)
*/
ATSINSlab(__atstmplab33):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4448(line=169, offs=12) -- 4449(line=169, offs=13)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab35) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4491(line=171, offs=8) -- 4491(line=171, offs=8)
*/
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/fast-arithmetic/ats-src/number-theory.dats: 4495(line=171, offs=12) -- 4496(line=171, offs=13)
*/
ATSINSmove(tmpret259, ATSPMVi0nt(1)) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4504(line=172, offs=8) -- 4504(line=172, offs=8)
*/
ATSINSlab(__atstmplab35):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4530(line=174, offs=9) -- 4978(line=188, offs=12)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4956(line=187, offs=11) -- 4966(line=187, offs=21)
*/
ATSINSmove(tmpret259, loop_107(ATSPMVi0nt(1), arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4530(line=174, offs=9) -- 4978(line=188, offs=12)
*/
/*
INSletpop()
*/
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

ATSfunbody_end()
ATSreturn(tmpret259) ;
} /* end of [totient_106] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4548(line=175, offs=15) -- 4934(line=185, offs=31)
*/
/*
local: is_prime_20$0(level=0), loop_107$0(level=1)
global: is_prime_20$0(level=0), loop_107$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
loop_107(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(tmpret260, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp261, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp264, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp265, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp266, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp267, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp270, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp273, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp274, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp275, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp276, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp277, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
/*
emit_funent_fnxdeclst:
*/
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4548(line=175, offs=15) -- 4934(line=185, offs=31)
*/
ATSINSflab(__patsflab_loop_107):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4659(line=176, offs=16) -- 4665(line=176, offs=22)
*/
ATSINSmove(tmp261, ATSLIB_056_prelude__gte_g1int_int__40__3(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4656(line=176, offs=13) -- 4934(line=185, offs=31)
*/
ATSif(
tmp261
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4688(line=177, offs=18) -- 4698(line=177, offs=28)
*/
ATSINSmove(tmp264, is_prime_20(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4685(line=177, offs=15) -- 4763(line=180, offs=18)
*/
ATSif(
tmp264
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4721(line=178, offs=17) -- 4726(line=178, offs=22)
*/
ATSINSmove(tmpret260, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4762(line=180, offs=17) -- 4763(line=180, offs=18)
*/
ATSINSmove(tmpret260, arg1) ;
} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
*/
ATSINSmove(tmp270, atspre_g0int_mod_int(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
*/
ATSINSmove(tmp267, ATSLIB_056_prelude__eq_g0int_int__12__13(tmp270, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
*/
ATSif(
tmp267
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
*/
ATSINSmove(tmp266, is_prime_20(arg0)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
*/
ATSINSmove(tmp266, ATSPMVbool_false()) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
*/
ATSif(
tmp266
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
*/
ATSINSmove(tmp265, ATSLIB_056_prelude__neq_g1int_int__44__2(arg0, arg1)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
*/
ATSINSmove(tmp265, ATSPMVbool_false()) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4795(line=182, offs=15) -- 4934(line=185, offs=31)
*/
ATSif(
tmp265
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4860(line=183, offs=23) -- 4865(line=183, offs=28)
*/
ATSINSmove(tmp275, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4855(line=183, offs=18) -- 4869(line=183, offs=32)
*/
ATSINSmove(tmp274, loop_107(tmp275, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4855(line=183, offs=18) -- 4873(line=183, offs=36)
*/
ATSINSmove(tmp273, atspre_g0int_div_int(tmp274, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4878(line=183, offs=41) -- 4883(line=183, offs=46)
*/
ATSINSmove(tmp276, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4854(line=183, offs=17) -- 4884(line=183, offs=47)
*/
ATSINSmove(tmpret260, atspre_g0int_mul_int(tmp273, tmp276)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4925(line=185, offs=22) -- 4930(line=185, offs=27)
*/
ATSINSmove(tmp277, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4920(line=185, offs=17) -- 4934(line=185, offs=31)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp277) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_107) ;
ATStailcal_end()

} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret260) ;
/*
emit_funent_fnxbodylst:
*/
} /* end of [loop_107] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
*/
/*
local: 
global: gte_g1int_int$40$3(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4706)
tmparg = S2Evar(tk(4706))
tmpsub = Some(tk(4706) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__40__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret71__3, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp72__3, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
*/
ATSINSmove(tmp72__3, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
*/
ATSINSmove(tmpret71__3, atspre_g1int_gte_int(arg0, tmp72__3)) ;

ATSfunbody_end()
ATSreturn(tmpret71__3) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__40__3] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
*/
/*
local: 
global: eq_g0int_int$12$13(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4694)
tmparg = S2Evar(tk(4694))
tmpsub = Some(tk(4694) -> 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(tmpret18__13, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp19__13, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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__12__13] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)
*/
/*
local: 
global: neq_g1int_int$44$2(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4712)
tmparg = S2Evar(tk(4712))
tmpsub = Some(tk(4712) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__neq_g1int_int__44__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret81__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp82__2, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)
*/
ATSINSmove(tmp82__2, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)
*/
ATSINSmove(tmpret81__2, atspre_g1int_neq_int(arg0, tmp82__2)) ;

ATSfunbody_end()
ATSreturn(tmpret81__2) ;
} /* end of [ATSLIB_056_prelude__neq_g1int_int__44__2] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5041(line=192, offs=5) -- 5429(line=206, offs=6)
*/
/*
local: witness_0$0(level=0), totient_106$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), totient_106$0(level=0), totient_sum_111$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
totient_sum_111(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret278, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5041(line=192, offs=5) -- 5429(line=206, offs=6)
*/
ATSINSflab(__patsflab_totient_sum_111):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5081(line=193, offs=3) -- 5429(line=206, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5413(line=205, offs=5) -- 5423(line=205, offs=15)
*/
ATSINSmove(tmpret278, loop_112(ATSPMVi0nt(1), arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5081(line=193, offs=3) -- 5429(line=206, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret278) ;
} /* end of [totient_sum_111] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5093(line=194, offs=9) -- 5403(line=203, offs=40)
*/
/*
local: witness_0$0(level=0), totient_106$0(level=0), loop_112$0(level=1)
global: witness_0$0(level=0), totient_106$0(level=0), loop_112$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
loop_112(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(tmpret279, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp280, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmpref283, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp284, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref285, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp290, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp291, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp299, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp300, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
/*
emit_funent_fnxdeclst:
*/
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5093(line=194, offs=9) -- 5403(line=203, offs=40)
*/
ATSINSflab(__patsflab_loop_112):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5196(line=195, offs=10) -- 5205(line=195, offs=19)
*/
ATSINSmove(tmp280, ATSLIB_056_prelude__lt_g1int_int__22__3(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5193(line=195, offs=7) -- 5403(line=203, offs=40)
*/
ATSif(
tmp280
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5219(line=196, offs=9) -- 5352(line=201, offs=12)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5237(line=197, offs=15) -- 5238(line=197, offs=16)
*/
/*
ATSINStmpdec(tmpref283) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5246(line=197, offs=24) -- 5251(line=197, offs=29)
*/
ATSINSmove(tmp284, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5241(line=197, offs=19) -- 5259(line=197, offs=37)
*/
ATSINSmove(tmpref283, loop_112(tmp284, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5274(line=198, offs=15) -- 5275(line=198, offs=16)
*/
/*
ATSINStmpdec(tmpref285) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5305(line=198, offs=46) -- 5314(line=198, offs=55)
*/
ATSINSmove(tmp291, totient_106(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5297(line=198, offs=38) -- 5316(line=198, offs=57)
*/
ATSINSmove(tmp290, witness_0(tmp291)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5278(line=198, offs=19) -- 5317(line=198, offs=58)
*/
ATSINSmove(tmpref285, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__114__1(tmpref283, tmp290)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5339(line=200, offs=11) -- 5340(line=200, offs=12)
*/
ATSINSmove(tmpret279, tmpref285) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5219(line=196, offs=9) -- 5352(line=201, offs=12)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5372(line=203, offs=9) -- 5403(line=203, offs=40)
*/
ATSINSmove(tmp300, totient_106(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5372(line=203, offs=9) -- 5403(line=203, offs=40)
*/
ATSINSmove(tmp299, witness_0(tmp300)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5372(line=203, offs=9) -- 5403(line=203, offs=40)
*/
ATSINSmove(tmpret279, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__116__1(tmp299)) ;

} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret279) ;
/*
emit_funent_fnxbodylst:
*/
} /* end of [loop_112] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
*/
/*
local: 
global: lt_g1int_int$22$3(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4697)
tmparg = S2Evar(tk(4697))
tmpsub = Some(tk(4697) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lt_g1int_int__22__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret33__3, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp34__3, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
*/
ATSINSmove(tmp34__3, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
*/
ATSINSmove(tmpret33__3, atspre_g1int_lt_int(arg0, tmp34__3)) ;

ATSfunbody_end()
ATSreturn(tmpret33__3) ;
} /* end of [ATSLIB_056_prelude__lt_g1int_int__22__3] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5151(line=274, offs=3) -- 5217(line=279, offs=2)
*/
/*
local: 
global: add_intinf0_int$114$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__114(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret286, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp287) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5184(line=277, offs=10) -- 5212(line=277, offs=38)
*/
ATSINSmove_void(tmp287, atscntrb_gmp_mpz_add2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5161(line=274, offs=13) -- 5162(line=274, offs=14)
*/
ATSINSmove(tmpret286, arg0) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret286) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__114] */
#endif // end of [TEMPLATE]

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5151(line=274, offs=3) -- 5217(line=279, offs=2)
*/
/*
local: 
global: add_intinf0_int$114$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__114__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret286__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp287__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5184(line=277, offs=10) -- 5212(line=277, offs=38)
*/
ATSINSmove_void(tmp287__1, atscntrb_gmp_mpz_add2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5161(line=274, offs=13) -- 5162(line=274, offs=14)
*/
ATSINSmove(tmpret286__1, arg0) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret286__1) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__114__1] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$116$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__116(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret292, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp293, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp294) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp293, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp294, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp293, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret292, tmp293) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret292) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__116] */
#endif // end of [TEMPLATE]

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$116$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__116__1(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret292__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp293__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp294__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp293__1, ATSLIB_056_prelude__ptr_alloc__2__2()) ;

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp294__1, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp293__1, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret292__1, tmp293__1) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret292__1) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__116__1] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$2$2(level=3)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4806)
tmparg = S2Evar(a(4806))
tmpsub = Some(a(4806) -> 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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 551(line=30, offs=28) -- 573(line=31, offs=17)
*/
/*
local: sum_divisors_86$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0), divisors_36$0(level=0), sum_divisors_86$0(level=0), sum_divisors_ats$119$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_t0ype(atstype_int)
sum_divisors_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret301, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 534(line=30, offs=11) -- 574(line=31, offs=18)
*/
ATSINSflab(__patsflab_sum_divisors_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 559(line=31, offs=3) -- 573(line=31, offs=17)
*/
ATSINSmove(tmpret301, sum_divisors_86(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret301) ;
} /* end of [sum_divisors_ats] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 605(line=33, offs=30) -- 629(line=34, offs=19)
*/
/*
local: count_divisors_81$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0), divisors_36$0(level=0), count_divisors_81$0(level=0), count_divisors_ats$120$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_t0ype(atstype_int)
count_divisors_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret302, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 586(line=33, offs=11) -- 630(line=34, offs=20)
*/
ATSINSflab(__patsflab_count_divisors_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 613(line=34, offs=3) -- 629(line=34, offs=19)
*/
ATSINSmove(tmpret302, count_divisors_81(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret302) ;
} /* end of [count_divisors_ats] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 654(line=36, offs=23) -- 671(line=37, offs=12)
*/
/*
local: totient_106$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), totient_106$0(level=0), totient_ats$121$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_t0ype(atstype_int)
totient_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret303, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 642(line=36, offs=11) -- 672(line=37, offs=13)
*/
ATSINSflab(__patsflab_totient_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 662(line=37, offs=3) -- 671(line=37, offs=12)
*/
ATSINSmove(tmpret303, totient_106(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret303) ;
} /* end of [totient_ats] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 701(line=39, offs=28) -- 723(line=40, offs=17)
*/
/*
local: little_omega_101$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), rip_95$0(level=0), little_omega_101$0(level=0), little_omega_ats$122$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_t0ype(atstype_int)
little_omega_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret304, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 684(line=39, offs=11) -- 724(line=40, offs=18)
*/
ATSINSflab(__patsflab_little_omega_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 709(line=40, offs=3) -- 723(line=40, offs=17)
*/
ATSINSmove(tmpret304, little_omega_101(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret304) ;
} /* end of [little_omega_ats] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 751(line=42, offs=26) -- 771(line=43, offs=15)
*/
/*
local: is_perfect_93$0(level=0)
global: witness_0$0(level=0), sqrt_int_17$0(level=0), divisors_36$0(level=0), sum_divisors_86$0(level=0), is_perfect_93$0(level=0), is_perfect_ats$123$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_t0ype(atstype_bool)
is_perfect_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret305, atstkind_t0ype(atstype_bool)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 736(line=42, offs=11) -- 772(line=43, offs=16)
*/
ATSINSflab(__patsflab_is_perfect_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 759(line=43, offs=3) -- 771(line=43, offs=15)
*/
ATSINSmove(tmpret305, is_perfect_93(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret305) ;
} /* end of [is_perfect_ats] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 795(line=45, offs=22) -- 828(line=46, offs=25)
*/
/*
local: jacobi_72$0(level=0)
global: witness_0$0(level=0), exp_5$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), div_gt_zero_65$0(level=0), exp_mod_prime_66$0(level=0), jacobi_72$0(level=0), jacobi_ats$124$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(tmpret306, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 784(line=45, offs=11) -- 828(line=46, offs=25)
*/
ATSINSflab(__patsflab_jacobi_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 806(line=46, offs=3) -- 828(line=46, offs=25)
*/
ATSINSmove(tmpret306, jacobi_72(arg0, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), arg1))) ;

ATSfunbody_end()
ATSreturn(tmpret306) ;
} /* end of [jacobi_ats] */

/*
** for initialization(dynloading)
*/
ATSdynloadflag_minit(_057_home_057_vanessa_057_programming_057_haskell_057_done_057_fast_055_arithmetic_057_ats_055_src_057_number_055_theory_055_ffi_056_dats__dynloadflag) ;
ATSextern()
atsvoid_t0ype
_057_home_057_vanessa_057_programming_057_haskell_057_done_057_fast_055_arithmetic_057_ats_055_src_057_number_055_theory_055_ffi_056_dats__dynload()
{
ATSfunbody_beg()
ATSdynload(/*void*/)
ATSdynloadflag_sta(
_057_home_057_vanessa_057_programming_057_haskell_057_done_057_fast_055_arithmetic_057_ats_055_src_057_number_055_theory_055_ffi_056_dats__dynloadflag
) ;
ATSif(
ATSCKiseqz(
_057_home_057_vanessa_057_programming_057_haskell_057_done_057_fast_055_arithmetic_057_ats_055_src_057_number_055_theory_055_ffi_056_dats__dynloadflag
)
) ATSthen() {
ATSdynloadset(_057_home_057_vanessa_057_programming_057_haskell_057_done_057_fast_055_arithmetic_057_ats_055_src_057_number_055_theory_055_ffi_056_dats__dynloadflag) ;
/*
dynexnlst-initize(beg)
*/
/*
dynexnlst-initize(end)
*/
/* local */
/* in of [local] */
/* end of [local] */
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret_void) ;
} /* end of [*_dynload] */

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

/* end-of-compilation-unit */