packages feed

fast-arithmetic-0.3.1.0: cbits/combinatorics.c

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

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


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

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

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

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

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

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

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

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

//
#include \
"atscntrb-libgmp/CATS/gmp.cats"
//
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
*/
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
*/
/*
staload-prologues(end)
*/
/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 77(line=4, offs=1) -- 216(line=8, offs=3)
*/
ATSextcode_beg()
#define ATS_MEMALLOC_LIBC
#include "ccomp/runtime/pats_ccomp_memalloc_libc.h"
#include "ccomp/runtime/pats_ccomp_runtime_memalloc.c"
ATSextcode_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(atscntrb_gmp_mpz_tdiv2_q_mpz)
ATSdyncst_mac(atspre_g1int_mul_int)
/*
dyncstlst-declaration(end)
*/
/*
dynvalist-implementation(beg)
*/
/*
dynvalist-implementation(end)
*/
/*
exnconlst-declaration(beg)
*/
#ifndef _ATS_CCOMP_EXCEPTION_NONE_
ATSextern()
atsvoid_t0ype
the_atsexncon_initize
(
  atstype_exnconptr d2c, atstype_string exnmsg
) ;
#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
/*
exnconlst-declaration(end)
*/
/*
extypelst-declaration(beg)
*/
/*
extypelst-declaration(end)
*/
/*
assumelst-declaration(beg)
*/
#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
/*
assumelst-declaration(end)
*/
ATSstatic()
atstkind_type(atstype_ptrk)
derangements_0(atstkind_t0ype(atstype_int)) ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__1() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__2() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__3() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__4() ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__5() ;

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

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)
dfact_34(atstkind_t0ype(atstype_int)) ;

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)
permutations_40(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41(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__41__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)
catalan_44(atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
numerator_loop_45(atstkind_t0ype(atstype_int), 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)
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__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__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__div_intinf0_intinf1__41__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)
choose_55(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

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

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() ;

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__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__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__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__div_intinf0_intinf1__41__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)) ;

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

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 280(line=10, offs=4) -- 980(line=34, 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/fast-arithmetic/ats-src/combinatorics.dats: 280(line=10, offs=4) -- 980(line=34, offs=6)
*/
ATSINSflab(__patsflab_derangements_0):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 335(line=11, offs=3) -- 980(line=34, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 822(line=29, offs=5) -- 974(line=33, offs=59)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 841(line=30, offs=9) -- 842(line=30, offs=10)
*/
ATSINSlab(__atstmplab0):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 310(line=10, offs=34) -- 311(line=10, offs=35)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 842(line=30, offs=10) -- 842(line=30, 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/fast-arithmetic/ats-src/combinatorics.dats: 846(line=30, offs=14) -- 859(line=30, 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/fast-arithmetic/ats-src/combinatorics.dats: 868(line=31, offs=9) -- 869(line=31, offs=10)
*/
ATSINSlab(__atstmplab2):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 310(line=10, offs=34) -- 311(line=10, offs=35)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab4) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 869(line=31, offs=10) -- 869(line=31, 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/fast-arithmetic/ats-src/combinatorics.dats: 874(line=31, offs=15) -- 887(line=31, 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/fast-arithmetic/ats-src/combinatorics.dats: 896(line=32, offs=9) -- 897(line=32, offs=10)
*/
ATSINSlab(__atstmplab4):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 310(line=10, offs=34) -- 311(line=10, offs=35)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab6) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 897(line=32, offs=10) -- 897(line=32, 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/fast-arithmetic/ats-src/combinatorics.dats: 902(line=32, offs=15) -- 915(line=32, 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/fast-arithmetic/ats-src/combinatorics.dats: 925(line=33, offs=10) -- 925(line=33, 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/fast-arithmetic/ats-src/combinatorics.dats: 935(line=33, offs=20) -- 940(line=33, offs=25)
*/
ATSINSmove(tmp45, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 945(line=33, offs=30) -- 958(line=33, 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/fast-arithmetic/ats-src/combinatorics.dats: 960(line=33, offs=45) -- 973(line=33, 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/fast-arithmetic/ats-src/combinatorics.dats: 930(line=33, offs=15) -- 974(line=33, 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/fast-arithmetic/ats-src/combinatorics.dats: 335(line=11, offs=3) -- 980(line=34, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret0) ;
} /* end of [derangements_0] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 347(line=12, offs=9) -- 812(line=27, 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) */
/*
emit_funent_fnxdeclst:
*/
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 347(line=12, offs=9) -- 812(line=27, offs=12)
*/
ATSINSflab(__patsflab_loop_1):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 471(line=13, offs=10) -- 476(line=13, offs=15)
*/
ATSINSmove(tmp2, ATSLIB_056_prelude__lt_g1int_int__2__1(arg1, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 468(line=13, offs=7) -- 812(line=27, offs=12)
*/
ATSif(
tmp2
) ATSthen() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 490(line=14, offs=9) -- 634(line=19, offs=12)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 508(line=15, offs=15) -- 509(line=15, offs=16)
*/
/*
ATSINStmpdec(tmpref7) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 512(line=15, offs=19) -- 539(line=15, 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/fast-arithmetic/ats-src/combinatorics.dats: 554(line=16, offs=15) -- 555(line=16, offs=16)
*/
/*
ATSINStmpdec(tmpref12) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 558(line=16, offs=19) -- 579(line=16, 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/fast-arithmetic/ats-src/combinatorics.dats: 609(line=18, offs=19) -- 614(line=18, offs=24)
*/
ATSINSmove(tmp17, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 601(line=18, offs=11) -- 622(line=18, 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/fast-arithmetic/ats-src/combinatorics.dats: 490(line=14, offs=9) -- 634(line=19, offs=12)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 654(line=21, offs=9) -- 812(line=27, offs=12)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 672(line=22, offs=15) -- 673(line=22, offs=16)
*/
/*
ATSINStmpdec(tmpref18) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 676(line=22, offs=19) -- 703(line=22, 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/fast-arithmetic/ats-src/combinatorics.dats: 722(line=23, offs=19) -- 736(line=23, offs=33)
*/
ATSINSmove_void(tmp21, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(arg2)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 752(line=24, offs=15) -- 753(line=24, offs=16)
*/
/*
ATSINStmpdec(tmpref26) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 756(line=24, offs=19) -- 777(line=24, 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/fast-arithmetic/ats-src/combinatorics.dats: 799(line=26, offs=11) -- 800(line=26, offs=12)
*/
ATSINSmove(tmpret1, tmpref26) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 654(line=21, offs=9) -- 812(line=27, offs=12)
*/
/*
INSletpop()
*/
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret1) ;
/*
emit_funent_fnxbodylst:
*/
} /* end of [loop_1] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
*/
/*
local: 
global: lt_g1int_int$2$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4697)
tmparg = S2Evar(tk(4697))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lt_g1int_int__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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
*/
ATSINSflab(__patsflab_lt_g1int_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
*/
ATSINSmove(tmp4, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4697))>)(arg1)) ;

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

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

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

/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
*/
ATSINSmove(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)
/*
/usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
*/
ATSINSmove(tmpret8, arg0) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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]

/*
/usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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)
/*
/usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
*/
ATSINSmove(tmpret13, arg0) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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]

/*
/usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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] */

/*
/usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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)
/*
/usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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]

/*
/usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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] */

/*
/usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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)
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;

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

/*
letpush(end)
*/

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

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__1, ATSLIB_056_prelude__ptr_alloc__17__1()) ;

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

/*
letpush(end)
*/

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

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(4806)
tmparg = S2Evar(a(4806))
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 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(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]

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__2, ATSLIB_056_prelude__ptr_alloc__17__2()) ;

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

/*
letpush(end)
*/

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

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__3, ATSLIB_056_prelude__ptr_alloc__17__3()) ;

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

/*
letpush(end)
*/

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

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__4, ATSLIB_056_prelude__ptr_alloc__17__4()) ;

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

/*
letpush(end)
*/

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

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__5, ATSLIB_056_prelude__ptr_alloc__17__5()) ;

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

/*
letpush(end)
*/

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

/*
/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
*/
/*
local: 
global: ptr_alloc$17$5(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4806)
tmparg = S2Evar(a(4806))
tmpsub = Some(a(4806) -> S2Ecst(mpz_vt0ype))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr_alloc__17__5()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret35__5, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
*/
ATSINSflab(__patsflab_ptr_alloc):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
*/
ATSINSmove(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/fast-arithmetic/ats-src/combinatorics.dats: 986(line=36, offs=5) -- 1158(line=40, offs=59)
*/
/*
local: fact_28$0(level=0)
global: fact_28$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
fact_28(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpret56, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp65, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp68, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp69, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
/*
emit_funent_fnxdeclst:
*/
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 986(line=36, offs=5) -- 1158(line=40, offs=59)
*/
ATSINSflab(__patsflab_fact_28):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1039(line=37, offs=3) -- 1158(line=40, offs=59)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1056(line=38, offs=7) -- 1057(line=38, offs=8)
*/
ATSINSlab(__atstmplab7):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1008(line=36, offs=27) -- 1009(line=36, offs=28)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab9) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1057(line=38, offs=8) -- 1057(line=38, offs=8)
*/
ATSINSlab(__atstmplab8):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1061(line=38, offs=12) -- 1074(line=38, offs=25)
*/
ATSINSmove(tmpret56, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1081(line=39, offs=7) -- 1082(line=39, offs=8)
*/
ATSINSlab(__atstmplab9):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1008(line=36, offs=27) -- 1009(line=36, offs=28)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab11) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1082(line=39, offs=8) -- 1082(line=39, 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/fast-arithmetic/ats-src/combinatorics.dats: 1086(line=39, offs=12) -- 1099(line=39, offs=25)
*/
ATSINSmove(tmpret56, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1107(line=40, offs=8) -- 1107(line=40, 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/fast-arithmetic/ats-src/combinatorics.dats: 1147(line=40, offs=48) -- 1152(line=40, offs=53)
*/
ATSINSmove(tmp69, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1142(line=40, offs=43) -- 1153(line=40, offs=54)
*/
ATSINSmove(tmp68, fact_28(tmp69)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1126(line=40, offs=27) -- 1157(line=40, offs=58)
*/
ATSINSmove(tmp65, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(tmp68, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1112(line=40, offs=13) -- 1158(line=40, offs=59)
*/
ATSINSmove(tmpret56, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp65)) ;
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn(tmpret56) ;
/*
emit_funent_fnxbodylst:
*/
} /* end of [fact_28] */

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__6, ATSLIB_056_prelude__ptr_alloc__17__6()) ;

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

/*
letpush(end)
*/

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

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__7, ATSLIB_056_prelude__ptr_alloc__17__7()) ;

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

/*
letpush(end)
*/

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

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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/fast-arithmetic/ats-src/combinatorics.dats: 1234(line=43, offs=5) -- 1444(line=52, offs=8)
*/
/*
local: dfact_34$0(level=0)
global: dfact_34$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
dfact_34(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpret70, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref79, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp80, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref81, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
/*
emit_funent_fnxdeclst:
*/
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1234(line=43, offs=5) -- 1444(line=52, offs=8)
*/
ATSINSflab(__patsflab_dfact_34):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1282(line=44, offs=3) -- 1444(line=52, offs=8)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1299(line=45, offs=7) -- 1300(line=45, offs=8)
*/
ATSINSlab(__atstmplab12):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1257(line=43, offs=28) -- 1258(line=43, offs=29)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab14) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1300(line=45, offs=8) -- 1300(line=45, 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/fast-arithmetic/ats-src/combinatorics.dats: 1304(line=45, offs=12) -- 1317(line=45, offs=25)
*/
ATSINSmove(tmpret70, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1324(line=46, offs=7) -- 1325(line=46, offs=8)
*/
ATSINSlab(__atstmplab14):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1257(line=43, offs=28) -- 1258(line=43, offs=29)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab16) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1325(line=46, offs=8) -- 1325(line=46, 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/fast-arithmetic/ats-src/combinatorics.dats: 1329(line=46, offs=12) -- 1342(line=46, offs=25)
*/
ATSINSmove(tmpret70, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1350(line=47, offs=8) -- 1350(line=47, 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/fast-arithmetic/ats-src/combinatorics.dats: 1355(line=47, offs=13) -- 1444(line=52, offs=8)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1369(line=48, offs=11) -- 1370(line=48, offs=12)
*/
/*
ATSINStmpdec(tmpref79) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1379(line=48, offs=21) -- 1384(line=48, offs=26)
*/
ATSINSmove(tmp80, atspre_g1int_sub_int(arg0, ATSPMVi0nt(2))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1373(line=48, offs=15) -- 1385(line=48, offs=27)
*/
ATSINSmove(tmpref79, dfact_34(tmp80)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1396(line=49, offs=11) -- 1397(line=49, offs=12)
*/
/*
ATSINStmpdec(tmpref81) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1400(line=49, offs=15) -- 1421(line=49, offs=36)
*/
ATSINSmove(tmpref81, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(tmpref79, arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1435(line=51, offs=7) -- 1436(line=51, offs=8)
*/
ATSINSmove(tmpret70, tmpref81) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1355(line=47, offs=13) -- 1444(line=52, offs=8)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn(tmpret70) ;
/*
emit_funent_fnxbodylst:
*/
} /* end of [dfact_34] */

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__8, ATSLIB_056_prelude__ptr_alloc__17__8()) ;

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

/*
letpush(end)
*/

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

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__9, ATSLIB_056_prelude__ptr_alloc__17__9()) ;

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

/*
letpush(end)
*/

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

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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/fast-arithmetic/ats-src/combinatorics.dats: 1507(line=55, offs=4) -- 1717(line=63, offs=6)
*/
/*
local: fact_28$0(level=0)
global: fact_28$0(level=0), permutations_40$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
permutations_40(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret84, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref85, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref86, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp87, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref88, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp93) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1507(line=55, offs=4) -- 1717(line=63, offs=6)
*/
ATSINSflab(__patsflab_permutations_40):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1588(line=56, offs=3) -- 1717(line=63, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1600(line=57, offs=9) -- 1601(line=57, offs=10)
*/
/*
ATSINStmpdec(tmpref85) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1604(line=57, offs=13) -- 1610(line=57, offs=19)
*/
ATSINSmove(tmpref85, fact_28(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1620(line=58, offs=9) -- 1621(line=58, offs=10)
*/
/*
ATSINStmpdec(tmpref86) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1629(line=58, offs=18) -- 1634(line=58, offs=23)
*/
ATSINSmove(tmp87, atspre_g1int_sub_int(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1624(line=58, offs=13) -- 1635(line=58, offs=24)
*/
ATSINSmove(tmpref86, fact_28(tmp87)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1644(line=59, offs=9) -- 1645(line=59, offs=10)
*/
/*
ATSINStmpdec(tmpref88) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1648(line=59, offs=13) -- 1673(line=59, offs=38)
*/
ATSINSmove(tmpref88, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__1(tmpref85, ATSPMVrefarg0(tmpref86))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1686(line=60, offs=13) -- 1699(line=60, offs=26)
*/
ATSINSmove_void(tmp93, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(tmpref86)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1710(line=62, offs=5) -- 1711(line=62, offs=6)
*/
ATSINSmove(tmpret84, tmpref88) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1588(line=56, offs=3) -- 1717(line=63, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret84) ;
} /* end of [permutations_40] */

#if(0)
/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
*/
/*
local: 
global: div_intinf0_intinf1$41$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret89, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp90) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
*/
ATSINSmove_void(tmp90, 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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
*/
ATSINSmove(tmpret89, arg0) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret89) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41] */
#endif // end of [TEMPLATE]

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
*/
/*
local: 
global: div_intinf0_intinf1$41$1(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret89__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp90__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
*/
ATSINSmove_void(tmp90__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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
*/
ATSINSmove(tmpret89__1, arg0) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret89__1) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__1] */

/*
/usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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/fast-arithmetic/ats-src/combinatorics.dats: 1769(line=66, offs=4) -- 2389(line=89, offs=6)
*/
/*
local: fact_28$0(level=0)
global: fact_28$0(level=0), catalan_44$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
catalan_44(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret96, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref117, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref118, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref119, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp122) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1769(line=66, offs=4) -- 2389(line=89, offs=6)
*/
ATSINSflab(__patsflab_catalan_44):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1813(line=67, offs=3) -- 2389(line=89, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2126(line=78, offs=5) -- 2383(line=88, offs=10)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2145(line=79, offs=9) -- 2146(line=79, offs=10)
*/
ATSINSlab(__atstmplab20):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1788(line=66, offs=23) -- 1789(line=66, offs=24)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab22) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2146(line=79, offs=10) -- 2146(line=79, 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/fast-arithmetic/ats-src/combinatorics.dats: 2150(line=79, offs=14) -- 2163(line=79, offs=27)
*/
ATSINSmove(tmpret96, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2172(line=80, offs=9) -- 2173(line=80, offs=10)
*/
ATSINSlab(__atstmplab22):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1788(line=66, offs=23) -- 1789(line=66, offs=24)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab24) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2173(line=80, offs=10) -- 2173(line=80, 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/fast-arithmetic/ats-src/combinatorics.dats: 2177(line=80, offs=14) -- 2190(line=80, offs=27)
*/
ATSINSmove(tmpret96, 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/fast-arithmetic/ats-src/combinatorics.dats: 2200(line=81, offs=10) -- 2200(line=81, 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/fast-arithmetic/ats-src/combinatorics.dats: 2205(line=81, offs=15) -- 2383(line=88, offs=10)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2221(line=82, offs=13) -- 2222(line=82, offs=14)
*/
/*
ATSINStmpdec(tmpref117) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2225(line=82, offs=17) -- 2241(line=82, offs=33)
*/
ATSINSmove(tmpref117, numerator_loop_45(arg0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2255(line=83, offs=13) -- 2256(line=83, offs=14)
*/
/*
ATSINStmpdec(tmpref118) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2259(line=83, offs=17) -- 2265(line=83, offs=23)
*/
ATSINSmove(tmpref118, fact_28(arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2279(line=84, offs=13) -- 2280(line=84, offs=14)
*/
/*
ATSINStmpdec(tmpref119) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2283(line=84, offs=17) -- 2308(line=84, offs=42)
*/
ATSINSmove(tmpref119, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__2(tmpref117, ATSPMVrefarg0(tmpref118))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2325(line=85, offs=17) -- 2338(line=85, offs=30)
*/
ATSINSmove_void(tmp122, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(tmpref118)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2357(line=87, offs=9) -- 2372(line=87, offs=24)
*/
ATSINSmove(tmpret96, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref119)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2205(line=81, offs=15) -- 2383(line=88, offs=10)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1813(line=67, offs=3) -- 2389(line=89, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret96) ;
} /* end of [catalan_44] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1825(line=68, offs=9) -- 2116(line=76, offs=12)
*/
/*
local: numerator_loop_45$0(level=1)
global: numerator_loop_45$0(level=1)
local: n$5115(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: n$5115(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atstkind_type(atstype_ptrk)
numerator_loop_45(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret97, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp102, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref103, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp104, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref105, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp108, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1825(line=68, offs=9) -- 2116(line=76, offs=12)
*/
ATSINSflab(__patsflab_numerator_loop_45):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1919(line=69, offs=7) -- 2116(line=76, offs=12)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1940(line=70, offs=11) -- 1941(line=70, offs=12)
*/
ATSINSlab(__atstmplab17):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1867(line=68, offs=51) -- 1868(line=68, offs=52)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab19) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1941(line=70, offs=12) -- 1941(line=70, offs=12)
*/
ATSINSlab(__atstmplab18):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1945(line=70, offs=16) -- 1962(line=70, offs=33)
*/
ATSINSmove(tmp102, atspre_g1int_add_int(env0, ATSPMVi0nt(2))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1945(line=70, offs=16) -- 1962(line=70, offs=33)
*/
ATSINSmove(tmpret97, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(tmp102)) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1974(line=71, offs=12) -- 1974(line=71, 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/fast-arithmetic/ats-src/combinatorics.dats: 1979(line=71, offs=17) -- 2116(line=76, offs=12)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1997(line=72, offs=15) -- 1998(line=72, offs=16)
*/
/*
ATSINStmpdec(tmpref103) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2016(line=72, offs=34) -- 2021(line=72, offs=39)
*/
ATSINSmove(tmp104, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2001(line=72, offs=19) -- 2022(line=72, offs=40)
*/
ATSINSmove(tmpref103, numerator_loop_45(env0, tmp104)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2037(line=73, offs=15) -- 2038(line=73, offs=16)
*/
/*
ATSINStmpdec(tmpref105) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2060(line=73, offs=38) -- 2065(line=73, offs=43)
*/
ATSINSmove(tmp108, atspre_g1int_add_int(env0, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2041(line=73, offs=19) -- 2066(line=73, offs=44)
*/
ATSINSmove(tmpref105, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(tmpref103, tmp108)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2088(line=75, offs=11) -- 2103(line=75, offs=26)
*/
ATSINSmove(tmpret97, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref105)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1979(line=71, offs=17) -- 2116(line=76, offs=12)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn(tmpret97) ;
} /* end of [numerator_loop_45] */

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__10, ATSLIB_056_prelude__ptr_alloc__17__10()) ;

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

/*
letpush(end)
*/

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

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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] */

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$11(level=1)
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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__11, ATSLIB_056_prelude__ptr_alloc__17__11()) ;

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

/*
letpush(end)
*/

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

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__12, ATSLIB_056_prelude__ptr_alloc__17__12()) ;

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

/*
letpush(end)
*/

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

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
*/
/*
local: 
global: div_intinf0_intinf1$41$2(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__2(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret89__2, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp90__2) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
*/
ATSINSmove_void(tmp90__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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
*/
ATSINSmove(tmpret89__2, arg0) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret89__2) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__2] */

/*
/usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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/fast-arithmetic/ats-src/combinatorics.dats: 2452(line=92, offs=4) -- 3157(line=116, offs=6)
*/
/*
local: fact_28$0(level=0)
global: fact_28$0(level=0), choose_55$0(level=0)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
choose_55(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret125, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref153, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref154, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmpref155, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp158) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2452(line=92, offs=4) -- 3157(line=116, offs=6)
*/
ATSINSflab(__patsflab_choose_55):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2527(line=93, offs=3) -- 3157(line=116, offs=6)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2894(line=105, offs=5) -- 3151(line=115, offs=10)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2913(line=106, offs=9) -- 2914(line=106, offs=10)
*/
ATSINSlab(__atstmplab30):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2502(line=92, offs=54) -- 2503(line=92, offs=55)
*/
ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(0))) { ATSINSgoto(__atstmplab32) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2914(line=106, offs=10) -- 2914(line=106, 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/fast-arithmetic/ats-src/combinatorics.dats: 2918(line=106, offs=14) -- 2931(line=106, offs=27)
*/
ATSINSmove(tmpret125, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(ATSPMVi0nt(1))) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2940(line=107, offs=9) -- 2941(line=107, offs=10)
*/
ATSINSlab(__atstmplab32):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2502(line=92, offs=54) -- 2503(line=92, offs=55)
*/
ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab34) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2941(line=107, offs=10) -- 2941(line=107, 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/fast-arithmetic/ats-src/combinatorics.dats: 2945(line=107, offs=14) -- 2957(line=107, offs=26)
*/
ATSINSmove(tmpret125, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(arg0)) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2968(line=108, offs=10) -- 2968(line=108, offs=10)
*/
ATSINSlab(__atstmplab34):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2973(line=108, offs=15) -- 3151(line=115, offs=10)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2989(line=109, offs=13) -- 2990(line=109, offs=14)
*/
/*
ATSINStmpdec(tmpref153) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2993(line=109, offs=17) -- 3009(line=109, offs=33)
*/
ATSINSmove(tmpref153, numerator_loop_56(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 3023(line=110, offs=13) -- 3024(line=110, offs=14)
*/
/*
ATSINStmpdec(tmpref154) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 3027(line=110, offs=17) -- 3033(line=110, offs=23)
*/
ATSINSmove(tmpref154, fact_28(arg1)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 3047(line=111, offs=13) -- 3048(line=111, offs=14)
*/
/*
ATSINStmpdec(tmpref155) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 3051(line=111, offs=17) -- 3076(line=111, offs=42)
*/
ATSINSmove(tmpref155, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__3(tmpref153, ATSPMVrefarg0(tmpref154))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 3093(line=112, offs=17) -- 3106(line=112, offs=30)
*/
ATSINSmove_void(tmp158, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(tmpref154)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 3125(line=114, offs=9) -- 3140(line=114, offs=24)
*/
ATSINSmove(tmpret125, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref155)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2973(line=108, offs=15) -- 3151(line=115, offs=10)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2527(line=93, offs=3) -- 3157(line=116, offs=6)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret125) ;
} /* end of [choose_55] */

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2539(line=94, offs=9) -- 2884(line=103, offs=12)
*/
/*
local: numerator_loop_56$0(level=1)
global: numerator_loop_56$0(level=1)
local: n$5126(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
global: n$5126(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
*/
ATSstatic()
atstkind_type(atstype_ptrk)
numerator_loop_56(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret126, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp131, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp136, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp137, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref138, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp139, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmpref140, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp143, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp144, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2539(line=94, offs=9) -- 2884(line=103, offs=12)
*/
ATSINSflab(__patsflab_numerator_loop_56):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2633(line=95, offs=7) -- 2884(line=103, offs=12)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2654(line=96, offs=11) -- 2655(line=96, offs=12)
*/
ATSINSlab(__atstmplab25):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2581(line=94, offs=51) -- 2582(line=94, offs=52)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab27) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2655(line=96, offs=12) -- 2655(line=96, 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/fast-arithmetic/ats-src/combinatorics.dats: 2659(line=96, offs=16) -- 2671(line=96, offs=28)
*/
ATSINSmove(tmpret126, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(env0)) ;

ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2683(line=97, offs=11) -- 2684(line=97, offs=12)
*/
ATSINSlab(__atstmplab27):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2581(line=94, offs=51) -- 2582(line=94, offs=52)
*/
ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab29) ; } ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2684(line=97, offs=12) -- 2684(line=97, 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/fast-arithmetic/ats-src/combinatorics.dats: 2702(line=97, offs=30) -- 2725(line=97, offs=53)
*/
ATSINSmove(tmp137, atspre_g1int_sub_int(env0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2702(line=97, offs=30) -- 2725(line=97, offs=53)
*/
ATSINSmove(tmp136, atspre_g1int_mul_int(tmp137, env0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2702(line=97, offs=30) -- 2725(line=97, offs=53)
*/
ATSINSmove(tmp131, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(tmp136)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2688(line=97, offs=16) -- 2726(line=97, offs=54)
*/
ATSINSmove(tmpret126, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp131)) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2738(line=98, offs=12) -- 2738(line=98, 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/fast-arithmetic/ats-src/combinatorics.dats: 2743(line=98, offs=17) -- 2884(line=103, offs=12)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2761(line=99, offs=15) -- 2762(line=99, offs=16)
*/
/*
ATSINStmpdec(tmpref138) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2780(line=99, offs=34) -- 2785(line=99, offs=39)
*/
ATSINSmove(tmp139, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2765(line=99, offs=19) -- 2786(line=99, offs=40)
*/
ATSINSmove(tmpref138, numerator_loop_56(env0, tmp139)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2801(line=100, offs=15) -- 2802(line=100, offs=16)
*/
/*
ATSINStmpdec(tmpref140) ;
*/
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2824(line=100, offs=38) -- 2829(line=100, offs=43)
*/
ATSINSmove(tmp144, atspre_g1int_add_int(env0, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2824(line=100, offs=38) -- 2833(line=100, offs=47)
*/
ATSINSmove(tmp143, atspre_g1int_sub_int(tmp144, arg0)) ;

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2805(line=100, offs=19) -- 2834(line=100, offs=48)
*/
ATSINSmove(tmpref140, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(tmpref138, tmp143)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2856(line=102, offs=11) -- 2871(line=102, offs=26)
*/
ATSINSmove(tmpret126, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref140)) ;
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2743(line=98, offs=17) -- 2884(line=103, offs=12)
*/
/*
INSletpop()
*/
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn(tmpret126) ;
} /* end of [numerator_loop_56] */

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$13(level=2)
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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__13, ATSLIB_056_prelude__ptr_alloc__17__13()) ;

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

/*
letpush(end)
*/

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

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__14, ATSLIB_056_prelude__ptr_alloc__17__14()) ;

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

/*
letpush(end)
*/

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

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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] */

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$15$15(level=1)
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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__15, ATSLIB_056_prelude__ptr_alloc__17__15()) ;

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

/*
letpush(end)
*/

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

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
*/
/*
local: 
global: intinf_make_int$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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
*/
ATSINSflab(__patsflab_intinf_make_int):
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
*/
ATSINSmove(tmp30__16, ATSLIB_056_prelude__ptr_alloc__17__16()) ;

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

/*
letpush(end)
*/

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

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

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

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
*/
/*
local: 
global: div_intinf0_intinf1$41$3(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_type(atstype_ptrk)
ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__3(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret89__3, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp90__3) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
*/
ATSINSmove_void(tmp90__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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
*/
ATSINSmove(tmpret89__3, arg0) ;
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret89__3) ;
} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__3] */

/*
/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
*/
/*
local: 
global: intinf_free$12$4(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atsvoid_t0ype
ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret22__4) ;
// ATStmpdec_void(tmp23__4) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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 = /usr/local/lib/ats2-postiats-0.3.8/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/fast-arithmetic/ats-src/combinatorics-ffi.dats: 661(line=32, offs=22) -- 684(line=33, offs=15)
*/
/*
local: choose_55$0(level=0)
global: fact_28$0(level=0), choose_55$0(level=0), choose_ats$69$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(tmpret161, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 650(line=32, offs=11) -- 684(line=33, offs=15)
*/
ATSINSflab(__patsflab_choose_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 672(line=33, offs=3) -- 684(line=33, offs=15)
*/
ATSINSmove(tmpret161, choose_55(arg0, arg1)) ;

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

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 713(line=35, offs=28) -- 736(line=36, offs=15)
*/
/*
local: choose_55$0(level=0)
global: fact_28$0(level=0), choose_55$0(level=0), permutations_ats$70$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(tmpret162, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 696(line=35, offs=11) -- 736(line=36, offs=15)
*/
ATSINSflab(__patsflab_permutations_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 724(line=36, offs=3) -- 736(line=36, offs=15)
*/
ATSINSmove(tmpret162, choose_55(arg0, arg1)) ;

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

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 769(line=38, offs=32) -- 784(line=39, offs=10)
*/
/*
local: dfact_34$0(level=0)
global: dfact_34$0(level=0), double_factorial_ats$71$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
double_factorial_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret163, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 748(line=38, offs=11) -- 785(line=39, offs=11)
*/
ATSINSflab(__patsflab_double_factorial_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 777(line=39, offs=3) -- 784(line=39, offs=10)
*/
ATSINSmove(tmpret163, dfact_34(arg0)) ;

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

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 811(line=41, offs=25) -- 825(line=42, offs=9)
*/
/*
local: fact_28$0(level=0)
global: fact_28$0(level=0), factorial_ats$72$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
factorial_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret164, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 797(line=41, offs=11) -- 826(line=42, offs=10)
*/
ATSINSflab(__patsflab_factorial_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 819(line=42, offs=3) -- 825(line=42, offs=9)
*/
ATSINSmove(tmpret164, fact_28(arg0)) ;

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

/*
/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 850(line=44, offs=23) -- 867(line=45, offs=12)
*/
/*
local: catalan_44$0(level=0)
global: fact_28$0(level=0), catalan_44$0(level=0), catalan_ats$73$0(level=0)
local: 
global: 
*/
ATSextern()
atstkind_type(atstype_ptrk)
catalan_ats(atstkind_t0ype(atstype_int) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret165, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 838(line=44, offs=11) -- 868(line=45, offs=13)
*/
ATSINSflab(__patsflab_catalan_ats):
/*
emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 858(line=45, offs=3) -- 867(line=45, offs=12)
*/
ATSINSmove(tmpret165, catalan_44(arg0)) ;

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

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

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

/* end-of-compilation-unit */