packages feed

fast-arithmetic-0.6.1.1: cbits/combinatorics.c

/*
**
** The C code is generated by [ATS/Postiats-0-3-11]
**
*/

/*
** include runtime header files
*/
#ifndef _ATS_CCOMP_HEADER_NONE_
#include "pats_ccomp_config.h"
#include "pats_ccomp_basics.h"
#include "pats_ccomp_typedefs.h"
#include "pats_ccomp_instrset.h"
#include "pats_ccomp_memalloc.h"
#ifndef _ATS_CCOMP_EXCEPTION_NONE_
#include "pats_ccomp_memalloca.h"
#include "pats_ccomp_exception.h"
#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
#endif /* _ATS_CCOMP_HEADER_NONE_ */


/*
** include prelude cats files
*/
#ifndef _ATS_CCOMP_PRELUDE_NONE_
//
#include "prelude/CATS/basics.cats"
#include "prelude/CATS/integer.cats"
#include "prelude/CATS/pointer.cats"
#include "prelude/CATS/integer_long.cats"
#include "prelude/CATS/integer_size.cats"
#include "prelude/CATS/integer_short.cats"
#include "prelude/CATS/bool.cats"
#include "prelude/CATS/char.cats"
#include "prelude/CATS/float.cats"
#include "prelude/CATS/integer_ptr.cats"
#include "prelude/CATS/integer_fixed.cats"
#include "prelude/CATS/memory.cats"
#include "prelude/CATS/string.cats"
#include "prelude/CATS/strptr.cats"
//
#include "prelude/CATS/fprintf.cats"
//
#include "prelude/CATS/filebas.cats"
//
#include "prelude/CATS/list.cats"
#include "prelude/CATS/option.cats"
#include "prelude/CATS/array.cats"
#include "prelude/CATS/arrayptr.cats"
#include "prelude/CATS/arrayref.cats"
#include "prelude/CATS/matrix.cats"
#include "prelude/CATS/matrixptr.cats"
//
#endif /* _ATS_CCOMP_PRELUDE_NONE_ */
/*
** for user-supplied prelude
*/
#ifdef _ATS_CCOMP_PRELUDE_USER_
//
#include _ATS_CCOMP_PRELUDE_USER_
//
#endif /* _ATS_CCOMP_PRELUDE_USER_ */
/*
** for user2-supplied prelude
*/
#ifdef _ATS_CCOMP_PRELUDE_USER2_
//
#include _ATS_CCOMP_PRELUDE_USER2_
//
#endif /* _ATS_CCOMP_PRELUDE_USER2_ */

/*
staload-prologues(beg)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/basics.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 1533(line=44, offs=1) -- 1572(line=44, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_long.dats: 1602(line=49, offs=1) -- 1641(line=49, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_short.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/char.dats: 1610(line=48, offs=1) -- 1649(line=48, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/float.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/string.dats: 1631(line=50, offs=1) -- 1670(line=50, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/strptr.dats: 1629(line=50, offs=1) -- 1668(line=50, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/strptr.dats: 1691(line=54, offs=1) -- 1738(line=54, offs=48)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_ptr.dats: 1601(line=49, offs=1) -- 1640(line=49, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer_fixed.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/memory.dats: 1410(line=38, offs=1) -- 1449(line=39, offs=32)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1607(line=49, offs=1) -- 1646(line=50, offs=32)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1669(line=54, offs=1) -- 1715(line=55, offs=39)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1738(line=59, offs=1) -- 1783(line=60, offs=38)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
*/

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

#include \
"libats/libc/CATS/sys/types.cats"
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 1865(line=66, offs=1) -- 1912(line=66, offs=48)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/sys/stat.sats: 1390(line=36, offs=1) -- 1440(line=39, offs=3)
*/

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

#include \
"libats/libc/CATS/sys/types.cats"
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/filebas.dats: 15937(line=927, offs=1) -- 15974(line=928, offs=30)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
*/

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

