packages feed

fast-arithmetic-0.6.4.0: 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_eq_int)
ATSdyncst_mac(atspre_g0int2int_int_int)
ATSdyncst_mac(atspre_g0int_eq_int)
ATSdyncst_mac(atspre_g0int_mod_int)
ATSdyncst_mac(atscntrb_gmp_mpz_neg1)
ATSdyncst_mac(atscntrb_gmp_mpz_init)
ATSdyncst_mac(atscntrb_gmp_mpz_ui_pow_ui)
ATSdyncst_mac(atspre_g1int2uint_int_ulint)
ATSdyncst_mac(atscntrb_gmp_mpz_mul2_mpz)
/*
dyncstlst-declaration(end)
*/
/*
dynvalist-implementation(beg)
*/
/*
dynvalist-implementation(end)
*/
/*
exnconlst-declaration(beg)
*/
#ifndef _ATS_CCOMP_EXCEPTION_NONE_
ATSextern()
atsvoid_t0ype
the_atsexncon_initize
(
  atstype_exnconptr d2c, atstype_string exnmsg
) ;
#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
/*
exnconlst-declaration(end)
*/
/*
extypelst-declaration(beg)
*/
/*
extypelst-declaration(end)
*/
/*
assumelst-declaration(beg)
*/
#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
/*
assumelst-declaration(end)
*/
ATSstatic()
atstkind_type(atstype_ptrk)
derangements_0(atstkind_t0ype(atstype_int)) ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__1() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__2() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__3() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__4() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__5() ;

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__6() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__7() ;

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

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

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__8() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__9() ;

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
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)
stirling2_79(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

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

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

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

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

ATSstatic()
atsvoid_t0ype
top_loop_89(atstkind_t0ype(atstype_int), 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__21(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__21() ;

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

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

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__neg_intinf0__98__1(atstkind_type(atstype_ptrk)) ;

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__22() ;

#if(0)
#if(0)
ATSextern()
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__103(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__103__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)
ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__3(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)) ;

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

ATSstatic()
atsvoid_t0ype
sum_loop_111(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__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__7(atstkind_type(atstype_ptrk)) ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__23() ;

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

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

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__24() ;

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

ATSstatic()
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__8(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)
stirling2_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]

#if(0)
ATSextern()
atstkind_type(atstype_ptrk)
bell_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: 4405(line=155, offs=4) -- 5492(line=187, offs=8)
*/
/*
local: fact_34$0(level=0), choose_62$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), stirling2_79$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
stirling2_79(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret193, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp194, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp195, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp206, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmpref262, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp263) ;
ATStmpdec(tmpref264, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref265, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp268) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4405(line=155, offs=4) -- 5492(line=187, offs=8)
*/
ATSINSflab(__patsflab_stirling2_79):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4480(line=157, offs=7) -- 4494(line=157, offs=21)
*/
ATSINSmove(tmp195, ATSLIB_056_prelude__eq_g1int_int__80__1(arg1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4480(line=157, offs=7) -- 4494(line=157, offs=21)
*/
ATSif(
tmp195
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4480(line=157, offs=7) -- 4494(line=157, offs=21)
*/
ATSINSmove(tmp194, ATSLIB_056_prelude__eq_g1int_int__80__2(arg0, ATSPMVi0nt(0))) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4480(line=157, offs=7) -- 4494(line=157, offs=21)
*/
ATSINSmove(tmp194, ATSPMVbool_false()) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4467(line=156, offs=3) -- 5492(line=187, offs=8)
*/
ATSif(
tmp194
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4498(line=157, offs=25) -- 4511(line=157, offs=38)
*/
ATSINSmove(tmpret193, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(ATSPMVi0nt(1))) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4518(line=158, offs=7) -- 4523(line=158, offs=12)
*/
ATSINSmove(tmp206, ATSLIB_056_prelude__gt_g1int_int__44__3(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4467(line=156, offs=3) -- 5492(line=187, offs=8)
*/
ATSif(
tmp206
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4527(line=158, offs=16) -- 4540(line=158, offs=29)
*/
ATSINSmove(tmpret193, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20(ATSPMVi0nt(0))) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4552(line=159, offs=12) -- 5492(line=187, offs=8)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5316(line=180, offs=11) -- 5319(line=180, offs=14)
*/
/*
ATSINStmpdec(tmpref262) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5343(line=181, offs=16) -- 5359(line=181, offs=32)
*/
ATSINSmove_void(tmp263, top_loop_89(arg0, arg1, arg1, ATSPMVrefarg1(ATSPMVptrof(tmpref262)))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5370(line=182, offs=11) -- 5373(line=182, offs=14)
*/
/*
ATSINStmpdec(tmpref264) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5376(line=182, offs=17) -- 5382(line=182, offs=23)
*/
ATSINSmove(tmpref264, fact_34(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5394(line=183, offs=11) -- 5400(line=183, offs=17)
*/
/*
ATSINStmpdec(tmpref265) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5403(line=183, offs=20) -- 5432(line=183, offs=49)
*/
ATSINSmove(tmpref265, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__3(tmpref262, ATSPMVrefarg0(tmpref264))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5448(line=184, offs=16) -- 5463(line=184, offs=31)
*/
ATSINSmove_void(tmp268, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(tmpref264)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5478(line=186, offs=7) -- 5484(line=186, offs=13)
*/
ATSINSmove(tmpret193, tmpref265) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4552(line=159, offs=12) -- 5492(line=187, offs=8)
*/
/*
INSletpop()
*/
} /* ATSendif */
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret193) ;
} /* end of [stirling2_79] */

#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$80$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__80(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret196, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp197, 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(tmp197, 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(tmpret196, PMVtmpltcst(g1int_eq<S2Evar(tk(4639))>)(arg0, tmp197)) ;

ATSfunbody_end()
ATSreturn(tmpret196) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__80] */
#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$80$1(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4639)
tmparg = S2Evar(tk(4639))
tmpsub = Some(tk(4639) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__80__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret196__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp197__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(tmp197__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(tmpret196__1, atspre_g1int_eq_int(arg0, tmp197__1)) ;

ATSfunbody_end()
ATSreturn(tmpret196__1) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__80__1] */

/*
/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$80$2(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4639)
tmparg = S2Evar(tk(4639))
tmpsub = Some(tk(4639) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__80__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret196__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp197__2, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
*/
ATSINSflab(__patsflab_eq_g1int_int):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
*/
ATSINSmove(tmp197__2, atspre_g1int2int_int_int(arg1)) ;

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

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

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

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

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

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4566(line=160, offs=11) -- 5298(line=178, offs=12)
*/
/*
local: choose_62$0(level=0), top_loop_89$0(level=1)
global: choose_62$0(level=0), top_loop_89$0(level=1)
local: n$5132(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), k$5133(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: n$5132(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), k$5133(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atsvoid_t0ype
top_loop_89(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(tmpret213) ;
ATStmpdec(tmp214, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp230) ;
ATStmpdec(tmp231, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref232, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref233, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref247, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp248, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref249, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp254, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp257) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4566(line=160, offs=11) -- 5298(line=178, offs=12)
*/
ATSINSflab(__patsflab_top_loop_89):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4645(line=161, offs=9) -- 5298(line=178, offs=12)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4668(line=162, offs=13) -- 4669(line=162, offs=14)
*/
ATSINSlab(__atstmplab36):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4590(line=160, offs=35) -- 4591(line=160, offs=36)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab38) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4669(line=162, offs=14) -- 4669(line=162, offs=14)
*/
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: 4680(line=162, offs=25) -- 4693(line=162, offs=38)
*/
ATSINSmove(tmp214, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__21(ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4673(line=162, offs=18) -- 4693(line=162, offs=38)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp214) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4673(line=162, offs=18) -- 4693(line=162, offs=38)
*/
ATSINSmove_void(tmpret213, ATSPMVempty()) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4707(line=163, offs=14) -- 4707(line=163, offs=14)
*/
ATSINSlab(__atstmplab38):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4712(line=163, offs=19) -- 5298(line=178, offs=12)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4918(line=170, offs=31) -- 4923(line=170, offs=36)
*/
ATSINSmove(tmp231, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4909(line=170, offs=22) -- 4929(line=170, offs=42)
*/
ATSINSmove_void(tmp230, top_loop_89(env0, env1, tmp231, ATSPMVrefarg1(arg1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4946(line=171, offs=17) -- 4949(line=171, offs=20)
*/
/*
ATSINStmpdec(tmpref232) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4952(line=171, offs=23) -- 4964(line=171, offs=35)
*/
ATSINSmove(tmpref232, choose_62(env1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4981(line=172, offs=17) -- 4987(line=172, offs=23)
*/
/*
ATSINStmpdec(tmpref233) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4990(line=172, offs=26) -- 5007(line=172, offs=43)
*/
ATSINSmove(tmpref233, ATSCNTRB_056_HX_056_intinf_vt__pow_int_int__100__1(arg0, env0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5024(line=173, offs=17) -- 5034(line=173, offs=27)
*/
/*
ATSINStmpdec(tmpref247) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5051(line=173, offs=44) -- 5056(line=173, offs=49)
*/
ATSINSmove(tmp248, atspre_g1int_sub_int(env1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5037(line=173, offs=30) -- 5065(line=173, offs=58)
*/
ATSINSmove(tmpref247, negate_if_odd_92(tmp248, tmpref233)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5082(line=174, offs=17) -- 5092(line=174, offs=27)
*/
/*
ATSINStmpdec(tmpref249) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5095(line=174, offs=30) -- 5131(line=174, offs=66)
*/
ATSINSmove(tmpref249, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__103__1(tmpref232, ATSPMVrefarg0(tmpref247))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5160(line=175, offs=29) -- 5196(line=175, offs=65)
*/
ATSINSmove(tmp254, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVrefarg0(tmpref249))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5153(line=175, offs=22) -- 5196(line=175, offs=65)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp254) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5218(line=176, offs=22) -- 5240(line=176, offs=44)
*/
ATSINSmove_void(tmp257, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(tmpref247)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5263(line=177, offs=22) -- 5285(line=177, offs=44)
*/
ATSINSmove_void(tmpret213, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(tmpref249)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4712(line=163, offs=19) -- 5298(line=178, offs=12)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn_void(tmpret213) ;
} /* end of [top_loop_89] */

/*
/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/ats-src/combinatorics.dats: 4729(line=164, offs=16) -- 4874(line=168, offs=31)
*/
/*
local: 
global: negate_if_odd_92$0(level=2)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
negate_if_odd_92(atstkind_t0ype(atstype_int) arg0, atstkind_type(atstype_ptrk) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret219, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp220, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp225, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4729(line=164, offs=16) -- 4874(line=168, offs=31)
*/
ATSINSflab(__patsflab_negate_if_odd_92):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4792(line=165, offs=18) -- 4797(line=165, offs=23)
*/
ATSINSmove(tmp225, atspre_g0int_mod_int(arg0, ATSPMVi0nt(2))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4792(line=165, offs=18) -- 4801(line=165, offs=27)
*/
ATSINSmove(tmp220, ATSLIB_056_prelude__eq_g0int_int__93__1(tmp225, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4789(line=165, offs=15) -- 4874(line=168, offs=31)
*/
ATSif(
tmp220
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4823(line=166, offs=17) -- 4824(line=166, offs=18)
*/
ATSINSmove(tmpret219, arg1) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4860(line=168, offs=17) -- 4873(line=168, offs=30)
*/
ATSINSmove(tmpret219, ATSCNTRB_056_HX_056_intinf_vt__neg_intinf0__98__1(arg1)) ;

} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret219) ;
} /* end of [negate_if_odd_92] */

#if(0)
/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
*/
/*
local: 
global: eq_g0int_int$93$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4624)
tmparg = S2Evar(tk(4624))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g0int_int__93(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret221, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp222, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
*/
ATSINSflab(__patsflab_eq_g0int_int):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
*/
ATSINSmove(tmp222, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4624))>)(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
*/
ATSINSmove(tmpret221, PMVtmpltcst(g0int_eq<S2Evar(tk(4624))>)(arg0, tmp222)) ;

ATSfunbody_end()
ATSreturn(tmpret221) ;
} /* end of [ATSLIB_056_prelude__eq_g0int_int__93] */
#endif // end of [TEMPLATE]

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
*/
/*
local: 
global: eq_g0int_int$93$1(level=3)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4624)
tmparg = S2Evar(tk(4624))
tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g0int_int__93__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret221__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp222__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
*/
ATSINSflab(__patsflab_eq_g0int_int):
/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
*/
ATSINSmove(tmp222__1, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
*/
ATSINSmove(tmpret221__1, atspre_g0int_eq_int(arg0, tmp222__1)) ;

ATSfunbody_end()
ATSreturn(tmpret221__1) ;
} /* end of [ATSLIB_056_prelude__eq_g0int_int__93__1] */

#if(0)
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3629(line=165, offs=3) -- 3684(line=170, offs=2)
*/
/*
local: 
global: neg_intinf0$98$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__neg_intinf0__98(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret226, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp227) ;
/* 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: 3615(line=164, offs=1) -- 3684(line=170, offs=2)
*/
ATSINSflab(__patsflab_neg_intinf0):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3635(line=165, offs=9) -- 3684(line=170, 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: 3659(line=168, offs=10) -- 3679(line=168, offs=30)
*/
ATSINSmove_void(tmp227, atscntrb_gmp_mpz_neg1(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3636(line=165, offs=10) -- 3637(line=165, offs=11)
*/
ATSINSmove(tmpret226, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3635(line=165, offs=9) -- 3684(line=170, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret226) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__neg_intinf0__98] */
#endif // end of [TEMPLATE]

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3629(line=165, offs=3) -- 3684(line=170, offs=2)
*/
/*
local: 
global: neg_intinf0$98$1(level=3)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__neg_intinf0__98__1(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret226__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp227__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: 3615(line=164, offs=1) -- 3684(line=170, offs=2)
*/
ATSINSflab(__patsflab_neg_intinf0):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3635(line=165, offs=9) -- 3684(line=170, 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: 3659(line=168, offs=10) -- 3679(line=168, offs=30)
*/
ATSINSmove_void(tmp227__1, atscntrb_gmp_mpz_neg1(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3636(line=165, offs=10) -- 3637(line=165, offs=11)
*/
ATSINSmove(tmpret226__1, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3635(line=165, offs=9) -- 3684(line=170, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret226__1) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__neg_intinf0__98__1] */

#if(0)
/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14073(line=810, offs=3) -- 14242(line=819, offs=2)
*/
/*
local: 
global: pow_int_int$100$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__pow_int_int__100(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret234, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp235, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp236) ;
// ATStmpdec_void(tmp237) ;
ATStmpdec(tmp238, atstkind_t0ype(atstype_ulint)) ;
ATStmpdec(tmp239, atstkind_t0ype(atstype_ulint)) ;
/* 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: 14059(line=809, offs=1) -- 14242(line=819, offs=2)
*/
ATSINSflab(__patsflab_pow_int_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14089(line=811, offs=3) -- 14242(line=819, 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: 14127(line=814, offs=10) -- 14143(line=814, offs=26)
*/
ATSINSmove(tmp235, 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: 14153(line=815, offs=10) -- 14175(line=815, offs=32)
*/
ATSINSmove_void(tmp236, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmp235, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14215(line=817, offs=31) -- 14224(line=817, offs=40)
*/
ATSINSmove(tmp238, atspre_g1int2uint_int_ulint(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14227(line=817, offs=43) -- 14235(line=817, offs=51)
*/
ATSINSmove(tmp239, atspre_g1int2uint_int_ulint(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14187(line=817, offs=3) -- 14237(line=817, offs=53)
*/
ATSINSmove_void(tmp237, atscntrb_gmp_mpz_ui_pow_ui(ATSPMVrefarg1(ATSSELrecsin(tmp235, atstkind_type(atstype_ptrk), atslab__2)), tmp238, tmp239)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14089(line=811, offs=3) -- 14105(line=811, offs=19)
*/
ATSINSmove(tmpret234, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp235)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14089(line=811, offs=3) -- 14242(line=819, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret234) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__pow_int_int__100] */
#endif // end of [TEMPLATE]

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14073(line=810, offs=3) -- 14242(line=819, offs=2)
*/
/*
local: 
global: pow_int_int$100$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__pow_int_int__100__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret234__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp235__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp236__1) ;
// ATStmpdec_void(tmp237__1) ;
ATStmpdec(tmp238__1, atstkind_t0ype(atstype_ulint)) ;
ATStmpdec(tmp239__1, atstkind_t0ype(atstype_ulint)) ;
/* 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: 14059(line=809, offs=1) -- 14242(line=819, offs=2)
*/
ATSINSflab(__patsflab_pow_int_int):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14089(line=811, offs=3) -- 14242(line=819, 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: 14127(line=814, offs=10) -- 14143(line=814, offs=26)
*/
ATSINSmove(tmp235__1, ATSLIB_056_prelude__ptr_alloc__17__22()) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14153(line=815, offs=10) -- 14175(line=815, offs=32)
*/
ATSINSmove_void(tmp236__1, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmp235__1, atstkind_type(atstype_ptrk), atslab__2)))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14215(line=817, offs=31) -- 14224(line=817, offs=40)
*/
ATSINSmove(tmp238__1, atspre_g1int2uint_int_ulint(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14227(line=817, offs=43) -- 14235(line=817, offs=51)
*/
ATSINSmove(tmp239__1, atspre_g1int2uint_int_ulint(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14187(line=817, offs=3) -- 14237(line=817, offs=53)
*/
ATSINSmove_void(tmp237__1, atscntrb_gmp_mpz_ui_pow_ui(ATSPMVrefarg1(ATSSELrecsin(tmp235__1, atstkind_type(atstype_ptrk), atslab__2)), tmp238__1, tmp239__1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14089(line=811, offs=3) -- 14105(line=811, offs=19)
*/
ATSINSmove(tmpret234__1, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp235__1)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14089(line=811, offs=3) -- 14242(line=819, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret234__1) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__pow_int_int__100__1] */

/*
/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$22(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__22()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__22, 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__22, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__22) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__22] */

#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$103$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__103(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret250, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp251) ;
/* 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(tmp251, 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(tmpret250, 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(tmpret250) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__103] */
#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$103$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__103__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret250__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp251__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(tmp251__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(tmpret250__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(tmpret250__1) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__103__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=2)
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=2)
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=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret22__5) ;
// ATStmpdec_void(tmp23__5) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
*/
ATSINSflab(__patsflab_intinf_free):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
*/
ATSINSmove_void(tmp23__5, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;

/*
letpush(end)
*/

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

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

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

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
*/
ATSINSmove(tmpret141__3, arg0) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret141__3) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__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$6(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret22__6) ;
// ATStmpdec_void(tmp23__6) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
*/
ATSINSflab(__patsflab_intinf_free):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
*/
ATSINSmove_void(tmp23__6, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;

/*
letpush(end)
*/

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

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

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5701(line=193, offs=4) -- 6245(line=213, offs=6)
*/
/*
local: stirling2_79$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), stirling2_79$0(level=0), bell_110$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
bell_110(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret271, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref286, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp287) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5701(line=193, offs=4) -- 6245(line=213, offs=6)
*/
ATSINSflab(__patsflab_bell_110):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5739(line=194, offs=3) -- 6245(line=213, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6095(line=205, offs=5) -- 6239(line=212, offs=10)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6114(line=206, offs=9) -- 6115(line=206, offs=10)
*/
ATSINSlab(__atstmplab42):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5714(line=193, offs=17) -- 5715(line=193, offs=18)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab44) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6115(line=206, offs=10) -- 6115(line=206, offs=10)
*/
ATSINSlab(__atstmplab43):
/*
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: 6119(line=206, offs=14) -- 6132(line=206, offs=27)
*/
ATSINSmove(tmpret271, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__22(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6142(line=207, offs=10) -- 6142(line=207, offs=10)
*/
ATSINSlab(__atstmplab44):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6147(line=207, offs=15) -- 6239(line=212, offs=10)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6163(line=208, offs=13) -- 6166(line=208, offs=16)
*/
/*
ATSINStmpdec(tmpref286) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6192(line=209, offs=18) -- 6208(line=209, offs=34)
*/
ATSINSmove_void(tmp287, sum_loop_111(arg0, arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref286)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6226(line=211, offs=9) -- 6229(line=211, offs=12)
*/
ATSINSmove(tmpret271, tmpref286) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6147(line=207, offs=15) -- 6239(line=212, 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: 5739(line=194, offs=3) -- 6245(line=213, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret271) ;
} /* end of [bell_110] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5751(line=195, offs=9) -- 6085(line=203, offs=10)
*/
/*
local: stirling2_79$0(level=0), sum_loop_111$0(level=1)
global: stirling2_79$0(level=0), sum_loop_111$0(level=1)
local: n$5149(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: n$5149(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atsvoid_t0ype
sum_loop_111(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret272) ;
ATStmpdec(tmp273, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp274) ;
ATStmpdec(tmp275, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref276, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp277, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5751(line=195, offs=9) -- 6085(line=203, offs=10)
*/
ATSINSflab(__patsflab_sum_loop_111):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5841(line=196, offs=7) -- 6085(line=203, offs=10)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5862(line=197, offs=11) -- 5863(line=197, offs=12)
*/
ATSINSlab(__atstmplab39):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5788(line=195, offs=46) -- 5789(line=195, offs=47)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab41) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5863(line=197, offs=12) -- 5863(line=197, offs=12)
*/
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: 5874(line=197, offs=23) -- 5889(line=197, offs=38)
*/
ATSINSmove(tmp273, stirling2_79(env0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5867(line=197, offs=16) -- 5889(line=197, offs=38)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp273) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5867(line=197, offs=16) -- 5889(line=197, offs=38)
*/
ATSINSmove_void(tmpret272, ATSPMVempty()) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5901(line=198, offs=12) -- 5901(line=198, offs=12)
*/
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: 5906(line=198, offs=17) -- 6085(line=203, offs=10)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5936(line=199, offs=29) -- 5941(line=199, offs=34)
*/
ATSINSmove(tmp275, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5927(line=199, offs=20) -- 5947(line=199, offs=40)
*/
ATSINSmove_void(tmp274, sum_loop_111(env0, tmp275, ATSPMVrefarg1(arg1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5962(line=200, offs=15) -- 5965(line=200, offs=18)
*/
/*
ATSINStmpdec(tmpref276) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5968(line=200, offs=21) -- 5983(line=200, offs=36)
*/
ATSINSmove(tmpref276, stirling2_79(env0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6010(line=201, offs=27) -- 6039(line=201, offs=56)
*/
ATSINSmove(tmp277, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__4(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVrefarg0(tmpref276))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6003(line=201, offs=20) -- 6039(line=201, offs=56)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp277) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6059(line=202, offs=20) -- 6074(line=202, offs=35)
*/
ATSINSmove_void(tmpret272, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__7(tmpref276)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5906(line=198, offs=17) -- 6085(line=203, offs=10)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn_void(tmpret272) ;
} /* end of [sum_loop_111] */

/*
/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$7(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__7(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret22__7) ;
// ATStmpdec_void(tmp23__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: 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__7, 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__7, 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__7) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__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$22(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__22(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__22, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__22, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__22) ;
/* 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__22, ATSLIB_056_prelude__ptr_alloc__17__23()) ;

/*
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__22, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__22, 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__22, tmp30__22) ;
/*
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__22) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__22] */

/*
/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$23(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__23()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__23, 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__23, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__23) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__23] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6250(line=215, offs=4) -- 6679(line=232, 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_116$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
max_regions_116(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret288, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref306, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp307) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6250(line=215, offs=4) -- 6679(line=232, offs=6)
*/
ATSINSflab(__patsflab_max_regions_116):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6295(line=216, offs=3) -- 6679(line=232, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6629(line=228, offs=9) -- 6630(line=228, offs=10)
*/
/*
ATSINStmpdec(tmpref306) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6652(line=229, offs=14) -- 6662(line=229, offs=24)
*/
ATSINSmove_void(tmp307, loop_117(arg0, ATSPMVi0nt(4), ATSPMVrefarg1(ATSPMVptrof(tmpref306)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6672(line=231, offs=5) -- 6673(line=231, offs=6)
*/
ATSINSmove(tmpret288, tmpref306) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6295(line=216, offs=3) -- 6679(line=232, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret288) ;
} /* end of [max_regions_116] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6307(line=217, offs=9) -- 6615(line=226, offs=15)
*/
/*
local: choose_62$0(level=0), loop_117$0(level=1)
global: choose_62$0(level=0), loop_117$0(level=1)
local: n$5158(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: n$5158(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atsvoid_t0ype
loop_117(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret289) ;
ATStmpdec(tmp290, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp293, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp298) ;
ATStmpdec(tmp299, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref300, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp301, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6307(line=217, offs=9) -- 6615(line=226, offs=15)
*/
ATSINSflab(__patsflab_loop_117):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6383(line=218, offs=10) -- 6388(line=218, offs=15)
*/
ATSINSmove(tmp290, ATSLIB_056_prelude__eq_g1int_int__80__3(arg0, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6380(line=218, offs=7) -- 6615(line=226, offs=15)
*/
ATSif(
tmp290
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6409(line=219, offs=16) -- 6422(line=219, offs=29)
*/
ATSINSmove(tmp293, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__23(ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6402(line=219, offs=9) -- 6422(line=219, offs=29)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp293) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6402(line=219, offs=9) -- 6422(line=219, offs=29)
*/
ATSINSmove_void(tmpret289, ATSPMVempty()) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6442(line=221, offs=9) -- 6615(line=226, offs=15)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6470(line=222, offs=25) -- 6475(line=222, offs=30)
*/
ATSINSmove(tmp299, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6465(line=222, offs=20) -- 6481(line=222, offs=36)
*/
ATSINSmove_void(tmp298, loop_117(env0, tmp299, ATSPMVrefarg1(arg1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6496(line=223, offs=15) -- 6497(line=223, offs=16)
*/
/*
ATSINStmpdec(tmpref300) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6500(line=223, offs=19) -- 6512(line=223, offs=31)
*/
ATSINSmove(tmpref300, choose_62(env0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6539(line=224, offs=27) -- 6566(line=224, offs=54)
*/
ATSINSmove(tmp301, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__5(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVrefarg0(tmpref300))) ;

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

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6586(line=225, offs=20) -- 6599(line=225, offs=33)
*/
ATSINSmove_void(tmpret289, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__8(tmpref300)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6442(line=221, offs=9) -- 6615(line=226, offs=15)
*/
/*
INSletpop()
*/
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret289) ;
} /* end of [loop_117] */

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

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

ATSfunbody_end()
ATSreturn(tmpret196__3) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__80__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$23(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__23(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__23, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp30__23, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp31__23) ;
/* 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__23, ATSLIB_056_prelude__ptr_alloc__17__24()) ;

/*
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__23, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__23, 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__23, tmp30__23) ;
/*
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__23) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__23] */

/*
/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$24(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__24()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__24, 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__24, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;

ATSfunbody_end()
ATSreturn(tmpret35__24) ;
} /* end of [ATSLIB_056_prelude__ptr_alloc__17__24] */

/*
/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$5(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__5(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret8__5, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp9__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: 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__5, 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__5, 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__5) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__5] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
*/
/*
local: 
global: intinf_free$12$8(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__8(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret22__8) ;
// ATStmpdec_void(tmp23__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: 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__8, 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__8, 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__8) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__8] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6702(line=234, offs=22) -- 6725(line=235, 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$123$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(tmpret308, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6691(line=234, offs=11) -- 6725(line=235, offs=15)
*/
ATSINSflab(__patsflab_choose_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6713(line=235, offs=3) -- 6725(line=235, offs=15)
*/
ATSINSmove(tmpret308, choose_62(arg0, arg1)) ;

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

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6758(line=237, offs=32) -- 6773(line=238, offs=10)
*/
/*
local: dfact_41$0(level=0)
global: dfact_ref_35$0(level=0), dfact_41$0(level=0), double_factorial_ats$124$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
double_factorial_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret309, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6737(line=237, offs=11) -- 6774(line=238, offs=11)
*/
ATSINSflab(__patsflab_double_factorial_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6766(line=238, offs=3) -- 6773(line=238, offs=10)
*/
ATSINSmove(tmpret309, dfact_41(arg0)) ;

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

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6800(line=240, offs=25) -- 6814(line=241, offs=9)
*/
/*
local: fact_34$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), factorial_ats$125$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
factorial_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret310, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6786(line=240, offs=11) -- 6815(line=241, offs=10)
*/
ATSINSflab(__patsflab_factorial_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6808(line=241, offs=3) -- 6814(line=241, offs=9)
*/
ATSINSmove(tmpret310, fact_34(arg0)) ;

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

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6839(line=243, offs=23) -- 6856(line=244, 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$126$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
catalan_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret311, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6827(line=243, offs=11) -- 6857(line=244, offs=13)
*/
ATSINSflab(__patsflab_catalan_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6847(line=244, offs=3) -- 6856(line=244, offs=12)
*/
ATSINSmove(tmpret311, catalan_50(arg0)) ;

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

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6886(line=246, offs=28) -- 6908(line=247, offs=17)
*/
/*
local: derangements_0$0(level=0)
global: derangements_0$0(level=0), derangements_ats$127$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
derangements_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret312, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6869(line=246, offs=11) -- 6909(line=247, offs=18)
*/
ATSINSflab(__patsflab_derangements_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6894(line=247, offs=3) -- 6908(line=247, offs=17)
*/
ATSINSmove(tmpret312, derangements_0(arg0)) ;

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

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6938(line=249, offs=28) -- 6967(line=250, offs=21)
*/
/*
local: permutations_42$0(level=0)
global: permutations_42$0(level=0), permutations_ats$128$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(tmpret313, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6921(line=249, offs=11) -- 6967(line=250, offs=21)
*/
ATSINSflab(__patsflab_permutations_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6949(line=250, offs=3) -- 6967(line=250, offs=21)
*/
ATSINSmove(tmpret313, permutations_42(arg0, arg1)) ;

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

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6993(line=252, offs=25) -- 7019(line=253, offs=18)
*/
/*
local: stirling2_79$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), stirling2_79$0(level=0), stirling2_ats$129$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
stirling2_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret314, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6979(line=252, offs=11) -- 7019(line=253, offs=18)
*/
ATSINSflab(__patsflab_stirling2_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 7004(line=253, offs=3) -- 7019(line=253, offs=18)
*/
ATSINSmove(tmpret314, stirling2_79(arg0, arg1)) ;

ATSfunbody_end()
ATSreturn(tmpret314) ;
} /* end of [stirling2_ats] */

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 7047(line=255, offs=27) -- 7068(line=256, offs=16)
*/
/*
local: max_regions_116$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), max_regions_116$0(level=0), max_regions_ats$130$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
max_regions_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret315, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 7031(line=255, offs=11) -- 7069(line=256, offs=17)
*/
ATSINSflab(__patsflab_max_regions_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 7055(line=256, offs=3) -- 7068(line=256, offs=16)
*/
ATSINSmove(tmpret315, max_regions_116(arg0)) ;

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

/*
/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 7090(line=258, offs=20) -- 7104(line=259, offs=9)
*/
/*
local: bell_110$0(level=0)
global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), stirling2_79$0(level=0), bell_110$0(level=0), bell_ats$131$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
bell_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret316, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 7081(line=258, offs=11) -- 7105(line=259, offs=10)
*/
ATSINSflab(__patsflab_bell_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 7098(line=259, offs=3) -- 7104(line=259, offs=9)
*/
ATSINSmove(tmpret316, bell_110(arg0)) ;

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