packages feed

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

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

/*
** 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: 15552(line=879, offs=1) -- 15589(line=880, 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/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 ;
/*
typedefs-for-tyrecs-and-tysums(end)
*/
/*
dynconlst-declaration(beg)
*/
/*
dynconlst-declaration(end)
*/
/*
dyncstlst-declaration(beg)
*/
ATSdyncst_mac(atspre_g1int2int_int_int)
ATSdyncst_mac(atspre_g1int_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_add_int)
ATSdyncst_mac(atspre_g1int_eq_int)
ATSdyncst_mac(atspre_g0int_div_int)
ATSdyncst_mac(atspre_g1int_gte_int)
ATSdyncst_mac(atspre_g0int_add_int)
ATSdyncst_mac(atspre_g1int_sub_int)
ATSdyncst_mac(atspre_g1int_neq_int)
ATSdyncst_mac(atscntrb_gmp_mpz_add2_int)
ATSdyncst_mac(atscntrb_gmp_mpz_init_set_int)
ATSdyncst_mac(atspre_ptr_alloc_tsz)
/*
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)
exp_0(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

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

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g0int_int__7(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

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

ATSstatic()
atstkind_t0ype(atstype_int)
witness_12(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
sqrt_int_13(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
is_prime_16(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
loop_17(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__18(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

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

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

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__23(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

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

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

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

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

ATSstatic()
atstkind_t0ype(atstype_int)
gcd_29(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

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

ATSstatic()
atstkind_t0ype(atstype_int)
lcm_31(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

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

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

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

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

ATSstatic()
atstype_boxed
__patsfun_39(atstype_bool) ;

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

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

ATSstatic()
atstype_boxed
__patsfun_42(atstype_bool) ;

ATSstatic()
atstkind_t0ype(atstype_int)
count_divisors_43(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
loop_44(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

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

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

ATSstatic()
atstkind_t0ype(atstype_int)
sum_divisors_48(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
loop_49(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

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

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

ATSstatic()
atstkind_t0ype(atstype_bool)
is_perfect_52(atstkind_t0ype(atstype_int)) ;

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

ATSstatic()
atstkind_t0ype(atstype_int)
little_omega_54(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
loop_55(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

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

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

ATSstatic()
atstkind_t0ype(atstype_int)
totient_58(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
loop_59(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

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

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

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

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

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

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lt_g1int_int__18__2(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__69(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__69__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__71(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__71__1(atstkind_t0ype(atstype_int)) ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__73__1() ;

#if(0)
ATSextern()
atstkind_t0ype(atstype_int)
gcd_ats(atstkind_t0ype(atstype_int), 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]

ATSclosurerize_beg(__patsfun_38, (atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
typedef
ATSstruct {
atstype_funptr cfun ;
atstkind_t0ype(atstype_int) env0 ;
} __patsfun_38__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_38__cfun
(
__patsfun_38__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_38(p_cenv->env0, arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_38__closureinit
(
__patsfun_38__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0
)
{
p_cenv->env0 = env0 ;
p_cenv->cfun = __patsfun_38__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_38__closurerize
(
atstkind_t0ype(atstype_int) env0
)
{
return __patsfun_38__closureinit(ATS_MALLOC(sizeof(__patsfun_38__closure_t0ype)), env0) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_39, (), (atstype_bool), atstype_boxed)
typedef
ATSstruct {
atstype_funptr cfun ;
} __patsfun_39__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_39__cfun
(
__patsfun_39__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_39(arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_39__closureinit
(
__patsfun_39__closure_t0ype *p_cenv
)
{
p_cenv->cfun = __patsfun_39__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_39__closurerize
(
// argumentless
)
{
return __patsfun_39__closureinit(ATS_MALLOC(sizeof(__patsfun_39__closure_t0ype))) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_41, (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_41__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_41__cfun
(
__patsfun_41__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_41(p_cenv->env0, p_cenv->env1, arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_41__closureinit
(
__patsfun_41__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_41__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_41__closurerize
(
atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
)
{
return __patsfun_41__closureinit(ATS_MALLOC(sizeof(__patsfun_41__closure_t0ype)), env0, env1) ;
} /* end of [closurerize] */
ATSclosurerize_end()
ATSclosurerize_beg(__patsfun_42, (), (atstype_bool), atstype_boxed)
typedef
ATSstruct {
atstype_funptr cfun ;
} __patsfun_42__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_42__cfun
(
__patsfun_42__closure_t0ype *p_cenv, atstype_bool arg0
)
{
ATSFCreturn(__patsfun_42(arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_42__closureinit
(
__patsfun_42__closure_t0ype *p_cenv
)
{
p_cenv->cfun = __patsfun_42__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_42__closurerize
(
// argumentless
)
{
return __patsfun_42__closureinit(ATS_MALLOC(sizeof(__patsfun_42__closure_t0ype))) ;
} /* end of [closurerize] */
ATSclosurerize_end()
/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 220(line=9, offs=5) -- 581(line=26, offs=10)
*/
/*
local: exp_0$0(level=0)
global: exp_0$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
exp_0(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(tmpret0, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmpref6, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref7, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp8, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp13, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp14, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp15, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 220(line=9, offs=5) -- 581(line=26, offs=10)
*/
ATSINSflab(__patsflab_exp_0):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 274(line=10, offs=3) -- 581(line=26, offs=10)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 291(line=11, offs=7) -- 292(line=11, offs=8)
*/
ATSINSlab(__atstmplab0):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 241(line=9, offs=26) -- 242(line=9, offs=27)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 292(line=11, offs=8) -- 292(line=11, 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: 296(line=11, offs=12) -- 297(line=11, offs=13)
*/
ATSINSmove(tmpret0, ATSPMVi0nt(0)) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 305(line=12, offs=8) -- 305(line=12, 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: 333(line=14, offs=12) -- 338(line=14, offs=17)
*/
ATSINSmove(tmp1, ATSLIB_056_prelude__gt_g1int_int__1__1(arg1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 330(line=14, offs=9) -- 571(line=25, offs=12)
*/
ATSif(
tmp1
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 354(line=15, offs=11) -- 546(line=23, offs=14)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 374(line=16, offs=17) -- 376(line=16, offs=19)
*/
/*
ATSINStmpdec(tmpref6) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 379(line=16, offs=22) -- 385(line=16, offs=28)
*/
ATSINSmove(tmpref6, atspre_g1int_half_int(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 403(line=17, offs=17) -- 405(line=17, offs=19)
*/
/*
ATSINStmpdec(tmpref7) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 408(line=17, offs=22) -- 413(line=17, offs=27)
*/
ATSINSmove(tmpref7, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 442(line=19, offs=16) -- 448(line=19, offs=22)
*/
ATSINSmove(tmp8, ATSLIB_056_prelude__eq_g0int_int__7__1(tmpref7, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 439(line=19, offs=13) -- 532(line=22, offs=33)
*/
ATSif(
tmp8
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 472(line=20, offs=19) -- 477(line=20, offs=24)
*/
ATSINSmove(tmp13, atspre_g0int_mul_int(arg0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 468(line=20, offs=15) -- 482(line=20, offs=29)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp13) ;
ATSINSmove_tlcal(apy1, tmpref6) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_exp_0) ;
ATStailcal_end()

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 522(line=22, offs=23) -- 527(line=22, offs=28)
*/
ATSINSmove(tmp15, atspre_g0int_mul_int(arg0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 518(line=22, offs=19) -- 532(line=22, offs=33)
*/
ATSINSmove(tmp14, exp_0(tmp15, tmpref6)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 514(line=22, offs=15) -- 532(line=22, offs=33)
*/
ATSINSmove(tmpret0, atspre_g0int_mul_int(arg0, tmp14)) ;

} /* ATSendif */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 354(line=15, offs=11) -- 546(line=23, offs=14)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 570(line=25, offs=11) -- 571(line=25, offs=12)
*/
ATSINSmove(tmpret0, ATSPMVi0nt(1)) ;
} /* ATSendif */
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn(tmpret0) ;
} /* end of [exp_0] */

#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$1$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__1(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp3, 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(tmp3, 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(tmpret2, PMVtmpltcst(g1int_gt<S2Evar(tk(4703))>)(arg0, tmp3)) ;

ATSfunbody_end()
ATSreturn(tmpret2) ;
} /* end of [ATSLIB_056_prelude__gt_g1int_int__1] */
#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$1$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__1__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret2__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp3__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(tmp3__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(tmpret2__1, atspre_g1int_gt_int(arg0, tmp3__1)) ;

ATSfunbody_end()
ATSreturn(tmpret2__1) ;
} /* end of [ATSLIB_056_prelude__gt_g1int_int__1__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$7$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__7(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret9, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp10, 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(tmp10, 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(tmpret9, PMVtmpltcst(g0int_eq<S2Evar(tk(4694))>)(arg0, tmp10)) ;

ATSfunbody_end()
ATSreturn(tmpret9) ;
} /* end of [ATSLIB_056_prelude__eq_g0int_int__7] */
#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$7$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__7__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret9__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp10__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(tmp10__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(tmpret9__1, atspre_g0int_eq_int(arg0, tmp10__1)) ;

ATSfunbody_end()
ATSreturn(tmpret9__1) ;
} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__1] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 586(line=28, offs=4) -- 641(line=29, offs=14)
*/
/*
local: 
global: witness_12$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
witness_12(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret16, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 586(line=28, offs=4) -- 641(line=29, offs=14)
*/
ATSINSflab(__patsflab_witness_12):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 630(line=29, offs=3) -- 640(line=29, offs=13)
*/
ATSINSmove(tmpret16, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), arg0)) ;
ATSfunbody_end()
ATSreturn(tmpret16) ;
} /* end of [witness_12] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 646(line=31, offs=4) -- 790(line=36, offs=6)
*/
/*
local: witness_12$0(level=0)
global: witness_12$0(level=0), sqrt_int_13$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
sqrt_int_13(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret17, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref18, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp19, atstkind_t0ype(atstype_float)) ;
ATStmpdec(tmp20, atstkind_t0ype(atstype_float)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 646(line=31, offs=4) -- 790(line=36, offs=6)
*/
ATSINSflab(__patsflab_sqrt_int_13):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 696(line=32, offs=3) -- 790(line=36, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 708(line=33, offs=9) -- 713(line=33, offs=14)
*/
/*
ATSINStmpdec(tmpref18) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 744(line=33, offs=45) -- 757(line=33, offs=58)
*/
ATSINSmove(tmp20, atspre_g0int2float_int_float(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 733(line=33, offs=34) -- 759(line=33, offs=60)
*/
ATSINSmove(tmp19, atslib_libats_libc_sqrt_float(tmp20)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 721(line=33, offs=22) -- 760(line=33, offs=61)
*/
ATSINSmove(tmpref18, atspre_g0float2int_float_int(tmp19)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 770(line=35, offs=5) -- 783(line=35, offs=18)
*/
ATSINSmove(tmpret17, witness_12(tmpref18)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 696(line=32, offs=3) -- 790(line=36, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret17) ;
} /* end of [sqrt_int_13] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 826(line=39, offs=4) -- 1411(line=62, offs=10)
*/
/*
local: sqrt_int_13$0(level=0)
global: witness_12$0(level=0), sqrt_int_13$0(level=0), is_prime_16$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_bool)
is_prime_16(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret21, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp42, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 826(line=39, offs=4) -- 1411(line=62, offs=10)
*/
ATSINSflab(__patsflab_is_prime_16):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 862(line=40, offs=3) -- 1411(line=62, offs=10)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 879(line=41, offs=7) -- 880(line=41, offs=8)
*/
ATSINSlab(__atstmplab3):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 835(line=39, offs=13) -- 836(line=39, offs=14)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab5) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 880(line=41, offs=8) -- 880(line=41, 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: 884(line=41, offs=12) -- 889(line=41, offs=17)
*/
ATSINSmove(tmpret21, ATSPMVbool_false()) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 897(line=42, offs=8) -- 897(line=42, 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: 922(line=44, offs=9) -- 1401(line=61, offs=12)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1377(line=60, offs=19) -- 1387(line=60, offs=29)
*/
ATSINSmove(tmp42, sqrt_int_13(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1369(line=60, offs=11) -- 1389(line=60, offs=31)
*/
ATSINSmove(tmpret21, loop_17(arg0, ATSPMVi0nt(2), tmp42)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 922(line=44, offs=9) -- 1401(line=61, offs=12)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn(tmpret21) ;
} /* end of [is_prime_16] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 940(line=45, offs=15) -- 1347(line=58, offs=21)
*/
/*
local: loop_17$0(level=1)
global: loop_17$0(level=1)
local: k$4740(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: k$4740(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atstkind_t0ype(atstype_bool)
loop_17(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(tmpret22, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp23, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp28, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp31, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp32, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp33, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp38, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp41, 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: 940(line=45, offs=15) -- 1347(line=58, offs=21)
*/
ATSINSflab(__patsflab_loop_17):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1034(line=46, offs=16) -- 1043(line=46, offs=25)
*/
ATSINSmove(tmp23, ATSLIB_056_prelude__lt_g1int_int__18__1(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1031(line=46, offs=13) -- 1347(line=58, offs=21)
*/
ATSif(
tmp23
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1066(line=47, offs=18) -- 1071(line=47, offs=23)
*/
ATSINSmove(tmp31, atspre_g0int_mod_int(env0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1066(line=47, offs=18) -- 1075(line=47, offs=27)
*/
ATSINSmove(tmp28, ATSLIB_056_prelude__eq_g0int_int__7__2(tmp31, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1063(line=47, offs=15) -- 1156(line=50, offs=35)
*/
ATSif(
tmp28
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1097(line=48, offs=17) -- 1102(line=48, offs=22)
*/
ATSINSmove(tmpret22, ATSPMVbool_false()) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1143(line=50, offs=22) -- 1148(line=50, offs=27)
*/
ATSINSmove(tmp32, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1138(line=50, offs=17) -- 1156(line=50, offs=35)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp32) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_17) ;
ATStailcal_end()

} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1191(line=52, offs=18) -- 1200(line=52, offs=27)
*/
ATSINSmove(tmp33, ATSLIB_056_prelude__eq_g1int_int__23__1(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1188(line=52, offs=15) -- 1347(line=58, offs=21)
*/
ATSif(
tmp33
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1225(line=53, offs=20) -- 1230(line=53, offs=25)
*/
ATSINSmove(tmp41, atspre_g0int_mod_int(env0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1225(line=53, offs=20) -- 1234(line=53, offs=29)
*/
ATSINSmove(tmp38, ATSLIB_056_prelude__eq_g0int_int__7__3(tmp41, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1222(line=53, offs=17) -- 1307(line=56, offs=23)
*/
ATSif(
tmp38
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1258(line=54, offs=19) -- 1263(line=54, offs=24)
*/
ATSINSmove(tmpret22, ATSPMVbool_false()) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1303(line=56, offs=19) -- 1307(line=56, offs=23)
*/
ATSINSmove(tmpret22, ATSPMVbool_true()) ;
} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1343(line=58, offs=17) -- 1347(line=58, offs=21)
*/
ATSINSmove(tmpret22, ATSPMVbool_true()) ;
} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret22) ;
/*
emit_funent_fnxbodylst:
*/
} /* end of [loop_17] */

#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$18$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__18(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret24, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp25, 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(tmp25, 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(tmpret24, PMVtmpltcst(g1int_lt<S2Evar(tk(4697))>)(arg0, tmp25)) ;

ATSfunbody_end()
ATSreturn(tmpret24) ;
} /* end of [ATSLIB_056_prelude__lt_g1int_int__18] */
#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$18$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__18__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret24__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp25__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(tmp25__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(tmpret24__1, atspre_g1int_lt_int(arg0, tmp25__1)) ;

ATSfunbody_end()
ATSreturn(tmpret24__1) ;
} /* end of [ATSLIB_056_prelude__lt_g1int_int__18__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$7$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__7__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret9__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp10__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(tmp10__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(tmpret9__2, atspre_g0int_eq_int(arg0, tmp10__2)) ;

ATSfunbody_end()
ATSreturn(tmpret9__2) ;
} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__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$23$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__23(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret34, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp35, 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(tmp35, 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(tmpret34, PMVtmpltcst(g1int_eq<S2Evar(tk(4709))>)(arg0, tmp35)) ;

ATSfunbody_end()
ATSreturn(tmpret34) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__23] */
#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$23$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__23__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret34__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp35__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(tmp35__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(tmpret34__1, atspre_g1int_eq_int(arg0, tmp35__1)) ;

ATSfunbody_end()
ATSreturn(tmpret34__1) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__23__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$7$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__7__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret9__3, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp10__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(tmp10__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(tmpret9__3, atspre_g0int_eq_int(arg0, tmp10__3)) ;

ATSfunbody_end()
ATSreturn(tmpret9__3) ;
} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__3] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 434(line=17, offs=4) -- 482(line=18, offs=12)
*/
/*
local: 
global: divides_27$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_bool)
divides_27(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret43, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp46, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 434(line=17, offs=4) -- 482(line=18, offs=12)
*/
ATSINSflab(__patsflab_divides_27):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 473(line=18, offs=3) -- 478(line=18, offs=8)
*/
ATSINSmove(tmp46, atspre_g0int_mod_int(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 473(line=18, offs=3) -- 482(line=18, offs=12)
*/
ATSINSmove(tmpret43, ATSLIB_056_prelude__eq_g0int_int__7__4(tmp46, ATSPMVi0nt(0))) ;

ATSfunbody_end()
ATSreturn(tmpret43) ;
} /* end of [divides_27] */

/*
/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$7$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__7__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret9__4, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp10__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(tmp10__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(tmpret9__4, atspre_g0int_eq_int(arg0, tmp10__4)) ;

ATSfunbody_end()
ATSreturn(tmpret9__4) ;
} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__4] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 488(line=20, offs=5) -- 599(line=24, offs=6)
*/
/*
local: witness_12$0(level=0), gcd_29$0(level=0)
global: witness_12$0(level=0), gcd_29$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
gcd_29(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(tmpret47, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp48, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp51, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp52, 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: 488(line=20, offs=5) -- 599(line=24, offs=6)
*/
ATSINSflab(__patsflab_gcd_29):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 549(line=21, offs=6) -- 554(line=21, offs=11)
*/
ATSINSmove(tmp48, ATSLIB_056_prelude__gt_g1int_int__1__2(arg1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 546(line=21, offs=3) -- 599(line=24, offs=6)
*/
ATSif(
tmp48
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 579(line=22, offs=20) -- 584(line=22, offs=25)
*/
ATSINSmove(tmp52, atspre_g0int_mod_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 571(line=22, offs=12) -- 585(line=22, offs=26)
*/
ATSINSmove(tmp51, witness_12(tmp52)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 564(line=22, offs=5) -- 586(line=22, offs=27)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg1) ;
ATSINSmove_tlcal(apy1, tmp51) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_gcd_29) ;
ATStailcal_end()

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

/*
/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$1$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__1__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret2__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp3__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(tmp3__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(tmpret2__2, atspre_g1int_gt_int(arg0, tmp3__2)) ;

ATSfunbody_end()
ATSreturn(tmpret2__2) ;
} /* end of [ATSLIB_056_prelude__gt_g1int_int__1__2] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 643(line=27, offs=4) -- 720(line=28, offs=22)
*/
/*
local: gcd_29$0(level=0)
global: witness_12$0(level=0), gcd_29$0(level=0), lcm_31$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
lcm_31(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret53, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp54, atstkind_t0ype(atstype_int)) ;
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: 643(line=27, offs=4) -- 720(line=28, offs=22)
*/
ATSINSflab(__patsflab_lcm_31):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 706(line=28, offs=8) -- 715(line=28, offs=17)
*/
ATSINSmove(tmp55, gcd_29(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 702(line=28, offs=4) -- 715(line=28, offs=17)
*/
ATSINSmove(tmp54, atspre_g0int_div_int(arg0, tmp55)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 701(line=28, offs=3) -- 720(line=28, offs=22)
*/
ATSINSmove(tmpret53, atspre_g0int_mul_int(tmp54, arg1)) ;

ATSfunbody_end()
ATSreturn(tmpret53) ;
} /* end of [lcm_31] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 763(line=31, offs=4) -- 1167(line=43, offs=6)
*/
/*
local: 
global: divisors_33$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
divisors_33(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret56, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 763(line=31, offs=4) -- 1167(line=43, offs=6)
*/
ATSINSflab(__patsflab_divisors_33):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 808(line=32, offs=3) -- 1167(line=43, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1151(line=42, offs=5) -- 1161(line=42, offs=15)
*/
ATSINSmove(tmpret56, loop_34(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 808(line=32, offs=3) -- 1167(line=43, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret56) ;
} /* end of [divisors_33] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 820(line=33, offs=9) -- 1141(line=40, offs=33)
*/
/*
local: loop_34$0(level=1)
global: loop_34$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
loop_34(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret57, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp58, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp66, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp69, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 820(line=33, offs=9) -- 1141(line=40, offs=33)
*/
ATSINSflab(__patsflab_loop_34):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 927(line=34, offs=10) -- 935(line=34, offs=18)
*/
ATSINSmove(tmp58, ATSLIB_056_prelude__gte_g1int_int__35__1(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 924(line=34, offs=7) -- 1141(line=40, offs=33)
*/
ATSif(
tmp58
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 949(line=35, offs=9) -- 1001(line=35, offs=61)
*/
ATSINSmove_ldelay(tmpret57, atstype_boxed, ATSPMVcfunlab(1, __patsfun_38, (arg1))) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1024(line=37, offs=12) -- 1031(line=37, offs=19)
*/
ATSINSmove(tmp69, atspre_g0int_mod_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1024(line=37, offs=12) -- 1035(line=37, offs=23)
*/
ATSINSmove(tmp66, ATSLIB_056_prelude__eq_g0int_int__7__5(tmp69, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1021(line=37, offs=9) -- 1141(line=40, offs=33)
*/
ATSif(
tmp66
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1051(line=38, offs=11) -- 1095(line=38, offs=55)
*/
ATSINSmove_ldelay(tmpret57, atstype_boxed, ATSPMVcfunlab(1, __patsfun_41, (arg0, arg1))) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1119(line=40, offs=11) -- 1141(line=40, offs=33)
*/
ATSINSmove_ldelay(tmpret57, atstype_boxed, ATSPMVcfunlab(1, __patsfun_42, ())) ;
} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret57) ;
} /* end of [loop_34] */

#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$35$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__35(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret59, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp60, 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(tmp60, 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(tmpret59, PMVtmpltcst(g1int_gte<S2Evar(tk(4706))>)(arg0, tmp60)) ;

ATSfunbody_end()
ATSreturn(tmpret59) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__35] */
#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$35$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__35__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret59__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp60__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(tmp60__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(tmpret59__1, atspre_g1int_gte_int(arg0, tmp60__1)) ;

ATSfunbody_end()
ATSreturn(tmpret59__1) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__35__1] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 949(line=35, offs=9) -- 1001(line=35, offs=61)
*/
/*
local: 
global: __patsfun_38$0(level=2)
local: acc$5118(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: acc$5118(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atstype_boxed
__patsfun_38(atstkind_t0ype(atstype_int) env0, atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret63, atstype_boxed) ;
ATStmpdec(tmp64, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 949(line=35, offs=9) -- 1001(line=35, offs=61)
*/
ATSINSflab(__patsflab___patsfun_38):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 949(line=35, offs=9) -- 1001(line=35, offs=61)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 977(line=35, offs=37) -- 999(line=35, offs=59)
*/
ATSINSmove_ldelay(tmp64, atstype_boxed, ATSPMVcfunlab(1, __patsfun_39, ())) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 957(line=35, offs=17) -- 1000(line=35, offs=60)
*/

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

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 977(line=35, offs=37) -- 999(line=35, offs=59)
*/
/*
local: 
global: __patsfun_39$0(level=3)
local: 
global: 
*/
ATSstatic()
atstype_boxed
__patsfun_39(atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret65, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 977(line=35, offs=37) -- 999(line=35, offs=59)
*/
ATSINSflab(__patsflab___patsfun_39):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 977(line=35, offs=37) -- 999(line=35, offs=59)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 985(line=35, offs=45) -- 998(line=35, offs=58)
*/

ATSINSmove_nil(tmpret65) ;

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

/*
/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$7$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__7__5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret9__5, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp10__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(tmp10__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(tmpret9__5, atspre_g0int_eq_int(arg0, tmp10__5)) ;

ATSfunbody_end()
ATSreturn(tmpret9__5) ;
} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__5] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1051(line=38, offs=11) -- 1095(line=38, offs=55)
*/
/*
local: loop_34$0(level=1)
global: loop_34$0(level=1), __patsfun_41$0(level=2)
local: n$5117(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5118(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: n$5117(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5118(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atstype_boxed
__patsfun_41(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret70, atstype_boxed) ;
ATStmpdec(tmp71, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp72, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1051(line=38, offs=11) -- 1095(line=38, offs=55)
*/
ATSINSflab(__patsflab___patsfun_41):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1051(line=38, offs=11) -- 1095(line=38, offs=55)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1085(line=38, offs=45) -- 1092(line=38, offs=52)
*/
ATSINSmove(tmp72, atspre_g1int_add_int(env1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1077(line=38, offs=37) -- 1093(line=38, offs=53)
*/
ATSINSmove(tmp71, loop_34(env0, tmp72)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1059(line=38, offs=19) -- 1094(line=38, offs=54)
*/

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

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1119(line=40, offs=11) -- 1141(line=40, offs=33)
*/
/*
local: 
global: __patsfun_42$0(level=2)
local: 
global: 
*/
ATSstatic()
atstype_boxed
__patsfun_42(atstype_bool arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret73, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1119(line=40, offs=11) -- 1141(line=40, offs=33)
*/
ATSINSflab(__patsflab___patsfun_42):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1119(line=40, offs=11) -- 1141(line=40, offs=33)
*/
ATSif(
arg0
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1127(line=40, offs=19) -- 1140(line=40, offs=32)
*/

ATSINSmove_nil(tmpret73) ;

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

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1172(line=45, offs=4) -- 1483(line=57, offs=6)
*/
/*
local: 
global: count_divisors_43$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
count_divisors_43(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret74, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1172(line=45, offs=4) -- 1483(line=57, offs=6)
*/
ATSINSflab(__patsflab_count_divisors_43):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1214(line=46, offs=3) -- 1483(line=57, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1467(line=56, offs=5) -- 1477(line=56, offs=15)
*/
ATSINSmove(tmpret74, loop_44(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1214(line=46, offs=3) -- 1483(line=57, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret74) ;
} /* end of [count_divisors_43] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1226(line=47, offs=9) -- 1457(line=54, offs=27)
*/
/*
local: loop_44$0(level=1)
global: loop_44$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
loop_44(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(tmpret75, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp76, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp79, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp82, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp83, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp84, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp85, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1226(line=47, offs=9) -- 1457(line=54, offs=27)
*/
ATSINSflab(__patsflab_loop_44):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1324(line=48, offs=10) -- 1332(line=48, offs=18)
*/
ATSINSmove(tmp76, ATSLIB_056_prelude__gte_g1int_int__35__2(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1321(line=48, offs=7) -- 1457(line=54, offs=27)
*/
ATSif(
tmp76
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1346(line=49, offs=9) -- 1347(line=49, offs=10)
*/
ATSINSmove(tmpret75, ATSPMVi0nt(1)) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1370(line=51, offs=12) -- 1377(line=51, offs=19)
*/
ATSINSmove(tmp82, atspre_g0int_mod_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1370(line=51, offs=12) -- 1381(line=51, offs=23)
*/
ATSINSmove(tmp79, ATSLIB_056_prelude__eq_g0int_int__7__6(tmp82, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1367(line=51, offs=9) -- 1457(line=54, offs=27)
*/
ATSif(
tmp79
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1409(line=52, offs=23) -- 1416(line=52, offs=30)
*/
ATSINSmove(tmp84, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1401(line=52, offs=15) -- 1417(line=52, offs=31)
*/
ATSINSmove(tmp83, loop_44(arg0, tmp84)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1397(line=52, offs=11) -- 1417(line=52, offs=31)
*/
ATSINSmove(tmpret75, atspre_g0int_add_int(ATSPMVi0nt(1), tmp83)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1449(line=54, offs=19) -- 1456(line=54, offs=26)
*/
ATSINSmove(tmp85, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1441(line=54, offs=11) -- 1457(line=54, offs=27)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp85) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_44) ;
ATStailcal_end()

} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret75) ;
} /* end of [loop_44] */

/*
/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$35$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__35__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret59__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp60__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(tmp60__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(tmpret59__2, atspre_g1int_gte_int(arg0, tmp60__2)) ;

ATSfunbody_end()
ATSreturn(tmpret59__2) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__35__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$7$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__7__6(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret9__6, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp10__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(tmp10__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(tmpret9__6, atspre_g0int_eq_int(arg0, tmp10__6)) ;

ATSfunbody_end()
ATSreturn(tmpret9__6) ;
} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__6] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1526(line=60, offs=4) -- 1837(line=72, offs=6)
*/
/*
local: 
global: sum_divisors_48$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
sum_divisors_48(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret86, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1526(line=60, offs=4) -- 1837(line=72, offs=6)
*/
ATSINSflab(__patsflab_sum_divisors_48):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1566(line=61, offs=3) -- 1837(line=72, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1821(line=71, offs=5) -- 1831(line=71, offs=15)
*/
ATSINSmove(tmpret86, loop_49(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1566(line=61, offs=3) -- 1837(line=72, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret86) ;
} /* end of [sum_divisors_48] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1578(line=62, offs=9) -- 1811(line=69, offs=27)
*/
/*
local: loop_49$0(level=1)
global: loop_49$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
loop_49(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(tmpret87, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp88, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp91, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp94, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp95, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp96, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp97, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1578(line=62, offs=9) -- 1811(line=69, offs=27)
*/
ATSINSflab(__patsflab_loop_49):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1676(line=63, offs=10) -- 1684(line=63, offs=18)
*/
ATSINSmove(tmp88, ATSLIB_056_prelude__gte_g1int_int__35__3(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1673(line=63, offs=7) -- 1811(line=69, offs=27)
*/
ATSif(
tmp88
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1698(line=64, offs=9) -- 1699(line=64, offs=10)
*/
ATSINSmove(tmpret87, ATSPMVi0nt(0)) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1722(line=66, offs=12) -- 1729(line=66, offs=19)
*/
ATSINSmove(tmp94, atspre_g0int_mod_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1722(line=66, offs=12) -- 1733(line=66, offs=23)
*/
ATSINSmove(tmp91, ATSLIB_056_prelude__eq_g0int_int__7__7(tmp94, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1719(line=66, offs=9) -- 1811(line=69, offs=27)
*/
ATSif(
tmp91
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1763(line=67, offs=25) -- 1770(line=67, offs=32)
*/
ATSINSmove(tmp96, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1755(line=67, offs=17) -- 1771(line=67, offs=33)
*/
ATSINSmove(tmp95, loop_49(arg0, tmp96)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1749(line=67, offs=11) -- 1771(line=67, offs=33)
*/
ATSINSmove(tmpret87, atspre_g0int_add_int(arg1, tmp95)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1803(line=69, offs=19) -- 1810(line=69, offs=26)
*/
ATSINSmove(tmp97, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1795(line=69, offs=11) -- 1811(line=69, offs=27)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp97) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_49) ;
ATStailcal_end()

} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret87) ;
} /* end of [loop_49] */

/*
/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$35$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__35__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret59__3, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp60__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(tmp60__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(tmpret59__3, atspre_g1int_gte_int(arg0, tmp60__3)) ;

ATSfunbody_end()
ATSreturn(tmpret59__3) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__35__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$7$7(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__7__7(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret9__7, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp10__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(tmp10__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(tmpret9__7, atspre_g0int_eq_int(arg0, tmp10__7)) ;

ATSfunbody_end()
ATSreturn(tmpret9__7) ;
} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__7] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1903(line=75, offs=4) -- 1961(line=76, offs=22)
*/
/*
local: sum_divisors_48$0(level=0)
global: sum_divisors_48$0(level=0), is_perfect_52$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_bool)
is_perfect_52(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret98, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp101, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1903(line=75, offs=4) -- 1961(line=76, offs=22)
*/
ATSINSflab(__patsflab_is_perfect_52):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1942(line=76, offs=3) -- 1956(line=76, offs=17)
*/
ATSINSmove(tmp101, sum_divisors_48(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1942(line=76, offs=3) -- 1961(line=76, offs=22)
*/
ATSINSmove(tmpret98, ATSLIB_056_prelude__eq_g0int_int__7__8(tmp101, arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret98) ;
} /* end of [is_perfect_52] */

/*
/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$7$8(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__7__8(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret9__8, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp10__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(tmp10__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(tmpret9__8, atspre_g0int_eq_int(arg0, tmp10__8)) ;

ATSfunbody_end()
ATSreturn(tmpret9__8) ;
} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__8] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1993(line=79, offs=4) -- 2374(line=94, offs=6)
*/
/*
local: is_prime_16$0(level=0)
global: witness_12$0(level=0), sqrt_int_13$0(level=0), is_prime_16$0(level=0), little_omega_54$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
little_omega_54(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret102, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1993(line=79, offs=4) -- 2374(line=94, offs=6)
*/
ATSINSflab(__patsflab_little_omega_54):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2033(line=80, offs=3) -- 2374(line=94, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2358(line=93, offs=5) -- 2368(line=93, offs=15)
*/
ATSINSmove(tmpret102, loop_55(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2033(line=80, offs=3) -- 2374(line=94, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret102) ;
} /* end of [little_omega_54] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2045(line=81, offs=9) -- 2348(line=91, offs=27)
*/
/*
local: is_prime_16$0(level=0), loop_55$0(level=1)
global: is_prime_16$0(level=0), loop_55$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
loop_55(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(tmpret103, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp104, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp107, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp108, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp109, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp112, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp113, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp114, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp115, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2045(line=81, offs=9) -- 2348(line=91, offs=27)
*/
ATSINSflab(__patsflab_loop_55):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2143(line=82, offs=10) -- 2151(line=82, offs=18)
*/
ATSINSmove(tmp104, ATSLIB_056_prelude__gte_g1int_int__35__4(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2140(line=82, offs=7) -- 2348(line=91, offs=27)
*/
ATSif(
tmp104
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2168(line=83, offs=12) -- 2178(line=83, offs=22)
*/
ATSINSmove(tmp107, is_prime_16(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2165(line=83, offs=9) -- 2221(line=86, offs=12)
*/
ATSif(
tmp107
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2195(line=84, offs=11) -- 2196(line=84, offs=12)
*/
ATSINSmove(tmpret103, ATSPMVi0nt(1)) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2220(line=86, offs=11) -- 2221(line=86, offs=12)
*/
ATSINSmove(tmpret103, ATSPMVi0nt(0)) ;
} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2244(line=88, offs=12) -- 2271(line=88, offs=39)
*/
ATSINSmove(tmp112, atspre_g0int_mod_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2244(line=88, offs=12) -- 2271(line=88, offs=39)
*/
ATSINSmove(tmp109, ATSLIB_056_prelude__eq_g0int_int__7__9(tmp112, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2244(line=88, offs=12) -- 2271(line=88, offs=39)
*/
ATSif(
tmp109
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2244(line=88, offs=12) -- 2271(line=88, offs=39)
*/
ATSINSmove(tmp108, is_prime_16(arg1)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2244(line=88, offs=12) -- 2271(line=88, offs=39)
*/
ATSINSmove(tmp108, ATSPMVbool_false()) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2241(line=88, offs=9) -- 2348(line=91, offs=27)
*/
ATSif(
tmp108
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2300(line=89, offs=23) -- 2307(line=89, offs=30)
*/
ATSINSmove(tmp114, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2292(line=89, offs=15) -- 2308(line=89, offs=31)
*/
ATSINSmove(tmp113, loop_55(arg0, tmp114)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2288(line=89, offs=11) -- 2308(line=89, offs=31)
*/
ATSINSmove(tmpret103, atspre_g0int_add_int(ATSPMVi0nt(1), tmp113)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2340(line=91, offs=19) -- 2347(line=91, offs=26)
*/
ATSINSmove(tmp115, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2332(line=91, offs=11) -- 2348(line=91, offs=27)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp115) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_55) ;
ATStailcal_end()

} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret103) ;
} /* end of [loop_55] */

/*
/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$35$4(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__35__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret59__4, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp60__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): 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(tmp60__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): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
*/
ATSINSmove(tmpret59__4, atspre_g1int_gte_int(arg0, tmp60__4)) ;

ATSfunbody_end()
ATSreturn(tmpret59__4) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__35__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$7$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__7__9(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret9__9, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp10__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(tmp10__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(tmpret9__9, atspre_g0int_eq_int(arg0, tmp10__9)) ;

ATSfunbody_end()
ATSreturn(tmpret9__9) ;
} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__9] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2408(line=97, offs=4) -- 2956(line=117, offs=10)
*/
/*
local: is_prime_16$0(level=0)
global: witness_12$0(level=0), sqrt_int_13$0(level=0), is_prime_16$0(level=0), totient_58$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
totient_58(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret116, 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=97, offs=4) -- 2956(line=117, offs=10)
*/
ATSINSflab(__patsflab_totient_58):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2441(line=98, offs=3) -- 2956(line=117, offs=10)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2458(line=99, offs=7) -- 2459(line=99, offs=8)
*/
ATSINSlab(__atstmplab6):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2416(line=97, offs=12) -- 2417(line=97, offs=13)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab8) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2459(line=99, offs=8) -- 2459(line=99, 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: 2463(line=99, offs=12) -- 2464(line=99, offs=13)
*/
ATSINSmove(tmpret116, ATSPMVi0nt(1)) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2472(line=100, offs=8) -- 2472(line=100, 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: 2498(line=102, offs=9) -- 2946(line=116, offs=12)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2924(line=115, offs=11) -- 2934(line=115, offs=21)
*/
ATSINSmove(tmpret116, loop_59(ATSPMVi0nt(1), arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2498(line=102, offs=9) -- 2946(line=116, offs=12)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn(tmpret116) ;
} /* end of [totient_58] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2516(line=103, offs=15) -- 2902(line=113, offs=31)
*/
/*
local: is_prime_16$0(level=0), loop_59$0(level=1)
global: is_prime_16$0(level=0), loop_59$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
loop_59(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(tmpret117, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp118, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp121, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp122, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp123, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp124, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp127, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp132, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp133, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp134, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp135, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp136, 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: 2516(line=103, offs=15) -- 2902(line=113, offs=31)
*/
ATSINSflab(__patsflab_loop_59):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2627(line=104, offs=16) -- 2633(line=104, offs=22)
*/
ATSINSmove(tmp118, ATSLIB_056_prelude__gte_g1int_int__35__5(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2624(line=104, offs=13) -- 2902(line=113, offs=31)
*/
ATSif(
tmp118
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2656(line=105, offs=18) -- 2666(line=105, offs=28)
*/
ATSINSmove(tmp121, is_prime_16(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2653(line=105, offs=15) -- 2731(line=108, offs=18)
*/
ATSif(
tmp121
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2689(line=106, offs=17) -- 2694(line=106, offs=22)
*/
ATSINSmove(tmpret117, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2730(line=108, offs=17) -- 2731(line=108, offs=18)
*/
ATSINSmove(tmpret117, arg1) ;
} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2766(line=110, offs=18) -- 2800(line=110, offs=52)
*/
ATSINSmove(tmp127, atspre_g0int_mod_int(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2766(line=110, offs=18) -- 2800(line=110, offs=52)
*/
ATSINSmove(tmp124, ATSLIB_056_prelude__eq_g0int_int__7__10(tmp127, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2766(line=110, offs=18) -- 2800(line=110, offs=52)
*/
ATSif(
tmp124
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2766(line=110, offs=18) -- 2800(line=110, offs=52)
*/
ATSINSmove(tmp123, is_prime_16(arg0)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2766(line=110, offs=18) -- 2800(line=110, offs=52)
*/
ATSINSmove(tmp123, ATSPMVbool_false()) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2766(line=110, offs=18) -- 2800(line=110, offs=52)
*/
ATSif(
tmp123
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2766(line=110, offs=18) -- 2800(line=110, offs=52)
*/
ATSINSmove(tmp122, ATSLIB_056_prelude__neq_g1int_int__63__1(arg0, arg1)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2766(line=110, offs=18) -- 2800(line=110, offs=52)
*/
ATSINSmove(tmp122, ATSPMVbool_false()) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2763(line=110, offs=15) -- 2902(line=113, offs=31)
*/
ATSif(
tmp122
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2828(line=111, offs=23) -- 2833(line=111, offs=28)
*/
ATSINSmove(tmp134, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2823(line=111, offs=18) -- 2837(line=111, offs=32)
*/
ATSINSmove(tmp133, loop_59(tmp134, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2823(line=111, offs=18) -- 2841(line=111, offs=36)
*/
ATSINSmove(tmp132, atspre_g0int_div_int(tmp133, arg0)) ;

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

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2822(line=111, offs=17) -- 2852(line=111, offs=47)
*/
ATSINSmove(tmpret117, atspre_g0int_mul_int(tmp132, tmp135)) ;

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

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2888(line=113, offs=17) -- 2902(line=113, offs=31)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp136) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_59) ;
ATStailcal_end()

} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret117) ;
/*
emit_funent_fnxbodylst:
*/
} /* end of [loop_59] */

/*
/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$35$5(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__35__5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret59__5, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp60__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): 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(tmp60__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): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
*/
ATSINSmove(tmpret59__5, atspre_g1int_gte_int(arg0, tmp60__5)) ;

ATSfunbody_end()
ATSreturn(tmpret59__5) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__35__5] */

/*
/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$7$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__7__10(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret9__10, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp10__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(tmp10__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(tmpret9__10, atspre_g0int_eq_int(arg0, tmp10__10)) ;

ATSfunbody_end()
ATSreturn(tmpret9__10) ;
} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__10] */

#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$63$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__63(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret128, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp129, 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(tmp129, 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(tmpret128, PMVtmpltcst(g1int_neq<S2Evar(tk(4712))>)(arg0, tmp129)) ;

ATSfunbody_end()
ATSreturn(tmpret128) ;
} /* end of [ATSLIB_056_prelude__neq_g1int_int__63] */
#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$63$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__63__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret128__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp129__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(tmp129__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(tmpret128__1, atspre_g1int_neq_int(arg0, tmp129__1)) ;

ATSfunbody_end()
ATSreturn(tmpret128__1) ;
} /* end of [ATSLIB_056_prelude__neq_g1int_int__63__1] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3009(line=120, offs=5) -- 3397(line=134, offs=6)
*/
/*
local: witness_12$0(level=0), totient_58$0(level=0)
global: witness_12$0(level=0), sqrt_int_13$0(level=0), is_prime_16$0(level=0), totient_58$0(level=0), totient_sum_66$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
totient_sum_66(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret137, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3009(line=120, offs=5) -- 3397(line=134, offs=6)
*/
ATSINSflab(__patsflab_totient_sum_66):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3049(line=121, offs=3) -- 3397(line=134, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3381(line=133, offs=5) -- 3391(line=133, offs=15)
*/
ATSINSmove(tmpret137, loop_67(ATSPMVi0nt(1), arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3049(line=121, offs=3) -- 3397(line=134, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret137) ;
} /* end of [totient_sum_66] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3061(line=122, offs=9) -- 3371(line=131, offs=40)
*/
/*
local: witness_12$0(level=0), totient_58$0(level=0), loop_67$0(level=1)
global: witness_12$0(level=0), totient_58$0(level=0), loop_67$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
loop_67(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(tmpret138, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp139, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp142, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp143, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp148, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp149, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp158, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp159, 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: 3061(line=122, offs=9) -- 3371(line=131, offs=40)
*/
ATSINSflab(__patsflab_loop_67):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3164(line=123, offs=10) -- 3173(line=123, offs=19)
*/
ATSINSmove(tmp139, ATSLIB_056_prelude__lt_g1int_int__18__2(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3161(line=123, offs=7) -- 3371(line=131, offs=40)
*/
ATSif(
tmp139
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3187(line=124, offs=9) -- 3320(line=129, offs=12)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3214(line=125, offs=24) -- 3219(line=125, offs=29)
*/
ATSINSmove(tmp143, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3209(line=125, offs=19) -- 3227(line=125, offs=37)
*/
ATSINSmove(tmp142, loop_67(tmp143, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3273(line=126, offs=46) -- 3282(line=126, offs=55)
*/
ATSINSmove(tmp149, totient_58(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3265(line=126, offs=38) -- 3284(line=126, offs=57)
*/
ATSINSmove(tmp148, witness_12(tmp149)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3246(line=126, offs=19) -- 3285(line=126, offs=58)
*/
ATSINSmove(tmpret138, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__69__1(tmp142, tmp148)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3187(line=124, offs=9) -- 3320(line=129, offs=12)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3340(line=131, offs=9) -- 3371(line=131, offs=40)
*/
ATSINSmove(tmp159, totient_58(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3340(line=131, offs=9) -- 3371(line=131, offs=40)
*/
ATSINSmove(tmp158, witness_12(tmp159)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3340(line=131, offs=9) -- 3371(line=131, offs=40)
*/
ATSINSmove(tmpret138, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__71__1(tmp158)) ;

} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret138) ;
/*
emit_funent_fnxbodylst:
*/
} /* end of [loop_67] */

/*
/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$18$2(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__18__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret24__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp25__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(tmp25__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(tmpret24__2, atspre_g1int_lt_int(arg0, tmp25__2)) ;

ATSfunbody_end()
ATSreturn(tmpret24__2) ;
} /* end of [ATSLIB_056_prelude__lt_g1int_int__18__2] */

#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$69$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__69(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret144, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp145) ;
/* 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(tmp145, 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(tmpret144, 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(tmpret144) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__69] */
#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$69$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__69__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret144__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp145__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(tmp145__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(tmpret144__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(tmpret144__1) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__69__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$71$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__71(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret150, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp151, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp152) ;
/* 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(tmp151, 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(tmp152, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp151, 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(tmpret150, tmp151) ;
/*
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(tmpret150) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__71] */
#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$71$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__71__1(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret150__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp151__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp152__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(tmp151__1, ATSLIB_056_prelude__ptr_alloc__73__1()) ;

/*
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(tmp152__1, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp151__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(tmpret150__1, tmp151__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(tmpret150__1) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__71__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$73$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(4806)
tmparg = S2Evar(a(4806))
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__73()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret156, 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(tmpret156, atspre_ptr_alloc_tsz(ATSPMVsizeof(atstyvar_type(a)))) ;

ATSfunbody_end()
ATSreturn(tmpret156) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__73] */
#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$73$1(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__73__1()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret156__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(tmpret156__1, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret156__1) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__73__1] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 482(line=26, offs=19) -- 502(line=27, offs=12)
*/
/*
local: gcd_29$0(level=0)
global: witness_12$0(level=0), gcd_29$0(level=0), gcd_ats$75$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_t0ype(atstype_int)
gcd_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret160, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 474(line=26, offs=11) -- 502(line=27, offs=12)
*/
ATSINSflab(__patsflab_gcd_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 493(line=27, offs=3) -- 502(line=27, offs=12)
*/
ATSINSmove(tmpret160, gcd_29(arg0, arg1)) ;

ATSfunbody_end()
ATSreturn(tmpret160) ;
} /* end of [gcd_ats] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 533(line=29, offs=30) -- 557(line=30, offs=19)
*/
/*
local: count_divisors_43$0(level=0)
global: count_divisors_43$0(level=0), count_divisors_ats$76$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_t0ype(atstype_int)
count_divisors_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret161, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 514(line=29, offs=11) -- 558(line=30, offs=20)
*/
ATSINSflab(__patsflab_count_divisors_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 541(line=30, offs=3) -- 557(line=30, offs=19)
*/
ATSINSmove(tmpret161, count_divisors_43(arg0)) ;

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

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 582(line=32, offs=23) -- 599(line=33, offs=12)
*/
/*
local: totient_58$0(level=0)
global: witness_12$0(level=0), sqrt_int_13$0(level=0), is_prime_16$0(level=0), totient_58$0(level=0), totient_ats$77$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_t0ype(atstype_int)
totient_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret162, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 570(line=32, offs=11) -- 600(line=33, offs=13)
*/
ATSINSflab(__patsflab_totient_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 590(line=33, offs=3) -- 599(line=33, offs=12)
*/
ATSINSmove(tmpret162, totient_58(arg0)) ;

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

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 629(line=35, offs=28) -- 651(line=36, offs=17)
*/
/*
local: little_omega_54$0(level=0)
global: witness_12$0(level=0), sqrt_int_13$0(level=0), is_prime_16$0(level=0), little_omega_54$0(level=0), little_omega_ats$78$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_t0ype(atstype_int)
little_omega_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret163, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 612(line=35, offs=11) -- 652(line=36, offs=18)
*/
ATSINSflab(__patsflab_little_omega_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 637(line=36, offs=3) -- 651(line=36, offs=17)
*/
ATSINSmove(tmpret163, little_omega_54(arg0)) ;

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

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 679(line=38, offs=26) -- 699(line=39, offs=15)
*/
/*
local: is_perfect_52$0(level=0)
global: sum_divisors_48$0(level=0), is_perfect_52$0(level=0), is_perfect_ats$79$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_t0ype(atstype_bool)
is_perfect_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret164, atstkind_t0ype(atstype_bool)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 664(line=38, offs=11) -- 700(line=39, offs=16)
*/
ATSINSflab(__patsflab_is_perfect_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 687(line=39, offs=3) -- 699(line=39, offs=15)
*/
ATSINSmove(tmpret164, is_perfect_52(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret164) ;
} /* end of [is_perfect_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 */