#include \
"libats/libc/CATS/sys/types.cats"
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list.dats: 1529(line=44, offs=1) -- 1568(line=45, offs=32)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list.dats: 1569(line=46, offs=1) -- 1615(line=47, offs=39)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list_vt.dats: 1538(line=44, offs=1) -- 1577(line=45, offs=32)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/list_vt.dats: 1578(line=46, offs=1) -- 1624(line=47, offs=39)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/list_vt_mergesort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/list_vt_quicksort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/array.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/array_bsearch.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/SHARE/array_quicksort.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/arrayptr.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/arrayref.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/matrix.dats: 1535(line=44, offs=1) -- 1574(line=44, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/matrixptr.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/matrixref.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/tostring.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/checkast.dats: 1531(line=44, offs=1) -- 1570(line=45, offs=32)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
*/

//
#include \
"atscntrb-hx-libgmp/CATS/gmp.cats"
//
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/mydepies.hats: 208(line=18, offs=1) -- 248(line=19, offs=32)
*/
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/contrib/atscntrb/atscntrb-hx-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1236(line=43, offs=3)
*/

//
#include \
"atscntrb-hx-libgmp/CATS/gmp.cats"
//
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.sats: 1(line=1, offs=1) -- 63(line=1, offs=63)
*/
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
*/
/*
staload-prologues(end)
*/
/*
typedefs-for-tyrecs-and-tysums(beg)
*/
/*
typedefs-for-tyrecs-and-tysums(end)
*/
/*
dynconlst-declaration(beg)
*/
/*
dynconlst-declaration(end)
*/
/*
dyncstlst-declaration(beg)
*/
ATSdyncst_mac(atspre_g1int2int_int_int)
ATSdyncst_mac(atspre_g1int_lt_int)
ATSdyncst_mac(atscntrb_gmp_mpz_add2_mpz)
ATSdyncst_mac(atscntrb_gmp_mpz_mul2_int)
ATSdyncst_mac(atspre_g1int_add_int)
ATSdyncst_mac(atscntrb_gmp_mpz_clear)
ATSdyncst_mac(atspre_ptr_free)
ATSdyncst_mac(atscntrb_gmp_mpz_init_set_int)
ATSdyncst_mac(atspre_ptr_alloc_tsz)
ATSdyncst_mac(atspre_g1int_sub_int)
ATSdyncst_mac(atspre_g1int_gt_int)
ATSdyncst_mac(atscntrb_gmp_mpz_tdiv2_q_mpz)
ATSdyncst_mac(atspre_g1int_mul_int)
ATSdyncst_mac(atspre_g1int_gte_int)
ATSdyncst_mac(atscntrb_gmp_mpz_mul2_mpz)
ATSdyncst_mac(atspre_g1int_eq_int)
/*
dyncstlst-declaration(end)
*/
/*
dynvalist-implementation(beg)
*/
/*
dynvalist-implementation(end)
*/
/*
exnconlst-declaration(beg)
*/
#ifndef _ATS_CCOMP_EXCEPTION_NONE_
ATSextern()
atsvoid_t0ype
the_atsexncon_initize
(
  atstype_exnconptr d2c, atstype_string exnmsg
) ;
#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
/*
exnconlst-declaration(end)
*/
/*
extypelst-declaration(beg)
*/
/*
extypelst-declaration(end)
*/
/*
assumelst-declaration(beg)
*/
#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
/*
assumelst-declaration(end)
*/
ATSstatic()
atstkind_type(atstype_ptrk)
derangements_0(atstkind_t0ype(atstype_int)) ;

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

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

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;

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

ATSstatic()
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(atstkind_type(atstype_ptrk)) ;

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

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

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__1() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__2() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__3() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__4() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__5() ;

ATSstatic()
atsvoid_t0ype
fact_ref_28(atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__6() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__7() ;

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

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

ATSstatic()
atsvoid_t0ype
dfact_ref_35(atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__8() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__9() ;

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

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

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

ATSstatic()
atsvoid_t0ype
loop_43(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;

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

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

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__10() ;

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

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__11() ;

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__12() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__13() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;

ATSstatic()
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(atstkind_type(atstype_ptrk)) ;

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

ATSstatic()
atsvoid_t0ype
numerator_loop_63(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__14() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__15() ;

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__16() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__17() ;

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__18() ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__2(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;

ATSstatic()
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(atstkind_type(atstype_ptrk)) ;

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

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__19() ;

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__20() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__88__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;

ATSstatic()
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(atstkind_type(atstype_ptrk)) ;

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

ATSstatic()
atsvoid_t0ype
loop_94(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__21() ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__4(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;

ATSstatic()
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(atstkind_type(atstype_ptrk)) ;

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

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

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

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

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

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

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

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 494(line=14, offs=4) -- 1192(line=38, offs=6)
*/
/*
local: 
global: derangements_0$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
derangements_0(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp45, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp46, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp51, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 494(line=14, offs=4) -- 1192(line=38, offs=6)
*/
ATSINSflab(__patsflab_derangements_0):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 547(line=15, offs=3) -- 1192(line=38, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1034(line=33, offs=5) -- 1186(line=37, offs=59)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1053(line=34, offs=9) -- 1054(line=34, offs=10)
*/
ATSINSlab(__atstmplab0):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 522(line=14, offs=32) -- 523(line=14, offs=33)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1054(line=34, offs=10) -- 1054(line=34, offs=10)
*/
ATSINSlab(__atstmplab1):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1058(line=34, offs=14) -- 1071(line=34, offs=27)
*/
ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1080(line=35, offs=9) -- 1081(line=35, offs=10)
*/
ATSINSlab(__atstmplab2):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 522(line=14, offs=32) -- 523(line=14, offs=33)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab4) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1081(line=35, offs=10) -- 1081(line=35, offs=10)
*/
ATSINSlab(__atstmplab3):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1086(line=35, offs=15) -- 1099(line=35, offs=28)
*/
ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(ATSPMVi0nt(0))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1108(line=36, offs=9) -- 1109(line=36, offs=10)
*/
ATSINSlab(__atstmplab4):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 522(line=14, offs=32) -- 523(line=14, offs=33)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab6) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1109(line=36, offs=10) -- 1109(line=36, offs=10)
*/
ATSINSlab(__atstmplab5):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1114(line=36, offs=15) -- 1127(line=36, offs=28)
*/
ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1137(line=37, offs=10) -- 1137(line=37, offs=10)
*/
ATSINSlab(__atstmplab6):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1147(line=37, offs=20) -- 1152(line=37, offs=25)
*/
ATSINSmove(tmp45, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1157(line=37, offs=30) -- 1170(line=37, offs=43)
*/
ATSINSmove(tmp46, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1172(line=37, offs=45) -- 1185(line=37, offs=58)
*/
ATSINSmove(tmp51, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1142(line=37, offs=15) -- 1186(line=37, offs=59)
*/
ATSINSmove(tmpret0, loop_1(tmp45, ATSPMVi0nt(2), tmp46, tmp51)) ;

ATSbranch_end()

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

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 547(line=15, offs=3) -- 1192(line=38, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret0) ;
} /* end of [derangements_0] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 559(line=16, offs=9) -- 1024(line=31, offs=12)
*/
/*
local: loop_1$0(level=1)
global: loop_1$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
loop_1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_type(atstype_ptrk) arg3)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy3, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpret1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmpref7, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref12, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp17, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref18, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp21) ;
ATStmpdec(tmpref26, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 559(line=16, offs=9) -- 1024(line=31, offs=12)
*/
ATSINSflab(__patsflab_loop_1):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 683(line=17, offs=10) -- 688(line=17, offs=15)
*/
ATSINSmove(tmp2, ATSLIB_056_prelude__lt_g1int_int__2__1(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 680(line=17, offs=7) -- 1024(line=31, offs=12)
*/
ATSif(
tmp2
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 702(line=18, offs=9) -- 846(line=23, offs=12)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 720(line=19, offs=15) -- 721(line=19, offs=16)
*/
/*
ATSINStmpdec(tmpref7) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 724(line=19, offs=19) -- 751(line=19, offs=46)
*/
ATSINSmove(tmpref7, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(arg3, ATSPMVrefarg0(arg2))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 766(line=20, offs=15) -- 767(line=20, offs=16)
*/
/*
ATSINStmpdec(tmpref12) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 770(line=20, offs=19) -- 791(line=20, offs=40)
*/
ATSINSmove(tmpref12, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(tmpref7, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 821(line=22, offs=19) -- 826(line=22, offs=24)
*/
ATSINSmove(tmp17, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 813(line=22, offs=11) -- 834(line=22, offs=32)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp17) ;
ATSINSmove_tlcal(apy2, tmpref12) ;
ATSINSmove_tlcal(apy3, arg2) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSargmove_tlcal(arg3, apy3) ;
ATSINSfgoto(__patsflab_loop_1) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 702(line=18, offs=9) -- 846(line=23, offs=12)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 866(line=25, offs=9) -- 1024(line=31, offs=12)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 884(line=26, offs=15) -- 885(line=26, offs=16)
*/
/*
ATSINStmpdec(tmpref18) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 888(line=26, offs=19) -- 915(line=26, offs=46)
*/
ATSINSmove(tmpref18, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(arg3, ATSPMVrefarg0(arg2))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 934(line=27, offs=19) -- 948(line=27, offs=33)
*/
ATSINSmove_void(tmp21, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(arg2)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 964(line=28, offs=15) -- 965(line=28, offs=16)
*/
/*
ATSINStmpdec(tmpref26) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 968(line=28, offs=19) -- 989(line=28, offs=40)
*/
ATSINSmove(tmpref26, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(tmpref18, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1011(line=30, offs=11) -- 1012(line=30, offs=12)
*/
ATSINSmove(tmpret1, tmpref26) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 866(line=25, offs=9) -- 1024(line=31, offs=12)
*/
/*
INSletpop()
*/
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret1) ;
} /* end of [loop_1] */

#if(0)
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
*/
/*
local: 
global: lt_g1int_int$2$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4627)
tmparg = S2Evar(tk(4627))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lt_g1int_int__2(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret3, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp4, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
*/
ATSINSflab(__patsflab_lt_g1int_int):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
*/
ATSINSmove(tmp4, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4627))>)(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
*/
ATSINSmove(tmpret3, PMVtmpltcst(g1int_lt<S2Evar(tk(4627))>)(arg0, tmp4)) ;

ATSfunbody_end()
ATSreturn(tmpret3) ;
} /* end of [ATSLIB_056_prelude__lt_g1int_int__2] */
#endif // end of [TEMPLATE]

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
*/
/*
local: 
global: lt_g1int_int$2$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4627)
tmparg = S2Evar(tk(4627))
tmpsub = Some(tk(4627) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lt_g1int_int__2__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret3__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp4__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
*/
ATSINSflab(__patsflab_lt_g1int_int):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
*/
ATSINSmove(tmp4__1, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
*/
ATSINSmove(tmpret3__1, atspre_g1int_lt_int(arg0, tmp4__1)) ;

ATSfunbody_end()
ATSreturn(tmpret3__1) ;
} /* end of [ATSLIB_056_prelude__lt_g1int_int__2__1] */

#if(0)
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
*/
/*
local: 
global: add_intinf0_intinf1$6$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret8, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp9) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
*/
ATSINSflab(__patsflab_add_intinf0_intinf1):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
*/
ATSINSmove_void(tmp9, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
*/
ATSINSmove(tmpret8, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret8) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6] */
#endif // end of [TEMPLATE]

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
*/
/*
local: 
global: add_intinf0_intinf1$6$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret8__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp9__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
*/
ATSINSflab(__patsflab_add_intinf0_intinf1):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
*/
ATSINSmove_void(tmp9__1, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
*/
ATSINSmove(tmpret8__1, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret8__1) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1] */

#if(0)
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
*/
/*
local: 
global: mul_intinf0_int$8$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret13, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp14) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
*/
ATSINSflab(__patsflab_mul_intinf0_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
*/
ATSINSmove_void(tmp14, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
*/
ATSINSmove(tmpret13, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret13) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8] */
#endif // end of [TEMPLATE]

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
*/
/*
local: 
global: mul_intinf0_int$8$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret13__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp14__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
*/
ATSINSflab(__patsflab_mul_intinf0_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
*/
ATSINSmove_void(tmp14__1, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
*/
ATSINSmove(tmpret13__1, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret13__1) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
*/
/*
local: 
global: add_intinf0_intinf1$6$2(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret8__2, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp9__2) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
*/
ATSINSflab(__patsflab_add_intinf0_intinf1):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
*/
ATSINSmove_void(tmp9__2, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
*/
ATSINSmove(tmpret8__2, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret8__2) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2] */

#if(0)
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
*/
/*
local: 
global: intinf_free$12$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret22) ;
// ATStmpdec_void(tmp23) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
*/
ATSINSflab(__patsflab_intinf_free):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
*/
ATSINSmove_void(tmp23, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
*/
ATSINSmove_void(tmpret22, atspre_ptr_free(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret22) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12] */
#endif // end of [TEMPLATE]

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
*/
/*
local: 
global: intinf_free$12$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret22__1) ;
// ATStmpdec_void(tmp23__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
*/
ATSINSflab(__patsflab_intinf_free):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
*/
ATSINSmove_void(tmp23__1, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
*/
ATSINSmove_void(tmpret22__1, atspre_ptr_free(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret22__1) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
*/
/*
local: 
global: mul_intinf0_int$8$2(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret13__2, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp14__2) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
*/
ATSINSflab(__patsflab_mul_intinf0_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
*/
ATSINSmove_void(tmp14__2, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
*/
ATSINSmove(tmpret13__2, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret13__2) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2] */

#if(0)
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29, tmp30) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15] */
#endif // end of [TEMPLATE]

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$1(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__1, ATSLIB_056_prelude__ptr_alloc__17__1()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__1, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__1, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__1, tmp30__1) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__1) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1] */

#if(0)
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35, atspre_ptr_alloc_tsz(ATSPMVsizeof(atstyvar_type(a)))) ;

ATSfunbody_end()
ATSreturn(tmpret35) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17] */
#endif // end of [TEMPLATE]

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__1()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__1, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__1, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__1) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__1] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$2(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__2, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__2) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__2, ATSLIB_056_prelude__ptr_alloc__17__2()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__2, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__2, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__2, tmp30__2) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__2) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$2(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__2()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__2, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__2, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__2) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__2] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$3(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__3, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__3, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__3) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__3, ATSLIB_056_prelude__ptr_alloc__17__3()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__3, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__3, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__3, tmp30__3) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__3) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$3(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__3()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__3, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__3, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__3) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__3] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$4(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__4, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__4, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__4) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__4, ATSLIB_056_prelude__ptr_alloc__17__4()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__4, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__4, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__4, tmp30__4) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__4) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$4(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__4()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__4, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__4, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__4) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__4] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$5(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__5, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__5, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__5) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__5, ATSLIB_056_prelude__ptr_alloc__17__5()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__5, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__5, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__5, tmp30__5) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__5) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$5(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__5()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__5, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__5, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__5) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__5] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1198(line=40, offs=5) -- 1476(line=48, offs=8)
*/
/*
local: fact_ref_28$0(level=0)
global: fact_ref_28$0(level=0)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
fact_ref_28(atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret56) ;
ATStmpdec(tmp57, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp62, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp67) ;
ATStmpdec(tmp68, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp69, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1198(line=40, offs=5) -- 1476(line=48, offs=8)
*/
ATSINSflab(__patsflab_fact_ref_28):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1283(line=41, offs=3) -- 1476(line=48, offs=8)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1300(line=42, offs=7) -- 1301(line=42, offs=8)
*/
ATSINSlab(__atstmplab7):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1222(line=40, offs=29) -- 1223(line=40, offs=30)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab9) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1301(line=42, offs=8) -- 1301(line=42, offs=8)
*/
ATSINSlab(__atstmplab8):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1312(line=42, offs=19) -- 1325(line=42, offs=32)
*/
ATSINSmove(tmp57, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1305(line=42, offs=12) -- 1325(line=42, offs=32)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp57) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1305(line=42, offs=12) -- 1325(line=42, offs=32)
*/
ATSINSmove_void(tmpret56, ATSPMVempty()) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1332(line=43, offs=7) -- 1333(line=43, offs=8)
*/
ATSINSlab(__atstmplab9):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1222(line=40, offs=29) -- 1223(line=40, offs=30)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab11) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1333(line=43, offs=8) -- 1333(line=43, offs=8)
*/
ATSINSlab(__atstmplab10):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1344(line=43, offs=19) -- 1357(line=43, offs=32)
*/
ATSINSmove(tmp62, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1337(line=43, offs=12) -- 1357(line=43, offs=32)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp62) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1337(line=43, offs=12) -- 1357(line=43, offs=32)
*/
ATSINSmove_void(tmpret56, ATSPMVempty()) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1365(line=44, offs=8) -- 1365(line=44, offs=8)
*/
ATSINSlab(__atstmplab11):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1370(line=44, offs=13) -- 1476(line=48, offs=8)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1398(line=45, offs=25) -- 1403(line=45, offs=30)
*/
ATSINSmove(tmp68, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1389(line=45, offs=16) -- 1409(line=45, offs=36)
*/
ATSINSmove_void(tmp67, fact_ref_28(tmp68, ATSPMVrefarg1(arg1))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1444(line=47, offs=28) -- 1467(line=47, offs=51)
*/
ATSINSmove(tmp69, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(ATSderef(arg1, atstkind_type(atstype_ptrk)), arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1423(line=47, offs=7) -- 1468(line=47, offs=52)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVcastfn(castvwtp0, atstype_boxed, tmp69)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1423(line=47, offs=7) -- 1468(line=47, offs=52)
*/
ATSINSmove_void(tmpret56, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1370(line=44, offs=13) -- 1476(line=48, offs=8)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn_void(tmpret56) ;
} /* end of [fact_ref_28] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$6(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__6, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__6, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__6) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__6, ATSLIB_056_prelude__ptr_alloc__17__6()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__6, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__6, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__6, tmp30__6) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__6) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$6(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__6()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__6, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__6, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__6) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__6] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$7(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__7, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__7, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__7) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__7, ATSLIB_056_prelude__ptr_alloc__17__7()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__7, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__7, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__7, tmp30__7) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__7) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$7(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__7()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__7, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__7, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__7) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__7] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
*/
/*
local: 
global: mul_intinf0_int$8$3(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret13__3, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp14__3) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
*/
ATSINSflab(__patsflab_mul_intinf0_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
*/
ATSINSmove_void(tmp14__3, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
*/
ATSINSmove(tmpret13__3, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret13__3) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1481(line=50, offs=4) -- 1610(line=56, offs=6)
*/
/*
local: fact_ref_28$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
fact_34(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret72, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref73, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp74) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1481(line=50, offs=4) -- 1610(line=56, offs=6)
*/
ATSINSflab(__patsflab_fact_34):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1532(line=51, offs=3) -- 1610(line=56, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1544(line=52, offs=9) -- 1547(line=52, offs=12)
*/
/*
ATSINStmpdec(tmpref73) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1575(line=53, offs=14) -- 1591(line=53, offs=30)
*/
ATSINSmove_void(tmp74, fact_ref_28(arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref73)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1601(line=55, offs=5) -- 1604(line=55, offs=8)
*/
ATSINSmove(tmpret72, tmpref73) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1532(line=51, offs=3) -- 1610(line=56, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret72) ;
} /* end of [fact_34] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1686(line=59, offs=5) -- 1955(line=68, offs=8)
*/
/*
local: dfact_ref_35$0(level=0)
global: dfact_ref_35$0(level=0)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
dfact_ref_35(atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret75) ;
ATStmpdec(tmp76, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp81, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp86) ;
ATStmpdec(tmp87, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref88, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1686(line=59, offs=5) -- 1955(line=68, offs=8)
*/
ATSINSflab(__patsflab_dfact_ref_35):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1760(line=60, offs=3) -- 1955(line=68, offs=8)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1777(line=61, offs=7) -- 1778(line=61, offs=8)
*/
ATSINSlab(__atstmplab12):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1711(line=59, offs=30) -- 1712(line=59, offs=31)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab14) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1778(line=61, offs=8) -- 1778(line=61, offs=8)
*/
ATSINSlab(__atstmplab13):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1789(line=61, offs=19) -- 1802(line=61, offs=32)
*/
ATSINSmove(tmp76, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1782(line=61, offs=12) -- 1802(line=61, offs=32)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp76) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1782(line=61, offs=12) -- 1802(line=61, offs=32)
*/
ATSINSmove_void(tmpret75, ATSPMVempty()) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1809(line=62, offs=7) -- 1810(line=62, offs=8)
*/
ATSINSlab(__atstmplab14):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1711(line=59, offs=30) -- 1712(line=59, offs=31)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab16) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1810(line=62, offs=8) -- 1810(line=62, offs=8)
*/
ATSINSlab(__atstmplab15):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1821(line=62, offs=19) -- 1834(line=62, offs=32)
*/
ATSINSmove(tmp81, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1814(line=62, offs=12) -- 1834(line=62, offs=32)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp81) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1814(line=62, offs=12) -- 1834(line=62, offs=32)
*/
ATSINSmove_void(tmpret75, ATSPMVempty()) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1842(line=63, offs=8) -- 1842(line=63, offs=8)
*/
ATSINSlab(__atstmplab16):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1847(line=63, offs=13) -- 1955(line=68, offs=8)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1876(line=64, offs=26) -- 1881(line=64, offs=31)
*/
ATSINSmove(tmp87, atspre_g1int_sub_int(arg0, ATSPMVi0nt(2))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1866(line=64, offs=16) -- 1887(line=64, offs=37)
*/
ATSINSmove_void(tmp86, dfact_ref_35(tmp87, ATSPMVrefarg1(arg1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1898(line=65, offs=11) -- 1899(line=65, offs=12)
*/
/*
ATSINStmpdec(tmpref88) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1902(line=65, offs=15) -- 1925(line=65, offs=38)
*/
ATSINSmove(tmpref88, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(ATSderef(arg1, atstkind_type(atstype_ptrk)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1939(line=67, offs=7) -- 1947(line=67, offs=15)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmpref88) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1939(line=67, offs=7) -- 1947(line=67, offs=15)
*/
ATSINSmove_void(tmpret75, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1847(line=63, offs=13) -- 1955(line=68, offs=8)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn_void(tmpret75) ;
} /* end of [dfact_ref_35] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$8(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__8, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__8, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__8) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__8, ATSLIB_056_prelude__ptr_alloc__17__8()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__8, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__8, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__8, tmp30__8) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__8) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$8(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__8()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__8, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__8, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__8) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__8] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$9(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__9, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__9, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__9) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__9, ATSLIB_056_prelude__ptr_alloc__17__9()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__9, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__9, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__9, tmp30__9) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__9) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$9(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__9()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__9, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__9, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__9) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__9] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
*/
/*
local: 
global: mul_intinf0_int$8$4(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret13__4, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp14__4) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
*/
ATSINSflab(__patsflab_mul_intinf0_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
*/
ATSINSmove_void(tmp14__4, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
*/
ATSINSmove(tmpret13__4, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret13__4) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2031(line=71, offs=5) -- 2156(line=77, offs=6)
*/
/*
local: dfact_ref_35$0(level=0)
global: dfact_ref_35$0(level=0), dfact_41$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
dfact_41(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret91, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref92, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp93) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2031(line=71, offs=5) -- 2156(line=77, offs=6)
*/
ATSINSflab(__patsflab_dfact_41):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2077(line=72, offs=3) -- 2156(line=77, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2089(line=73, offs=9) -- 2092(line=73, offs=12)
*/
/*
ATSINStmpdec(tmpref92) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2120(line=74, offs=14) -- 2137(line=74, offs=31)
*/
ATSINSmove_void(tmp93, dfact_ref_35(arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref92)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2147(line=76, offs=5) -- 2150(line=76, offs=8)
*/
ATSINSmove(tmpret91, tmpref92) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2077(line=72, offs=3) -- 2156(line=77, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret91) ;
} /* end of [dfact_41] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2219(line=80, offs=4) -- 2607(line=92, offs=6)
*/
/*
local: 
global: permutations_42$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
permutations_42(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret94, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref115, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp116) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2219(line=80, offs=4) -- 2607(line=92, offs=6)
*/
ATSINSflab(__patsflab_permutations_42):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2306(line=81, offs=3) -- 2607(line=92, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2551(line=88, offs=9) -- 2554(line=88, offs=12)
*/
/*
ATSINStmpdec(tmpref115) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2576(line=89, offs=14) -- 2588(line=89, offs=26)
*/
ATSINSmove_void(tmp116, loop_43(arg0, arg1, arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref115)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2598(line=91, offs=5) -- 2601(line=91, offs=8)
*/
ATSINSmove(tmpret94, tmpref115) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2306(line=81, offs=3) -- 2607(line=92, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret94) ;
} /* end of [permutations_42] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2318(line=82, offs=9) -- 2537(line=86, offs=37)
*/
/*
local: loop_43$0(level=1)
global: loop_43$0(level=1)
local: n$5101(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), k$5102(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: n$5101(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), k$5102(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atsvoid_t0ype
loop_43(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret95) ;
ATStmpdec(tmp96, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp101, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp102, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmp103) ;
ATStmpdec(tmp104, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp105, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp108, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp113, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp114, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2318(line=82, offs=9) -- 2537(line=86, offs=37)
*/
ATSINSflab(__patsflab_loop_43):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2415(line=83, offs=14) -- 2420(line=83, offs=19)
*/
ATSINSmove(tmp102, atspre_g1int_sub_int(env0, env1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2415(line=83, offs=14) -- 2424(line=83, offs=23)
*/
ATSINSmove(tmp101, atspre_g1int_add_int(tmp102, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2411(line=83, offs=10) -- 2424(line=83, offs=23)
*/
ATSINSmove(tmp96, ATSLIB_056_prelude__gt_g1int_int__44__1(arg0, tmp101)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2408(line=83, offs=7) -- 2537(line=86, offs=37)
*/
ATSif(
tmp96
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2444(line=84, offs=15) -- 2449(line=84, offs=20)
*/
ATSINSmove(tmp104, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2439(line=84, offs=10) -- 2455(line=84, offs=26)
*/
ATSINSmove_void(tmp103, loop_43(env0, env1, tmp104, ATSPMVrefarg1(arg1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2465(line=84, offs=36) -- 2488(line=84, offs=59)
*/
ATSINSmove(tmp105, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(ATSderef(arg1, atstkind_type(atstype_ptrk)), arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2458(line=84, offs=29) -- 2488(line=84, offs=59)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp105) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2458(line=84, offs=29) -- 2488(line=84, offs=59)
*/
ATSINSmove_void(tmpret95, ATSPMVempty()) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2516(line=86, offs=16) -- 2537(line=86, offs=37)
*/
ATSINSmove(tmp114, atspre_g1int_sub_int(env0, env1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2516(line=86, offs=16) -- 2537(line=86, offs=37)
*/
ATSINSmove(tmp113, atspre_g1int_add_int(tmp114, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2516(line=86, offs=16) -- 2537(line=86, offs=37)
*/
ATSINSmove(tmp108, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(tmp113)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2509(line=86, offs=9) -- 2537(line=86, offs=37)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp108) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2509(line=86, offs=9) -- 2537(line=86, offs=37)
*/
ATSINSmove_void(tmpret95, ATSPMVempty()) ;
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret95) ;
} /* end of [loop_43] */

#if(0)
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
*/
/*
local: 
global: gt_g1int_int$44$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4633)
tmparg = S2Evar(tk(4633))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gt_g1int_int__44(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret97, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp98, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
*/
ATSINSflab(__patsflab_gt_g1int_int):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
*/
ATSINSmove(tmp98, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4633))>)(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
*/
ATSINSmove(tmpret97, PMVtmpltcst(g1int_gt<S2Evar(tk(4633))>)(arg0, tmp98)) ;

ATSfunbody_end()
ATSreturn(tmpret97) ;
} /* end of [ATSLIB_056_prelude__gt_g1int_int__44] */
#endif // end of [TEMPLATE]

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
*/
/*
local: 
global: gt_g1int_int$44$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4633)
tmparg = S2Evar(tk(4633))
tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gt_g1int_int__44__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret97__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp98__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
*/
ATSINSflab(__patsflab_gt_g1int_int):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
*/
ATSINSmove(tmp98__1, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
*/
ATSINSmove(tmpret97__1, atspre_g1int_gt_int(arg0, tmp98__1)) ;

ATSfunbody_end()
ATSreturn(tmpret97__1) ;
} /* end of [ATSLIB_056_prelude__gt_g1int_int__44__1] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
*/
/*
local: 
global: mul_intinf0_int$8$5(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret13__5, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp14__5) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
*/
ATSINSflab(__patsflab_mul_intinf0_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
*/
ATSINSmove_void(tmp14__5, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
*/
ATSINSmove(tmpret13__5, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret13__5) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$10(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__10, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__10, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__10) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__10, ATSLIB_056_prelude__ptr_alloc__17__10()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__10, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__10, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__10, tmp30__10) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__10) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$10(level=3)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__10()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__10, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__10, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__10) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__10] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2659(line=95, offs=4) -- 3258(line=118, offs=6)
*/
/*
local: fact_34$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), catalan_50$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
catalan_50(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret117, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref138, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref139, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref140, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp145) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2659(line=95, offs=4) -- 3258(line=118, offs=6)
*/
ATSINSflab(__patsflab_catalan_50):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2700(line=96, offs=3) -- 3258(line=118, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2995(line=107, offs=5) -- 3252(line=117, offs=10)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3014(line=108, offs=9) -- 3015(line=108, offs=10)
*/
ATSINSlab(__atstmplab20):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2675(line=95, offs=20) -- 2676(line=95, offs=21)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab22) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3015(line=108, offs=10) -- 3015(line=108, offs=10)
*/
ATSINSlab(__atstmplab21):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3019(line=108, offs=14) -- 3032(line=108, offs=27)
*/
ATSINSmove(tmpret117, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3041(line=109, offs=9) -- 3042(line=109, offs=10)
*/
ATSINSlab(__atstmplab22):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2675(line=95, offs=20) -- 2676(line=95, offs=21)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab24) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3042(line=109, offs=10) -- 3042(line=109, offs=10)
*/
ATSINSlab(__atstmplab23):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3046(line=109, offs=14) -- 3059(line=109, offs=27)
*/
ATSINSmove(tmpret117, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3069(line=110, offs=10) -- 3069(line=110, offs=10)
*/
ATSINSlab(__atstmplab24):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3074(line=110, offs=15) -- 3252(line=117, offs=10)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3090(line=111, offs=13) -- 3091(line=111, offs=14)
*/
/*
ATSINStmpdec(tmpref138) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3094(line=111, offs=17) -- 3110(line=111, offs=33)
*/
ATSINSmove(tmpref138, numerator_loop_51(arg0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3124(line=112, offs=13) -- 3125(line=112, offs=14)
*/
/*
ATSINStmpdec(tmpref139) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3128(line=112, offs=17) -- 3134(line=112, offs=23)
*/
ATSINSmove(tmpref139, fact_34(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3148(line=113, offs=13) -- 3149(line=113, offs=14)
*/
/*
ATSINStmpdec(tmpref140) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3152(line=113, offs=17) -- 3177(line=113, offs=42)
*/
ATSINSmove(tmpref140, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__1(tmpref138, ATSPMVrefarg0(tmpref139))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3194(line=114, offs=17) -- 3207(line=114, offs=30)
*/
ATSINSmove_void(tmp145, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(tmpref139)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3226(line=116, offs=9) -- 3241(line=116, offs=24)
*/
ATSINSmove(tmpret117, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref140)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3074(line=110, offs=15) -- 3252(line=117, offs=10)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2700(line=96, offs=3) -- 3258(line=118, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret117) ;
} /* end of [catalan_50] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2712(line=97, offs=9) -- 2985(line=105, offs=12)
*/
/*
local: numerator_loop_51$0(level=1)
global: numerator_loop_51$0(level=1)
local: n$5108(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: n$5108(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atstkind_type(atstype_ptrk)
numerator_loop_51(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret118, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp123, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref124, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp125, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref126, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp129, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2712(line=97, offs=9) -- 2985(line=105, offs=12)
*/
ATSINSflab(__patsflab_numerator_loop_51):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2788(line=98, offs=7) -- 2985(line=105, offs=12)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2809(line=99, offs=11) -- 2810(line=99, offs=12)
*/
ATSINSlab(__atstmplab17):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2754(line=97, offs=51) -- 2755(line=97, offs=52)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab19) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2810(line=99, offs=12) -- 2810(line=99, offs=12)
*/
ATSINSlab(__atstmplab18):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2814(line=99, offs=16) -- 2831(line=99, offs=33)
*/
ATSINSmove(tmp123, atspre_g1int_add_int(env0, ATSPMVi0nt(2))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2814(line=99, offs=16) -- 2831(line=99, offs=33)
*/
ATSINSmove(tmpret118, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(tmp123)) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2843(line=100, offs=12) -- 2843(line=100, offs=12)
*/
ATSINSlab(__atstmplab19):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2848(line=100, offs=17) -- 2985(line=105, offs=12)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2866(line=101, offs=15) -- 2867(line=101, offs=16)
*/
/*
ATSINStmpdec(tmpref124) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2885(line=101, offs=34) -- 2890(line=101, offs=39)
*/
ATSINSmove(tmp125, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2870(line=101, offs=19) -- 2891(line=101, offs=40)
*/
ATSINSmove(tmpref124, numerator_loop_51(env0, tmp125)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2906(line=102, offs=15) -- 2907(line=102, offs=16)
*/
/*
ATSINStmpdec(tmpref126) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2929(line=102, offs=38) -- 2934(line=102, offs=43)
*/
ATSINSmove(tmp129, atspre_g1int_add_int(env0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2910(line=102, offs=19) -- 2935(line=102, offs=44)
*/
ATSINSmove(tmpref126, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(tmpref124, tmp129)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2957(line=104, offs=11) -- 2972(line=104, offs=26)
*/
ATSINSmove(tmpret118, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref126)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2848(line=100, offs=17) -- 2985(line=105, offs=12)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn(tmpret118) ;
} /* end of [numerator_loop_51] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$11(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__11, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__11, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__11) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__11, ATSLIB_056_prelude__ptr_alloc__17__11()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__11, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__11, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__11, tmp30__11) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__11) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$11(level=3)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__11()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__11, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__11, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__11) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__11] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
*/
/*
local: 
global: mul_intinf0_int$8$6(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret13__6, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp14__6) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
*/
ATSINSflab(__patsflab_mul_intinf0_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
*/
ATSINSmove_void(tmp14__6, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
*/
ATSINSmove(tmpret13__6, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret13__6) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$12(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__12, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__12, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__12) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__12, ATSLIB_056_prelude__ptr_alloc__17__12()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__12, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__12, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__12, tmp30__12) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__12) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$12(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__12()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__12, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__12, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__12) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__12] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$13(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__13, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__13, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__13) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__13, ATSLIB_056_prelude__ptr_alloc__17__13()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__13, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__13, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__13, tmp30__13) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__13) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$13(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__13()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__13, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__13, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__13) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__13] */

#if(0)
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
*/
/*
local: 
global: div_intinf0_intinf1$59$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret141, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp142) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
*/
ATSINSflab(__patsflab_div_intinf0_intinf1):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
*/
ATSINSmove_void(tmp142, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
*/
ATSINSmove(tmpret141, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret141) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59] */
#endif // end of [TEMPLATE]

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
*/
/*
local: 
global: div_intinf0_intinf1$59$1(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret141__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp142__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
*/
ATSINSflab(__patsflab_div_intinf0_intinf1):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
*/
ATSINSmove_void(tmp142__1, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
*/
ATSINSmove(tmpret141__1, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret141__1) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__1] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
*/
/*
local: 
global: intinf_free$12$2(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret22__2) ;
// ATStmpdec_void(tmp23__2) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
*/
ATSINSflab(__patsflab_intinf_free):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
*/
ATSINSmove_void(tmp23__2, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
*/
ATSINSmove_void(tmpret22__2, atspre_ptr_free(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret22__2) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3352(line=122, offs=4) -- 4150(line=148, offs=6)
*/
/*
local: fact_34$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
choose_62(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret148, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp177, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmpref184, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp185) ;
ATStmpdec(tmpref186, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref187, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp190) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3352(line=122, offs=4) -- 4150(line=148, offs=6)
*/
ATSINSflab(__patsflab_choose_62):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3411(line=123, offs=3) -- 4150(line=148, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3818(line=135, offs=5) -- 4144(line=147, offs=10)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3837(line=136, offs=9) -- 3838(line=136, offs=10)
*/
ATSINSlab(__atstmplab30):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3386(line=122, offs=38) -- 3387(line=122, offs=39)
*/
ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(0))) { ATSINSgoto(__atstmplab32) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3838(line=136, offs=10) -- 3838(line=136, offs=10)
*/
ATSINSlab(__atstmplab31):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3842(line=136, offs=14) -- 3855(line=136, offs=27)
*/
ATSINSmove(tmpret148, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3864(line=137, offs=9) -- 3865(line=137, offs=10)
*/
ATSINSlab(__atstmplab32):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3386(line=122, offs=38) -- 3387(line=122, offs=39)
*/
ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab34) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3865(line=137, offs=10) -- 3865(line=137, offs=10)
*/
ATSINSlab(__atstmplab33):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3869(line=137, offs=14) -- 3881(line=137, offs=26)
*/
ATSINSmove(tmpret148, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(arg0)) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3892(line=138, offs=10) -- 3892(line=138, offs=10)
*/
ATSINSlab(__atstmplab34):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-guard:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3898(line=138, offs=16) -- 3903(line=138, offs=21)
*/
ATSINSmove(tmp177, ATSLIB_056_prelude__gt_g1int_int__44__2(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3898(line=138, offs=16) -- 3903(line=138, offs=21)
*/
ATSifnthen(ATSCKpat_bool(tmp177, ATSPMVbool_true())) { ATSINSgoto(__atstmplab35) ; } ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3907(line=138, offs=25) -- 3920(line=138, offs=38)
*/
ATSINSmove(tmpret148, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(ATSPMVi0nt(0))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3930(line=139, offs=10) -- 3930(line=139, offs=10)
*/
ATSINSlab(__atstmplab35):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3935(line=139, offs=15) -- 4144(line=147, offs=10)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3951(line=140, offs=13) -- 3952(line=140, offs=14)
*/
/*
ATSINStmpdec(tmpref184) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3983(line=141, offs=18) -- 4003(line=141, offs=38)
*/
ATSINSmove_void(tmp185, numerator_loop_63(arg0, arg1, ATSPMVrefarg1(ATSPMVptrof(tmpref184)))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4016(line=142, offs=13) -- 4017(line=142, offs=14)
*/
/*
ATSINStmpdec(tmpref186) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4020(line=142, offs=17) -- 4026(line=142, offs=23)
*/
ATSINSmove(tmpref186, fact_34(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4040(line=143, offs=13) -- 4041(line=143, offs=14)
*/
/*
ATSINStmpdec(tmpref187) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4044(line=143, offs=17) -- 4069(line=143, offs=42)
*/
ATSINSmove(tmpref187, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__2(tmpref184, ATSPMVrefarg0(tmpref186))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4086(line=144, offs=17) -- 4099(line=144, offs=30)
*/
ATSINSmove_void(tmp190, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(tmpref186)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4118(line=146, offs=9) -- 4133(line=146, offs=24)
*/
ATSINSmove(tmpret148, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref187)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3935(line=139, offs=15) -- 4144(line=147, offs=10)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3411(line=123, offs=3) -- 4150(line=148, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret148) ;
} /* end of [choose_62] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3423(line=124, offs=9) -- 3808(line=133, offs=12)
*/
/*
local: numerator_loop_63$0(level=1)
global: numerator_loop_63$0(level=1)
local: n$5119(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: n$5119(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atsvoid_t0ype
numerator_loop_63(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret149) ;
ATStmpdec(tmp150, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp155, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp160, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp161, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmp162) ;
ATStmpdec(tmp163, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref164, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp167, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp168, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3423(line=124, offs=9) -- 3808(line=133, offs=12)
*/
ATSINSflab(__patsflab_numerator_loop_63):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3528(line=125, offs=7) -- 3808(line=133, offs=12)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3549(line=126, offs=11) -- 3550(line=126, offs=12)
*/
ATSINSlab(__atstmplab25):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3465(line=124, offs=51) -- 3466(line=124, offs=52)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab27) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3550(line=126, offs=12) -- 3550(line=126, offs=12)
*/
ATSINSlab(__atstmplab26):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3561(line=126, offs=23) -- 3573(line=126, offs=35)
*/
ATSINSmove(tmp150, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(env0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3554(line=126, offs=16) -- 3573(line=126, offs=35)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp150) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3554(line=126, offs=16) -- 3573(line=126, offs=35)
*/
ATSINSmove_void(tmpret149, ATSPMVempty()) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3585(line=127, offs=11) -- 3586(line=127, offs=12)
*/
ATSINSlab(__atstmplab27):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3465(line=124, offs=51) -- 3466(line=124, offs=52)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab29) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3586(line=127, offs=12) -- 3586(line=127, offs=12)
*/
ATSINSlab(__atstmplab28):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3611(line=127, offs=37) -- 3634(line=127, offs=60)
*/
ATSINSmove(tmp161, atspre_g1int_sub_int(env0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3611(line=127, offs=37) -- 3634(line=127, offs=60)
*/
ATSINSmove(tmp160, atspre_g1int_mul_int(tmp161, env0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3611(line=127, offs=37) -- 3634(line=127, offs=60)
*/
ATSINSmove(tmp155, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(tmp160)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3590(line=127, offs=16) -- 3635(line=127, offs=61)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVcastfn(castvwtp0, atstype_boxed, tmp155)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3590(line=127, offs=16) -- 3635(line=127, offs=61)
*/
ATSINSmove_void(tmpret149, ATSPMVempty()) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3647(line=128, offs=12) -- 3647(line=128, offs=12)
*/
ATSINSlab(__atstmplab29):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3652(line=128, offs=17) -- 3808(line=133, offs=12)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3690(line=129, offs=35) -- 3695(line=129, offs=40)
*/
ATSINSmove(tmp163, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3675(line=129, offs=20) -- 3701(line=129, offs=46)
*/
ATSINSmove_void(tmp162, numerator_loop_63(env0, tmp163, ATSPMVrefarg1(arg1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3716(line=130, offs=15) -- 3717(line=130, offs=16)
*/
/*
ATSINStmpdec(tmpref164) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3741(line=130, offs=40) -- 3746(line=130, offs=45)
*/
ATSINSmove(tmp168, atspre_g1int_add_int(env0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3741(line=130, offs=40) -- 3750(line=130, offs=49)
*/
ATSINSmove(tmp167, atspre_g1int_sub_int(tmp168, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3720(line=130, offs=19) -- 3751(line=130, offs=50)
*/
ATSINSmove(tmpref164, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp167)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3773(line=132, offs=11) -- 3795(line=132, offs=33)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVcastfn(castvwtp0, atstype_boxed, tmpref164)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3773(line=132, offs=11) -- 3795(line=132, offs=33)
*/
ATSINSmove_void(tmpret149, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3652(line=128, offs=17) -- 3808(line=133, offs=12)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn_void(tmpret149) ;
} /* end of [numerator_loop_63] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$14(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__14, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__14, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__14) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__14, ATSLIB_056_prelude__ptr_alloc__17__14()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__14, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__14, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__14, tmp30__14) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__14) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$14(level=3)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__14()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__14, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__14, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__14) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__14] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$15(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__15, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__15, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__15) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__15, ATSLIB_056_prelude__ptr_alloc__17__15()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__15, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__15, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__15, tmp30__15) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__15) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$15(level=3)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__15()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__15, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__15, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__15) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__15] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
*/
/*
local: 
global: mul_intinf0_int$8$7(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret13__7, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp14__7) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
*/
ATSINSflab(__patsflab_mul_intinf0_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
*/
ATSINSmove_void(tmp14__7, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
*/
ATSINSmove(tmpret13__7, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret13__7) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$16(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__16, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__16, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__16) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__16, ATSLIB_056_prelude__ptr_alloc__17__16()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__16, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__16, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__16, tmp30__16) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__16) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$16(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__16()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__16, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__16, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__16) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__16] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$17(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__17, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__17, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__17) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__17, ATSLIB_056_prelude__ptr_alloc__17__17()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__17, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__17, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__17, tmp30__17) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__17) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$17(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__17()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__17, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__17, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__17) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__17] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
*/
/*
local: 
global: gt_g1int_int$44$2(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4633)
tmparg = S2Evar(tk(4633))
tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gt_g1int_int__44__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret97__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp98__2, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
*/
ATSINSflab(__patsflab_gt_g1int_int):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
*/
ATSINSmove(tmp98__2, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
*/
ATSINSmove(tmpret97__2, atspre_g1int_gt_int(arg0, tmp98__2)) ;

ATSfunbody_end()
ATSreturn(tmpret97__2) ;
} /* end of [ATSLIB_056_prelude__gt_g1int_int__44__2] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$18(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__18, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__18, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__18) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__18, ATSLIB_056_prelude__ptr_alloc__17__18()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__18, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__18, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__18, tmp30__18) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__18) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$18(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__18()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__18, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__18, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__18) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__18] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
*/
/*
local: 
global: div_intinf0_intinf1$59$2(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__2(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret141__2, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp142__2) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
*/
ATSINSflab(__patsflab_div_intinf0_intinf1):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
*/
ATSINSmove_void(tmp142__2, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
*/
ATSINSmove(tmpret141__2, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret141__2) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__2] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
*/
/*
local: 
global: intinf_free$12$3(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret22__3) ;
// ATStmpdec_void(tmp23__3) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
*/
ATSINSflab(__patsflab_intinf_free):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
*/
ATSINSmove_void(tmp23__3, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
*/
ATSINSmove_void(tmpret22__3, atspre_ptr_free(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret22__3) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4347(line=153, offs=5) -- 4464(line=156, offs=39)
*/
/*
local: sum_loop_80$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), bell_79$0(level=0), sum_loop_80$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
bell_79(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret193, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp198, atstkind_t0ype(atstype_bool)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4347(line=153, offs=5) -- 4464(line=156, offs=39)
*/
ATSINSflab(__patsflab_bell_79):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4390(line=154, offs=3) -- 4464(line=156, offs=39)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4407(line=155, offs=7) -- 4408(line=155, offs=8)
*/
ATSINSlab(__atstmplab36):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4360(line=153, offs=18) -- 4361(line=153, offs=19)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab38) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4408(line=155, offs=8) -- 4408(line=155, offs=8)
*/
ATSINSlab(__atstmplab37):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4412(line=155, offs=12) -- 4425(line=155, offs=25)
*/
ATSINSmove(tmpret193, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4433(line=156, offs=8) -- 4433(line=156, offs=8)
*/
ATSINSlab(__atstmplab38):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-guard:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4439(line=156, offs=14) -- 4445(line=156, offs=20)
*/
ATSINSmove(tmp198, ATSLIB_056_prelude__gte_g1int_int__83__1(arg0, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4439(line=156, offs=14) -- 4445(line=156, offs=20)
*/
ATSifnthen(ATSCKpat_bool(tmp198, ATSPMVbool_true())) { ATSINScaseof_fail("/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4432(line=156, offs=7) -- 4464(line=156, offs=39)") ; } ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4450(line=156, offs=25) -- 4464(line=156, offs=39)
*/
ATSINSmove(tmpret193, sum_loop_80(arg0, arg0)) ;

ATSbranch_end()

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

ATSfunbody_end()
ATSreturn(tmpret193) ;
} /* end of [bell_79] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4470(line=158, offs=5) -- 4891(line=171, offs=8)
*/
/*
local: choose_62$0(level=0), bell_79$0(level=0), sum_loop_80$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), bell_79$0(level=0), sum_loop_80$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
sum_loop_80(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret203, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref208, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp209, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref210, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref211, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref212, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref217, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp220) ;
// ATStmpdec_void(tmp223) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4470(line=158, offs=5) -- 4891(line=171, offs=8)
*/
ATSINSflab(__patsflab_sum_loop_80):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4566(line=159, offs=3) -- 4891(line=171, offs=8)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4583(line=160, offs=7) -- 4584(line=160, offs=8)
*/
ATSINSlab(__atstmplab39):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4536(line=158, offs=71) -- 4537(line=158, offs=72)
*/
ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab41) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4584(line=160, offs=8) -- 4584(line=160, offs=8)
*/
ATSINSlab(__atstmplab40):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4588(line=160, offs=12) -- 4601(line=160, offs=25)
*/
ATSINSmove(tmpret203, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4609(line=161, offs=8) -- 4609(line=161, offs=8)
*/
ATSINSlab(__atstmplab41):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4614(line=161, offs=13) -- 4891(line=171, offs=8)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4628(line=162, offs=11) -- 4629(line=162, offs=12)
*/
/*
ATSINStmpdec(tmpref208) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4644(line=162, offs=27) -- 4649(line=162, offs=32)
*/
ATSINSmove(tmp209, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4632(line=162, offs=15) -- 4650(line=162, offs=33)
*/
ATSINSmove(tmpref208, sum_loop_80(arg0, tmp209)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4661(line=163, offs=11) -- 4662(line=163, offs=12)
*/
/*
ATSINStmpdec(tmpref210) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4665(line=163, offs=15) -- 4671(line=163, offs=21)
*/
ATSINSmove(tmpref210, bell_79(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4683(line=164, offs=11) -- 4684(line=164, offs=12)
*/
/*
ATSINStmpdec(tmpref211) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4687(line=164, offs=15) -- 4699(line=164, offs=27)
*/
ATSINSmove(tmpref211, choose_62(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4710(line=165, offs=11) -- 4717(line=165, offs=18)
*/
/*
ATSINStmpdec(tmpref212) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4720(line=165, offs=21) -- 4745(line=165, offs=46)
*/
ATSINSmove(tmpref212, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__88__1(tmpref211, ATSPMVrefarg0(tmpref210))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4756(line=166, offs=11) -- 4759(line=166, offs=14)
*/
/*
ATSINStmpdec(tmpref217) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4762(line=166, offs=17) -- 4793(line=166, offs=48)
*/
ATSINSmove(tmpref217, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(tmpref212, ATSPMVrefarg0(tmpref208))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4808(line=167, offs=15) -- 4821(line=167, offs=28)
*/
ATSINSmove_void(tmp220, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(tmpref210)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4837(line=168, offs=15) -- 4850(line=168, offs=28)
*/
ATSINSmove_void(tmp223, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(tmpref208)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4865(line=170, offs=7) -- 4882(line=170, offs=24)
*/
ATSINSmove(tmpret203, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref217)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4614(line=161, offs=13) -- 4891(line=171, offs=8)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn(tmpret203) ;
} /* end of [sum_loop_80] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$19(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__19, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__19, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__19) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__19, ATSLIB_056_prelude__ptr_alloc__17__19()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__19, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__19, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__19, tmp30__19) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__19) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$19(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__19()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__19, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__19, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__19) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__19] */

#if(0)
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
*/
/*
local: 
global: gte_g1int_int$83$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4636)
tmparg = S2Evar(tk(4636))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__83(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret199, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp200, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
*/
ATSINSflab(__patsflab_gte_g1int_int):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
*/
ATSINSmove(tmp200, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4636))>)(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
*/
ATSINSmove(tmpret199, PMVtmpltcst(g1int_gte<S2Evar(tk(4636))>)(arg0, tmp200)) ;

ATSfunbody_end()
ATSreturn(tmpret199) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__83] */
#endif // end of [TEMPLATE]

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
*/
/*
local: 
global: gte_g1int_int$83$1(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4636)
tmparg = S2Evar(tk(4636))
tmpsub = Some(tk(4636) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__83__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret199__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp200__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
*/
ATSINSflab(__patsflab_gte_g1int_int):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
*/
ATSINSmove(tmp200__1, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
*/
ATSINSmove(tmpret199__1, atspre_g1int_gte_int(arg0, tmp200__1)) ;

ATSfunbody_end()
ATSreturn(tmpret199__1) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__83__1] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$20(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__20, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__20, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__20) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__20, ATSLIB_056_prelude__ptr_alloc__17__20()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__20, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__20, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__20, tmp30__20) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__20) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$20(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__20()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__20, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__20, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__20) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__20] */

#if(0)
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
*/
/*
local: 
global: mul_intinf0_intinf1$88$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__88(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret213, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp214) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
*/
ATSINSflab(__patsflab_mul_intinf0_intinf1):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
*/
ATSINSmove_void(tmp214, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
*/
ATSINSmove(tmpret213, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret213) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__88] */
#endif // end of [TEMPLATE]

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
*/
/*
local: 
global: mul_intinf0_intinf1$88$1(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__88__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret213__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp214__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
*/
ATSINSflab(__patsflab_mul_intinf0_intinf1):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
*/
ATSINSmove_void(tmp214__1, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
*/
ATSINSmove(tmpret213__1, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret213__1) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__88__1] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
*/
/*
local: 
global: add_intinf0_intinf1$6$3(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret8__3, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp9__3) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
*/
ATSINSflab(__patsflab_add_intinf0_intinf1):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
*/
ATSINSmove_void(tmp9__3, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
*/
ATSINSmove(tmpret8__3, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret8__3) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
*/
/*
local: 
global: intinf_free$12$4(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret22__4) ;
// ATStmpdec_void(tmp23__4) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
*/
ATSINSflab(__patsflab_intinf_free):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
*/
ATSINSmove_void(tmp23__4, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
*/
ATSINSmove_void(tmpret22__4, atspre_ptr_free(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret22__4) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
*/
/*
local: 
global: intinf_free$12$5(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret22__5) ;
// ATStmpdec_void(tmp23__5) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
*/
ATSINSflab(__patsflab_intinf_free):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
*/
ATSINSmove_void(tmp23__5, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
*/
ATSINSmove_void(tmpret22__5, atspre_ptr_free(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret22__5) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4896(line=173, offs=4) -- 5325(line=190, offs=6)
*/
/*
local: choose_62$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), max_regions_93$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
max_regions_93(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret226, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref246, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp247) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4896(line=173, offs=4) -- 5325(line=190, offs=6)
*/
ATSINSflab(__patsflab_max_regions_93):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4941(line=174, offs=3) -- 5325(line=190, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5275(line=186, offs=9) -- 5276(line=186, offs=10)
*/
/*
ATSINStmpdec(tmpref246) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5298(line=187, offs=14) -- 5308(line=187, offs=24)
*/
ATSINSmove_void(tmp247, loop_94(arg0, ATSPMVi0nt(4), ATSPMVrefarg1(ATSPMVptrof(tmpref246)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5318(line=189, offs=5) -- 5319(line=189, offs=6)
*/
ATSINSmove(tmpret226, tmpref246) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4941(line=174, offs=3) -- 5325(line=190, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret226) ;
} /* end of [max_regions_93] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4953(line=175, offs=9) -- 5261(line=184, offs=15)
*/
/*
local: choose_62$0(level=0), loop_94$0(level=1)
global: choose_62$0(level=0), loop_94$0(level=1)
local: n$5144(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: n$5144(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atsvoid_t0ype
loop_94(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret227) ;
ATStmpdec(tmp228, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp233, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp238) ;
ATStmpdec(tmp239, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref240, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp241, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4953(line=175, offs=9) -- 5261(line=184, offs=15)
*/
ATSINSflab(__patsflab_loop_94):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5029(line=176, offs=10) -- 5034(line=176, offs=15)
*/
ATSINSmove(tmp228, ATSLIB_056_prelude__eq_g1int_int__95__1(arg0, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5026(line=176, offs=7) -- 5261(line=184, offs=15)
*/
ATSif(
tmp228
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5055(line=177, offs=16) -- 5068(line=177, offs=29)
*/
ATSINSmove(tmp233, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__21(ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5048(line=177, offs=9) -- 5068(line=177, offs=29)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp233) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5048(line=177, offs=9) -- 5068(line=177, offs=29)
*/
ATSINSmove_void(tmpret227, ATSPMVempty()) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5088(line=179, offs=9) -- 5261(line=184, offs=15)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5116(line=180, offs=25) -- 5121(line=180, offs=30)
*/
ATSINSmove(tmp239, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5111(line=180, offs=20) -- 5127(line=180, offs=36)
*/
ATSINSmove_void(tmp238, loop_94(env0, tmp239, ATSPMVrefarg1(arg1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5142(line=181, offs=15) -- 5143(line=181, offs=16)
*/
/*
ATSINStmpdec(tmpref240) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5146(line=181, offs=19) -- 5158(line=181, offs=31)
*/
ATSINSmove(tmpref240, choose_62(env0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5185(line=182, offs=27) -- 5212(line=182, offs=54)
*/
ATSINSmove(tmp241, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__4(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVrefarg0(tmpref240))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5178(line=182, offs=20) -- 5212(line=182, offs=54)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp241) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5232(line=183, offs=20) -- 5245(line=183, offs=33)
*/
ATSINSmove_void(tmpret227, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(tmpref240)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5088(line=179, offs=9) -- 5261(line=184, offs=15)
*/
/*
INSletpop()
*/
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret227) ;
} /* end of [loop_94] */

#if(0)
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
*/
/*
local: 
global: eq_g1int_int$95$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4639)
tmparg = S2Evar(tk(4639))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__95(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret229, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp230, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
*/
ATSINSflab(__patsflab_eq_g1int_int):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
*/
ATSINSmove(tmp230, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4639))>)(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
*/
ATSINSmove(tmpret229, PMVtmpltcst(g1int_eq<S2Evar(tk(4639))>)(arg0, tmp230)) ;

ATSfunbody_end()
ATSreturn(tmpret229) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__95] */
#endif // end of [TEMPLATE]

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
*/
/*
local: 
global: eq_g1int_int$95$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4639)
tmparg = S2Evar(tk(4639))
tmpsub = Some(tk(4639) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__95__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret229__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp230__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
*/
ATSINSflab(__patsflab_eq_g1int_int):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
*/
ATSINSmove(tmp230__1, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
*/
ATSINSmove(tmpret229__1, atspre_g1int_eq_int(arg0, tmp230__1)) ;

ATSfunbody_end()
ATSreturn(tmpret229__1) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__95__1] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$21(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__21(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__21, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__21, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__21) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__21, ATSLIB_056_prelude__ptr_alloc__17__21()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
*/
ATSINSmove_void(tmp31__21, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__21, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
*/
ATSINSmove(tmpret29__21, tmp30__21) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__21) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__21] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$21(level=3)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4736)
tmparg = S2Evar(a(4736))
tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__21()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__21, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(tmpret35__21, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__21) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__21] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
*/
/*
local: 
global: add_intinf0_intinf1$6$4(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__4(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret8__4, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp9__4) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
*/
ATSINSflab(__patsflab_add_intinf0_intinf1):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
*/
ATSINSmove_void(tmp9__4, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
*/
ATSINSmove(tmpret8__4, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret8__4) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__4] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
*/
/*
local: 
global: intinf_free$12$6(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret22__6) ;
// ATStmpdec_void(tmp23__6) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
*/
ATSINSflab(__patsflab_intinf_free):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
*/
ATSINSmove_void(tmp23__6, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
*/
ATSINSmove_void(tmpret22__6, atspre_ptr_free(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret22__6) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5348(line=192, offs=22) -- 5371(line=193, offs=15)
*/
/*
local: choose_62$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), choose_ats$102$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
choose_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret248, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5337(line=192, offs=11) -- 5371(line=193, offs=15)
*/
ATSINSflab(__patsflab_choose_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5359(line=193, offs=3) -- 5371(line=193, offs=15)
*/
ATSINSmove(tmpret248, choose_62(arg0, arg1)) ;

ATSfunbody_end()
ATSreturn(tmpret248) ;
} /* end of [choose_ats] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5404(line=195, offs=32) -- 5419(line=196, offs=10)
*/
/*
local: dfact_41$0(level=0)
global: dfact_ref_35$0(level=0), dfact_41$0(level=0), double_factorial_ats$103$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
double_factorial_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret249, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5383(line=195, offs=11) -- 5420(line=196, offs=11)
*/
ATSINSflab(__patsflab_double_factorial_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5412(line=196, offs=3) -- 5419(line=196, offs=10)
*/
ATSINSmove(tmpret249, dfact_41(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret249) ;
} /* end of [double_factorial_ats] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5446(line=198, offs=25) -- 5460(line=199, offs=9)
*/
/*
local: fact_34$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), factorial_ats$104$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
factorial_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret250, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5432(line=198, offs=11) -- 5461(line=199, offs=10)
*/
ATSINSflab(__patsflab_factorial_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5454(line=199, offs=3) -- 5460(line=199, offs=9)
*/
ATSINSmove(tmpret250, fact_34(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret250) ;
} /* end of [factorial_ats] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5485(line=201, offs=23) -- 5502(line=202, offs=12)
*/
/*
local: catalan_50$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), catalan_50$0(level=0), catalan_ats$105$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
catalan_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret251, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5473(line=201, offs=11) -- 5503(line=202, offs=13)
*/
ATSINSflab(__patsflab_catalan_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5493(line=202, offs=3) -- 5502(line=202, offs=12)
*/
ATSINSmove(tmpret251, catalan_50(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret251) ;
} /* end of [catalan_ats] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5532(line=204, offs=28) -- 5554(line=205, offs=17)
*/
/*
local: derangements_0$0(level=0)
global: derangements_0$0(level=0), derangements_ats$106$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
derangements_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret252, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5515(line=204, offs=11) -- 5555(line=205, offs=18)
*/
ATSINSflab(__patsflab_derangements_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5540(line=205, offs=3) -- 5554(line=205, offs=17)
*/
ATSINSmove(tmpret252, derangements_0(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret252) ;
} /* end of [derangements_ats] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5584(line=207, offs=28) -- 5613(line=208, offs=21)
*/
/*
local: permutations_42$0(level=0)
global: permutations_42$0(level=0), permutations_ats$107$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
permutations_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret253, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5567(line=207, offs=11) -- 5613(line=208, offs=21)
*/
ATSINSflab(__patsflab_permutations_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5595(line=208, offs=3) -- 5613(line=208, offs=21)
*/
ATSINSmove(tmpret253, permutations_42(arg0, arg1)) ;

ATSfunbody_end()
ATSreturn(tmpret253) ;
} /* end of [permutations_ats] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5641(line=210, offs=27) -- 5662(line=211, offs=16)
*/
/*
local: max_regions_93$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), max_regions_93$0(level=0), max_regions_ats$108$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
max_regions_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret254, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5625(line=210, offs=11) -- 5663(line=211, offs=17)
*/
ATSINSflab(__patsflab_max_regions_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5649(line=211, offs=3) -- 5662(line=211, offs=16)
*/
ATSINSmove(tmpret254, max_regions_93(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret254) ;
} /* end of [max_regions_ats] */

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

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

/* end-of-compilation-unit */