fast-combinatorics 0.1.0.7 → 0.1.0.8
raw patch · 16 files changed
+4922/−2429 lines, 16 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Numeric.Pure.Combinatorics: hsChoose :: Int -> Int -> Int
- Numeric.Pure.Combinatorics: hsDoubleFactorial :: Int -> Int
- Numeric.Pure.Combinatorics: hsFactorial :: Int -> Int
- Numeric.Pure.Combinatorics: hsIsPrime :: Int -> Bool
+ Numeric.NumberTheory: tau :: Int -> Int
+ Numeric.NumberTheory: totient :: Int -> Int
+ Numeric.Pure: hsChoose :: Int -> Int -> Int
+ Numeric.Pure: hsDoubleFactorial :: Int -> Int
+ Numeric.Pure: hsFactorial :: Int -> Int
+ Numeric.Pure: hsIsPrime :: Int -> Bool
+ Numeric.Pure: hsTau :: Int -> Int
+ Numeric.Pure: hsTotient :: Int -> Int
Files
- README.md +4/−15
- ats-src/combinatorics.dats +1/−0
- ats-src/number-theory-ffi.dats +10/−3
- ats-src/number-theory.dats +52/−2
- ats-src/numerics.dats +6/−4
- bench/Bench.hs +10/−1
- cbits/combinatorics-ffi.c +0/−968
- cbits/combinatorics.c +968/−0
- cbits/number-theory.c +2381/−0
- cbits/numerics-ffi.c +0/−1403
- cbits/numerics.c +1409/−0
- fast-combinatorics.cabal +9/−9
- src/Numeric/NumberTheory.hs +26/−0
- src/Numeric/Pure.hs +31/−0
- src/Numeric/Pure/Combinatorics.hs +0/−22
- test/Spec.hs +15/−2
README.md view
@@ -6,23 +6,16 @@ a C compiler is installed. It may not work on windows, so if you run into bugs building this please open an issue. -Currently it is a work-in-progress, being somewhat constrained by the fact that I have-yet to figure out how to share arbitrary-precision types between ATS and Haskell. - ## Benchmarks | Computation | Version (ATS/Haskell) | Time | | ----------- | --------------------- | ---- |-| `12!` | ATS | 9.301 ns |-| `12!` | Haskell | 27.84 ns |-| `19!!` | ATS | 10.07 ns |-| `19!!` | Haskell | 20.82 ns |-| ``13 `choose` 4`` | ATS | 12.28 ns |-| ``13 `choose` 4`` | Haskell | 28.38 ns | | `isPrime 2017` | ATS | 118.9 ns | | `isPrime 2017` | Haskell | 497.3 ns |-| `3 ^ 7` | ATS | 8.735 ns |-| `3 ^ 7` | Haskell | 37.02 ns |+| `φ(2016)` | ATS | 5.574 μs |+| `φ(2016)` | Haskell | 177.3 μs |+| `τ(3018)` | ATS | 7.962 μs |+| `τ(3018)` | Haskell | 35.87 μs | ## Building @@ -55,7 +48,3 @@ You may wish to read the ATS source code for an indication of what sorts of things ATS allows us to prove things about our programs, particularly proofs of termination.--There are also a few caveats: note that all results and arguments-must be of the `Int` type. This unfortunate constraint will hopefully be fixed-in the future, but right now it limits the usefulness of the library.
ats-src/combinatorics.dats view
@@ -9,6 +9,7 @@ | 0 => 1 | k =>> fact(k - 1) * k +// double factorial http://mathworld.wolfram.com/DoubleFactorial.html fnx dfact {n : nat} .<n>. (k : int(n)) :<> int = case+ k of | 0 => 1
ats-src/number-theory-ffi.dats view
@@ -4,8 +4,15 @@ #include "ats-src/number-theory.dats" extern-fun mod(int, int) : int =+fun totient_ats { k : nat | k >= 2 } (int(k)) : int = "mac#" -implement mod (m, n) =- m % n+extern+fun count_divisors_ats { k : nat | k >= 2 } (int(k)) : int =+ "mac#"++implement count_divisors_ats (n) =+ count_divisors(n)++implement totient_ats (n) =+ totient(n)
ats-src/number-theory.dats view
@@ -1,8 +1,58 @@-#define ATS_MAINATSFLAG 1- #include "share/atspre_staload.hats"+#include "ats-src/numerics.dats" staload "libats/libc/SATS/math.sats"+staload UN = "prelude/SATS/unsafe.sats"++#define ATS_MAINATSFLAG 1++// Existential types for even and odd numbers. These are only usable with the+// ATS library.+typedef Even = [ n : nat ] int(2 * n)++typedef Odd = [ n : nat ] int(2 * n+1)++extern+praxi int_not_gt {n : nat}{ m : nat | n <= m } (i : int(n), j : int(m)) : [ n + 1 <= m ] void++// m | n+fn divides(m : int, n : int) :<> bool =+ n % m = 0++fn count_divisors { k : nat | k >= 1 } (n : int(k)) :<> int =+ let+ fun loop {k : nat}{ m : nat | m > 0 && k >= m } .<k-m>. (n : int(k), acc : int(m)) :<> int =+ if acc >= n then+ 1+ else+ if n % acc = 0 then+ 1 + loop(n, acc + 1)+ else+ loop(n, acc + 1)+ in+ loop(n, 1)+ end++fn totient { k : nat | k >= 2 } (n : int(k)) : int =+ let+ fnx loop { k : nat | k >= 2 }{ m : nat | m > 0 && k >= m } .<k-m>. (i : int(m), n : int(k)) : int =+ if i > n then+ if is_prime(n) then+ n - 1+ else+ n+ else+ let+ prval _ = int_not_gt(i, n)+ in+ if n % i = 0 && is_prime(i) && i != n then+ (loop(i + 1, n) / i) * (i - 1)+ else+ loop(i + 1, n)+ end+ in+ loop(1, n)+ end fn is_even(n : int) :<> bool = n % 2 = 0
ats-src/numerics.dats view
@@ -5,6 +5,7 @@ staload "libats/libc/SATS/math.sats" staload UN = "prelude/SATS/unsafe.sats" +// Fast integer exponentiation. Modified from an example in the manual. fun exp {n : nat} .<n>. (x : int, n : int(n)) :<> int = case+ x of | 0 => 0@@ -24,21 +25,22 @@ 1 end -fun sqrt_int(k : intGt(0)) : [ m : nat ] int(m) =+fn sqrt_int(k : intGt(0)) :<> [ m : nat ] int(m) = let- var pre_bound: int = g0float2int(sqrt_float(g0int2float_int_float(k)))+ var pre_bound: int = g0float2int(sqrt_float(g0int2float(k))) var bound: [ m : nat ] int(m) = $UN.cast(pre_bound) in bound end -fn is_prime(k : intGt(0)) : bool =+// function to check primality+fn is_prime(k : intGt(0)) :<> bool = case+ k of | 1 => false | k => begin let- fun loop {n : nat}{m : nat} .<max(0,m-n)>. (i : int(n), bound : int(m)) :<> bool =+ fnx loop {n : nat}{m : nat} .<max(0,m-n)>. (i : int(n), bound : int(m)) :<> bool = if i < bound then if k % i = 0 then false
bench/Bench.hs view
@@ -3,7 +3,8 @@ import Criterion.Main import Numeric.Combinatorics import Numeric.Integer-import Numeric.Pure.Combinatorics+import Numeric.NumberTheory+import Numeric.Pure main :: IO () main =@@ -26,5 +27,13 @@ , bgroup "integer exponentiation" [ bench "integerExp" $ nf (integerExp 3) 7 , bench "^" $ nf ((3 :: Int) ^) (7 :: Int)+ ]+ , bgroup "totient"+ [ bench "totient" $ nf totient 2016+ , bench "hsTotient" $ nf hsTotient 2016+ ]+ , bgroup "tau"+ [ bench "tau" $ nf tau 3018+ , bench "hsTau" $ nf hsTau 3018 ] ]
− cbits/combinatorics-ffi.c
@@ -1,968 +0,0 @@-/*-**-** The C code is generated by [ATS/Postiats-0-3-8]-** The starting compilation time is: 2018-1-1: 11h:20m-**-*/--/*-** 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) -- 722(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) -- 722(line=31, offs=6)-*/-ATSINSflab(__patsflab_choose_4):-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 436(line=20, offs=3) -- 722(line=31, offs=6)-*/-/*-letpush(beg)-*/-/*-letpush(end)-*/--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 634(line=27, offs=5) -- 716(line=30, offs=42)-*/-ATScaseof_beg()-/*-** ibranchlst-beg-*/-ATSbranch_beg()-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 653(line=28, offs=9) -- 654(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: 654(line=28, offs=10) -- 654(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: 658(line=28, offs=14) -- 659(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: 668(line=29, offs=9) -- 669(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: 669(line=29, offs=10) -- 669(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: 673(line=29, offs=14) -- 674(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: 684(line=30, offs=10) -- 684(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: 689(line=30, offs=15) -- 705(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: 709(line=30, offs=35) -- 715(line=30, offs=41)-*/-ATSINSmove(tmp14, fact_0(arg1)) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 689(line=30, offs=15) -- 715(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: 436(line=20, offs=3) -- 722(line=31, offs=6)-*/-/*-INSletpop()-*/-ATSfunbody_end()-ATSreturn(tmpret6) ;-} /* end of [choose_4] */--/*-/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 448(line=21, offs=9) -- 624(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: 448(line=21, offs=9) -- 624(line=25, offs=52)-*/-ATSINSflab(__patsflab_numerator_loop_5):-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 518(line=22, offs=7) -- 624(line=25, offs=52)-*/-ATScaseof_beg()-/*-** ibranchlst-beg-*/-ATSbranch_beg()-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 539(line=23, offs=11) -- 540(line=23, offs=12)-*/-ATSINSlab(__atstmplab8):-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 490(line=21, offs=51) -- 491(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: 540(line=23, offs=12) -- 540(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: 544(line=23, offs=16) -- 545(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: 556(line=24, offs=11) -- 557(line=24, offs=12)-*/-ATSINSlab(__atstmplab10):-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 490(line=21, offs=51) -- 491(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: 557(line=24, offs=12) -- 557(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: 562(line=24, offs=17) -- 567(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: 561(line=24, offs=16) -- 572(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: 584(line=25, offs=12) -- 584(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: 590(line=25, offs=18) -- 595(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: 590(line=25, offs=18) -- 599(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: 618(line=25, offs=46) -- 623(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: 603(line=25, offs=31) -- 624(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: 589(line=25, offs=17) -- 624(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)-*/-/* local */-/* in of [local] */-/* end of [local] */-} /* ATSendif */-ATSfunbody_end()-ATSreturn_void(tmpret_void) ;-} /* end of [*_dynload] */--/* ****** ****** */--/* end-of-compilation-unit */
+ cbits/combinatorics.c view
@@ -0,0 +1,968 @@+/*+**+** The C code is generated by [ATS/Postiats-0-3-8]+** The starting compilation time is: 2018-1-1: 22h:13m+**+*/++/*+** 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: 281(line=13, offs=5) -- 393(line=17, 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: 281(line=13, offs=5) -- 393(line=17, offs=29)+*/+ATSINSflab(__patsflab_dfact_3):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 328(line=14, offs=3) -- 393(line=17, offs=29)+*/+ATScaseof_beg()+/*+** ibranchlst-beg+*/+ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 345(line=15, offs=7) -- 346(line=15, offs=8)+*/+ATSINSlab(__atstmplab3):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 304(line=13, offs=28) -- 305(line=13, offs=29)+*/+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab5) ; } ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 346(line=15, offs=8) -- 346(line=15, 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: 350(line=15, offs=12) -- 351(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: 358(line=16, offs=7) -- 359(line=16, offs=8)+*/+ATSINSlab(__atstmplab5):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 304(line=13, offs=28) -- 305(line=13, offs=29)+*/+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab7) ; } ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 359(line=16, offs=8) -- 359(line=16, 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: 363(line=16, offs=12) -- 364(line=16, offs=13)+*/+ATSINSmove(tmpret3, ATSPMVi0nt(1)) ;+ATSbranch_end()++ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 372(line=17, offs=8) -- 372(line=17, 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: 387(line=17, offs=23) -- 392(line=17, 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: 381(line=17, offs=17) -- 393(line=17, offs=29)+*/+ATSINSmove(tmp4, dfact_3(tmp5)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 377(line=17, offs=13) -- 393(line=17, 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: 432(line=20, offs=4) -- 792(line=32, 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: 432(line=20, offs=4) -- 792(line=32, offs=6)+*/+ATSINSflab(__patsflab_choose_4):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 506(line=21, offs=3) -- 792(line=32, offs=6)+*/+/*+letpush(beg)+*/+/*+letpush(end)+*/++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 704(line=28, offs=5) -- 786(line=31, offs=42)+*/+ATScaseof_beg()+/*+** ibranchlst-beg+*/+ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 723(line=29, offs=9) -- 724(line=29, offs=10)+*/+ATSINSlab(__atstmplab13):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 482(line=20, offs=54) -- 483(line=20, offs=55)+*/+ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(0))) { ATSINSgoto(__atstmplab15) ; } ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 724(line=29, offs=10) -- 724(line=29, 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: 728(line=29, offs=14) -- 729(line=29, offs=15)+*/+ATSINSmove(tmpret6, ATSPMVi0nt(1)) ;+ATSbranch_end()++ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 738(line=30, offs=9) -- 739(line=30, offs=10)+*/+ATSINSlab(__atstmplab15):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 482(line=20, offs=54) -- 483(line=20, offs=55)+*/+ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab17) ; } ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 739(line=30, offs=10) -- 739(line=30, 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: 743(line=30, offs=14) -- 744(line=30, offs=15)+*/+ATSINSmove(tmpret6, arg0) ;+ATSbranch_end()++ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 754(line=31, offs=10) -- 754(line=31, 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: 759(line=31, offs=15) -- 775(line=31, offs=31)+*/+ATSINSmove(tmp13, numerator_loop_5(arg0, arg1)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 779(line=31, offs=35) -- 785(line=31, offs=41)+*/+ATSINSmove(tmp14, fact_0(arg1)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 759(line=31, offs=15) -- 785(line=31, 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: 506(line=21, offs=3) -- 792(line=32, offs=6)+*/+/*+INSletpop()+*/+ATSfunbody_end()+ATSreturn(tmpret6) ;+} /* end of [choose_4] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 518(line=22, offs=9) -- 694(line=26, 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: 518(line=22, offs=9) -- 694(line=26, offs=52)+*/+ATSINSflab(__patsflab_numerator_loop_5):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 588(line=23, offs=7) -- 694(line=26, offs=52)+*/+ATScaseof_beg()+/*+** ibranchlst-beg+*/+ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 609(line=24, offs=11) -- 610(line=24, offs=12)+*/+ATSINSlab(__atstmplab8):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 560(line=22, offs=51) -- 561(line=22, offs=52)+*/+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab10) ; } ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 610(line=24, offs=12) -- 610(line=24, 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: 614(line=24, offs=16) -- 615(line=24, offs=17)+*/+ATSINSmove(tmpret7, env0) ;+ATSbranch_end()++ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 626(line=25, offs=11) -- 627(line=25, offs=12)+*/+ATSINSlab(__atstmplab10):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 560(line=22, offs=51) -- 561(line=22, offs=52)+*/+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab12) ; } ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 627(line=25, offs=12) -- 627(line=25, 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: 632(line=25, offs=17) -- 637(line=25, 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: 631(line=25, offs=16) -- 642(line=25, 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: 654(line=26, offs=12) -- 654(line=26, 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: 660(line=26, offs=18) -- 665(line=26, 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: 660(line=26, offs=18) -- 669(line=26, offs=27)+*/+ATSINSmove(tmp9, atspre_g1int_sub_int(tmp10, arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 688(line=26, offs=46) -- 693(line=26, 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: 673(line=26, offs=31) -- 694(line=26, offs=52)+*/+ATSINSmove(tmp11, numerator_loop_5(env0, tmp12)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/combinatorics.dats: 659(line=26, offs=17) -- 694(line=26, 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)+*/+/* local */+/* in of [local] */+/* end of [local] */+} /* ATSendif */+ATSfunbody_end()+ATSreturn_void(tmpret_void) ;+} /* end of [*_dynload] */++/* ****** ****** */++/* end-of-compilation-unit */
+ cbits/number-theory.c view
@@ -0,0 +1,2381 @@+/*+**+** The C code is generated by [ATS/Postiats-0-3-8]+** The starting compilation time is: 2018-1-1: 23h:18m+**+*/++/*+** include runtime header files+*/+#ifndef _ATS_CCOMP_HEADER_NONE_+#include "pats_ccomp_config.h"+#include "pats_ccomp_basics.h"+#include "pats_ccomp_typedefs.h"+#include "pats_ccomp_instrset.h"+#include "pats_ccomp_memalloc.h"+#ifndef _ATS_CCOMP_EXCEPTION_NONE_+#include "pats_ccomp_memalloca.h"+#include "pats_ccomp_exception.h"+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]+#endif /* _ATS_CCOMP_HEADER_NONE_ */+++/*+** include prelude cats files+*/+#ifndef _ATS_CCOMP_PRELUDE_NONE_+//+#include "prelude/CATS/basics.cats"+#include "prelude/CATS/integer.cats"+#include "prelude/CATS/pointer.cats"+#include "prelude/CATS/integer_long.cats"+#include "prelude/CATS/integer_size.cats"+#include "prelude/CATS/integer_short.cats"+#include "prelude/CATS/bool.cats"+#include "prelude/CATS/char.cats"+#include "prelude/CATS/float.cats"+#include "prelude/CATS/integer_ptr.cats"+#include "prelude/CATS/integer_fixed.cats"+#include "prelude/CATS/memory.cats"+#include "prelude/CATS/string.cats"+#include "prelude/CATS/strptr.cats"+//+#include "prelude/CATS/fprintf.cats"+//+#include "prelude/CATS/filebas.cats"+//+#include "prelude/CATS/list.cats"+#include "prelude/CATS/option.cats"+#include "prelude/CATS/array.cats"+#include "prelude/CATS/arrayptr.cats"+#include "prelude/CATS/arrayref.cats"+#include "prelude/CATS/matrix.cats"+#include "prelude/CATS/matrixptr.cats"+//+#endif /* _ATS_CCOMP_PRELUDE_NONE_ */+/*+** for user-supplied prelude+*/+#ifdef _ATS_CCOMP_PRELUDE_USER_+//+#include _ATS_CCOMP_PRELUDE_USER_+//+#endif /* _ATS_CCOMP_PRELUDE_USER_ */+/*+** for user2-supplied prelude+*/+#ifdef _ATS_CCOMP_PRELUDE_USER2_+//+#include _ATS_CCOMP_PRELUDE_USER2_+//+#endif /* _ATS_CCOMP_PRELUDE_USER2_ */++/*+staload-prologues(beg)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/basics.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats: 1533(line=44, offs=1) -- 1572(line=44, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_long.dats: 1602(line=49, offs=1) -- 1641(line=49, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_short.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/char.dats: 1610(line=48, offs=1) -- 1649(line=48, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/float.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/string.dats: 1631(line=50, offs=1) -- 1670(line=50, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/strptr.dats: 1629(line=50, offs=1) -- 1668(line=50, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/strptr.dats: 1691(line=54, offs=1) -- 1738(line=54, offs=48)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_ptr.dats: 1601(line=49, offs=1) -- 1640(line=49, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_fixed.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/memory.dats: 1410(line=38, offs=1) -- 1449(line=39, offs=32)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1613(line=49, offs=1) -- 1652(line=50, offs=32)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1675(line=54, offs=1) -- 1721(line=55, offs=39)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1744(line=59, offs=1) -- 1789(line=60, offs=38)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)+*/++#include \+"libats/libc/CATS/stdio.cats"+/*+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)+*/++#include \+"libats/libc/CATS/sys/types.cats"+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1871(line=66, offs=1) -- 1918(line=66, offs=48)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/stat.sats: 1390(line=36, offs=1) -- 1440(line=39, offs=3)+*/++#include \+"libats/libc/CATS/sys/stat.cats"+/*+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/stat.sats: 1756(line=58, offs=1) -- 1805(line=60, offs=34)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)+*/++#include \+"libats/libc/CATS/sys/types.cats"+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 15552(line=879, offs=1) -- 15589(line=880, offs=30)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)+*/++#include \+"libats/libc/CATS/stdio.cats"+/*+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)+*/++#include \+"libats/libc/CATS/sys/types.cats"+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list.dats: 1529(line=44, offs=1) -- 1568(line=45, offs=32)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list.dats: 1569(line=46, offs=1) -- 1615(line=47, offs=39)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list_vt.dats: 1538(line=44, offs=1) -- 1577(line=45, offs=32)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list_vt.dats: 1578(line=46, offs=1) -- 1624(line=47, offs=39)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/list_vt_mergesort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/list_vt_quicksort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/array.dats: 1534(line=44, offs=1) -- 1573(line=44, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/array.dats: 1574(line=45, offs=1) -- 1616(line=45, offs=43)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/array_bsearch.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/array_quicksort.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/arrayptr.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/arrayref.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrix.dats: 1535(line=44, offs=1) -- 1574(line=44, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrixptr.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrixref.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/tostring.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/checkast.dats: 1531(line=44, offs=1) -- 1570(line=45, offs=32)+*/+/*+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/math.sats: 1380(line=35, offs=1) -- 1426(line=38, offs=3)+*/++#include \+"libats/libc/CATS/math.cats"+/*+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/math.sats: 1380(line=35, offs=1) -- 1426(line=38, offs=3)+*/++#include \+"libats/libc/CATS/math.cats"+/*+staload-prologues(end)+*/+/*+typedefs-for-tyrecs-and-tysums(beg)+*/+/*+typedefs-for-tyrecs-and-tysums(end)+*/+/*+dynconlst-declaration(beg)+*/+/*+dynconlst-declaration(end)+*/+/*+dyncstlst-declaration(beg)+*/+ATSdyncst_mac(atspre_g1int2int_int_int)+ATSdyncst_mac(atspre_g1int_gt_int)+ATSdyncst_mac(atspre_g1int_half_int)+ATSdyncst_mac(atspre_g0int_mod_int)+ATSdyncst_mac(atspre_g0int2int_int_int)+ATSdyncst_mac(atspre_g0int_eq_int)+ATSdyncst_mac(atspre_g0int_mul_int)+ATSdyncst_mac(atspre_g0float2int_float_int)+ATSdyncst_mac(atslib_libats_libc_sqrt_float)+ATSdyncst_mac(atspre_g0int2float_int_float)+ATSdyncst_mac(atspre_g1int_lt_int)+ATSdyncst_mac(atspre_g1int_add_int)+ATSdyncst_mac(atspre_g1int_eq_int)+ATSdyncst_mac(atspre_g1int_gte_int)+ATSdyncst_mac(atspre_g0int_add_int)+ATSdyncst_mac(atspre_g1int_sub_int)+ATSdyncst_mac(atspre_g1int_neq_int)+ATSdyncst_mac(atspre_g0int_div_int)+/*+dyncstlst-declaration(end)+*/+/*+dynvalist-implementation(beg)+*/+/*+dynvalist-implementation(end)+*/+/*+exnconlst-declaration(beg)+*/+#ifndef _ATS_CCOMP_EXCEPTION_NONE_+ATSextern()+atsvoid_t0ype+the_atsexncon_initize+(+ atstype_exnconptr d2c, atstype_string exnmsg+) ;+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]+/*+exnconlst-declaration(end)+*/+/*+extypelst-declaration(beg)+*/+/*+extypelst-declaration(end)+*/+/*+assumelst-declaration(beg)+*/+#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_+#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)+/*+assumelst-declaration(end)+*/+ATSstatic()+atstkind_t0ype(atstype_int)+exp_0(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++#if(0)+#if(0)+ATSextern()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__gt_g1int_int__1(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]+#endif // end of [TEMPLATE]++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__gt_g1int_int__1__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++#if(0)+#if(0)+ATSextern()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]+#endif // end of [TEMPLATE]++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_int)+sqrt_int_12(atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+is_prime_15(atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+loop_16(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++#if(0)+#if(0)+ATSextern()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__lt_g1int_int__17(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]+#endif // end of [TEMPLATE]++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__lt_g1int_int__17__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++#if(0)+#if(0)+ATSextern()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g1int_int__22(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]+#endif // end of [TEMPLATE]++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g1int_int__22__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+divides_26(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_int)+count_divisors_28(atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_int)+loop_29(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++#if(0)+#if(0)+ATSextern()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__gte_g1int_int__30(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]+#endif // end of [TEMPLATE]++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__gte_g1int_int__30__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_int)+totient_35(atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_int)+loop_36(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__gt_g1int_int__1__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__6(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++#if(0)+#if(0)+ATSextern()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__neq_g1int_int__40(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]+#endif // end of [TEMPLATE]++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__neq_g1int_int__40__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+is_even_44(atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__7(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+is_odd_46(atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__8(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++#if(0)+ATSextern()+atstkind_t0ype(atstype_int)+count_divisors_ats(atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]++#if(0)+ATSextern()+atstkind_t0ype(atstype_int)+totient_ats(atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 220(line=9, offs=5) -- 581(line=26, offs=10)+*/+/*+local: exp_0$0(level=0)+global: exp_0$0(level=0)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_int)+exp_0(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpret0, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp1, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp6, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp7, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp8, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp13, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp14, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp15, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 220(line=9, offs=5) -- 581(line=26, offs=10)+*/+ATSINSflab(__patsflab_exp_0):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 274(line=10, offs=3) -- 581(line=26, offs=10)+*/+ATScaseof_beg()+/*+** ibranchlst-beg+*/+ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 291(line=11, offs=7) -- 292(line=11, offs=8)+*/+ATSINSlab(__atstmplab0):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 241(line=9, offs=26) -- 242(line=9, offs=27)+*/+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 292(line=11, offs=8) -- 292(line=11, offs=8)+*/+ATSINSlab(__atstmplab1):+/*+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)+*/+/*+ibranch-mbody:+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 296(line=11, offs=12) -- 297(line=11, offs=13)+*/+ATSINSmove(tmpret0, ATSPMVi0nt(0)) ;+ATSbranch_end()++ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 305(line=12, offs=8) -- 305(line=12, offs=8)+*/+ATSINSlab(__atstmplab2):+/*+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)+*/+/*+ibranch-mbody:+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 333(line=14, offs=12) -- 338(line=14, offs=17)+*/+ATSINSmove(tmp1, ATSLIB_056_prelude__gt_g1int_int__1__1(arg1, ATSPMVi0nt(0))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 330(line=14, offs=9) -- 571(line=25, offs=12)+*/+ATSif(+tmp1+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 354(line=15, offs=11) -- 546(line=23, offs=14)+*/+/*+letpush(beg)+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 379(line=16, offs=22) -- 385(line=16, offs=28)+*/+ATSINSmove(tmp6, atspre_g1int_half_int(arg1)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 408(line=17, offs=22) -- 413(line=17, offs=27)+*/+ATSINSmove(tmp7, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;++/*+letpush(end)+*/++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 442(line=19, offs=16) -- 448(line=19, offs=22)+*/+ATSINSmove(tmp8, ATSLIB_056_prelude__eq_g0int_int__7__1(tmp7, ATSPMVi0nt(0))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 439(line=19, offs=13) -- 532(line=22, offs=33)+*/+ATSif(+tmp8+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 472(line=20, offs=19) -- 477(line=20, offs=24)+*/+ATSINSmove(tmp13, atspre_g0int_mul_int(arg0, arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 468(line=20, offs=15) -- 482(line=20, offs=29)+*/+ATStailcal_beg()+ATSINSmove_tlcal(apy0, tmp13) ;+ATSINSmove_tlcal(apy1, tmp6) ;+ATSINSargmove_tlcal(arg0, apy0) ;+ATSINSargmove_tlcal(arg1, apy1) ;+ATSINSfgoto(__patsflab_exp_0) ;+ATStailcal_end()++} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 522(line=22, offs=23) -- 527(line=22, offs=28)+*/+ATSINSmove(tmp15, atspre_g0int_mul_int(arg0, arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 518(line=22, offs=19) -- 532(line=22, offs=33)+*/+ATSINSmove(tmp14, exp_0(tmp15, tmp6)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 514(line=22, offs=15) -- 532(line=22, offs=33)+*/+ATSINSmove(tmpret0, atspre_g0int_mul_int(arg0, tmp14)) ;++} /* ATSendif */+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 354(line=15, offs=11) -- 546(line=23, offs=14)+*/+/*+INSletpop()+*/+} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 570(line=25, offs=11) -- 571(line=25, offs=12)+*/+ATSINSmove(tmpret0, ATSPMVi0nt(1)) ;+} /* ATSendif */+ATSbranch_end()++/*+** ibranchlst-end+*/+ATScaseof_end()++ATSfunbody_end()+ATSreturn(tmpret0) ;+} /* end of [exp_0] */++#if(0)+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)+*/+/*+local: +global: gt_g1int_int$1$0(level=0)+local: +global: +*/+ATSextern()+/*+imparg = tk(4703)+tmparg = S2Evar(tk(4703))+tmpsub = None()+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__gt_g1int_int__1(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret2, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp3, atstkind_t0ype(atstyvar_type(tk))) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)+*/+ATSINSflab(__patsflab_gt_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)+*/+ATSINSmove(tmp3, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4703))>)(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)+*/+ATSINSmove(tmpret2, PMVtmpltcst(g1int_gt<S2Evar(tk(4703))>)(arg0, tmp3)) ;++ATSfunbody_end()+ATSreturn(tmpret2) ;+} /* end of [ATSLIB_056_prelude__gt_g1int_int__1] */+#endif // end of [TEMPLATE]++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)+*/+/*+local: +global: gt_g1int_int$1$1(level=1)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4703)+tmparg = S2Evar(tk(4703))+tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__gt_g1int_int__1__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret2__1, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp3__1, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)+*/+ATSINSflab(__patsflab_gt_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)+*/+ATSINSmove(tmp3__1, atspre_g1int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)+*/+ATSINSmove(tmpret2__1, atspre_g1int_gt_int(arg0, tmp3__1)) ;++ATSfunbody_end()+ATSreturn(tmpret2__1) ;+} /* end of [ATSLIB_056_prelude__gt_g1int_int__1__1] */++#if(0)+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)+*/+/*+local: +global: eq_g0int_int$7$0(level=0)+local: +global: +*/+ATSextern()+/*+imparg = tk(4694)+tmparg = S2Evar(tk(4694))+tmpsub = None()+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret9, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp10, atstkind_t0ype(atstyvar_type(tk))) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)+*/+ATSINSflab(__patsflab_eq_g0int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)+*/+ATSINSmove(tmp10, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4694))>)(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)+*/+ATSINSmove(tmpret9, PMVtmpltcst(g0int_eq<S2Evar(tk(4694))>)(arg0, tmp10)) ;++ATSfunbody_end()+ATSreturn(tmpret9) ;+} /* end of [ATSLIB_056_prelude__eq_g0int_int__7] */+#endif // end of [TEMPLATE]++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)+*/+/*+local: +global: eq_g0int_int$7$1(level=1)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4694)+tmparg = S2Evar(tk(4694))+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret9__1, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp10__1, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)+*/+ATSINSflab(__patsflab_eq_g0int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)+*/+ATSINSmove(tmp10__1, atspre_g0int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)+*/+ATSINSmove(tmpret9__1, atspre_g0int_eq_int(arg0, tmp10__1)) ;++ATSfunbody_end()+ATSreturn(tmpret9__1) ;+} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__1] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 586(line=28, offs=4) -- 781(line=34, offs=6)+*/+/*+local: +global: sqrt_int_12$0(level=0)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_int)+sqrt_int_12(atstkind_t0ype(atstype_int) arg0)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret16, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpref17, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp18, atstkind_t0ype(atstype_float)) ;+ATStmpdec(tmp19, atstkind_t0ype(atstype_float)) ;+ATStmpdec(tmpref20, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 586(line=28, offs=4) -- 781(line=34, offs=6)+*/+ATSINSflab(__patsflab_sqrt_int_12):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 636(line=29, offs=3) -- 781(line=34, offs=6)+*/+/*+letpush(beg)+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 648(line=30, offs=9) -- 657(line=30, offs=18)+*/+/*+ATSINStmpdec(tmpref17) ;+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 688(line=30, offs=49) -- 701(line=30, offs=62)+*/+ATSINSmove(tmp19, atspre_g0int2float_int_float(arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 677(line=30, offs=38) -- 703(line=30, offs=64)+*/+ATSINSmove(tmp18, atslib_libats_libc_sqrt_float(tmp19)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 665(line=30, offs=26) -- 704(line=30, offs=65)+*/+ATSINSmove(tmpref17, atspre_g0float2int_float_int(tmp18)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 713(line=31, offs=9) -- 718(line=31, offs=14)+*/+/*+ATSINStmpdec(tmpref20) ;+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 741(line=31, offs=37) -- 759(line=31, offs=55)+*/+ATSINSmove(tmpref20, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmpref17)) ;+/*+letpush(end)+*/++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 770(line=33, offs=5) -- 775(line=33, offs=10)+*/+ATSINSmove(tmpret16, tmpref20) ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 636(line=29, offs=3) -- 781(line=34, offs=6)+*/+/*+INSletpop()+*/+ATSfunbody_end()+ATSreturn(tmpret16) ;+} /* end of [sqrt_int_12] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 817(line=37, offs=4) -- 1402(line=60, offs=10)+*/+/*+local: sqrt_int_12$0(level=0)+global: sqrt_int_12$0(level=0), is_prime_15$0(level=0)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_bool)+is_prime_15(atstkind_t0ype(atstype_int) arg0)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret21, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp42, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 817(line=37, offs=4) -- 1402(line=60, offs=10)+*/+ATSINSflab(__patsflab_is_prime_15):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 853(line=38, offs=3) -- 1402(line=60, offs=10)+*/+ATScaseof_beg()+/*+** ibranchlst-beg+*/+ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 870(line=39, offs=7) -- 871(line=39, offs=8)+*/+ATSINSlab(__atstmplab3):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 826(line=37, offs=13) -- 827(line=37, offs=14)+*/+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab5) ; } ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 871(line=39, offs=8) -- 871(line=39, offs=8)+*/+ATSINSlab(__atstmplab4):+/*+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)+*/+/*+ibranch-mbody:+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 875(line=39, offs=12) -- 880(line=39, offs=17)+*/+ATSINSmove(tmpret21, ATSPMVbool_false()) ;+ATSbranch_end()++ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 888(line=40, offs=8) -- 888(line=40, offs=8)+*/+ATSINSlab(__atstmplab5):+/*+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)+*/+/*+ibranch-mbody:+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 913(line=42, offs=9) -- 1392(line=59, offs=12)+*/+/*+letpush(beg)+*/+/*+letpush(end)+*/++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1368(line=58, offs=19) -- 1378(line=58, offs=29)+*/+ATSINSmove(tmp42, sqrt_int_12(arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1360(line=58, offs=11) -- 1380(line=58, offs=31)+*/+ATSINSmove(tmpret21, loop_16(arg0, ATSPMVi0nt(2), tmp42)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 913(line=42, offs=9) -- 1392(line=59, offs=12)+*/+/*+INSletpop()+*/+ATSbranch_end()++/*+** ibranchlst-end+*/+ATScaseof_end()++ATSfunbody_end()+ATSreturn(tmpret21) ;+} /* end of [is_prime_15] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 931(line=43, offs=15) -- 1338(line=56, offs=21)+*/+/*+local: loop_16$0(level=1)+global: loop_16$0(level=1)+local: k$4739(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))+global: k$4739(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))+*/+ATSstatic()+atstkind_t0ype(atstype_bool)+loop_16(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpret22, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp23, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp28, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp31, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp32, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp33, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp38, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp41, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+/*+emit_funent_fnxdeclst:+*/+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 931(line=43, offs=15) -- 1338(line=56, offs=21)+*/+ATSINSflab(__patsflab_loop_16):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1025(line=44, offs=16) -- 1034(line=44, offs=25)+*/+ATSINSmove(tmp23, ATSLIB_056_prelude__lt_g1int_int__17__1(arg0, arg1)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1022(line=44, offs=13) -- 1338(line=56, offs=21)+*/+ATSif(+tmp23+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1057(line=45, offs=18) -- 1062(line=45, offs=23)+*/+ATSINSmove(tmp31, atspre_g0int_mod_int(env0, arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1057(line=45, offs=18) -- 1066(line=45, offs=27)+*/+ATSINSmove(tmp28, ATSLIB_056_prelude__eq_g0int_int__7__2(tmp31, ATSPMVi0nt(0))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1054(line=45, offs=15) -- 1147(line=48, offs=35)+*/+ATSif(+tmp28+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1088(line=46, offs=17) -- 1093(line=46, offs=22)+*/+ATSINSmove(tmpret22, ATSPMVbool_false()) ;+} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1134(line=48, offs=22) -- 1139(line=48, offs=27)+*/+ATSINSmove(tmp32, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1129(line=48, offs=17) -- 1147(line=48, offs=35)+*/+ATStailcal_beg()+ATSINSmove_tlcal(apy0, tmp32) ;+ATSINSmove_tlcal(apy1, arg1) ;+ATSINSargmove_tlcal(arg0, apy0) ;+ATSINSargmove_tlcal(arg1, apy1) ;+ATSINSfgoto(__patsflab_loop_16) ;+ATStailcal_end()++} /* ATSendif */+} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1182(line=50, offs=18) -- 1191(line=50, offs=27)+*/+ATSINSmove(tmp33, ATSLIB_056_prelude__eq_g1int_int__22__1(arg0, arg1)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1179(line=50, offs=15) -- 1338(line=56, offs=21)+*/+ATSif(+tmp33+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1216(line=51, offs=20) -- 1221(line=51, offs=25)+*/+ATSINSmove(tmp41, atspre_g0int_mod_int(env0, arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1216(line=51, offs=20) -- 1225(line=51, offs=29)+*/+ATSINSmove(tmp38, ATSLIB_056_prelude__eq_g0int_int__7__3(tmp41, ATSPMVi0nt(0))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1213(line=51, offs=17) -- 1298(line=54, offs=23)+*/+ATSif(+tmp38+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1249(line=52, offs=19) -- 1254(line=52, offs=24)+*/+ATSINSmove(tmpret22, ATSPMVbool_false()) ;+} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1294(line=54, offs=19) -- 1298(line=54, offs=23)+*/+ATSINSmove(tmpret22, ATSPMVbool_true()) ;+} /* ATSendif */+} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1334(line=56, offs=17) -- 1338(line=56, offs=21)+*/+ATSINSmove(tmpret22, ATSPMVbool_true()) ;+} /* ATSendif */+} /* ATSendif */+ATSfunbody_end()+ATSreturn(tmpret22) ;+/*+emit_funent_fnxbodylst:+*/+} /* end of [loop_16] */++#if(0)+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)+*/+/*+local: +global: lt_g1int_int$17$0(level=0)+local: +global: +*/+ATSextern()+/*+imparg = tk(4697)+tmparg = S2Evar(tk(4697))+tmpsub = None()+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__lt_g1int_int__17(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret24, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp25, atstkind_t0ype(atstyvar_type(tk))) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)+*/+ATSINSflab(__patsflab_lt_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)+*/+ATSINSmove(tmp25, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4697))>)(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)+*/+ATSINSmove(tmpret24, PMVtmpltcst(g1int_lt<S2Evar(tk(4697))>)(arg0, tmp25)) ;++ATSfunbody_end()+ATSreturn(tmpret24) ;+} /* end of [ATSLIB_056_prelude__lt_g1int_int__17] */+#endif // end of [TEMPLATE]++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)+*/+/*+local: +global: lt_g1int_int$17$1(level=2)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4697)+tmparg = S2Evar(tk(4697))+tmpsub = Some(tk(4697) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__lt_g1int_int__17__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret24__1, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp25__1, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)+*/+ATSINSflab(__patsflab_lt_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)+*/+ATSINSmove(tmp25__1, atspre_g1int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)+*/+ATSINSmove(tmpret24__1, atspre_g1int_lt_int(arg0, tmp25__1)) ;++ATSfunbody_end()+ATSreturn(tmpret24__1) ;+} /* end of [ATSLIB_056_prelude__lt_g1int_int__17__1] */++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)+*/+/*+local: +global: eq_g0int_int$7$2(level=2)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4694)+tmparg = S2Evar(tk(4694))+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret9__2, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp10__2, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)+*/+ATSINSflab(__patsflab_eq_g0int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)+*/+ATSINSmove(tmp10__2, atspre_g0int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)+*/+ATSINSmove(tmpret9__2, atspre_g0int_eq_int(arg0, tmp10__2)) ;++ATSfunbody_end()+ATSreturn(tmpret9__2) ;+} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__2] */++#if(0)+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)+*/+/*+local: +global: eq_g1int_int$22$0(level=0)+local: +global: +*/+ATSextern()+/*+imparg = tk(4709)+tmparg = S2Evar(tk(4709))+tmpsub = None()+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g1int_int__22(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret34, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp35, atstkind_t0ype(atstyvar_type(tk))) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)+*/+ATSINSflab(__patsflab_eq_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)+*/+ATSINSmove(tmp35, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4709))>)(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)+*/+ATSINSmove(tmpret34, PMVtmpltcst(g1int_eq<S2Evar(tk(4709))>)(arg0, tmp35)) ;++ATSfunbody_end()+ATSreturn(tmpret34) ;+} /* end of [ATSLIB_056_prelude__eq_g1int_int__22] */+#endif // end of [TEMPLATE]++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)+*/+/*+local: +global: eq_g1int_int$22$1(level=2)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4709)+tmparg = S2Evar(tk(4709))+tmpsub = Some(tk(4709) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g1int_int__22__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret34__1, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp35__1, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)+*/+ATSINSflab(__patsflab_eq_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)+*/+ATSINSmove(tmp35__1, atspre_g1int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)+*/+ATSINSmove(tmpret34__1, atspre_g1int_eq_int(arg0, tmp35__1)) ;++ATSfunbody_end()+ATSreturn(tmpret34__1) ;+} /* end of [ATSLIB_056_prelude__eq_g1int_int__22__1] */++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)+*/+/*+local: +global: eq_g0int_int$7$3(level=2)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4694)+tmparg = S2Evar(tk(4694))+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret9__3, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp10__3, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)+*/+ATSINSflab(__patsflab_eq_g0int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)+*/+ATSINSmove(tmp10__3, atspre_g0int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)+*/+ATSINSmove(tmpret9__3, atspre_g0int_eq_int(arg0, tmp10__3)) ;++ATSfunbody_end()+ATSreturn(tmpret9__3) ;+} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__3] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 464(line=19, offs=4) -- 512(line=20, offs=12)+*/+/*+local: +global: divides_26$0(level=0)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_bool)+divides_26(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret43, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp46, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 464(line=19, offs=4) -- 512(line=20, offs=12)+*/+ATSINSflab(__patsflab_divides_26):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 503(line=20, offs=3) -- 508(line=20, offs=8)+*/+ATSINSmove(tmp46, atspre_g0int_mod_int(arg1, arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 503(line=20, offs=3) -- 512(line=20, offs=12)+*/+ATSINSmove(tmpret43, ATSLIB_056_prelude__eq_g0int_int__7__4(tmp46, ATSPMVi0nt(0))) ;++ATSfunbody_end()+ATSreturn(tmpret43) ;+} /* end of [divides_26] */++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)+*/+/*+local: +global: eq_g0int_int$7$4(level=1)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4694)+tmparg = S2Evar(tk(4694))+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret9__4, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp10__4, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)+*/+ATSINSflab(__patsflab_eq_g0int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)+*/+ATSINSmove(tmp10__4, atspre_g0int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)+*/+ATSINSmove(tmpret9__4, atspre_g0int_eq_int(arg0, tmp10__4)) ;++ATSfunbody_end()+ATSreturn(tmpret9__4) ;+} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__4] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 517(line=22, offs=4) -- 847(line=34, offs=6)+*/+/*+local: +global: count_divisors_28$0(level=0)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_int)+count_divisors_28(atstkind_t0ype(atstype_int) arg0)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret47, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 517(line=22, offs=4) -- 847(line=34, offs=6)+*/+ATSINSflab(__patsflab_count_divisors_28):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 578(line=23, offs=3) -- 847(line=34, offs=6)+*/+/*+letpush(beg)+*/+/*+letpush(end)+*/++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 831(line=33, offs=5) -- 841(line=33, offs=15)+*/+ATSINSmove(tmpret47, loop_29(arg0, ATSPMVi0nt(1))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 578(line=23, offs=3) -- 847(line=34, offs=6)+*/+/*+INSletpop()+*/+ATSfunbody_end()+ATSreturn(tmpret47) ;+} /* end of [count_divisors_28] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 590(line=24, offs=9) -- 821(line=31, offs=27)+*/+/*+local: loop_29$0(level=1)+global: loop_29$0(level=1)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_int)+loop_29(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpret48, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp49, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp54, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp57, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp58, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp59, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp60, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 590(line=24, offs=9) -- 821(line=31, offs=27)+*/+ATSINSflab(__patsflab_loop_29):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 688(line=25, offs=10) -- 696(line=25, offs=18)+*/+ATSINSmove(tmp49, ATSLIB_056_prelude__gte_g1int_int__30__1(arg1, arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 685(line=25, offs=7) -- 821(line=31, offs=27)+*/+ATSif(+tmp49+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 710(line=26, offs=9) -- 711(line=26, offs=10)+*/+ATSINSmove(tmpret48, ATSPMVi0nt(1)) ;+} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 734(line=28, offs=12) -- 741(line=28, offs=19)+*/+ATSINSmove(tmp57, atspre_g0int_mod_int(arg0, arg1)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 734(line=28, offs=12) -- 745(line=28, offs=23)+*/+ATSINSmove(tmp54, ATSLIB_056_prelude__eq_g0int_int__7__5(tmp57, ATSPMVi0nt(0))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 731(line=28, offs=9) -- 821(line=31, offs=27)+*/+ATSif(+tmp54+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 773(line=29, offs=23) -- 780(line=29, offs=30)+*/+ATSINSmove(tmp59, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 765(line=29, offs=15) -- 781(line=29, offs=31)+*/+ATSINSmove(tmp58, loop_29(arg0, tmp59)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 761(line=29, offs=11) -- 781(line=29, offs=31)+*/+ATSINSmove(tmpret48, atspre_g0int_add_int(ATSPMVi0nt(1), tmp58)) ;++} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 813(line=31, offs=19) -- 820(line=31, offs=26)+*/+ATSINSmove(tmp60, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 805(line=31, offs=11) -- 821(line=31, offs=27)+*/+ATStailcal_beg()+ATSINSmove_tlcal(apy0, arg0) ;+ATSINSmove_tlcal(apy1, tmp60) ;+ATSINSargmove_tlcal(arg0, apy0) ;+ATSINSargmove_tlcal(arg1, apy1) ;+ATSINSfgoto(__patsflab_loop_29) ;+ATStailcal_end()++} /* ATSendif */+} /* ATSendif */+ATSfunbody_end()+ATSreturn(tmpret48) ;+} /* end of [loop_29] */++#if(0)+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)+*/+/*+local: +global: gte_g1int_int$30$0(level=0)+local: +global: +*/+ATSextern()+/*+imparg = tk(4706)+tmparg = S2Evar(tk(4706))+tmpsub = None()+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__gte_g1int_int__30(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret50, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp51, atstkind_t0ype(atstyvar_type(tk))) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)+*/+ATSINSflab(__patsflab_gte_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)+*/+ATSINSmove(tmp51, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4706))>)(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)+*/+ATSINSmove(tmpret50, PMVtmpltcst(g1int_gte<S2Evar(tk(4706))>)(arg0, tmp51)) ;++ATSfunbody_end()+ATSreturn(tmpret50) ;+} /* end of [ATSLIB_056_prelude__gte_g1int_int__30] */+#endif // end of [TEMPLATE]++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)+*/+/*+local: +global: gte_g1int_int$30$1(level=2)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4706)+tmparg = S2Evar(tk(4706))+tmpsub = Some(tk(4706) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__gte_g1int_int__30__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret50__1, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp51__1, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)+*/+ATSINSflab(__patsflab_gte_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)+*/+ATSINSmove(tmp51__1, atspre_g1int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)+*/+ATSINSmove(tmpret50__1, atspre_g1int_gte_int(arg0, tmp51__1)) ;++ATSfunbody_end()+ATSreturn(tmpret50__1) ;+} /* end of [ATSLIB_056_prelude__gte_g1int_int__30__1] */++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)+*/+/*+local: +global: eq_g0int_int$7$5(level=2)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4694)+tmparg = S2Evar(tk(4694))+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret9__5, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp10__5, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)+*/+ATSINSflab(__patsflab_eq_g0int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)+*/+ATSINSmove(tmp10__5, atspre_g0int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)+*/+ATSINSmove(tmpret9__5, atspre_g0int_eq_int(arg0, tmp10__5)) ;++ATSfunbody_end()+ATSreturn(tmpret9__5) ;+} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__5] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 852(line=36, offs=4) -- 1347(line=55, offs=6)+*/+/*+local: is_prime_15$0(level=0)+global: sqrt_int_12$0(level=0), is_prime_15$0(level=0), totient_35$0(level=0)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_int)+totient_35(atstkind_t0ype(atstype_int) arg0)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret61, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 852(line=36, offs=4) -- 1347(line=55, offs=6)+*/+ATSINSflab(__patsflab_totient_35):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 904(line=37, offs=3) -- 1347(line=55, offs=6)+*/+/*+letpush(beg)+*/+/*+letpush(end)+*/++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1331(line=54, offs=5) -- 1341(line=54, offs=15)+*/+ATSINSmove(tmpret61, loop_36(ATSPMVi0nt(1), arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 904(line=37, offs=3) -- 1347(line=55, offs=6)+*/+/*+INSletpop()+*/+ATSfunbody_end()+ATSreturn(tmpret61) ;+} /* end of [totient_35] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 916(line=38, offs=9) -- 1321(line=52, offs=12)+*/+/*+local: is_prime_15$0(level=0), loop_36$0(level=1)+global: is_prime_15$0(level=0), loop_36$0(level=1)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_int)+loop_36(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpret62, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp63, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp66, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp67, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp68, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp69, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp72, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp77, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp78, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp79, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp80, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp81, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+/*+emit_funent_fnxdeclst:+*/+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 916(line=38, offs=9) -- 1321(line=52, offs=12)+*/+ATSINSflab(__patsflab_loop_36):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1021(line=39, offs=10) -- 1026(line=39, offs=15)+*/+ATSINSmove(tmp63, ATSLIB_056_prelude__gt_g1int_int__1__2(arg0, arg1)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1018(line=39, offs=7) -- 1321(line=52, offs=12)+*/+ATSif(+tmp63+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1043(line=40, offs=12) -- 1053(line=40, offs=22)+*/+ATSINSmove(tmp66, is_prime_15(arg1)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1040(line=40, offs=9) -- 1100(line=43, offs=12)+*/+ATSif(+tmp66+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1070(line=41, offs=11) -- 1075(line=41, offs=16)+*/+ATSINSmove(tmpret62, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;++} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1099(line=43, offs=11) -- 1100(line=43, offs=12)+*/+ATSINSmove(tmpret62, arg1) ;+} /* ATSendif */+} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1185(line=48, offs=14) -- 1219(line=48, offs=48)+*/+ATSINSmove(tmp72, atspre_g0int_mod_int(arg1, arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1185(line=48, offs=14) -- 1219(line=48, offs=48)+*/+ATSINSmove(tmp69, ATSLIB_056_prelude__eq_g0int_int__7__6(tmp72, ATSPMVi0nt(0))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1185(line=48, offs=14) -- 1219(line=48, offs=48)+*/+ATSif(+tmp69+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1185(line=48, offs=14) -- 1219(line=48, offs=48)+*/+ATSINSmove(tmp68, is_prime_15(arg0)) ;++} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1185(line=48, offs=14) -- 1219(line=48, offs=48)+*/+ATSINSmove(tmp68, ATSPMVbool_false()) ;+} /* ATSendif */+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1185(line=48, offs=14) -- 1219(line=48, offs=48)+*/+ATSif(+tmp68+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1185(line=48, offs=14) -- 1219(line=48, offs=48)+*/+ATSINSmove(tmp67, ATSLIB_056_prelude__neq_g1int_int__40__1(arg0, arg1)) ;++} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1185(line=48, offs=14) -- 1219(line=48, offs=48)+*/+ATSINSmove(tmp67, ATSPMVbool_false()) ;+} /* ATSendif */+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1182(line=48, offs=11) -- 1309(line=51, offs=27)+*/+ATSif(+tmp67+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1243(line=49, offs=19) -- 1248(line=49, offs=24)+*/+ATSINSmove(tmp79, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1238(line=49, offs=14) -- 1252(line=49, offs=28)+*/+ATSINSmove(tmp78, loop_36(tmp79, arg1)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1238(line=49, offs=14) -- 1256(line=49, offs=32)+*/+ATSINSmove(tmp77, atspre_g0int_div_int(tmp78, arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1261(line=49, offs=37) -- 1266(line=49, offs=42)+*/+ATSINSmove(tmp80, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1237(line=49, offs=13) -- 1267(line=49, offs=43)+*/+ATSINSmove(tmpret62, atspre_g0int_mul_int(tmp77, tmp80)) ;++} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1300(line=51, offs=18) -- 1305(line=51, offs=23)+*/+ATSINSmove(tmp81, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1295(line=51, offs=13) -- 1309(line=51, offs=27)+*/+ATStailcal_beg()+ATSINSmove_tlcal(apy0, tmp81) ;+ATSINSmove_tlcal(apy1, arg1) ;+ATSINSargmove_tlcal(arg0, apy0) ;+ATSINSargmove_tlcal(arg1, apy1) ;+ATSINSfgoto(__patsflab_loop_36) ;+ATStailcal_end()++} /* ATSendif */+} /* ATSendif */+ATSfunbody_end()+ATSreturn(tmpret62) ;+/*+emit_funent_fnxbodylst:+*/+} /* end of [loop_36] */++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)+*/+/*+local: +global: gt_g1int_int$1$2(level=2)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4703)+tmparg = S2Evar(tk(4703))+tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__gt_g1int_int__1__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret2__2, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp3__2, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)+*/+ATSINSflab(__patsflab_gt_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)+*/+ATSINSmove(tmp3__2, atspre_g1int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)+*/+ATSINSmove(tmpret2__2, atspre_g1int_gt_int(arg0, tmp3__2)) ;++ATSfunbody_end()+ATSreturn(tmpret2__2) ;+} /* end of [ATSLIB_056_prelude__gt_g1int_int__1__2] */++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)+*/+/*+local: +global: eq_g0int_int$7$6(level=2)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4694)+tmparg = S2Evar(tk(4694))+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__6(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret9__6, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp10__6, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)+*/+ATSINSflab(__patsflab_eq_g0int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)+*/+ATSINSmove(tmp10__6, atspre_g0int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)+*/+ATSINSmove(tmpret9__6, atspre_g0int_eq_int(arg0, tmp10__6)) ;++ATSfunbody_end()+ATSreturn(tmpret9__6) ;+} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__6] */++#if(0)+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)+*/+/*+local: +global: neq_g1int_int$40$0(level=0)+local: +global: +*/+ATSextern()+/*+imparg = tk(4712)+tmparg = S2Evar(tk(4712))+tmpsub = None()+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__neq_g1int_int__40(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret73, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp74, atstkind_t0ype(atstyvar_type(tk))) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12900(line=671, offs=1) -- 12956(line=672, offs=43)+*/+ATSINSflab(__patsflab_neq_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)+*/+ATSINSmove(tmp74, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4712))>)(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)+*/+ATSINSmove(tmpret73, PMVtmpltcst(g1int_neq<S2Evar(tk(4712))>)(arg0, tmp74)) ;++ATSfunbody_end()+ATSreturn(tmpret73) ;+} /* end of [ATSLIB_056_prelude__neq_g1int_int__40] */+#endif // end of [TEMPLATE]++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)+*/+/*+local: +global: neq_g1int_int$40$1(level=2)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4712)+tmparg = S2Evar(tk(4712))+tmpsub = Some(tk(4712) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__neq_g1int_int__40__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret73__1, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp74__1, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12900(line=671, offs=1) -- 12956(line=672, offs=43)+*/+ATSINSflab(__patsflab_neq_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)+*/+ATSINSmove(tmp74__1, atspre_g1int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)+*/+ATSINSmove(tmpret73__1, atspre_g1int_neq_int(arg0, tmp74__1)) ;++ATSfunbody_end()+ATSreturn(tmpret73__1) ;+} /* end of [ATSLIB_056_prelude__neq_g1int_int__40__1] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1352(line=57, offs=4) -- 1391(line=58, offs=12)+*/+/*+local: +global: is_even_44$0(level=0)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_bool)+is_even_44(atstkind_t0ype(atstype_int) arg0)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret82, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp85, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1352(line=57, offs=4) -- 1391(line=58, offs=12)+*/+ATSINSflab(__patsflab_is_even_44):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1382(line=58, offs=3) -- 1387(line=58, offs=8)+*/+ATSINSmove(tmp85, atspre_g0int_mod_int(arg0, ATSPMVi0nt(2))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1382(line=58, offs=3) -- 1391(line=58, offs=12)+*/+ATSINSmove(tmpret82, ATSLIB_056_prelude__eq_g0int_int__7__7(tmp85, ATSPMVi0nt(0))) ;++ATSfunbody_end()+ATSreturn(tmpret82) ;+} /* end of [is_even_44] */++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)+*/+/*+local: +global: eq_g0int_int$7$7(level=1)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4694)+tmparg = S2Evar(tk(4694))+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__7(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret9__7, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp10__7, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)+*/+ATSINSflab(__patsflab_eq_g0int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)+*/+ATSINSmove(tmp10__7, atspre_g0int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)+*/+ATSINSmove(tmpret9__7, atspre_g0int_eq_int(arg0, tmp10__7)) ;++ATSfunbody_end()+ATSreturn(tmpret9__7) ;+} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__7] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1396(line=60, offs=4) -- 1434(line=61, offs=12)+*/+/*+local: +global: is_odd_46$0(level=0)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_bool)+is_odd_46(atstkind_t0ype(atstype_int) arg0)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret86, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp89, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1396(line=60, offs=4) -- 1434(line=61, offs=12)+*/+ATSINSflab(__patsflab_is_odd_46):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1425(line=61, offs=3) -- 1430(line=61, offs=8)+*/+ATSINSmove(tmp89, atspre_g0int_mod_int(arg0, ATSPMVi0nt(2))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory.dats: 1425(line=61, offs=3) -- 1434(line=61, offs=12)+*/+ATSINSmove(tmpret86, ATSLIB_056_prelude__eq_g0int_int__7__8(tmp89, ATSPMVi0nt(1))) ;++ATSfunbody_end()+ATSreturn(tmpret86) ;+} /* end of [is_odd_46] */++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)+*/+/*+local: +global: eq_g0int_int$7$8(level=1)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4694)+tmparg = S2Evar(tk(4694))+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__8(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret9__8, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp10__8, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)+*/+ATSINSflab(__patsflab_eq_g0int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)+*/+ATSINSmove(tmp10__8, atspre_g0int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)+*/+ATSINSmove(tmpret9__8, atspre_g0int_eq_int(arg0, tmp10__8)) ;++ATSfunbody_end()+ATSreturn(tmpret9__8) ;+} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__8] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 282(line=14, offs=30) -- 306(line=15, offs=19)+*/+/*+local: count_divisors_28$0(level=0)+global: count_divisors_28$0(level=0), count_divisors_ats$48$0(level=0)+local: +global: +*/+ATSextern()+atstkind_t0ype(atstype_int)+count_divisors_ats(atstkind_t0ype(atstype_int) arg0)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret90, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 263(line=14, offs=11) -- 307(line=15, offs=20)+*/+ATSINSflab(__patsflab_count_divisors_ats):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 290(line=15, offs=3) -- 306(line=15, offs=19)+*/+ATSINSmove(tmpret90, count_divisors_28(arg0)) ;++ATSfunbody_end()+ATSreturn(tmpret90) ;+} /* end of [count_divisors_ats] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 331(line=17, offs=23) -- 348(line=18, offs=12)+*/+/*+local: totient_35$0(level=0)+global: sqrt_int_12$0(level=0), is_prime_15$0(level=0), totient_35$0(level=0), totient_ats$49$0(level=0)+local: +global: +*/+ATSextern()+atstkind_t0ype(atstype_int)+totient_ats(atstkind_t0ype(atstype_int) arg0)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret91, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 319(line=17, offs=11) -- 349(line=18, offs=13)+*/+ATSINSflab(__patsflab_totient_ats):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/number-theory-ffi.dats: 339(line=18, offs=3) -- 348(line=18, offs=12)+*/+ATSINSmove(tmpret91, totient_35(arg0)) ;++ATSfunbody_end()+ATSreturn(tmpret91) ;+} /* end of [totient_ats] */++/*+** for initialization(dynloading)+*/+ATSdynloadflag_minit(_057_home_057_vanessa_057_programming_057_haskell_057_current_057_fast_055_combinatorics_057_ats_055_src_057_number_055_theory_055_ffi_056_dats__dynloadflag) ;+ATSextern()+atsvoid_t0ype+_057_home_057_vanessa_057_programming_057_haskell_057_current_057_fast_055_combinatorics_057_ats_055_src_057_number_055_theory_055_ffi_056_dats__dynload()+{+ATSfunbody_beg()+ATSdynload(/*void*/)+ATSdynloadflag_sta(+_057_home_057_vanessa_057_programming_057_haskell_057_current_057_fast_055_combinatorics_057_ats_055_src_057_number_055_theory_055_ffi_056_dats__dynloadflag+) ;+ATSif(+ATSCKiseqz(+_057_home_057_vanessa_057_programming_057_haskell_057_current_057_fast_055_combinatorics_057_ats_055_src_057_number_055_theory_055_ffi_056_dats__dynloadflag+)+) ATSthen() {+ATSdynloadset(_057_home_057_vanessa_057_programming_057_haskell_057_current_057_fast_055_combinatorics_057_ats_055_src_057_number_055_theory_055_ffi_056_dats__dynloadflag) ;+/*+dynexnlst-initize(beg)+*/+/*+dynexnlst-initize(end)+*/+/* local */+/* in of [local] */+/* end of [local] */+} /* ATSendif */+ATSfunbody_end()+ATSreturn_void(tmpret_void) ;+} /* end of [*_dynload] */++/* ****** ****** */++/* end-of-compilation-unit */
− cbits/numerics-ffi.c
@@ -1,1403 +0,0 @@-/*-**-** The C code is generated by [ATS/Postiats-0-3-8]-** The starting compilation time is: 2018-1-1: 11h:20m-**-*/--/*-** 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_g1int2int_int_int)-ATSdyncst_mac(atspre_g1int_gt_int)-ATSdyncst_mac(atspre_g1int_half_int)-ATSdyncst_mac(atspre_g0int_mod_int)-ATSdyncst_mac(atspre_g0int2int_int_int)-ATSdyncst_mac(atspre_g0int_eq_int)-ATSdyncst_mac(atspre_g0int_mul_int)-ATSdyncst_mac(atspre_g0float2int_float_int)-ATSdyncst_mac(atslib_libats_libc_sqrt_float)-ATSdyncst_mac(atspre_g0int2float_int_float)-ATSdyncst_mac(atspre_g1int_lt_int)-ATSdyncst_mac(atspre_g1int_add_int)-ATSdyncst_mac(atspre_g1int_eq_int)-/*-dyncstlst-declaration(end)-*/-/*-dynvalist-implementation(beg)-*/-/*-dynvalist-implementation(end)-*/-/*-exnconlst-declaration(beg)-*/-#ifndef _ATS_CCOMP_EXCEPTION_NONE_-ATSextern()-atsvoid_t0ype-the_atsexncon_initize-(- atstype_exnconptr d2c, atstype_string exnmsg-) ;-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]-/*-exnconlst-declaration(end)-*/-/*-extypelst-declaration(beg)-*/-/*-extypelst-declaration(end)-*/-/*-assumelst-declaration(beg)-*/-#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_-#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)-/*-assumelst-declaration(end)-*/-ATSstatic()-atstkind_t0ype(atstype_int)-exp_0(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;--#if(0)-#if(0)-ATSextern()-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__gt_g1int_int__1(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;-#endif // end of [QUALIFIED]-#endif // end of [TEMPLATE]--ATSstatic()-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__gt_g1int_int__1__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;--#if(0)-#if(0)-ATSextern()-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__eq_g0int_int__7(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;-#endif // end of [QUALIFIED]-#endif // end of [TEMPLATE]--ATSstatic()-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__eq_g0int_int__7__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;--ATSstatic()-atstkind_t0ype(atstype_int)-sqrt_int_12(atstkind_t0ype(atstype_int)) ;--ATSstatic()-atstkind_t0ype(atstype_bool)-is_prime_14(atstkind_t0ype(atstype_int)) ;--ATSstatic()-atstkind_t0ype(atstype_bool)-loop_15(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;--#if(0)-#if(0)-ATSextern()-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__lt_g1int_int__16(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__16__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;--ATSstatic()-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__eq_g0int_int__7__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;--#if(0)-#if(0)-ATSextern()-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__eq_g1int_int__21(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;-#endif // end of [QUALIFIED]-#endif // end of [TEMPLATE]--ATSstatic()-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__eq_g1int_int__21__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;--ATSstatic()-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__eq_g0int_int__7__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;--#if(0)-ATSextern()-atstkind_t0ype(atstype_bool)-is_prime_ats(atstkind_t0ype(atstype_int)) ;-#endif // end of [QUALIFIED]--#if(0)-ATSextern()-atstkind_t0ype(atstype_int)-exp_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;-#endif // end of [QUALIFIED]--/*-/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 148(line=8, offs=5) -- 509(line=25, offs=10)-*/-/*-local: exp_0$0(level=0)-global: exp_0$0(level=0)-local: -global: -*/-ATSstatic()-atstkind_t0ype(atstype_int)-exp_0(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)-{-/* tmpvardeclst(beg) */-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmpret0, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmp1, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp6, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmp7, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmp8, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp13, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmp14, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmp15, atstkind_t0ype(atstype_int)) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 148(line=8, offs=5) -- 509(line=25, offs=10)-*/-ATSINSflab(__patsflab_exp_0):-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 202(line=9, offs=3) -- 509(line=25, offs=10)-*/-ATScaseof_beg()-/*-** ibranchlst-beg-*/-ATSbranch_beg()-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 219(line=10, offs=7) -- 220(line=10, offs=8)-*/-ATSINSlab(__atstmplab0):-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 169(line=8, offs=26) -- 170(line=8, offs=27)-*/-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 220(line=10, offs=8) -- 220(line=10, offs=8)-*/-ATSINSlab(__atstmplab1):-/*-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)-*/-/*-ibranch-mbody:-*/-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 224(line=10, offs=12) -- 225(line=10, offs=13)-*/-ATSINSmove(tmpret0, ATSPMVi0nt(0)) ;-ATSbranch_end()--ATSbranch_beg()-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 233(line=11, offs=8) -- 233(line=11, offs=8)-*/-ATSINSlab(__atstmplab2):-/*-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)-*/-/*-ibranch-mbody:-*/-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 261(line=13, offs=12) -- 266(line=13, offs=17)-*/-ATSINSmove(tmp1, ATSLIB_056_prelude__gt_g1int_int__1__1(arg1, ATSPMVi0nt(0))) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 258(line=13, offs=9) -- 499(line=24, offs=12)-*/-ATSif(-tmp1-) ATSthen() {-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 282(line=14, offs=11) -- 474(line=22, offs=14)-*/-/*-letpush(beg)-*/-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 307(line=15, offs=22) -- 313(line=15, offs=28)-*/-ATSINSmove(tmp6, atspre_g1int_half_int(arg1)) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 336(line=16, offs=22) -- 341(line=16, offs=27)-*/-ATSINSmove(tmp7, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;--/*-letpush(end)-*/--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 370(line=18, offs=16) -- 376(line=18, offs=22)-*/-ATSINSmove(tmp8, ATSLIB_056_prelude__eq_g0int_int__7__1(tmp7, ATSPMVi0nt(0))) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 367(line=18, offs=13) -- 460(line=21, offs=33)-*/-ATSif(-tmp8-) ATSthen() {-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 400(line=19, offs=19) -- 405(line=19, offs=24)-*/-ATSINSmove(tmp13, atspre_g0int_mul_int(arg0, arg0)) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 396(line=19, offs=15) -- 410(line=19, offs=29)-*/-ATStailcal_beg()-ATSINSmove_tlcal(apy0, tmp13) ;-ATSINSmove_tlcal(apy1, tmp6) ;-ATSINSargmove_tlcal(arg0, apy0) ;-ATSINSargmove_tlcal(arg1, apy1) ;-ATSINSfgoto(__patsflab_exp_0) ;-ATStailcal_end()--} ATSelse() {-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 450(line=21, offs=23) -- 455(line=21, offs=28)-*/-ATSINSmove(tmp15, atspre_g0int_mul_int(arg0, arg0)) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 446(line=21, offs=19) -- 460(line=21, offs=33)-*/-ATSINSmove(tmp14, exp_0(tmp15, tmp6)) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 442(line=21, offs=15) -- 460(line=21, offs=33)-*/-ATSINSmove(tmpret0, atspre_g0int_mul_int(arg0, tmp14)) ;--} /* ATSendif */-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 282(line=14, offs=11) -- 474(line=22, offs=14)-*/-/*-INSletpop()-*/-} ATSelse() {-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 498(line=24, offs=11) -- 499(line=24, offs=12)-*/-ATSINSmove(tmpret0, ATSPMVi0nt(1)) ;-} /* ATSendif */-ATSbranch_end()--/*-** ibranchlst-end-*/-ATScaseof_end()--ATSfunbody_end()-ATSreturn(tmpret0) ;-} /* end of [exp_0] */--#if(0)-/*-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)-*/-/*-local: -global: gt_g1int_int$1$0(level=0)-local: -global: -*/-ATSextern()-/*-imparg = tk(4703)-tmparg = S2Evar(tk(4703))-tmpsub = None()-*/-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__gt_g1int_int__1(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret2, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp3, atstkind_t0ype(atstyvar_type(tk))) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)-*/-ATSINSflab(__patsflab_gt_g1int_int):-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)-*/-ATSINSmove(tmp3, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4703))>)(arg1)) ;--/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)-*/-ATSINSmove(tmpret2, PMVtmpltcst(g1int_gt<S2Evar(tk(4703))>)(arg0, tmp3)) ;--ATSfunbody_end()-ATSreturn(tmpret2) ;-} /* end of [ATSLIB_056_prelude__gt_g1int_int__1] */-#endif // end of [TEMPLATE]--/*-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)-*/-/*-local: -global: gt_g1int_int$1$1(level=1)-local: -global: -*/-ATSstatic()-/*-imparg = tk(4703)-tmparg = S2Evar(tk(4703))-tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))-*/-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__gt_g1int_int__1__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret2__1, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp3__1, atstkind_t0ype(atstype_int)) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)-*/-ATSINSflab(__patsflab_gt_g1int_int):-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)-*/-ATSINSmove(tmp3__1, atspre_g1int2int_int_int(arg1)) ;--/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)-*/-ATSINSmove(tmpret2__1, atspre_g1int_gt_int(arg0, tmp3__1)) ;--ATSfunbody_end()-ATSreturn(tmpret2__1) ;-} /* end of [ATSLIB_056_prelude__gt_g1int_int__1__1] */--#if(0)-/*-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)-*/-/*-local: -global: eq_g0int_int$7$0(level=0)-local: -global: -*/-ATSextern()-/*-imparg = tk(4694)-tmparg = S2Evar(tk(4694))-tmpsub = None()-*/-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__eq_g0int_int__7(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret9, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp10, atstkind_t0ype(atstyvar_type(tk))) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)-*/-ATSINSflab(__patsflab_eq_g0int_int):-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)-*/-ATSINSmove(tmp10, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4694))>)(arg1)) ;--/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)-*/-ATSINSmove(tmpret9, PMVtmpltcst(g0int_eq<S2Evar(tk(4694))>)(arg0, tmp10)) ;--ATSfunbody_end()-ATSreturn(tmpret9) ;-} /* end of [ATSLIB_056_prelude__eq_g0int_int__7] */-#endif // end of [TEMPLATE]--/*-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)-*/-/*-local: -global: eq_g0int_int$7$1(level=1)-local: -global: -*/-ATSstatic()-/*-imparg = tk(4694)-tmparg = S2Evar(tk(4694))-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))-*/-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__eq_g0int_int__7__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret9__1, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp10__1, atstkind_t0ype(atstype_int)) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)-*/-ATSINSflab(__patsflab_eq_g0int_int):-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)-*/-ATSINSmove(tmp10__1, atspre_g0int2int_int_int(arg1)) ;--/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)-*/-ATSINSmove(tmpret9__1, atspre_g0int_eq_int(arg0, tmp10__1)) ;--ATSfunbody_end()-ATSreturn(tmpret9__1) ;-} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__1] */--/*-/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 515(line=27, offs=5) -- 718(line=33, offs=6)-*/-/*-local: -global: sqrt_int_12$0(level=0)-local: -global: -*/-ATSstatic()-atstkind_t0ype(atstype_int)-sqrt_int_12(atstkind_t0ype(atstype_int) arg0)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret16, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmpref17, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmp18, atstkind_t0ype(atstype_float)) ;-ATStmpdec(tmp19, atstkind_t0ype(atstype_float)) ;-ATStmpdec(tmpref20, atstkind_t0ype(atstype_int)) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 515(line=27, offs=5) -- 718(line=33, offs=6)-*/-ATSINSflab(__patsflab_sqrt_int_12):-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 563(line=28, offs=3) -- 718(line=33, offs=6)-*/-/*-letpush(beg)-*/-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 575(line=29, offs=9) -- 584(line=29, offs=18)-*/-/*-ATSINStmpdec(tmpref17) ;-*/-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 615(line=29, offs=49) -- 638(line=29, offs=72)-*/-ATSINSmove(tmp19, atspre_g0int2float_int_float(arg0)) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 604(line=29, offs=38) -- 640(line=29, offs=74)-*/-ATSINSmove(tmp18, atslib_libats_libc_sqrt_float(tmp19)) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 592(line=29, offs=26) -- 641(line=29, offs=75)-*/-ATSINSmove(tmpref17, atspre_g0float2int_float_int(tmp18)) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 650(line=30, offs=9) -- 655(line=30, offs=14)-*/-/*-ATSINStmpdec(tmpref20) ;-*/-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 678(line=30, offs=37) -- 696(line=30, offs=55)-*/-ATSINSmove(tmpref20, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmpref17)) ;-/*-letpush(end)-*/--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 707(line=32, offs=5) -- 712(line=32, offs=10)-*/-ATSINSmove(tmpret16, tmpref20) ;-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 563(line=28, offs=3) -- 718(line=33, offs=6)-*/-/*-INSletpop()-*/-ATSfunbody_end()-ATSreturn(tmpret16) ;-} /* end of [sqrt_int_12] */--/*-/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 723(line=35, offs=4) -- 1306(line=58, offs=10)-*/-/*-local: sqrt_int_12$0(level=0)-global: sqrt_int_12$0(level=0), is_prime_14$0(level=0)-local: -global: -*/-ATSstatic()-atstkind_t0ype(atstype_bool)-is_prime_14(atstkind_t0ype(atstype_int) arg0)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret21, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp42, atstkind_t0ype(atstype_int)) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 723(line=35, offs=4) -- 1306(line=58, offs=10)-*/-ATSINSflab(__patsflab_is_prime_14):-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 757(line=36, offs=3) -- 1306(line=58, offs=10)-*/-ATScaseof_beg()-/*-** ibranchlst-beg-*/-ATSbranch_beg()-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 774(line=37, offs=7) -- 775(line=37, offs=8)-*/-ATSINSlab(__atstmplab3):-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 732(line=35, offs=13) -- 733(line=35, offs=14)-*/-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab5) ; } ;-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 775(line=37, offs=8) -- 775(line=37, offs=8)-*/-ATSINSlab(__atstmplab4):-/*-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)-*/-/*-ibranch-mbody:-*/-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 779(line=37, offs=12) -- 784(line=37, offs=17)-*/-ATSINSmove(tmpret21, ATSPMVbool_false()) ;-ATSbranch_end()--ATSbranch_beg()-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 792(line=38, offs=8) -- 792(line=38, offs=8)-*/-ATSINSlab(__atstmplab5):-/*-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)-*/-/*-ibranch-mbody:-*/-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 817(line=40, offs=9) -- 1296(line=57, offs=12)-*/-/*-letpush(beg)-*/-/*-letpush(end)-*/--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1272(line=56, offs=19) -- 1282(line=56, offs=29)-*/-ATSINSmove(tmp42, sqrt_int_12(arg0)) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1264(line=56, offs=11) -- 1284(line=56, offs=31)-*/-ATSINSmove(tmpret21, loop_15(arg0, ATSPMVi0nt(2), tmp42)) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 817(line=40, offs=9) -- 1296(line=57, offs=12)-*/-/*-INSletpop()-*/-ATSbranch_end()--/*-** ibranchlst-end-*/-ATScaseof_end()--ATSfunbody_end()-ATSreturn(tmpret21) ;-} /* end of [is_prime_14] */--/*-/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 835(line=41, offs=15) -- 1242(line=54, offs=21)-*/-/*-local: loop_15$0(level=1)-global: loop_15$0(level=1)-local: k$4739(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))-global: k$4739(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))-*/-ATSstatic()-atstkind_t0ype(atstype_bool)-loop_15(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)-{-/* tmpvardeclst(beg) */-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmpret22, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp23, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp28, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp31, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmp32, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmp33, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp38, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp41, atstkind_t0ype(atstype_int)) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 835(line=41, offs=15) -- 1242(line=54, offs=21)-*/-ATSINSflab(__patsflab_loop_15):-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 929(line=42, offs=16) -- 938(line=42, offs=25)-*/-ATSINSmove(tmp23, ATSLIB_056_prelude__lt_g1int_int__16__1(arg0, arg1)) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 926(line=42, offs=13) -- 1242(line=54, offs=21)-*/-ATSif(-tmp23-) ATSthen() {-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 961(line=43, offs=18) -- 966(line=43, offs=23)-*/-ATSINSmove(tmp31, atspre_g0int_mod_int(env0, arg0)) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 961(line=43, offs=18) -- 970(line=43, offs=27)-*/-ATSINSmove(tmp28, ATSLIB_056_prelude__eq_g0int_int__7__2(tmp31, ATSPMVi0nt(0))) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 958(line=43, offs=15) -- 1051(line=46, offs=35)-*/-ATSif(-tmp28-) ATSthen() {-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 992(line=44, offs=17) -- 997(line=44, offs=22)-*/-ATSINSmove(tmpret22, ATSPMVbool_false()) ;-} ATSelse() {-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1038(line=46, offs=22) -- 1043(line=46, offs=27)-*/-ATSINSmove(tmp32, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1033(line=46, offs=17) -- 1051(line=46, offs=35)-*/-ATStailcal_beg()-ATSINSmove_tlcal(apy0, tmp32) ;-ATSINSmove_tlcal(apy1, arg1) ;-ATSINSargmove_tlcal(arg0, apy0) ;-ATSINSargmove_tlcal(arg1, apy1) ;-ATSINSfgoto(__patsflab_loop_15) ;-ATStailcal_end()--} /* ATSendif */-} ATSelse() {-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1086(line=48, offs=18) -- 1095(line=48, offs=27)-*/-ATSINSmove(tmp33, ATSLIB_056_prelude__eq_g1int_int__21__1(arg0, arg1)) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1083(line=48, offs=15) -- 1242(line=54, offs=21)-*/-ATSif(-tmp33-) ATSthen() {-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1120(line=49, offs=20) -- 1125(line=49, offs=25)-*/-ATSINSmove(tmp41, atspre_g0int_mod_int(env0, arg0)) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1120(line=49, offs=20) -- 1129(line=49, offs=29)-*/-ATSINSmove(tmp38, ATSLIB_056_prelude__eq_g0int_int__7__3(tmp41, ATSPMVi0nt(0))) ;--/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1117(line=49, offs=17) -- 1202(line=52, offs=23)-*/-ATSif(-tmp38-) ATSthen() {-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1153(line=50, offs=19) -- 1158(line=50, offs=24)-*/-ATSINSmove(tmpret22, ATSPMVbool_false()) ;-} ATSelse() {-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1198(line=52, offs=19) -- 1202(line=52, offs=23)-*/-ATSINSmove(tmpret22, ATSPMVbool_true()) ;-} /* ATSendif */-} ATSelse() {-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1238(line=54, offs=17) -- 1242(line=54, offs=21)-*/-ATSINSmove(tmpret22, ATSPMVbool_true()) ;-} /* ATSendif */-} /* ATSendif */-ATSfunbody_end()-ATSreturn(tmpret22) ;-} /* end of [loop_15] */--#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$16$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__16(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret24, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp25, atstkind_t0ype(atstyvar_type(tk))) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)-*/-ATSINSflab(__patsflab_lt_g1int_int):-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)-*/-ATSINSmove(tmp25, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4697))>)(arg1)) ;--/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)-*/-ATSINSmove(tmpret24, PMVtmpltcst(g1int_lt<S2Evar(tk(4697))>)(arg0, tmp25)) ;--ATSfunbody_end()-ATSreturn(tmpret24) ;-} /* end of [ATSLIB_056_prelude__lt_g1int_int__16] */-#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$16$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__16__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret24__1, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp25__1, atstkind_t0ype(atstype_int)) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)-*/-ATSINSflab(__patsflab_lt_g1int_int):-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)-*/-ATSINSmove(tmp25__1, atspre_g1int2int_int_int(arg1)) ;--/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)-*/-ATSINSmove(tmpret24__1, atspre_g1int_lt_int(arg0, tmp25__1)) ;--ATSfunbody_end()-ATSreturn(tmpret24__1) ;-} /* end of [ATSLIB_056_prelude__lt_g1int_int__16__1] */--/*-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)-*/-/*-local: -global: eq_g0int_int$7$2(level=2)-local: -global: -*/-ATSstatic()-/*-imparg = tk(4694)-tmparg = S2Evar(tk(4694))-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))-*/-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__eq_g0int_int__7__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret9__2, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp10__2, atstkind_t0ype(atstype_int)) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)-*/-ATSINSflab(__patsflab_eq_g0int_int):-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)-*/-ATSINSmove(tmp10__2, atspre_g0int2int_int_int(arg1)) ;--/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)-*/-ATSINSmove(tmpret9__2, atspre_g0int_eq_int(arg0, tmp10__2)) ;--ATSfunbody_end()-ATSreturn(tmpret9__2) ;-} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__2] */--#if(0)-/*-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)-*/-/*-local: -global: eq_g1int_int$21$0(level=0)-local: -global: -*/-ATSextern()-/*-imparg = tk(4709)-tmparg = S2Evar(tk(4709))-tmpsub = None()-*/-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__eq_g1int_int__21(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret34, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp35, atstkind_t0ype(atstyvar_type(tk))) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)-*/-ATSINSflab(__patsflab_eq_g1int_int):-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)-*/-ATSINSmove(tmp35, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4709))>)(arg1)) ;--/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)-*/-ATSINSmove(tmpret34, PMVtmpltcst(g1int_eq<S2Evar(tk(4709))>)(arg0, tmp35)) ;--ATSfunbody_end()-ATSreturn(tmpret34) ;-} /* end of [ATSLIB_056_prelude__eq_g1int_int__21] */-#endif // end of [TEMPLATE]--/*-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)-*/-/*-local: -global: eq_g1int_int$21$1(level=2)-local: -global: -*/-ATSstatic()-/*-imparg = tk(4709)-tmparg = S2Evar(tk(4709))-tmpsub = Some(tk(4709) -> S2Eextkind(atstype_int))-*/-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__eq_g1int_int__21__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret34__1, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp35__1, atstkind_t0ype(atstype_int)) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)-*/-ATSINSflab(__patsflab_eq_g1int_int):-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)-*/-ATSINSmove(tmp35__1, atspre_g1int2int_int_int(arg1)) ;--/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)-*/-ATSINSmove(tmpret34__1, atspre_g1int_eq_int(arg0, tmp35__1)) ;--ATSfunbody_end()-ATSreturn(tmpret34__1) ;-} /* end of [ATSLIB_056_prelude__eq_g1int_int__21__1] */--/*-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)-*/-/*-local: -global: eq_g0int_int$7$3(level=2)-local: -global: -*/-ATSstatic()-/*-imparg = tk(4694)-tmparg = S2Evar(tk(4694))-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))-*/-atstkind_t0ype(atstype_bool)-ATSLIB_056_prelude__eq_g0int_int__7__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret9__3, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmp10__3, atstkind_t0ype(atstype_int)) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)-*/-ATSINSflab(__patsflab_eq_g0int_int):-/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)-*/-ATSINSmove(tmp10__3, atspre_g0int2int_int_int(arg1)) ;--/*-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)-*/-ATSINSmove(tmpret9__3, atspre_g0int_eq_int(arg0, tmp10__3)) ;--ATSfunbody_end()-ATSreturn(tmpret9__3) ;-} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__3] */--/*-/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics-ffi.dats: 269(line=14, offs=24) -- 287(line=15, offs=13)-*/-/*-local: is_prime_14$0(level=0)-global: sqrt_int_12$0(level=0), is_prime_14$0(level=0), is_prime_ats$25$0(level=0)-local: -global: -*/-ATSextern()-atstkind_t0ype(atstype_bool)-is_prime_ats(atstkind_t0ype(atstype_int) arg0)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret43, atstkind_t0ype(atstype_bool)) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics-ffi.dats: 256(line=14, offs=11) -- 288(line=15, offs=14)-*/-ATSINSflab(__patsflab_is_prime_ats):-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics-ffi.dats: 277(line=15, offs=3) -- 287(line=15, offs=13)-*/-ATSINSmove(tmpret43, is_prime_14(arg0)) ;--ATSfunbody_end()-ATSreturn(tmpret43) ;-} /* end of [is_prime_ats] */--/*-/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics-ffi.dats: 308(line=17, offs=19) -- 328(line=18, offs=12)-*/-/*-local: exp_0$0(level=0)-global: exp_0$0(level=0), exp_ats$26$0(level=0)-local: -global: -*/-ATSextern()-atstkind_t0ype(atstype_int)-exp_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret44, atstkind_t0ype(atstype_int)) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics-ffi.dats: 300(line=17, offs=11) -- 328(line=18, offs=12)-*/-ATSINSflab(__patsflab_exp_ats):-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics-ffi.dats: 319(line=18, offs=3) -- 328(line=18, offs=12)-*/-ATSINSmove(tmpret44, exp_0(arg0, arg1)) ;--ATSfunbody_end()-ATSreturn(tmpret44) ;-} /* end of [exp_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_numerics_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_numerics_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_numerics_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_numerics_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_numerics_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 */
+ cbits/numerics.c view
@@ -0,0 +1,1409 @@+/*+**+** The C code is generated by [ATS/Postiats-0-3-8]+** The starting compilation time is: 2018-1-1: 22h:13m+**+*/++/*+** 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_g1int2int_int_int)+ATSdyncst_mac(atspre_g1int_gt_int)+ATSdyncst_mac(atspre_g1int_half_int)+ATSdyncst_mac(atspre_g0int_mod_int)+ATSdyncst_mac(atspre_g0int2int_int_int)+ATSdyncst_mac(atspre_g0int_eq_int)+ATSdyncst_mac(atspre_g0int_mul_int)+ATSdyncst_mac(atspre_g0float2int_float_int)+ATSdyncst_mac(atslib_libats_libc_sqrt_float)+ATSdyncst_mac(atspre_g0int2float_int_float)+ATSdyncst_mac(atspre_g1int_lt_int)+ATSdyncst_mac(atspre_g1int_add_int)+ATSdyncst_mac(atspre_g1int_eq_int)+/*+dyncstlst-declaration(end)+*/+/*+dynvalist-implementation(beg)+*/+/*+dynvalist-implementation(end)+*/+/*+exnconlst-declaration(beg)+*/+#ifndef _ATS_CCOMP_EXCEPTION_NONE_+ATSextern()+atsvoid_t0ype+the_atsexncon_initize+(+ atstype_exnconptr d2c, atstype_string exnmsg+) ;+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]+/*+exnconlst-declaration(end)+*/+/*+extypelst-declaration(beg)+*/+/*+extypelst-declaration(end)+*/+/*+assumelst-declaration(beg)+*/+#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_+#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)+/*+assumelst-declaration(end)+*/+ATSstatic()+atstkind_t0ype(atstype_int)+exp_0(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++#if(0)+#if(0)+ATSextern()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__gt_g1int_int__1(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]+#endif // end of [TEMPLATE]++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__gt_g1int_int__1__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++#if(0)+#if(0)+ATSextern()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]+#endif // end of [TEMPLATE]++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_int)+sqrt_int_12(atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+is_prime_15(atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+loop_16(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++#if(0)+#if(0)+ATSextern()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__lt_g1int_int__17(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]+#endif // end of [TEMPLATE]++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__lt_g1int_int__17__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++#if(0)+#if(0)+ATSextern()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g1int_int__22(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]+#endif // end of [TEMPLATE]++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g1int_int__22__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++ATSstatic()+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;++#if(0)+ATSextern()+atstkind_t0ype(atstype_bool)+is_prime_ats(atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]++#if(0)+ATSextern()+atstkind_t0ype(atstype_int)+exp_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 220(line=9, offs=5) -- 581(line=26, offs=10)+*/+/*+local: exp_0$0(level=0)+global: exp_0$0(level=0)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_int)+exp_0(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpret0, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp1, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp6, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp7, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp8, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp13, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp14, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp15, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 220(line=9, offs=5) -- 581(line=26, offs=10)+*/+ATSINSflab(__patsflab_exp_0):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 274(line=10, offs=3) -- 581(line=26, offs=10)+*/+ATScaseof_beg()+/*+** ibranchlst-beg+*/+ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 291(line=11, offs=7) -- 292(line=11, offs=8)+*/+ATSINSlab(__atstmplab0):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 241(line=9, offs=26) -- 242(line=9, offs=27)+*/+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 292(line=11, offs=8) -- 292(line=11, offs=8)+*/+ATSINSlab(__atstmplab1):+/*+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)+*/+/*+ibranch-mbody:+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 296(line=11, offs=12) -- 297(line=11, offs=13)+*/+ATSINSmove(tmpret0, ATSPMVi0nt(0)) ;+ATSbranch_end()++ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 305(line=12, offs=8) -- 305(line=12, offs=8)+*/+ATSINSlab(__atstmplab2):+/*+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)+*/+/*+ibranch-mbody:+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 333(line=14, offs=12) -- 338(line=14, offs=17)+*/+ATSINSmove(tmp1, ATSLIB_056_prelude__gt_g1int_int__1__1(arg1, ATSPMVi0nt(0))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 330(line=14, offs=9) -- 571(line=25, offs=12)+*/+ATSif(+tmp1+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 354(line=15, offs=11) -- 546(line=23, offs=14)+*/+/*+letpush(beg)+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 379(line=16, offs=22) -- 385(line=16, offs=28)+*/+ATSINSmove(tmp6, atspre_g1int_half_int(arg1)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 408(line=17, offs=22) -- 413(line=17, offs=27)+*/+ATSINSmove(tmp7, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;++/*+letpush(end)+*/++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 442(line=19, offs=16) -- 448(line=19, offs=22)+*/+ATSINSmove(tmp8, ATSLIB_056_prelude__eq_g0int_int__7__1(tmp7, ATSPMVi0nt(0))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 439(line=19, offs=13) -- 532(line=22, offs=33)+*/+ATSif(+tmp8+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 472(line=20, offs=19) -- 477(line=20, offs=24)+*/+ATSINSmove(tmp13, atspre_g0int_mul_int(arg0, arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 468(line=20, offs=15) -- 482(line=20, offs=29)+*/+ATStailcal_beg()+ATSINSmove_tlcal(apy0, tmp13) ;+ATSINSmove_tlcal(apy1, tmp6) ;+ATSINSargmove_tlcal(arg0, apy0) ;+ATSINSargmove_tlcal(arg1, apy1) ;+ATSINSfgoto(__patsflab_exp_0) ;+ATStailcal_end()++} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 522(line=22, offs=23) -- 527(line=22, offs=28)+*/+ATSINSmove(tmp15, atspre_g0int_mul_int(arg0, arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 518(line=22, offs=19) -- 532(line=22, offs=33)+*/+ATSINSmove(tmp14, exp_0(tmp15, tmp6)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 514(line=22, offs=15) -- 532(line=22, offs=33)+*/+ATSINSmove(tmpret0, atspre_g0int_mul_int(arg0, tmp14)) ;++} /* ATSendif */+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 354(line=15, offs=11) -- 546(line=23, offs=14)+*/+/*+INSletpop()+*/+} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 570(line=25, offs=11) -- 571(line=25, offs=12)+*/+ATSINSmove(tmpret0, ATSPMVi0nt(1)) ;+} /* ATSendif */+ATSbranch_end()++/*+** ibranchlst-end+*/+ATScaseof_end()++ATSfunbody_end()+ATSreturn(tmpret0) ;+} /* end of [exp_0] */++#if(0)+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)+*/+/*+local: +global: gt_g1int_int$1$0(level=0)+local: +global: +*/+ATSextern()+/*+imparg = tk(4703)+tmparg = S2Evar(tk(4703))+tmpsub = None()+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__gt_g1int_int__1(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret2, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp3, atstkind_t0ype(atstyvar_type(tk))) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)+*/+ATSINSflab(__patsflab_gt_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)+*/+ATSINSmove(tmp3, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4703))>)(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)+*/+ATSINSmove(tmpret2, PMVtmpltcst(g1int_gt<S2Evar(tk(4703))>)(arg0, tmp3)) ;++ATSfunbody_end()+ATSreturn(tmpret2) ;+} /* end of [ATSLIB_056_prelude__gt_g1int_int__1] */+#endif // end of [TEMPLATE]++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)+*/+/*+local: +global: gt_g1int_int$1$1(level=1)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4703)+tmparg = S2Evar(tk(4703))+tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__gt_g1int_int__1__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret2__1, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp3__1, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)+*/+ATSINSflab(__patsflab_gt_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)+*/+ATSINSmove(tmp3__1, atspre_g1int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)+*/+ATSINSmove(tmpret2__1, atspre_g1int_gt_int(arg0, tmp3__1)) ;++ATSfunbody_end()+ATSreturn(tmpret2__1) ;+} /* end of [ATSLIB_056_prelude__gt_g1int_int__1__1] */++#if(0)+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)+*/+/*+local: +global: eq_g0int_int$7$0(level=0)+local: +global: +*/+ATSextern()+/*+imparg = tk(4694)+tmparg = S2Evar(tk(4694))+tmpsub = None()+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret9, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp10, atstkind_t0ype(atstyvar_type(tk))) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)+*/+ATSINSflab(__patsflab_eq_g0int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)+*/+ATSINSmove(tmp10, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4694))>)(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)+*/+ATSINSmove(tmpret9, PMVtmpltcst(g0int_eq<S2Evar(tk(4694))>)(arg0, tmp10)) ;++ATSfunbody_end()+ATSreturn(tmpret9) ;+} /* end of [ATSLIB_056_prelude__eq_g0int_int__7] */+#endif // end of [TEMPLATE]++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)+*/+/*+local: +global: eq_g0int_int$7$1(level=1)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4694)+tmparg = S2Evar(tk(4694))+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret9__1, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp10__1, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)+*/+ATSINSflab(__patsflab_eq_g0int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)+*/+ATSINSmove(tmp10__1, atspre_g0int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)+*/+ATSINSmove(tmpret9__1, atspre_g0int_eq_int(arg0, tmp10__1)) ;++ATSfunbody_end()+ATSreturn(tmpret9__1) ;+} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__1] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 586(line=28, offs=4) -- 781(line=34, offs=6)+*/+/*+local: +global: sqrt_int_12$0(level=0)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_int)+sqrt_int_12(atstkind_t0ype(atstype_int) arg0)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret16, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpref17, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp18, atstkind_t0ype(atstype_float)) ;+ATStmpdec(tmp19, atstkind_t0ype(atstype_float)) ;+ATStmpdec(tmpref20, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 586(line=28, offs=4) -- 781(line=34, offs=6)+*/+ATSINSflab(__patsflab_sqrt_int_12):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 636(line=29, offs=3) -- 781(line=34, offs=6)+*/+/*+letpush(beg)+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 648(line=30, offs=9) -- 657(line=30, offs=18)+*/+/*+ATSINStmpdec(tmpref17) ;+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 688(line=30, offs=49) -- 701(line=30, offs=62)+*/+ATSINSmove(tmp19, atspre_g0int2float_int_float(arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 677(line=30, offs=38) -- 703(line=30, offs=64)+*/+ATSINSmove(tmp18, atslib_libats_libc_sqrt_float(tmp19)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 665(line=30, offs=26) -- 704(line=30, offs=65)+*/+ATSINSmove(tmpref17, atspre_g0float2int_float_int(tmp18)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 713(line=31, offs=9) -- 718(line=31, offs=14)+*/+/*+ATSINStmpdec(tmpref20) ;+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 741(line=31, offs=37) -- 759(line=31, offs=55)+*/+ATSINSmove(tmpref20, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmpref17)) ;+/*+letpush(end)+*/++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 770(line=33, offs=5) -- 775(line=33, offs=10)+*/+ATSINSmove(tmpret16, tmpref20) ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 636(line=29, offs=3) -- 781(line=34, offs=6)+*/+/*+INSletpop()+*/+ATSfunbody_end()+ATSreturn(tmpret16) ;+} /* end of [sqrt_int_12] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 817(line=37, offs=4) -- 1402(line=60, offs=10)+*/+/*+local: sqrt_int_12$0(level=0)+global: sqrt_int_12$0(level=0), is_prime_15$0(level=0)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_bool)+is_prime_15(atstkind_t0ype(atstype_int) arg0)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret21, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp42, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 817(line=37, offs=4) -- 1402(line=60, offs=10)+*/+ATSINSflab(__patsflab_is_prime_15):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 853(line=38, offs=3) -- 1402(line=60, offs=10)+*/+ATScaseof_beg()+/*+** ibranchlst-beg+*/+ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 870(line=39, offs=7) -- 871(line=39, offs=8)+*/+ATSINSlab(__atstmplab3):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 826(line=37, offs=13) -- 827(line=37, offs=14)+*/+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab5) ; } ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 871(line=39, offs=8) -- 871(line=39, offs=8)+*/+ATSINSlab(__atstmplab4):+/*+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)+*/+/*+ibranch-mbody:+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 875(line=39, offs=12) -- 880(line=39, offs=17)+*/+ATSINSmove(tmpret21, ATSPMVbool_false()) ;+ATSbranch_end()++ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 888(line=40, offs=8) -- 888(line=40, offs=8)+*/+ATSINSlab(__atstmplab5):+/*+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)+*/+/*+ibranch-mbody:+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 913(line=42, offs=9) -- 1392(line=59, offs=12)+*/+/*+letpush(beg)+*/+/*+letpush(end)+*/++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1368(line=58, offs=19) -- 1378(line=58, offs=29)+*/+ATSINSmove(tmp42, sqrt_int_12(arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1360(line=58, offs=11) -- 1380(line=58, offs=31)+*/+ATSINSmove(tmpret21, loop_16(arg0, ATSPMVi0nt(2), tmp42)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 913(line=42, offs=9) -- 1392(line=59, offs=12)+*/+/*+INSletpop()+*/+ATSbranch_end()++/*+** ibranchlst-end+*/+ATScaseof_end()++ATSfunbody_end()+ATSreturn(tmpret21) ;+} /* end of [is_prime_15] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 931(line=43, offs=15) -- 1338(line=56, offs=21)+*/+/*+local: loop_16$0(level=1)+global: loop_16$0(level=1)+local: k$4739(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))+global: k$4739(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))+*/+ATSstatic()+atstkind_t0ype(atstype_bool)+loop_16(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpret22, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp23, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp28, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp31, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp32, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp33, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp38, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp41, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+/*+emit_funent_fnxdeclst:+*/+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 931(line=43, offs=15) -- 1338(line=56, offs=21)+*/+ATSINSflab(__patsflab_loop_16):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1025(line=44, offs=16) -- 1034(line=44, offs=25)+*/+ATSINSmove(tmp23, ATSLIB_056_prelude__lt_g1int_int__17__1(arg0, arg1)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1022(line=44, offs=13) -- 1338(line=56, offs=21)+*/+ATSif(+tmp23+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1057(line=45, offs=18) -- 1062(line=45, offs=23)+*/+ATSINSmove(tmp31, atspre_g0int_mod_int(env0, arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1057(line=45, offs=18) -- 1066(line=45, offs=27)+*/+ATSINSmove(tmp28, ATSLIB_056_prelude__eq_g0int_int__7__2(tmp31, ATSPMVi0nt(0))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1054(line=45, offs=15) -- 1147(line=48, offs=35)+*/+ATSif(+tmp28+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1088(line=46, offs=17) -- 1093(line=46, offs=22)+*/+ATSINSmove(tmpret22, ATSPMVbool_false()) ;+} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1134(line=48, offs=22) -- 1139(line=48, offs=27)+*/+ATSINSmove(tmp32, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1129(line=48, offs=17) -- 1147(line=48, offs=35)+*/+ATStailcal_beg()+ATSINSmove_tlcal(apy0, tmp32) ;+ATSINSmove_tlcal(apy1, arg1) ;+ATSINSargmove_tlcal(arg0, apy0) ;+ATSINSargmove_tlcal(arg1, apy1) ;+ATSINSfgoto(__patsflab_loop_16) ;+ATStailcal_end()++} /* ATSendif */+} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1182(line=50, offs=18) -- 1191(line=50, offs=27)+*/+ATSINSmove(tmp33, ATSLIB_056_prelude__eq_g1int_int__22__1(arg0, arg1)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1179(line=50, offs=15) -- 1338(line=56, offs=21)+*/+ATSif(+tmp33+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1216(line=51, offs=20) -- 1221(line=51, offs=25)+*/+ATSINSmove(tmp41, atspre_g0int_mod_int(env0, arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1216(line=51, offs=20) -- 1225(line=51, offs=29)+*/+ATSINSmove(tmp38, ATSLIB_056_prelude__eq_g0int_int__7__3(tmp41, ATSPMVi0nt(0))) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1213(line=51, offs=17) -- 1298(line=54, offs=23)+*/+ATSif(+tmp38+) ATSthen() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1249(line=52, offs=19) -- 1254(line=52, offs=24)+*/+ATSINSmove(tmpret22, ATSPMVbool_false()) ;+} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1294(line=54, offs=19) -- 1298(line=54, offs=23)+*/+ATSINSmove(tmpret22, ATSPMVbool_true()) ;+} /* ATSendif */+} ATSelse() {+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics.dats: 1334(line=56, offs=17) -- 1338(line=56, offs=21)+*/+ATSINSmove(tmpret22, ATSPMVbool_true()) ;+} /* ATSendif */+} /* ATSendif */+ATSfunbody_end()+ATSreturn(tmpret22) ;+/*+emit_funent_fnxbodylst:+*/+} /* end of [loop_16] */++#if(0)+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)+*/+/*+local: +global: lt_g1int_int$17$0(level=0)+local: +global: +*/+ATSextern()+/*+imparg = tk(4697)+tmparg = S2Evar(tk(4697))+tmpsub = None()+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__lt_g1int_int__17(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret24, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp25, atstkind_t0ype(atstyvar_type(tk))) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)+*/+ATSINSflab(__patsflab_lt_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)+*/+ATSINSmove(tmp25, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4697))>)(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)+*/+ATSINSmove(tmpret24, PMVtmpltcst(g1int_lt<S2Evar(tk(4697))>)(arg0, tmp25)) ;++ATSfunbody_end()+ATSreturn(tmpret24) ;+} /* end of [ATSLIB_056_prelude__lt_g1int_int__17] */+#endif // end of [TEMPLATE]++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)+*/+/*+local: +global: lt_g1int_int$17$1(level=2)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4697)+tmparg = S2Evar(tk(4697))+tmpsub = Some(tk(4697) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__lt_g1int_int__17__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret24__1, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp25__1, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)+*/+ATSINSflab(__patsflab_lt_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)+*/+ATSINSmove(tmp25__1, atspre_g1int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)+*/+ATSINSmove(tmpret24__1, atspre_g1int_lt_int(arg0, tmp25__1)) ;++ATSfunbody_end()+ATSreturn(tmpret24__1) ;+} /* end of [ATSLIB_056_prelude__lt_g1int_int__17__1] */++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)+*/+/*+local: +global: eq_g0int_int$7$2(level=2)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4694)+tmparg = S2Evar(tk(4694))+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret9__2, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp10__2, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)+*/+ATSINSflab(__patsflab_eq_g0int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)+*/+ATSINSmove(tmp10__2, atspre_g0int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)+*/+ATSINSmove(tmpret9__2, atspre_g0int_eq_int(arg0, tmp10__2)) ;++ATSfunbody_end()+ATSreturn(tmpret9__2) ;+} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__2] */++#if(0)+/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)+*/+/*+local: +global: eq_g1int_int$22$0(level=0)+local: +global: +*/+ATSextern()+/*+imparg = tk(4709)+tmparg = S2Evar(tk(4709))+tmpsub = None()+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g1int_int__22(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret34, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp35, atstkind_t0ype(atstyvar_type(tk))) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)+*/+ATSINSflab(__patsflab_eq_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)+*/+ATSINSmove(tmp35, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4709))>)(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)+*/+ATSINSmove(tmpret34, PMVtmpltcst(g1int_eq<S2Evar(tk(4709))>)(arg0, tmp35)) ;++ATSfunbody_end()+ATSreturn(tmpret34) ;+} /* end of [ATSLIB_056_prelude__eq_g1int_int__22] */+#endif // end of [TEMPLATE]++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)+*/+/*+local: +global: eq_g1int_int$22$1(level=2)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4709)+tmparg = S2Evar(tk(4709))+tmpsub = Some(tk(4709) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g1int_int__22__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret34__1, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp35__1, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)+*/+ATSINSflab(__patsflab_eq_g1int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)+*/+ATSINSmove(tmp35__1, atspre_g1int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)+*/+ATSINSmove(tmpret34__1, atspre_g1int_eq_int(arg0, tmp35__1)) ;++ATSfunbody_end()+ATSreturn(tmpret34__1) ;+} /* end of [ATSLIB_056_prelude__eq_g1int_int__22__1] */++/*+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)+*/+/*+local: +global: eq_g0int_int$7$3(level=2)+local: +global: +*/+ATSstatic()+/*+imparg = tk(4694)+tmparg = S2Evar(tk(4694))+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))+*/+atstkind_t0ype(atstype_bool)+ATSLIB_056_prelude__eq_g0int_int__7__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret9__3, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmp10__3, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)+*/+ATSINSflab(__patsflab_eq_g0int_int):+/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)+*/+ATSINSmove(tmp10__3, atspre_g0int2int_int_int(arg1)) ;++/*+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)+*/+ATSINSmove(tmpret9__3, atspre_g0int_eq_int(arg0, tmp10__3)) ;++ATSfunbody_end()+ATSreturn(tmpret9__3) ;+} /* end of [ATSLIB_056_prelude__eq_g0int_int__7__3] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics-ffi.dats: 269(line=14, offs=24) -- 287(line=15, offs=13)+*/+/*+local: is_prime_15$0(level=0)+global: sqrt_int_12$0(level=0), is_prime_15$0(level=0), is_prime_ats$26$0(level=0)+local: +global: +*/+ATSextern()+atstkind_t0ype(atstype_bool)+is_prime_ats(atstkind_t0ype(atstype_int) arg0)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret43, atstkind_t0ype(atstype_bool)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics-ffi.dats: 256(line=14, offs=11) -- 288(line=15, offs=14)+*/+ATSINSflab(__patsflab_is_prime_ats):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics-ffi.dats: 277(line=15, offs=3) -- 287(line=15, offs=13)+*/+ATSINSmove(tmpret43, is_prime_15(arg0)) ;++ATSfunbody_end()+ATSreturn(tmpret43) ;+} /* end of [is_prime_ats] */++/*+/home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics-ffi.dats: 308(line=17, offs=19) -- 328(line=18, offs=12)+*/+/*+local: exp_0$0(level=0)+global: exp_0$0(level=0), exp_ats$27$0(level=0)+local: +global: +*/+ATSextern()+atstkind_t0ype(atstype_int)+exp_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret44, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics-ffi.dats: 300(line=17, offs=11) -- 328(line=18, offs=12)+*/+ATSINSflab(__patsflab_exp_ats):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/current/fast-combinatorics/ats-src/numerics-ffi.dats: 319(line=18, offs=3) -- 328(line=18, offs=12)+*/+ATSINSmove(tmpret44, exp_0(arg0, arg1)) ;++ATSfunbody_end()+ATSreturn(tmpret44) ;+} /* end of [exp_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_numerics_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_numerics_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_numerics_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_numerics_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_numerics_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 */
fast-combinatorics.cabal view
@@ -1,5 +1,5 @@ name: fast-combinatorics-version: 0.1.0.7+version: 0.1.0.8 synopsis: Fast combinatorics. description: Fast combinatorics code with a high level of safety guaranteed by writing it in ATS. homepage: https://github.com//fast-combinatorics#readme@@ -10,8 +10,8 @@ copyright: Copyright: (c) 2017 Vanessa McHale category: Numerics build-type: Custom-extra-source-files: cbits/combinatorics-ffi.c- , cbits/numerics-ffi.c+extra-source-files: cbits/combinatorics.c+ , cbits/numerics.c , ATS2-Postiats-include-0.3.8/ccomp/runtime/pats_ccomp_config.h , stack.yaml , ats-src/*.dats@@ -35,16 +35,16 @@ , directory library- c-sources: cbits/combinatorics-ffi.c- , cbits/numerics-ffi.c- include-dirs: /usr/local/lib/ats2-postiats-0.3.8/ccomp/runtime/- , /usr/local/lib/ats2-postiats-0.3.8/+ c-sources: cbits/combinatorics.c+ , cbits/numerics.c+ , cbits/number-theory.c include-dirs: ATS2-Postiats-include-0.3.8/ccomp/runtime/ , ATS2-Postiats-include-0.3.8/ hs-source-dirs: src exposed-modules: Numeric.Combinatorics- , Numeric.Pure.Combinatorics+ , Numeric.Pure , Numeric.Integer+ , Numeric.NumberTheory build-depends: base >= 4.7 && < 5 , composition-prelude >= 0.1.1.4 default-language: Haskell2010@@ -78,7 +78,7 @@ if flag(development) ghc-options: -Werror if impl(ghc >= 8.0)- ghc-options: -Wincomplete-uni-patterns -Wincomplete-record-updates -Wcompat + ghc-options: -Wincomplete-uni-patterns -Wincomplete-record-updates -Wcompat ghc-options: -Wall default-language: Haskell2010
+ src/Numeric/NumberTheory.hs view
@@ -0,0 +1,26 @@+{-|+Module : Numeric.NumberTheory+Description : Fast computation of number theoretic functions+Copyright : Copyright (c) 2017 Vanessa McHale++-}++module Numeric.NumberTheory ( totient+ , tau+ ) where++import Foreign.C++foreign import ccall unsafe totient_ats :: CInt -> CInt+foreign import ccall unsafe count_divisors_ats :: CInt -> CInt++conjugate :: (CInt -> CInt) -> Int -> Int+conjugate f = fromIntegral . f . fromIntegral++-- | Number of distinct prime divisors.+tau :: Int -> Int+tau = conjugate count_divisors_ats++-- | Euler totient function.+totient :: Int -> Int+totient = conjugate totient_ats
+ src/Numeric/Pure.hs view
@@ -0,0 +1,31 @@+module Numeric.Pure ( hsIsPrime+ , hsFactorial+ , hsDoubleFactorial+ , hsChoose+ , hsTotient+ , hsTau+ ) where++hsTau :: Int -> Int+hsTau n = length (filter ((== 0) . (n `mod`)) [1..n])++hsTotient :: Int -> Int+hsTotient n = (n * product [ p - 1 | p <- ps ]) `div` product ps+ where ps = filter (\k -> hsIsPrime k && n `mod` k == 0) [2..n]++hsIsPrime :: Int -> Bool+hsIsPrime 1 = False+hsIsPrime x = all ((/=0) . (x `mod`)) [2..m]+ where m = floor (sqrt (fromIntegral x :: Float))++hsFactorial :: Int -> Int+hsFactorial 0 = 1+hsFactorial n = n * hsFactorial (n-1)++hsDoubleFactorial :: Int -> Int+hsDoubleFactorial 0 = 1+hsDoubleFactorial 1 = 1+hsDoubleFactorial k = k * hsDoubleFactorial (k-2)++hsChoose :: Int -> Int -> Int+hsChoose n k = product [ n + 1 - i | i <- [1..k] ] `div` hsFactorial k
− src/Numeric/Pure/Combinatorics.hs
@@ -1,22 +0,0 @@-module Numeric.Pure.Combinatorics ( hsIsPrime- , hsFactorial- , hsDoubleFactorial- , hsChoose- ) where--hsIsPrime :: Int -> Bool-hsIsPrime 1 = False-hsIsPrime x = all ((/=0) . (x `mod`)) [2..m]- where m = floor (sqrt (fromIntegral x :: Float))--hsFactorial :: Int -> Int-hsFactorial 0 = 1-hsFactorial n = n * hsFactorial (n-1)--hsDoubleFactorial :: Int -> Int-hsDoubleFactorial 0 = 1-hsDoubleFactorial 1 = 1-hsDoubleFactorial k = k * hsDoubleFactorial (k-2)--hsChoose :: Int -> Int -> Int-hsChoose n k = product [ n + 1 - i | i <- [1..k] ] `div` hsFactorial k
test/Spec.hs view
@@ -1,6 +1,7 @@ import Numeric.Combinatorics import Numeric.Integer-import Numeric.Pure.Combinatorics+import Numeric.NumberTheory+import Numeric.Pure import Test.Hspec import Test.Hspec.QuickCheck @@ -20,10 +21,22 @@ \x -> x < 0 || x > 19 || doubleFactorial x == hsDoubleFactorial x parallel $ describe "choose" $ prop "should agree with the pure Haskell function" $- \x y -> x < 0 || y < 0 || x > 13 || y > 11 || (x `choose` y) == (x `hsChoose` y)+ \x y -> x < 0 || y < 0 || x > 12 || y > 11 || (x `choose` y) == (x `hsChoose` y) parallel $ describe "isPrime" $ prop "should agree with the pure Haskell function" $ \x -> x < 1 || isPrime x == hsIsPrime x parallel $ describe "integerExp" $ prop "should agree with the pure Haskell function" $ \a k -> a < 0 || k < 0 || tooBig a k || (a == 0 && k == 0) || integerExp a k == a ^ k+ parallel $ describe "totient" $+ prop "should agree with the pure Haskell function" $+ \m -> m < 2 || totient m == hsTotient m+ parallel $ describe "totient" $+ prop "should be equal to m-1 for m prime" $+ \m -> m < 2 || not (isPrime m) || totient m == m - 1+ parallel $ describe "totient" $+ prop "should satisfy Fermat's little theorem" $+ \a m -> a < 1 || m < 2 || gcd a m /= 1 || tooBig a m || (a ^ (totient m)) `mod` m == 1+ parallel $ describe "tau" $+ prop "should agree with the pure Haskell function" $+ \n -> n < 1 || tau n == hsTau n