packages feed

fast-combinatorics-0.1.0.9: cbits/number-theory.c

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

/*
** 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/libats/libc/SATS/math.sats: 1380(line=35, offs=1) -- 1426(line=38, offs=3)
*/

#include \
"libats/libc/CATS/math.cats"
/*
staload-prologues(end)
*/
/*
typedefs-for-tyrecs-and-tysums(beg)
*/
/*
typedefs-for-tyrecs-and-tysums(end)
*/
/*
dynconlst-declaration(beg)
*/
/*
dynconlst-declaration(end)
*/
/*
dyncstlst-declaration(beg)
*/
ATSdyncst_mac(atspre_g1int2int_int_int)
ATSdyncst_mac(atspre_g1int_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_g1int_gte_int)
ATSdyncst_mac(atspre_g0int_add_int)
ATSdyncst_mac(atspre_g1int_sub_int)
ATSdyncst_mac(atspre_g1int_neq_int)
ATSdyncst_mac(atspre_g0int_div_int)
/*
dyncstlst-declaration(end)
*/
/*
dynvalist-implementation(beg)
*/
/*
dynvalist-implementation(end)
*/
/*
exnconlst-declaration(beg)
*/
#ifndef _ATS_CCOMP_EXCEPTION_NONE_
ATSextern()
atsvoid_t0ype
the_atsexncon_initize
(
  atstype_exnconptr d2c, atstype_string exnmsg
) ;
#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
/*
exnconlst-declaration(end)
*/
/*
extypelst-declaration(beg)
*/
/*
extypelst-declaration(end)
*/
/*
assumelst-declaration(beg)
*/
#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
/*
assumelst-declaration(end)
*/
ATSstatic()
atstkind_t0ype(atstype_int)
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)
sqrt_int_12(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
is_prime_15(atstkind_t0ype(atstype_int)) ;

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

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__22__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_26(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)
count_divisors_28(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
loop_29(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

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

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

ATSstatic()
atstkind_t0ype(atstype_int)
totient_35(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
loop_36(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__30__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)) ;

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

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

ATSstatic()
atstkind_t0ype(atstype_int)
totient_sum_44(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
loop_45(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

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

ATSstatic()
atstkind_t0ype(atstype_bool)
is_even_47(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_odd_49(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)) ;

#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)
totient_sum_ats(atstkind_t0ype(atstype_int)) ;
#endif // end of [QUALIFIED]

/*
/home/vanessa/programming/haskell/current/fast-combinatorics/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(tmp6, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp7, 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/current/fast-combinatorics/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/current/fast-combinatorics/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/current/fast-combinatorics/ats-src/numerics.dats: 291(line=11, offs=7) -- 292(line=11, offs=8)
*/
ATSINSlab(__atstmplab0):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/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/current/fast-combinatorics/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/current/fast-combinatorics/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/current/fast-combinatorics/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/current/fast-combinatorics/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/current/fast-combinatorics/ats-src/numerics.dats: 330(line=14, offs=9) -- 571(line=25, offs=12)
*/
ATSif(
tmp1
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 354(line=15, offs=11) -- 546(line=23, offs=14)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 379(line=16, offs=22) -- 385(line=16, offs=28)
*/
ATSINSmove(tmp6, atspre_g1int_half_int(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 408(line=17, offs=22) -- 413(line=17, offs=27)
*/
ATSINSmove(tmp7, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;

/*
letpush(end)
*/

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

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 439(line=19, offs=13) -- 532(line=22, offs=33)
*/
ATSif(
tmp8
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/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/current/fast-combinatorics/ats-src/numerics.dats: 468(line=20, offs=15) -- 482(line=20, offs=29)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp13) ;
ATSINSmove_tlcal(apy1, tmp6) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_exp_0) ;
ATStailcal_end()

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/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/current/fast-combinatorics/ats-src/numerics.dats: 518(line=22, offs=19) -- 532(line=22, offs=33)
*/
ATSINSmove(tmp14, exp_0(tmp15, tmp6)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/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/current/fast-combinatorics/ats-src/numerics.dats: 354(line=15, offs=11) -- 546(line=23, offs=14)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/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/current/fast-combinatorics/ats-src/numerics.dats: 586(line=28, offs=4) -- 781(line=34, offs=6)
*/
/*
local: 
global: sqrt_int_12$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
sqrt_int_12(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret16, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref17, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp18, atstkind_t0ype(atstype_float)) ;
ATStmpdec(tmp19, atstkind_t0ype(atstype_float)) ;
ATStmpdec(tmpref20, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 586(line=28, offs=4) -- 781(line=34, offs=6)
*/
ATSINSflab(__patsflab_sqrt_int_12):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 636(line=29, offs=3) -- 781(line=34, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 648(line=30, offs=9) -- 657(line=30, offs=18)
*/
/*
ATSINStmpdec(tmpref17) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 688(line=30, offs=49) -- 701(line=30, offs=62)
*/
ATSINSmove(tmp19, atspre_g0int2float_int_float(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 677(line=30, offs=38) -- 703(line=30, offs=64)
*/
ATSINSmove(tmp18, atslib_libats_libc_sqrt_float(tmp19)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 665(line=30, offs=26) -- 704(line=30, offs=65)
*/
ATSINSmove(tmpref17, atspre_g0float2int_float_int(tmp18)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 713(line=31, offs=9) -- 718(line=31, offs=14)
*/
/*
ATSINStmpdec(tmpref20) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 741(line=31, offs=37) -- 759(line=31, offs=55)
*/
ATSINSmove(tmpref20, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmpref17)) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 770(line=33, offs=5) -- 775(line=33, offs=10)
*/
ATSINSmove(tmpret16, tmpref20) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 636(line=29, offs=3) -- 781(line=34, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret16) ;
} /* end of [sqrt_int_12] */

/*
/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 817(line=37, offs=4) -- 1402(line=60, offs=10)
*/
/*
local: sqrt_int_12$0(level=0)
global: sqrt_int_12$0(level=0), is_prime_15$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_bool)
is_prime_15(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/current/fast-combinatorics/ats-src/numerics.dats: 817(line=37, offs=4) -- 1402(line=60, offs=10)
*/
ATSINSflab(__patsflab_is_prime_15):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 853(line=38, offs=3) -- 1402(line=60, offs=10)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 870(line=39, offs=7) -- 871(line=39, offs=8)
*/
ATSINSlab(__atstmplab3):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 826(line=37, offs=13) -- 827(line=37, offs=14)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab5) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 871(line=39, offs=8) -- 871(line=39, 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/current/fast-combinatorics/ats-src/numerics.dats: 875(line=39, offs=12) -- 880(line=39, offs=17)
*/
ATSINSmove(tmpret21, ATSPMVbool_false()) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 888(line=40, offs=8) -- 888(line=40, 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/current/fast-combinatorics/ats-src/numerics.dats: 913(line=42, offs=9) -- 1392(line=59, offs=12)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1368(line=58, offs=19) -- 1378(line=58, offs=29)
*/
ATSINSmove(tmp42, sqrt_int_12(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1360(line=58, offs=11) -- 1380(line=58, offs=31)
*/
ATSINSmove(tmpret21, loop_16(arg0, ATSPMVi0nt(2), tmp42)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 913(line=42, offs=9) -- 1392(line=59, offs=12)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

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

/*
/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 931(line=43, offs=15) -- 1338(line=56, offs=21)
*/
/*
local: loop_16$0(level=1)
global: loop_16$0(level=1)
local: k$4739(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: k$4739(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atstkind_t0ype(atstype_bool)
loop_16(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/current/fast-combinatorics/ats-src/numerics.dats: 931(line=43, offs=15) -- 1338(line=56, offs=21)
*/
ATSINSflab(__patsflab_loop_16):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1025(line=44, offs=16) -- 1034(line=44, offs=25)
*/
ATSINSmove(tmp23, ATSLIB_056_prelude__lt_g1int_int__17__1(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1022(line=44, offs=13) -- 1338(line=56, offs=21)
*/
ATSif(
tmp23
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1057(line=45, offs=18) -- 1062(line=45, offs=23)
*/
ATSINSmove(tmp31, atspre_g0int_mod_int(env0, arg0)) ;

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

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1054(line=45, offs=15) -- 1147(line=48, offs=35)
*/
ATSif(
tmp28
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1088(line=46, offs=17) -- 1093(line=46, offs=22)
*/
ATSINSmove(tmpret22, ATSPMVbool_false()) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1134(line=48, offs=22) -- 1139(line=48, offs=27)
*/
ATSINSmove(tmp32, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1129(line=48, offs=17) -- 1147(line=48, offs=35)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp32) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_16) ;
ATStailcal_end()

} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1182(line=50, offs=18) -- 1191(line=50, offs=27)
*/
ATSINSmove(tmp33, ATSLIB_056_prelude__eq_g1int_int__22__1(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1179(line=50, offs=15) -- 1338(line=56, offs=21)
*/
ATSif(
tmp33
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1216(line=51, offs=20) -- 1221(line=51, offs=25)
*/
ATSINSmove(tmp41, atspre_g0int_mod_int(env0, arg0)) ;

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

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1213(line=51, offs=17) -- 1298(line=54, offs=23)
*/
ATSif(
tmp38
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1249(line=52, offs=19) -- 1254(line=52, offs=24)
*/
ATSINSmove(tmpret22, ATSPMVbool_false()) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1294(line=54, offs=19) -- 1298(line=54, offs=23)
*/
ATSINSmove(tmpret22, ATSPMVbool_true()) ;
} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1334(line=56, offs=17) -- 1338(line=56, offs=21)
*/
ATSINSmove(tmpret22, ATSPMVbool_true()) ;
} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret22) ;
/*
emit_funent_fnxbodylst:
*/
} /* end of [loop_16] */

#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$17$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__17(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__17] */
#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$17$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__17__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__17__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$22$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__22(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__22] */
#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$22$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__22__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__22__1] */

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
*/
/*
local: 
global: eq_g0int_int$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/current/fast-combinatorics/ats-src/number-theory.dats: 362(line=16, offs=4) -- 410(line=17, offs=12)
*/
/*
local: 
global: divides_26$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_bool)
divides_26(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/current/fast-combinatorics/ats-src/number-theory.dats: 362(line=16, offs=4) -- 410(line=17, offs=12)
*/
ATSINSflab(__patsflab_divides_26):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 401(line=17, offs=3) -- 406(line=17, offs=8)
*/
ATSINSmove(tmp46, atspre_g0int_mod_int(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 401(line=17, offs=3) -- 410(line=17, offs=12)
*/
ATSINSmove(tmpret43, ATSLIB_056_prelude__eq_g0int_int__7__4(tmp46, ATSPMVi0nt(0))) ;

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

/*
/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/current/fast-combinatorics/ats-src/number-theory.dats: 449(line=20, offs=4) -- 779(line=32, offs=6)
*/
/*
local: 
global: count_divisors_28$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
count_divisors_28(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret47, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 449(line=20, offs=4) -- 779(line=32, offs=6)
*/
ATSINSflab(__patsflab_count_divisors_28):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 510(line=21, offs=3) -- 779(line=32, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 763(line=31, offs=5) -- 773(line=31, offs=15)
*/
ATSINSmove(tmpret47, loop_29(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 510(line=21, offs=3) -- 779(line=32, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret47) ;
} /* end of [count_divisors_28] */

/*
/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 522(line=22, offs=9) -- 753(line=29, offs=27)
*/
/*
local: loop_29$0(level=1)
global: loop_29$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
loop_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(tmpret48, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp49, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp54, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp57, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp58, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp59, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp60, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 522(line=22, offs=9) -- 753(line=29, offs=27)
*/
ATSINSflab(__patsflab_loop_29):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 620(line=23, offs=10) -- 628(line=23, offs=18)
*/
ATSINSmove(tmp49, ATSLIB_056_prelude__gte_g1int_int__30__1(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 617(line=23, offs=7) -- 753(line=29, offs=27)
*/
ATSif(
tmp49
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 642(line=24, offs=9) -- 643(line=24, offs=10)
*/
ATSINSmove(tmpret48, ATSPMVi0nt(1)) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 666(line=26, offs=12) -- 673(line=26, offs=19)
*/
ATSINSmove(tmp57, atspre_g0int_mod_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 666(line=26, offs=12) -- 677(line=26, offs=23)
*/
ATSINSmove(tmp54, ATSLIB_056_prelude__eq_g0int_int__7__5(tmp57, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 663(line=26, offs=9) -- 753(line=29, offs=27)
*/
ATSif(
tmp54
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 705(line=27, offs=23) -- 712(line=27, offs=30)
*/
ATSINSmove(tmp59, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 697(line=27, offs=15) -- 713(line=27, offs=31)
*/
ATSINSmove(tmp58, loop_29(arg0, tmp59)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 693(line=27, offs=11) -- 713(line=27, offs=31)
*/
ATSINSmove(tmpret48, atspre_g0int_add_int(ATSPMVi0nt(1), tmp58)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 745(line=29, offs=19) -- 752(line=29, offs=26)
*/
ATSINSmove(tmp60, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 737(line=29, offs=11) -- 753(line=29, offs=27)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp60) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_29) ;
ATStailcal_end()

} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret48) ;
} /* end of [loop_29] */

#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$30$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__30(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret50, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp51, 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(tmp51, 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(tmpret50, PMVtmpltcst(g1int_gte<S2Evar(tk(4706))>)(arg0, tmp51)) ;

ATSfunbody_end()
ATSreturn(tmpret50) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__30] */
#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$30$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__30__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret50__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp51__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(tmp51__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(tmpret50__1, atspre_g1int_gte_int(arg0, tmp51__1)) ;

ATSfunbody_end()
ATSreturn(tmpret50__1) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__30__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$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/current/fast-combinatorics/ats-src/number-theory.dats: 813(line=35, offs=4) -- 1380(line=55, offs=10)
*/
/*
local: is_prime_15$0(level=0)
global: sqrt_int_12$0(level=0), is_prime_15$0(level=0), totient_35$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
totient_35(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret61, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 813(line=35, offs=4) -- 1380(line=55, offs=10)
*/
ATSINSflab(__patsflab_totient_35):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 865(line=36, offs=3) -- 1380(line=55, offs=10)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 882(line=37, offs=7) -- 883(line=37, offs=8)
*/
ATSINSlab(__atstmplab6):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 843(line=35, offs=34) -- 844(line=35, offs=35)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab8) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 883(line=37, offs=8) -- 883(line=37, 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/current/fast-combinatorics/ats-src/number-theory.dats: 887(line=37, offs=12) -- 888(line=37, offs=13)
*/
ATSINSmove(tmpret61, ATSPMVi0nt(1)) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 896(line=38, offs=8) -- 896(line=38, 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/current/fast-combinatorics/ats-src/number-theory.dats: 922(line=40, offs=9) -- 1370(line=54, offs=12)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1348(line=53, offs=11) -- 1358(line=53, offs=21)
*/
ATSINSmove(tmpret61, loop_36(ATSPMVi0nt(1), arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 922(line=40, offs=9) -- 1370(line=54, offs=12)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn(tmpret61) ;
} /* end of [totient_35] */

/*
/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 940(line=41, offs=15) -- 1326(line=51, offs=31)
*/
/*
local: is_prime_15$0(level=0), loop_36$0(level=1)
global: is_prime_15$0(level=0), loop_36$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
loop_36(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(tmpret62, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp63, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp66, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp67, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp68, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp69, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp72, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp77, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp78, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp79, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp80, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp81, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
/*
emit_funent_fnxdeclst:
*/
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 940(line=41, offs=15) -- 1326(line=51, offs=31)
*/
ATSINSflab(__patsflab_loop_36):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1051(line=42, offs=16) -- 1057(line=42, offs=22)
*/
ATSINSmove(tmp63, ATSLIB_056_prelude__gte_g1int_int__30__2(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1048(line=42, offs=13) -- 1326(line=51, offs=31)
*/
ATSif(
tmp63
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1080(line=43, offs=18) -- 1090(line=43, offs=28)
*/
ATSINSmove(tmp66, is_prime_15(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1077(line=43, offs=15) -- 1155(line=46, offs=18)
*/
ATSif(
tmp66
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1113(line=44, offs=17) -- 1118(line=44, offs=22)
*/
ATSINSmove(tmpret62, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1154(line=46, offs=17) -- 1155(line=46, offs=18)
*/
ATSINSmove(tmpret62, arg1) ;
} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1190(line=48, offs=18) -- 1224(line=48, offs=52)
*/
ATSINSmove(tmp72, atspre_g0int_mod_int(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1190(line=48, offs=18) -- 1224(line=48, offs=52)
*/
ATSINSmove(tmp69, ATSLIB_056_prelude__eq_g0int_int__7__6(tmp72, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1190(line=48, offs=18) -- 1224(line=48, offs=52)
*/
ATSif(
tmp69
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1190(line=48, offs=18) -- 1224(line=48, offs=52)
*/
ATSINSmove(tmp68, is_prime_15(arg0)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1190(line=48, offs=18) -- 1224(line=48, offs=52)
*/
ATSINSmove(tmp68, ATSPMVbool_false()) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1190(line=48, offs=18) -- 1224(line=48, offs=52)
*/
ATSif(
tmp68
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1190(line=48, offs=18) -- 1224(line=48, offs=52)
*/
ATSINSmove(tmp67, ATSLIB_056_prelude__neq_g1int_int__40__1(arg0, arg1)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1190(line=48, offs=18) -- 1224(line=48, offs=52)
*/
ATSINSmove(tmp67, ATSPMVbool_false()) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1187(line=48, offs=15) -- 1326(line=51, offs=31)
*/
ATSif(
tmp67
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1252(line=49, offs=23) -- 1257(line=49, offs=28)
*/
ATSINSmove(tmp79, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1247(line=49, offs=18) -- 1261(line=49, offs=32)
*/
ATSINSmove(tmp78, loop_36(tmp79, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1247(line=49, offs=18) -- 1265(line=49, offs=36)
*/
ATSINSmove(tmp77, atspre_g0int_div_int(tmp78, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1270(line=49, offs=41) -- 1275(line=49, offs=46)
*/
ATSINSmove(tmp80, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1246(line=49, offs=17) -- 1276(line=49, offs=47)
*/
ATSINSmove(tmpret62, atspre_g0int_mul_int(tmp77, tmp80)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1317(line=51, offs=22) -- 1322(line=51, offs=27)
*/
ATSINSmove(tmp81, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1312(line=51, offs=17) -- 1326(line=51, offs=31)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp81) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_36) ;
ATStailcal_end()

} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret62) ;
/*
emit_funent_fnxbodylst:
*/
} /* end of [loop_36] */

/*
/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$30$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__30__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret50__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp51__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(tmp51__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(tmpret50__2, atspre_g1int_gte_int(arg0, tmp51__2)) ;

ATSfunbody_end()
ATSreturn(tmpret50__2) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__30__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] */

#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$40$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__40(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret73, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp74, 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(tmp74, 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(tmpret73, PMVtmpltcst(g1int_neq<S2Evar(tk(4712))>)(arg0, tmp74)) ;

ATSfunbody_end()
ATSreturn(tmpret73) ;
} /* end of [ATSLIB_056_prelude__neq_g1int_int__40] */
#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$40$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__40__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret73__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp74__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(tmp74__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(tmpret73__1, atspre_g1int_neq_int(arg0, tmp74__1)) ;

ATSfunbody_end()
ATSreturn(tmpret73__1) ;
} /* end of [ATSLIB_056_prelude__neq_g1int_int__40__1] */

/*
/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1398(line=58, offs=5) -- 1676(line=67, offs=6)
*/
/*
local: totient_35$0(level=0)
global: sqrt_int_12$0(level=0), is_prime_15$0(level=0), totient_35$0(level=0), totient_sum_44$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
totient_sum_44(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret82, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1398(line=58, offs=5) -- 1676(line=67, offs=6)
*/
ATSINSflab(__patsflab_totient_sum_44):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1454(line=59, offs=3) -- 1676(line=67, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1660(line=66, offs=5) -- 1670(line=66, offs=15)
*/
ATSINSmove(tmpret82, loop_45(ATSPMVi0nt(1), arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1454(line=59, offs=3) -- 1676(line=67, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret82) ;
} /* end of [totient_sum_44] */

/*
/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1466(line=60, offs=9) -- 1650(line=64, offs=19)
*/
/*
local: totient_35$0(level=0), loop_45$0(level=1)
global: totient_35$0(level=0), loop_45$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
loop_45(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(tmpret83, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp84, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp87, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp88, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp89, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
/*
emit_funent_fnxdeclst:
*/
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1466(line=60, offs=9) -- 1650(line=64, offs=19)
*/
ATSINSflab(__patsflab_loop_45):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1566(line=61, offs=10) -- 1575(line=61, offs=19)
*/
ATSINSmove(tmp84, ATSLIB_056_prelude__lt_g1int_int__17__2(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1563(line=61, offs=7) -- 1650(line=64, offs=19)
*/
ATSif(
tmp84
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1589(line=62, offs=9) -- 1598(line=62, offs=18)
*/
ATSINSmove(tmp87, totient_35(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1607(line=62, offs=27) -- 1612(line=62, offs=32)
*/
ATSINSmove(tmp89, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1602(line=62, offs=22) -- 1620(line=62, offs=40)
*/
ATSINSmove(tmp88, loop_45(tmp89, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1589(line=62, offs=9) -- 1620(line=62, offs=40)
*/
ATSINSmove(tmpret83, atspre_g0int_add_int(tmp87, tmp88)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1640(line=64, offs=9) -- 1649(line=64, offs=18)
*/
ATSINSmove(tmpret83, totient_35(arg0)) ;

} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret83) ;
/*
emit_funent_fnxbodylst:
*/
} /* end of [loop_45] */

/*
/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$17$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__17__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__17__2] */

/*
/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1681(line=69, offs=4) -- 1720(line=70, offs=12)
*/
/*
local: 
global: is_even_47$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_bool)
is_even_47(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret90, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp93, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1681(line=69, offs=4) -- 1720(line=70, offs=12)
*/
ATSINSflab(__patsflab_is_even_47):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1711(line=70, offs=3) -- 1716(line=70, offs=8)
*/
ATSINSmove(tmp93, atspre_g0int_mod_int(arg0, ATSPMVi0nt(2))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1711(line=70, offs=3) -- 1720(line=70, offs=12)
*/
ATSINSmove(tmpret90, ATSLIB_056_prelude__eq_g0int_int__7__7(tmp93, ATSPMVi0nt(0))) ;

ATSfunbody_end()
ATSreturn(tmpret90) ;
} /* end of [is_even_47] */

/*
/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=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__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/current/fast-combinatorics/ats-src/number-theory.dats: 1725(line=72, offs=4) -- 1763(line=73, offs=12)
*/
/*
local: 
global: is_odd_49$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_bool)
is_odd_49(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret94, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp97, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1725(line=72, offs=4) -- 1763(line=73, offs=12)
*/
ATSINSflab(__patsflab_is_odd_49):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1754(line=73, offs=3) -- 1759(line=73, offs=8)
*/
ATSINSmove(tmp97, atspre_g0int_mod_int(arg0, ATSPMVi0nt(2))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1754(line=73, offs=3) -- 1763(line=73, offs=12)
*/
ATSINSmove(tmpret94, ATSLIB_056_prelude__eq_g0int_int__7__8(tmp97, ATSPMVi0nt(1))) ;

ATSfunbody_end()
ATSreturn(tmpret94) ;
} /* end of [is_odd_49] */

/*
/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/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 357(line=18, offs=30) -- 381(line=19, offs=19)
*/
/*
local: count_divisors_28$0(level=0)
global: count_divisors_28$0(level=0), count_divisors_ats$51$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_t0ype(atstype_int)
count_divisors_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret98, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 338(line=18, offs=11) -- 382(line=19, offs=20)
*/
ATSINSflab(__patsflab_count_divisors_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 365(line=19, offs=3) -- 381(line=19, offs=19)
*/
ATSINSmove(tmpret98, count_divisors_28(arg0)) ;

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

/*
/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 406(line=21, offs=23) -- 423(line=22, offs=12)
*/
/*
local: totient_35$0(level=0)
global: sqrt_int_12$0(level=0), is_prime_15$0(level=0), totient_35$0(level=0), totient_ats$52$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_t0ype(atstype_int)
totient_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret99, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 394(line=21, offs=11) -- 424(line=22, offs=13)
*/
ATSINSflab(__patsflab_totient_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 414(line=22, offs=3) -- 423(line=22, offs=12)
*/
ATSINSmove(tmpret99, totient_35(arg0)) ;

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

/*
/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 452(line=24, offs=27) -- 473(line=25, offs=16)
*/
/*
local: totient_sum_44$0(level=0)
global: sqrt_int_12$0(level=0), is_prime_15$0(level=0), totient_35$0(level=0), totient_sum_44$0(level=0), totient_sum_ats$53$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_t0ype(atstype_int)
totient_sum_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret100, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 436(line=24, offs=11) -- 474(line=25, offs=17)
*/
ATSINSflab(__patsflab_totient_sum_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 460(line=25, offs=3) -- 473(line=25, offs=16)
*/
ATSINSmove(tmpret100, totient_sum_44(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret100) ;
} /* end of [totient_sum_ats] */

/*
** for initialization(dynloading)
*/
ATSdynloadflag_minit(_057_home_057_vanessa_057_programming_057_haskell_057_current_057_fast_055_combinatorics_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_current_057_fast_055_combinatorics_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_current_057_fast_055_combinatorics_057_ats_055_src_057_number_055_theory_055_ffi_056_dats__dynloadflag
) ;
ATSif(
ATSCKiseqz(
_057_home_057_vanessa_057_programming_057_haskell_057_current_057_fast_055_combinatorics_057_ats_055_src_057_number_055_theory_055_ffi_056_dats__dynloadflag
)
) ATSthen() {
ATSdynloadset(_057_home_057_vanessa_057_programming_057_haskell_057_current_057_fast_055_combinatorics_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 */