/* ** ** The C code is generated by [ATS/Postiats-0-3-8] ** The starting compilation time is: 2017-12-30: 23h:56m ** */ /* ** include runtime header files */ #ifndef _ATS_CCOMP_HEADER_NONE_ #include "pats_ccomp_config.h" #include "pats_ccomp_basics.h" #include "pats_ccomp_typedefs.h" #include "pats_ccomp_instrset.h" #include "pats_ccomp_memalloc.h" #ifndef _ATS_CCOMP_EXCEPTION_NONE_ #include "pats_ccomp_memalloca.h" #include "pats_ccomp_exception.h" #endif // end of [_ATS_CCOMP_EXCEPTION_NONE_] #endif /* _ATS_CCOMP_HEADER_NONE_ */ /* ** include prelude cats files */ #ifndef _ATS_CCOMP_PRELUDE_NONE_ // #include "prelude/CATS/basics.cats" #include "prelude/CATS/integer.cats" #include "prelude/CATS/pointer.cats" #include "prelude/CATS/integer_long.cats" #include "prelude/CATS/integer_size.cats" #include "prelude/CATS/integer_short.cats" #include "prelude/CATS/bool.cats" #include "prelude/CATS/char.cats" #include "prelude/CATS/float.cats" #include "prelude/CATS/integer_ptr.cats" #include "prelude/CATS/integer_fixed.cats" #include "prelude/CATS/memory.cats" #include "prelude/CATS/string.cats" #include "prelude/CATS/strptr.cats" // #include "prelude/CATS/fprintf.cats" // #include "prelude/CATS/filebas.cats" // #include "prelude/CATS/list.cats" #include "prelude/CATS/option.cats" #include "prelude/CATS/array.cats" #include "prelude/CATS/arrayptr.cats" #include "prelude/CATS/arrayref.cats" #include "prelude/CATS/matrix.cats" #include "prelude/CATS/matrixptr.cats" // #endif /* _ATS_CCOMP_PRELUDE_NONE_ */ /* ** for user-supplied prelude */ #ifdef _ATS_CCOMP_PRELUDE_USER_ // #include _ATS_CCOMP_PRELUDE_USER_ // #endif /* _ATS_CCOMP_PRELUDE_USER_ */ /* ** for user2-supplied prelude */ #ifdef _ATS_CCOMP_PRELUDE_USER2_ // #include _ATS_CCOMP_PRELUDE_USER2_ // #endif /* _ATS_CCOMP_PRELUDE_USER2_ */ /* staload-prologues(beg) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/basics.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats: 1533(line=44, offs=1) -- 1572(line=44, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_long.dats: 1602(line=49, offs=1) -- 1641(line=49, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_short.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/char.dats: 1610(line=48, offs=1) -- 1649(line=48, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/float.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/string.dats: 1631(line=50, offs=1) -- 1670(line=50, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/strptr.dats: 1629(line=50, offs=1) -- 1668(line=50, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/strptr.dats: 1691(line=54, offs=1) -- 1738(line=54, offs=48) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_ptr.dats: 1601(line=49, offs=1) -- 1640(line=49, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_fixed.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/memory.dats: 1410(line=38, offs=1) -- 1449(line=39, offs=32) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1613(line=49, offs=1) -- 1652(line=50, offs=32) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1675(line=54, offs=1) -- 1721(line=55, offs=39) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1744(line=59, offs=1) -- 1789(line=60, offs=38) */ /* /usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3) */ #include \ "libats/libc/CATS/stdio.cats" /* /usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34) */ /* /usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3) */ #include \ "libats/libc/CATS/sys/types.cats" /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1871(line=66, offs=1) -- 1918(line=66, offs=48) */ /* /usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/stat.sats: 1390(line=36, offs=1) -- 1440(line=39, offs=3) */ #include \ "libats/libc/CATS/sys/stat.cats" /* /usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/stat.sats: 1756(line=58, offs=1) -- 1805(line=60, offs=34) */ /* /usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3) */ #include \ "libats/libc/CATS/sys/types.cats" /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 15552(line=879, offs=1) -- 15589(line=880, offs=30) */ /* /usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3) */ #include \ "libats/libc/CATS/stdio.cats" /* /usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34) */ /* /usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3) */ #include \ "libats/libc/CATS/sys/types.cats" /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list.dats: 1529(line=44, offs=1) -- 1568(line=45, offs=32) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list.dats: 1569(line=46, offs=1) -- 1615(line=47, offs=39) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list_vt.dats: 1538(line=44, offs=1) -- 1577(line=45, offs=32) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list_vt.dats: 1578(line=46, offs=1) -- 1624(line=47, offs=39) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/list_vt_mergesort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/list_vt_quicksort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/array.dats: 1534(line=44, offs=1) -- 1573(line=44, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/array.dats: 1574(line=45, offs=1) -- 1616(line=45, offs=43) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/array_bsearch.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/array_quicksort.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/arrayptr.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/arrayref.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrix.dats: 1535(line=44, offs=1) -- 1574(line=44, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrixptr.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrixref.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/tostring.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35) */ /* /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/checkast.dats: 1531(line=44, offs=1) -- 1570(line=45, offs=32) */ /* /usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/math.sats: 1380(line=35, offs=1) -- 1426(line=38, offs=3) */ #include \ "libats/libc/CATS/math.cats" /* staload-prologues(end) */ /* typedefs-for-tyrecs-and-tysums(beg) */ /* typedefs-for-tyrecs-and-tysums(end) */ /* dynconlst-declaration(beg) */ /* dynconlst-declaration(end) */ /* dyncstlst-declaration(beg) */ ATSdyncst_mac(atspre_g0int_mul_int) ATSdyncst_mac(atspre_g1int_sub_int) ATSdyncst_mac(atspre_g1int_mul_int) ATSdyncst_mac(atspre_g1int_add_int) ATSdyncst_mac(atspre_g0int_div_int) /* dyncstlst-declaration(end) */ /* dynvalist-implementation(beg) */ /* dynvalist-implementation(end) */ /* exnconlst-declaration(beg) */ #ifndef _ATS_CCOMP_EXCEPTION_NONE_ ATSextern() atsvoid_t0ype the_atsexncon_initize ( atstype_exnconptr d2c, atstype_string exnmsg ) ; #endif // end of [_ATS_CCOMP_EXCEPTION_NONE_] /* exnconlst-declaration(end) */ /* extypelst-declaration(beg) */ /* extypelst-declaration(end) */ /* assumelst-declaration(beg) */ #ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_ #endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_) /* assumelst-declaration(end) */ ATSstatic() atstkind_t0ype(atstype_int) fact_0(atstkind_t0ype(atstype_int)) ; ATSstatic() atstkind_t0ype(atstype_int) dfact_3(atstkind_t0ype(atstype_int)) ; ATSstatic() atstkind_t0ype(atstype_int) choose_4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ; ATSstatic() atstkind_t0ype(atstype_int) numerator_loop_5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ; #if(0) ATSextern() atstkind_t0ype(atstype_int) choose_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ; #endif // end of [QUALIFIED] #if(0) ATSextern() atstkind_t0ype(atstype_int) double_factorial(atstkind_t0ype(atstype_int)) ; #endif // end of [QUALIFIED] #if(0) ATSextern() atstkind_t0ype(atstype_int) factorial_ats(atstkind_t0ype(atstype_int)) ; #endif // end of [QUALIFIED] /* /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 108(line=7, offs=5) -- 205(line=10, offs=28) */ /* local: fact_0$0(level=0) global: fact_0$0(level=0) local: global: */ ATSstatic() atstkind_t0ype(atstype_int) fact_0(atstkind_t0ype(atstype_int) arg0) { /* tmpvardeclst(beg) */ ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ; ATStmpdec(tmpret0, atstkind_t0ype(atstype_int)) ; ATStmpdec(tmp1, atstkind_t0ype(atstype_int)) ; ATStmpdec(tmp2, atstkind_t0ype(atstype_int)) ; /* tmpvardeclst(end) */ /* emit_funent_fnxdeclst: */ ATSfunbody_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 108(line=7, offs=5) -- 205(line=10, offs=28) */ ATSINSflab(__patsflab_fact_0): /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 154(line=8, offs=3) -- 205(line=10, offs=28) */ ATScaseof_beg() /* ** ibranchlst-beg */ ATSbranch_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 171(line=9, offs=7) -- 172(line=9, offs=8) */ ATSINSlab(__atstmplab0): /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 130(line=7, offs=27) -- 131(line=7, offs=28) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 172(line=9, offs=8) -- 172(line=9, offs=8) */ ATSINSlab(__atstmplab1): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 176(line=9, offs=12) -- 177(line=9, offs=13) */ ATSINSmove(tmpret0, ATSPMVi0nt(1)) ; ATSbranch_end() ATSbranch_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 185(line=10, offs=8) -- 185(line=10, offs=8) */ ATSINSlab(__atstmplab2): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 195(line=10, offs=18) -- 200(line=10, offs=23) */ ATSINSmove(tmp2, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 190(line=10, offs=13) -- 201(line=10, offs=24) */ ATSINSmove(tmp1, fact_0(tmp2)) ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 190(line=10, offs=13) -- 205(line=10, offs=28) */ ATSINSmove(tmpret0, atspre_g0int_mul_int(tmp1, arg0)) ; ATSbranch_end() /* ** ibranchlst-end */ ATScaseof_end() ATSfunbody_end() ATSreturn(tmpret0) ; /* emit_funent_fnxbodylst: */ } /* end of [fact_0] */ /* /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 211(line=12, offs=5) -- 323(line=16, offs=29) */ /* local: dfact_3$0(level=0) global: dfact_3$0(level=0) local: global: */ ATSstatic() atstkind_t0ype(atstype_int) dfact_3(atstkind_t0ype(atstype_int) arg0) { /* tmpvardeclst(beg) */ ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ; ATStmpdec(tmpret3, atstkind_t0ype(atstype_int)) ; ATStmpdec(tmp4, atstkind_t0ype(atstype_int)) ; ATStmpdec(tmp5, atstkind_t0ype(atstype_int)) ; /* tmpvardeclst(end) */ /* emit_funent_fnxdeclst: */ ATSfunbody_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 211(line=12, offs=5) -- 323(line=16, offs=29) */ ATSINSflab(__patsflab_dfact_3): /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 258(line=13, offs=3) -- 323(line=16, offs=29) */ ATScaseof_beg() /* ** ibranchlst-beg */ ATSbranch_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 275(line=14, offs=7) -- 276(line=14, offs=8) */ ATSINSlab(__atstmplab3): /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 234(line=12, offs=28) -- 235(line=12, offs=29) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab5) ; } ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 276(line=14, offs=8) -- 276(line=14, offs=8) */ ATSINSlab(__atstmplab4): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 280(line=14, offs=12) -- 281(line=14, offs=13) */ ATSINSmove(tmpret3, ATSPMVi0nt(1)) ; ATSbranch_end() ATSbranch_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 288(line=15, offs=7) -- 289(line=15, offs=8) */ ATSINSlab(__atstmplab5): /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 234(line=12, offs=28) -- 235(line=12, offs=29) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab7) ; } ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 289(line=15, offs=8) -- 289(line=15, offs=8) */ ATSINSlab(__atstmplab6): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 293(line=15, offs=12) -- 294(line=15, offs=13) */ ATSINSmove(tmpret3, ATSPMVi0nt(1)) ; ATSbranch_end() ATSbranch_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 302(line=16, offs=8) -- 302(line=16, offs=8) */ ATSINSlab(__atstmplab7): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 317(line=16, offs=23) -- 322(line=16, offs=28) */ ATSINSmove(tmp5, atspre_g1int_sub_int(arg0, ATSPMVi0nt(2))) ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 311(line=16, offs=17) -- 323(line=16, offs=29) */ ATSINSmove(tmp4, dfact_3(tmp5)) ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 307(line=16, offs=13) -- 323(line=16, offs=29) */ ATSINSmove(tmpret3, atspre_g0int_mul_int(arg0, tmp4)) ; ATSbranch_end() /* ** ibranchlst-end */ ATScaseof_end() ATSfunbody_end() ATSreturn(tmpret3) ; /* emit_funent_fnxbodylst: */ } /* end of [dfact_3] */ /* /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 362(line=19, offs=4) -- 718(line=31, offs=6) */ /* local: fact_0$0(level=0) global: fact_0$0(level=0), choose_4$0(level=0) local: global: */ ATSstatic() atstkind_t0ype(atstype_int) choose_4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1) { /* tmpvardeclst(beg) */ ATStmpdec(tmpret6, atstkind_t0ype(atstype_int)) ; ATStmpdec(tmp13, atstkind_t0ype(atstype_int)) ; ATStmpdec(tmp14, atstkind_t0ype(atstype_int)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 362(line=19, offs=4) -- 718(line=31, offs=6) */ ATSINSflab(__patsflab_choose_4): /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 434(line=20, offs=3) -- 718(line=31, offs=6) */ /* letpush(beg) */ /* letpush(end) */ /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 630(line=27, offs=5) -- 712(line=30, offs=42) */ ATScaseof_beg() /* ** ibranchlst-beg */ ATSbranch_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 649(line=28, offs=9) -- 650(line=28, offs=10) */ ATSINSlab(__atstmplab13): /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 412(line=19, offs=54) -- 413(line=19, offs=55) */ ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(0))) { ATSINSgoto(__atstmplab15) ; } ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 650(line=28, offs=10) -- 650(line=28, offs=10) */ ATSINSlab(__atstmplab14): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 654(line=28, offs=14) -- 655(line=28, offs=15) */ ATSINSmove(tmpret6, ATSPMVi0nt(1)) ; ATSbranch_end() ATSbranch_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 664(line=29, offs=9) -- 665(line=29, offs=10) */ ATSINSlab(__atstmplab15): /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 412(line=19, offs=54) -- 413(line=19, offs=55) */ ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab17) ; } ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 665(line=29, offs=10) -- 665(line=29, offs=10) */ ATSINSlab(__atstmplab16): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 669(line=29, offs=14) -- 670(line=29, offs=15) */ ATSINSmove(tmpret6, arg0) ; ATSbranch_end() ATSbranch_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 680(line=30, offs=10) -- 680(line=30, offs=10) */ ATSINSlab(__atstmplab17): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 685(line=30, offs=15) -- 701(line=30, offs=31) */ ATSINSmove(tmp13, numerator_loop_5(arg0, arg1)) ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 705(line=30, offs=35) -- 711(line=30, offs=41) */ ATSINSmove(tmp14, fact_0(arg1)) ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 685(line=30, offs=15) -- 711(line=30, offs=41) */ ATSINSmove(tmpret6, atspre_g0int_div_int(tmp13, tmp14)) ; ATSbranch_end() /* ** ibranchlst-end */ ATScaseof_end() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 434(line=20, offs=3) -- 718(line=31, offs=6) */ /* INSletpop() */ ATSfunbody_end() ATSreturn(tmpret6) ; } /* end of [choose_4] */ /* /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 446(line=21, offs=9) -- 620(line=25, offs=52) */ /* local: numerator_loop_5$0(level=1) global: numerator_loop_5$0(level=1) local: n$4734(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))) global: n$4734(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))) */ ATSstatic() atstkind_t0ype(atstype_int) numerator_loop_5(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0) { /* tmpvardeclst(beg) */ ATStmpdec(tmpret7, atstkind_t0ype(atstype_int)) ; ATStmpdec(tmp8, atstkind_t0ype(atstype_int)) ; ATStmpdec(tmp9, atstkind_t0ype(atstype_int)) ; ATStmpdec(tmp10, atstkind_t0ype(atstype_int)) ; ATStmpdec(tmp11, atstkind_t0ype(atstype_int)) ; ATStmpdec(tmp12, atstkind_t0ype(atstype_int)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 446(line=21, offs=9) -- 620(line=25, offs=52) */ ATSINSflab(__patsflab_numerator_loop_5): /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 514(line=22, offs=7) -- 620(line=25, offs=52) */ ATScaseof_beg() /* ** ibranchlst-beg */ ATSbranch_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 535(line=23, offs=11) -- 536(line=23, offs=12) */ ATSINSlab(__atstmplab8): /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 488(line=21, offs=51) -- 489(line=21, offs=52) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab10) ; } ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 536(line=23, offs=12) -- 536(line=23, offs=12) */ ATSINSlab(__atstmplab9): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 540(line=23, offs=16) -- 541(line=23, offs=17) */ ATSINSmove(tmpret7, env0) ; ATSbranch_end() ATSbranch_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 552(line=24, offs=11) -- 553(line=24, offs=12) */ ATSINSlab(__atstmplab10): /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 488(line=21, offs=51) -- 489(line=21, offs=52) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab12) ; } ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 553(line=24, offs=12) -- 553(line=24, offs=12) */ ATSINSlab(__atstmplab11): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 558(line=24, offs=17) -- 563(line=24, offs=22) */ ATSINSmove(tmp8, atspre_g1int_sub_int(env0, ATSPMVi0nt(1))) ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 557(line=24, offs=16) -- 568(line=24, offs=27) */ ATSINSmove(tmpret7, atspre_g1int_mul_int(tmp8, env0)) ; ATSbranch_end() ATSbranch_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 580(line=25, offs=12) -- 580(line=25, offs=12) */ ATSINSlab(__atstmplab12): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */ /* ibranch-mbody: */ /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 586(line=25, offs=18) -- 591(line=25, offs=23) */ ATSINSmove(tmp10, atspre_g1int_add_int(env0, ATSPMVi0nt(1))) ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 586(line=25, offs=18) -- 595(line=25, offs=27) */ ATSINSmove(tmp9, atspre_g1int_sub_int(tmp10, arg0)) ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 614(line=25, offs=46) -- 619(line=25, offs=51) */ ATSINSmove(tmp12, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 599(line=25, offs=31) -- 620(line=25, offs=52) */ ATSINSmove(tmp11, numerator_loop_5(env0, tmp12)) ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 585(line=25, offs=17) -- 620(line=25, offs=52) */ ATSINSmove(tmpret7, atspre_g0int_mul_int(tmp9, tmp11)) ; ATSbranch_end() /* ** ibranchlst-end */ ATScaseof_end() ATSfunbody_end() ATSreturn(tmpret7) ; } /* end of [numerator_loop_5] */ /* /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics-ffi.dats: 344(line=18, offs=22) -- 367(line=19, offs=15) */ /* local: choose_4$0(level=0) global: fact_0$0(level=0), choose_4$0(level=0), choose_ats$9$0(level=0) local: global: */ ATSextern() atstkind_t0ype(atstype_int) choose_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1) { /* tmpvardeclst(beg) */ ATStmpdec(tmpret15, atstkind_t0ype(atstype_int)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics-ffi.dats: 333(line=18, offs=11) -- 367(line=19, offs=15) */ ATSINSflab(__patsflab_choose_ats): /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics-ffi.dats: 355(line=19, offs=3) -- 367(line=19, offs=15) */ ATSINSmove(tmpret15, choose_4(arg0, arg1)) ; ATSfunbody_end() ATSreturn(tmpret15) ; } /* end of [choose_ats] */ /* /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics-ffi.dats: 396(line=21, offs=28) -- 411(line=22, offs=10) */ /* local: dfact_3$0(level=0) global: dfact_3$0(level=0), double_factorial$10$0(level=0) local: global: */ ATSextern() atstkind_t0ype(atstype_int) double_factorial(atstkind_t0ype(atstype_int) arg0) { /* tmpvardeclst(beg) */ ATStmpdec(tmpret16, atstkind_t0ype(atstype_int)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics-ffi.dats: 379(line=21, offs=11) -- 412(line=22, offs=11) */ ATSINSflab(__patsflab_double_factorial): /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics-ffi.dats: 404(line=22, offs=3) -- 411(line=22, offs=10) */ ATSINSmove(tmpret16, dfact_3(arg0)) ; ATSfunbody_end() ATSreturn(tmpret16) ; } /* end of [double_factorial] */ /* /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics-ffi.dats: 438(line=24, offs=25) -- 452(line=25, offs=9) */ /* local: fact_0$0(level=0) global: fact_0$0(level=0), factorial_ats$11$0(level=0) local: global: */ ATSextern() atstkind_t0ype(atstype_int) factorial_ats(atstkind_t0ype(atstype_int) arg0) { /* tmpvardeclst(beg) */ ATStmpdec(tmpret17, atstkind_t0ype(atstype_int)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics-ffi.dats: 424(line=24, offs=11) -- 453(line=25, offs=10) */ ATSINSflab(__patsflab_factorial_ats): /* emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics-ffi.dats: 446(line=25, offs=3) -- 452(line=25, offs=9) */ ATSINSmove(tmpret17, fact_0(arg0)) ; ATSfunbody_end() ATSreturn(tmpret17) ; } /* end of [factorial_ats] */ /* ** for initialization(dynloading) */ ATSdynloadflag_minit(_057_home_057_vanessa_057_programming_057_haskell_057_current_057_fast_055_combinatorics_057_ats_055_src_057_combinatorics_055_ffi_056_dats__dynloadflag) ; ATSextern() atsvoid_t0ype _057_home_057_vanessa_057_programming_057_haskell_057_current_057_fast_055_combinatorics_057_ats_055_src_057_combinatorics_055_ffi_056_dats__dynload() { ATSfunbody_beg() ATSdynload(/*void*/) ATSdynloadflag_sta( _057_home_057_vanessa_057_programming_057_haskell_057_current_057_fast_055_combinatorics_057_ats_055_src_057_combinatorics_055_ffi_056_dats__dynloadflag ) ; ATSif( ATSCKiseqz( _057_home_057_vanessa_057_programming_057_haskell_057_current_057_fast_055_combinatorics_057_ats_055_src_057_combinatorics_055_ffi_056_dats__dynloadflag ) ) ATSthen() { ATSdynloadset(_057_home_057_vanessa_057_programming_057_haskell_057_current_057_fast_055_combinatorics_057_ats_055_src_057_combinatorics_055_ffi_056_dats__dynloadflag) ; /* dynexnlst-initize(beg) */ /* dynexnlst-initize(end) */ } /* ATSendif */ ATSfunbody_end() ATSreturn_void(tmpret_void) ; } /* end of [*_dynload] */ /* ****** ****** */ /* end-of-compilation-unit */