packages feed

fast-arithmetic 0.5.0.0 → 0.6.0.1

raw patch · 16 files changed

+329/−923 lines, 16 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Numeric.Integer: isPrime :: Int -> Bool
+ Numeric.NumberTheory: isPrime :: Int -> Bool

Files

− ats-src/combinatorics-internal.dats
@@ -1,147 +0,0 @@-#include "share/atspre_staload.hats"-#include "$PATSHOMELOCS/atscntrb-hx-intinf/mydepies.hats"-#include "$PATSHOMELOCS/atscntrb-hx-intinf/mylibies.hats"--staload "$PATSHOMELOCS/atscntrb-hx-intinf/SATS/intinf_vt.sats"-staload UN = "prelude/SATS/unsafe.sats"--// See [here](http://mathworld.wolfram.com/Derangement.html). I'm not sure how-// fast this is, but it *seems* to be faster than the Haskell version so that's-// good.-fn derangements {n:nat} .<n>. (n : int(n)) : Intinf =-  let-    fun loop { n : nat | n > 1 }{ i : nat | i <= n } .<n-i>. (n : int(n), i : int(i), n1 : Intinf, n2 : Intinf) : Intinf =-      if i < n then-        let-          var x = add_intinf0_intinf1(n2, n1)-          var y = mul_intinf0_int(x, i)-        in-          loop(n, i + 1, y, n1)-        end-      else-        let-          var x = add_intinf0_intinf1(n2, n1)-          val _ = intinf_free(n1)-          var y = mul_intinf0_int(x, i)-        in-          y-        end-  in-    case+ n of-      | 0 => int2intinf(1)-      | 1 =>> int2intinf(0)-      | 2 =>> int2intinf(1)-      | n =>> loop(n - 1, 2, int2intinf(1), int2intinf(0))-  end--fun fact {n:nat} .<n>. (k : int(n)) : intinfGte(1) =-  case+ k of-    | 0 => int2intinf(1)-    | 1 => int2intinf(1)-    | k =>> $UN.castvwtp0(mul_intinf0_int(fact(k - 1), k))--// Double factorial http://mathworld.wolfram.com/DoubleFactorial.html-fun dfact {n:nat} .<n>. (k : int(n)) : Intinf =-  case+ k of-    | 0 => int2intinf(1)-    | 1 => int2intinf(1)-    | k =>> let-      var x = dfact(k - 2)-      var y = mul_intinf0_int(x, k)-    in-      y-    end--// Number of permutations on n objects using k at a time.-fn permutations {n:nat}{ k : nat | k <= n }(n : int(n), k : int(k)) : Intinf =-  let-    var x = fact(n)-    var y = fact(n - k)-    var z = div_intinf0_intinf1(x, y)-    val _ = intinf_free(y)-  in-    z-  end--// Catalan numbers, indexing starting at zero.-fn catalan {n:nat}(n : int(n)) : Intinf =-  let-    fun numerator_loop { i : nat | i > 1 } .<i>. (i : int(i)) : [ n : nat | n > 0 ] intinf(n) =-      case+ i of-        | 2 => int2intinf(n + 2)-        | i =>> let-          var x = numerator_loop(i - 1)-          var y = mul_intinf0_int(x, n + i)-        in-          $UN.castvwtp0(y)-        end-  in-    case+ n of-      | 0 => int2intinf(1)-      | 1 => int2intinf(1)-      | k =>> let-        var x = numerator_loop(k)-        var y = fact(k)-        var z = div_intinf0_intinf1(x, y)-        val _ = intinf_free(y)-      in-        $UN.castvwtp0(z)-      end-  end--// Number of permutations on n objects using k at a time.-fn choose {n:nat}{ m : nat | m <= n }(n : int(n), k : int(m)) : Intinf =-  let-    fun numerator_loop { m : nat | m > 1 } .<m>. (i : int(m)) : [ n : nat | n > 0 ] intinf(n) =-      case+ i of-        | 1 => int2intinf(n)-        | 2 => $UN.castvwtp0(int2intinf((n - 1) * n))-        | i =>> let-          var x = numerator_loop(i - 1)-          var y = mul_intinf0_int(x, n + 1 - i)-        in-          $UN.castvwtp0(y)-        end-  in-    case+ k of-      | 0 => int2intinf(1)-      | 1 => int2intinf(n)-      | k =>> let-        var x = numerator_loop(k)-        var y = fact(k)-        var z = div_intinf0_intinf1(x, y)-        val _ = intinf_free(y)-      in-        $UN.castvwtp0(z)-      end-  end--fn sterling {n:nat}{ k : nat | k <= n }(n : int(n), k : int(k)) : Intinf =-  let-    fun numerator_loop {j:nat}(j : int(j), acc : Intinf) : Intinf =-      acc-  in-    int2intinf(0)-  end--// TODO stirling numbers of the second kind.-// Bell numbers. These can't be called via the FFI because of the mutually-// recursive functions, so we should probably think of something else.-fnx bell {n:nat}(n : int(n)) : [ n : nat | n > 0 ] intinf(n) =-  case- n of-    | 0 => int2intinf(1)-    | n when n >= 0 =>> sum_loop(n, n)-and sum_loop {n:nat}{ m : nat | m >= 1 && m <= n } .<m>. (n : int(n), i : int(m)) : [ n : nat | n > 0 ] intinf(n) =-  case+ i of-    | 1 => int2intinf(1)-    | i =>> let-      var p = sum_loop(n, i - 1)-      var b = bell(i)-      var c = choose(n, i)-      var pre_ret = mul_intinf0_intinf1(c, b)-      var ret = add_intinf0_intinf1(pre_ret, p)-      val _ = intinf_free(b)-      val _ = intinf_free(p)-    in-      $UN.castvwtp0(ret)-    end
− ats-src/combinatorics.dats
@@ -1,46 +0,0 @@-#define ATS_MAINATSFLAG 1--#include "share/atspre_staload.hats"-#include "ats-src/combinatorics-internal.dats"--extern-fun choose_ats {n:nat}{ m : nat | m <= n } : (int(n), int(m)) -> Intinf =-  "mac#"--extern-fun permutations_ats {n:nat}{ m : nat | m <= n } : (int(n), int(m)) -> Intinf =-  "mac#"--extern-fun double_factorial_ats {n:nat} : int(n) -> Intinf =-  "mac#"--extern-fun factorial_ats {n:nat} : int(n) -> Intinf =-  "mac#"--extern-fun catalan_ats {n:nat} : int(n) -> Intinf =-  "mac#"--extern-fun derangements_ats {n:nat} : int(n) -> Intinf =-  "mac#"--implement choose_ats (n, k) =-  choose(n, k)--implement permutations_ats (n, k) =-  choose(n, k)--implement double_factorial_ats (m) =-  dfact(m)--implement factorial_ats (m) =-  fact(m)--implement catalan_ats (n) =-  catalan(n)--implement derangements_ats (n) =-  derangements(n)
− ats-src/number-theory-internal.dats
@@ -1,262 +0,0 @@-#include "share/atspre_staload.hats"-#include "$PATSHOMELOCS/atscntrb-hx-intinf/mydepies.hats"-#include "$PATSHOMELOCS/atscntrb-hx-intinf/mylibies.hats"-#include "ats-src/numerics-internal.dats"--staload "prelude/SATS/integer.sats"-staload UN = "prelude/SATS/unsafe.sats"-staload "$PATSHOMELOCS/atscntrb-hx-intinf/SATS/intinf_vt.sats"--#define ATS_MAINATSFLAG 1--// m | n-fn divides(m : int, n : int) :<> bool =-  n % m = 0--// Euclid's algorithm-fnx gcd {k:nat}{l:nat}(m : int(l), n : int(k)) : int =-  if n > 0 then-    gcd(n, witness(m % n))-  else-    m--fn lcm {k:nat}{l:nat}(m : int(l), n : int(k)) : int =-  (m / gcd(m, n)) * n--fn is_coprime {k:nat}{l:nat}(m : int(l), n : int(k)) : bool =-  gcd(m, n) = 1--// stream all divisors of an integer.-fn divisors(n : intGte(1)) : stream_vt(int) =-  case+ n of-    | 1 => $ldelay(stream_vt_cons(1, $ldelay(stream_vt_nil)))-    | _ => let-      fun loop { k : nat | k > 0 }{ m : nat | m > 0 }(n : int(k), acc : int(m)) : stream_vt(int) =-        if acc >= sqrt_int(n) then-          if n % acc = 0 then-            if n / acc != acc then-              let-                var x: int = n / acc-              in-                $ldelay(stream_vt_cons(acc, $ldelay(stream_vt_cons(x, $ldelay(stream_vt_nil)))))-              end-            else-              let-                -              in-                $ldelay(stream_vt_cons(acc, $ldelay(stream_vt_nil)))-              end-          else-            $ldelay(stream_vt_nil)-        else-          if n % acc = 0 then-            let-              var x: int = n / acc-            in-              $ldelay(stream_vt_cons(acc, $ldelay(stream_vt_cons(x, (loop(n, acc + 1))))))-            end-          else-            loop(n, acc + 1)-    in-      loop(n, 1)-    end--// prime divisors of an integer-fn prime_divisors(n : intGte(1)) : stream_vt(int) =-  stream_vt_filter_cloptr(divisors(n), lam x => is_prime($UN.cast(x)))--// if n >= 0, p > 1, then n/p >=-fn div_gt_zero(n : intGte(0), p : intGt(1)) : intGte(0) =-  $UN.cast(n / p)--// TODO require that p be prime-fun exp_mod_prime(a : intGte(0), n : intGte(0), p : intGt(1)) : int =-  let-    var a1 = a % p-    var n1 = n % (p - 1)-  in-    case+ a of-      | 0 => 0-      | x =>> -        begin-          if n > 0 then-            let-              var n2: intGte(0) = $UN.cast(half(n1))-              var i2 = n1 % 2-              var sq_a: intGte(0) = $UN.cast(a * a % p)-            in-              if i2 = 0 then-                exp_mod_prime(sq_a, n2, p)-              else-                let-                  var y = a * exp_mod_prime(sq_a, n2, p)-                in-                  y-                end-            end-          else-            1-        end-  end--// Jacobi symbol for positive integers. See here: http://mathworld.wolfram.com/JacobiSymbol.html-// I'm pretty sure this is broken in some way, though I'm really sure why.-fun jacobi(a : intGte(0), n : Odd) : int =-  let-    // TODO make this take p prime only.-    fun legendre { p : int | p >= 2 }(a : intGte(0), p : int(p)) : intBtwe(~1, 1) =-      case+ p % a of-        | 0 => 0-        | _ => let-          var i = exp_mod_prime(a, (p - 1) / 2, p)-        in-          case+ i of-            | i when i % (p - 1) = 0 => ~1-            | i when i % p = 0 => 0-            | _ => 1-        end-    -    fun get_multiplicity(n : intGte(0), p : intGt(1)) : intGte(0) =-      case+ n % p of-        | 0 => 1 + get_multiplicity(div_gt_zero(n, p), p)-        | _ => 0-    -    fun loop { m : int | m > 1 }(acc : int(m)) : int =-      if acc > n then-        1-      else-        if a % acc = 0 && is_prime(acc) then-          loop(acc + 1) * exp(legendre(acc, n), get_multiplicity(a, acc))-        else-          loop(acc + 1)-  in-    loop(2)-  end--fn count_divisors(n : intGte(1)) : int =-  stream_vt_length(divisors(n))--vtypedef pair = @{ first = int, second = int }--// aka σ in number theory-fn sum_divisors(n : intGte(1)) : int =-  let-    fun loop { k : nat | k > 0 }{ m : nat | m > 0 }(n : int(k), acc : int(m)) : int =-      if acc >= sqrt_int(n) then-        if n % acc = 0 then-          if n / acc != acc then-            let-              var x: int = n / acc-            in-              acc + x-            end-          else-            acc-        else-          0-      else-        if n % acc = 0 then-          let-            var x: int = n / acc-          in-            acc + x + loop(n, acc + 1)-          end-        else-          loop(n, acc + 1)-  in-    loop(n, 1)-  end--fn is_perfect(n : intGt(1)) : bool =-  sum_divisors(n) = n--fun rip { n : nat | n > 0 }{ p : nat | p > 0 } .<n>. (n : int(n), p : int(p)) :<> [ r : nat | r <= n && r > 0 ] int(r) =-  if n % p != 0 then-    n-  else-    if n / p > 0 then-      let-        var n1 = n / p-      in-        if n1 < n then-          $UN.cast(rip(n1, p))-        else-          1-      end-    else-      1--fun prime_factors(n : intGte(1)) : stream_vt(int) =-  let-    fun loop { k : nat | k > 0 }{ m : nat | m > 0 }(n : int(k), acc : int(m)) : stream_vt(int) =-      if acc >= n then-        if is_prime(n) then-          $ldelay(stream_vt_cons(n, $ldelay(stream_vt_nil)))-        else-          $ldelay(stream_vt_nil)-      else-        if n % acc = 0 && is_prime(acc) then-          if n / acc > 0 then-            $ldelay(stream_vt_cons(acc, loop(rip(n, acc), 1)))-          else-            $ldelay(stream_vt_cons(acc, $ldelay(stream_vt_nil)))-        else-          loop(n, acc + 1)-  in-    loop(n, 1)-  end--// distinct prime divisors-fn little_omega(n : intGte(1)) : int =-  let-    fun loop { k : nat | k > 0 }{ m : nat | m > 0 }(n : int(k), acc : int(m)) :<!ntm> int =-      if acc >= n then-        if is_prime(n) then-          1-        else-          0-      else-        if n % acc = 0 && is_prime(acc) then-          if n / acc > 0 then-            1 + loop(rip(n, acc), 1)-          else-            1-        else-          loop(n, acc + 1)-  in-    loop(n, 1)-  end--// Euler's totient function.-fn totient(n : intGte(1)) : int =-  case+ n of-    | 1 => 1-    | n =>> let-      fn adjust_contents(x : pair, y : int) : pair =-        @{ first = g0int_mul(x.first, y - 1), second = g0int_mul(x.second, y) }-      -      var x: stream_vt(int) = prime_factors(n)-      var empty_pair = @{ first = 1, second = 1 } : pair-      var y = stream_vt_foldleft_cloptr(x, empty_pair, lam (acc, next) => adjust_contents(acc, next)) : pair-    in-      g0int_div(g0int_mul(n, y.first), y.second)-    end--// The sum of all φ(m) for m between 1 and n. Note the use of refinement types-// to prevent 0 from being passed as an argument. This function is actually-// slower than the Haskell equivalent, as it uses a naïve algorithm.-fn totient_sum(n : intGte(1)) : Intinf =-  let-    fnx loop { n : nat | n >= 1 }{ m : nat | m >= n } .<m-n>. (i : int(n), bound : int(m)) : Intinf =-      if i < bound then-        let-          var x = loop(i + 1, bound)-          var y = add_intinf0_int(x, witness(totient(i)))-        in-          y-        end-      else-        int2intinf(witness(totient(i)))-  in-    loop(1, n)-  end
− ats-src/number-theory.dats
@@ -1,57 +0,0 @@-#include "ats-src/number-theory-internal.dats"--extern-fun totient_ats { k : nat | k >= 2 }(int(k)) : int =-  "mac#"--extern-fun count_divisors_ats { k : nat | k >= 2 }(int(k)) : int =-  "mac#"--extern-fun little_omega_ats { n : nat | n > 0 } : int(n) -> int =-  "mac#"--extern-fun sum_divisors_ats : { n : nat | n > 1 } int(n) -> int =-  "mac#"--extern-fun jacobi_ats : (intGte(0), Odd) -> int =-  "mac#"--extern-fun is_perfect_ats : intGt(1) -> bool =-  "mac#"--extern-fun totient_sum_ats : intGte(1) -> Intinf =-  "mac#"--extern-fun coprime_ats {k:nat}{n:nat} : (int(k), int(n)) -> bool =-  "mac#"--implement sum_divisors_ats (m) =-  sum_divisors(m)--implement count_divisors_ats (n) =-  count_divisors(n)--implement totient_ats (n) =-  totient(n)--implement little_omega_ats (n) =-  little_omega(n)--implement is_perfect_ats (n) =-  is_perfect(n)--implement jacobi_ats (m, n) =-  jacobi(m, $UN.cast(n))--implement totient_sum_ats (n) =-  totient_sum(n)--implement coprime_ats (m, n) =-  is_coprime(m, n)
− ats-src/numerics-internal.dats
@@ -1,126 +0,0 @@-#include "share/atspre_staload.hats"-#include "$PATSHOMELOCS/atscntrb-hx-intinf/mydepies.hats"-#include "$PATSHOMELOCS/atscntrb-hx-intinf/mylibies.hats"--staload "$PATSHOMELOCS/atscntrb-hx-intinf/SATS/intinf_vt.sats"-staload "libats/libc/SATS/math.sats"-staload UN = "prelude/SATS/unsafe.sats"--// 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)--// These types work... less well. I'm not sure what the story is with-// multiplicative constraints in ATS, but in general they're unsolvable due to-// Gödel's incompleteness theorem.-typedef gprime(tk: tk, p: int) = { m, n : nat | m < 1 && m <= n && n < p && m*n != p && p > 1 } g1int(tk, p)-typedef prime(p: int) = gprime(int_kind, p)-typedef Prime = [p:nat] prime(p)--fn witness(n : int) :<> [m:nat] int(m) =-  $UN.cast(n)--// Fast computation of Fibonacci numbers via GMP bindings.-fun fib_gmp(n : intGte(0)) : Intinf =-  let-    var z = ptr_alloc()-    var x = g0int2uint(n + 1)-    val _ = $GMP.mpz_init(!(z.2))-    val _ = $GMP.mpz_fib_uint(!(z.2), x)-  in-    $UN.castvwtp0(z)-  end--// Fast integer exponentiation. This performs O(log n) multiplications. This-// function is mostly useful for exponentiation in modular arithmetic, as-// it can overflow.-fun exp {n:nat} .<n>. (x : int, n : int(n)) : int =-  case+ x of-    | 0 => 0-    | x =>> -      begin-        if n > 0 then-          let-            var n2 = half(n)-            var i2 = n % 2-          in-            if i2 = 0 then-              exp(x * x, n2)-            else-              let-                var y = x * exp(x * x, n2)-              in-                y-              end-          end-        else-          1-      end--// Fast integer exponentiation, that mostly works as we would like.-fun big_exp {n:nat} .<n>. (x : Intinf, n : int(n)) : Intinf =-  if compare_intinf_int(x, 0) = 0 then-    x-  else-    if n > 0 then-      let-        var n2 = half(n)-        var i2 = n % 2-      in-        if i2 = 0 then-          let-            // FIXME copy it-            var x0 = abs_intinf1(x)-            var c = mul_intinf0_intinf1(x0, x)-            val _ = intinf_free(x)-          in-            big_exp(c, n2)-          end-        else-          let-            var x0 = abs_intinf1(x)-            var c0 = mul_intinf0_intinf1(x0, x)-            var c1 = big_exp(c0, n2)-            var c = mul_intinf0_intinf1(c1, x)-            val _ = intinf_free(x)-          in-            c-          end-      end-    else-      (intinf_free(x) ; int2intinf(1))--// square root is bounded for bounded k.-fn sqrt_int(k : intGt(0)) :<> [m:nat] int(m) =-  let-    var bound: int = g0float2int(sqrt_float(g0int2float(k)))-  in-    witness(bound)-  end--// 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 =-            if i < bound then-              if k % i = 0 then-                false-              else-                loop(i + 1, bound)-            else-              if i = bound then-                if k % i = 0 then-                  false-                else-                  true-              else-                true-        in-          loop(2, sqrt_int(k))-        end-      end
− ats-src/numerics.dats
@@ -1,30 +0,0 @@-#define ATS_DYNLOADFLAG 0--#include "share/atspre_staload.hats"-#include "ats-src/numerics-internal.dats"--staload "$PATSHOMELOCS/atscntrb-hx-intinf/SATS/intinf_vt.sats"--%{^-#define ATS_MEMALLOC_LIBC-#include "ccomp/runtime/pats_ccomp_memalloc_libc.h"-#include "ccomp/runtime/pats_ccomp_runtime_memalloc.c"-%}--extern-fun is_prime_ats { n : nat | n > 0 } : int(n) -> bool =-  "mac#"--extern-fun exp_ats {m:nat} : ([n:nat] int(n), int(m)) -> int =-  "mac#"--extern-fun fib_ats : intGte(0) -> Intinf =-  "mac#"--implement is_prime_ats (n) =-  is_prime(n)--implement exp_ats (m, n) =-  exp(m, n)
+ atspkg.dhall view
@@ -0,0 +1,85 @@+{- Imports -}+let prelude = https://raw.githubusercontent.com/vmchale/atspkg/master/ats-pkg/dhall/atspkg-prelude.dhall+in++let map = https://ipfs.io/ipfs/QmQ8w5PLcsNz56dMvRtq54vbuPe9cNnCCUXAQp6xLc6Ccx/Prelude/List/map+in++let not = https://ipfs.io/ipfs/QmQ8w5PLcsNz56dMvRtq54vbuPe9cNnCCUXAQp6xLc6Ccx/Prelude/Bool/not+in++{- Types -}+let PreSrc = { atsSrc : Text, cTarget : Text }+in++{- Configuration variables -}+let sourceBld = True+in++let withBench = True+in++{- Helper functions -}+let asDats =+  λ(x : Text) → "ats-src/${x}.dats"+in++let hsDatsSrc =+  λ(x : Text) → { atsSrc = asDats x, cTarget = "cbits/${x}.c" }+in++let mapDatsSrc =+  λ(x : List Text) → map Text PreSrc hsDatsSrc x+in++let moduleNames =+  ["combinatorics", "number-theory", "numerics" ]+in++{- Build components -}+let atsSource = if sourceBld+  then+    prelude.mapSrc+      (mapDatsSrc moduleNames)+  else+    [] : List prelude.Src+in++let test = if withBench+  then+    [ prelude.bin ⫽+      { src = "ats-src/bench.dats"+      , target = "target/bench"+      , libs = [ "gmp" ]+      , gcBin = True+      }+    ]+  else+    [] : List prelude.Bin+in++let libraries = if not sourceBld+  then+    [ prelude.staticLib ⫽+      { name = "numbertheory"+      , src = (map Text Text asDats moduleNames)+      , libTarget = "${prelude.cabalDir}/libnumbertheory.a"+      }+    ]+  else+    [] : List prelude.Lib+in++let dependencies = prelude.mapPlainDeps+  ([ "atscntrb-hx-intinf" ]+   # (if sourceBld then [ "ats-includes" ] else [] : List Text)+   # (if withBench then [ "ats-bench" ] else [] : List Text))+in++{- Main -}+prelude.default ⫽+  { atsSource = atsSource+  , test = test+  , libraries = libraries+  , dependencies = dependencies+  }
bench/Bench.hs view
@@ -4,7 +4,6 @@ import qualified Math.Combinat.Numbers                 as Ext import qualified Math.NumberTheory.ArithmeticFunctions as Ext import           Numeric.Combinatorics-import           Numeric.Integer import           Numeric.NumberTheory  {-# SPECIALIZE hsIsPrime :: Int -> Bool #-}
cbits/combinatorics.c view
@@ -1,7 +1,7 @@ /* ** ** The C code is generated by [ATS/Postiats-0-3-10]-** The starting compilation time is: 2018-4-15: 21h:51m+** The starting compilation time is: 2018-4-22: 21h:35m ** */ @@ -774,7 +774,7 @@ #endif // end of [QUALIFIED]  /*-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 430(line=11, offs=4) -- 1128(line=35, offs=6)+/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 492(line=15, offs=4) -- 1190(line=39, offs=6) */ /* local: @@ -794,11 +794,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 430(line=11, offs=4) -- 1128(line=35, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 492(line=15, offs=4) -- 1190(line=39, offs=6) */ ATSINSflab(__patsflab_derangements_0): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 483(line=12, offs=3) -- 1128(line=35, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 545(line=16, offs=3) -- 1190(line=39, offs=6) */ /* letpush(beg)@@ -808,7 +808,7 @@ */  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 970(line=30, offs=5) -- 1122(line=34, offs=59)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1032(line=34, offs=5) -- 1184(line=38, offs=59) */ ATScaseof_beg() /*@@ -816,15 +816,15 @@ */ ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 989(line=31, offs=9) -- 990(line=31, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1051(line=35, offs=9) -- 1052(line=35, offs=10) */ ATSINSlab(__atstmplab0): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 458(line=11, offs=32) -- 459(line=11, offs=33)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 520(line=15, offs=32) -- 521(line=15, offs=33) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 990(line=31, offs=10) -- 990(line=31, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1052(line=35, offs=10) -- 1052(line=35, offs=10) */ ATSINSlab(__atstmplab1): /*@@ -834,7 +834,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 994(line=31, offs=14) -- 1007(line=31, offs=27)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1056(line=35, offs=14) -- 1069(line=35, offs=27) */ ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(ATSPMVi0nt(1))) ; @@ -842,15 +842,15 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1016(line=32, offs=9) -- 1017(line=32, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1078(line=36, offs=9) -- 1079(line=36, offs=10) */ ATSINSlab(__atstmplab2): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 458(line=11, offs=32) -- 459(line=11, offs=33)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 520(line=15, offs=32) -- 521(line=15, offs=33) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab4) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1017(line=32, offs=10) -- 1017(line=32, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1079(line=36, offs=10) -- 1079(line=36, offs=10) */ ATSINSlab(__atstmplab3): /*@@ -860,7 +860,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1022(line=32, offs=15) -- 1035(line=32, offs=28)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1084(line=36, offs=15) -- 1097(line=36, offs=28) */ ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(ATSPMVi0nt(0))) ; @@ -868,15 +868,15 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1044(line=33, offs=9) -- 1045(line=33, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1106(line=37, offs=9) -- 1107(line=37, offs=10) */ ATSINSlab(__atstmplab4): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 458(line=11, offs=32) -- 459(line=11, offs=33)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 520(line=15, offs=32) -- 521(line=15, offs=33) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab6) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1045(line=33, offs=10) -- 1045(line=33, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1107(line=37, offs=10) -- 1107(line=37, offs=10) */ ATSINSlab(__atstmplab5): /*@@ -886,7 +886,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1050(line=33, offs=15) -- 1063(line=33, offs=28)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1112(line=37, offs=15) -- 1125(line=37, offs=28) */ ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(ATSPMVi0nt(1))) ; @@ -894,7 +894,7 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1073(line=34, offs=10) -- 1073(line=34, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1135(line=38, offs=10) -- 1135(line=38, offs=10) */ ATSINSlab(__atstmplab6): /*@@ -904,22 +904,22 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1083(line=34, offs=20) -- 1088(line=34, offs=25)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1145(line=38, offs=20) -- 1150(line=38, offs=25) */ ATSINSmove(tmp45, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1093(line=34, offs=30) -- 1106(line=34, offs=43)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1155(line=38, offs=30) -- 1168(line=38, offs=43) */ ATSINSmove(tmp46, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(ATSPMVi0nt(1))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1108(line=34, offs=45) -- 1121(line=34, offs=58)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1170(line=38, offs=45) -- 1183(line=38, offs=58) */ ATSINSmove(tmp51, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(ATSPMVi0nt(0))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1078(line=34, offs=15) -- 1122(line=34, offs=59)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1140(line=38, offs=15) -- 1184(line=38, offs=59) */ ATSINSmove(tmpret0, loop_1(tmp45, ATSPMVi0nt(2), tmp46, tmp51)) ; @@ -931,7 +931,7 @@ ATScaseof_end()  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 483(line=12, offs=3) -- 1128(line=35, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 545(line=16, offs=3) -- 1190(line=39, offs=6) */ /* INSletpop()@@ -941,7 +941,7 @@ } /* end of [derangements_0] */  /*-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 495(line=13, offs=9) -- 960(line=28, offs=12)+/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 557(line=17, offs=9) -- 1022(line=32, offs=12) */ /* local: loop_1$0(level=1)@@ -969,45 +969,45 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 495(line=13, offs=9) -- 960(line=28, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 557(line=17, offs=9) -- 1022(line=32, offs=12) */ ATSINSflab(__patsflab_loop_1): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 619(line=14, offs=10) -- 624(line=14, offs=15)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 681(line=18, offs=10) -- 686(line=18, offs=15) */ ATSINSmove(tmp2, ATSLIB_056_prelude__lt_g1int_int__2__1(arg1, arg0)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 616(line=14, offs=7) -- 960(line=28, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 678(line=18, offs=7) -- 1022(line=32, offs=12) */ ATSif( tmp2 ) ATSthen() { /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 638(line=15, offs=9) -- 782(line=20, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 700(line=19, offs=9) -- 844(line=24, offs=12) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 656(line=16, offs=15) -- 657(line=16, offs=16)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 718(line=20, offs=15) -- 719(line=20, offs=16) */ /* ATSINStmpdec(tmpref7) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 660(line=16, offs=19) -- 687(line=16, offs=46)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 722(line=20, offs=19) -- 749(line=20, offs=46) */ ATSINSmove(tmpref7, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(arg3, ATSPMVrefarg0(arg2))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 702(line=17, offs=15) -- 703(line=17, offs=16)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 764(line=21, offs=15) -- 765(line=21, offs=16) */ /* ATSINStmpdec(tmpref12) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 706(line=17, offs=19) -- 727(line=17, offs=40)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 768(line=21, offs=19) -- 789(line=21, offs=40) */ ATSINSmove(tmpref12, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(tmpref7, arg1)) ; @@ -1016,12 +1016,12 @@ */  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 757(line=19, offs=19) -- 762(line=19, offs=24)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 819(line=23, offs=19) -- 824(line=23, offs=24) */ ATSINSmove(tmp17, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 749(line=19, offs=11) -- 770(line=19, offs=32)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 811(line=23, offs=11) -- 832(line=23, offs=32) */ ATStailcal_beg() ATSINSmove_tlcal(apy0, arg0) ;@@ -1036,42 +1036,42 @@ ATStailcal_end()  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 638(line=15, offs=9) -- 782(line=20, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 700(line=19, offs=9) -- 844(line=24, offs=12) */ /* INSletpop() */ } ATSelse() { /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 802(line=22, offs=9) -- 960(line=28, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 864(line=26, offs=9) -- 1022(line=32, offs=12) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 820(line=23, offs=15) -- 821(line=23, offs=16)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 882(line=27, offs=15) -- 883(line=27, offs=16) */ /* ATSINStmpdec(tmpref18) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 824(line=23, offs=19) -- 851(line=23, offs=46)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 886(line=27, offs=19) -- 913(line=27, offs=46) */ ATSINSmove(tmpref18, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(arg3, ATSPMVrefarg0(arg2))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 870(line=24, offs=19) -- 884(line=24, offs=33)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 932(line=28, offs=19) -- 946(line=28, offs=33) */ ATSINSmove_void(tmp21, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(arg2)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 900(line=25, offs=15) -- 901(line=25, offs=16)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 962(line=29, offs=15) -- 963(line=29, offs=16) */ /* ATSINStmpdec(tmpref26) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 904(line=25, offs=19) -- 925(line=25, offs=40)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 966(line=29, offs=19) -- 987(line=29, offs=40) */ ATSINSmove(tmpref26, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(tmpref18, arg1)) ; @@ -1080,11 +1080,11 @@ */  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 947(line=27, offs=11) -- 948(line=27, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1009(line=31, offs=11) -- 1010(line=31, offs=12) */ ATSINSmove(tmpret1, tmpref26) ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 802(line=22, offs=9) -- 960(line=28, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 864(line=26, offs=9) -- 1022(line=32, offs=12) */ /* INSletpop()@@ -2223,7 +2223,7 @@ } /* end of [ATSLIB_056_prelude__ptr_alloc__17__5] */  /*-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1134(line=37, offs=5) -- 1304(line=41, offs=59)+/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2170(line=74, offs=5) -- 2340(line=78, offs=59) */ /* local: fact_28$0(level=0)@@ -2243,11 +2243,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1134(line=37, offs=5) -- 1304(line=41, offs=59)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2170(line=74, offs=5) -- 2340(line=78, offs=59) */ ATSINSflab(__patsflab_fact_28): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1185(line=38, offs=3) -- 1304(line=41, offs=59)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2221(line=75, offs=3) -- 2340(line=78, offs=59) */ ATScaseof_beg() /*@@ -2255,15 +2255,15 @@ */ ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1202(line=39, offs=7) -- 1203(line=39, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2238(line=76, offs=7) -- 2239(line=76, offs=8) */ ATSINSlab(__atstmplab7): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1154(line=37, offs=25) -- 1155(line=37, offs=26)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2190(line=74, offs=25) -- 2191(line=74, offs=26) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab9) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1203(line=39, offs=8) -- 1203(line=39, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2239(line=76, offs=8) -- 2239(line=76, offs=8) */ ATSINSlab(__atstmplab8): /*@@ -2273,7 +2273,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1207(line=39, offs=12) -- 1220(line=39, offs=25)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2243(line=76, offs=12) -- 2256(line=76, offs=25) */ ATSINSmove(tmpret56, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(ATSPMVi0nt(1))) ; @@ -2281,15 +2281,15 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1227(line=40, offs=7) -- 1228(line=40, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2263(line=77, offs=7) -- 2264(line=77, offs=8) */ ATSINSlab(__atstmplab9): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1154(line=37, offs=25) -- 1155(line=37, offs=26)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2190(line=74, offs=25) -- 2191(line=74, offs=26) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab11) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1228(line=40, offs=8) -- 1228(line=40, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2264(line=77, offs=8) -- 2264(line=77, offs=8) */ ATSINSlab(__atstmplab10): /*@@ -2299,7 +2299,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1232(line=40, offs=12) -- 1245(line=40, offs=25)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2268(line=77, offs=12) -- 2281(line=77, offs=25) */ ATSINSmove(tmpret56, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(ATSPMVi0nt(1))) ; @@ -2307,7 +2307,7 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1253(line=41, offs=8) -- 1253(line=41, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2289(line=78, offs=8) -- 2289(line=78, offs=8) */ ATSINSlab(__atstmplab11): /*@@ -2317,22 +2317,22 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1293(line=41, offs=48) -- 1298(line=41, offs=53)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2329(line=78, offs=48) -- 2334(line=78, offs=53) */ ATSINSmove(tmp69, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1288(line=41, offs=43) -- 1299(line=41, offs=54)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2324(line=78, offs=43) -- 2335(line=78, offs=54) */ ATSINSmove(tmp68, fact_28(tmp69)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1272(line=41, offs=27) -- 1303(line=41, offs=58)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2308(line=78, offs=27) -- 2339(line=78, offs=58) */ ATSINSmove(tmp65, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(tmp68, arg0)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1258(line=41, offs=13) -- 1304(line=41, offs=59)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2294(line=78, offs=13) -- 2340(line=78, offs=59) */ ATSINSmove(tmpret56, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp65)) ; ATSbranch_end()@@ -2597,7 +2597,7 @@ } /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3] */  /*-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1380(line=44, offs=5) -- 1588(line=53, offs=8)+/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2416(line=81, offs=5) -- 2624(line=90, offs=8) */ /* local: dfact_34$0(level=0)@@ -2617,11 +2617,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1380(line=44, offs=5) -- 1588(line=53, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2416(line=81, offs=5) -- 2624(line=90, offs=8) */ ATSINSflab(__patsflab_dfact_34): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1426(line=45, offs=3) -- 1588(line=53, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2462(line=82, offs=3) -- 2624(line=90, offs=8) */ ATScaseof_beg() /*@@ -2629,15 +2629,15 @@ */ ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1443(line=46, offs=7) -- 1444(line=46, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2479(line=83, offs=7) -- 2480(line=83, offs=8) */ ATSINSlab(__atstmplab12): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1401(line=44, offs=26) -- 1402(line=44, offs=27)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2437(line=81, offs=26) -- 2438(line=81, offs=27) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab14) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1444(line=46, offs=8) -- 1444(line=46, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2480(line=83, offs=8) -- 2480(line=83, offs=8) */ ATSINSlab(__atstmplab13): /*@@ -2647,7 +2647,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1448(line=46, offs=12) -- 1461(line=46, offs=25)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2484(line=83, offs=12) -- 2497(line=83, offs=25) */ ATSINSmove(tmpret70, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(ATSPMVi0nt(1))) ; @@ -2655,15 +2655,15 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1468(line=47, offs=7) -- 1469(line=47, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2504(line=84, offs=7) -- 2505(line=84, offs=8) */ ATSINSlab(__atstmplab14): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1401(line=44, offs=26) -- 1402(line=44, offs=27)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2437(line=81, offs=26) -- 2438(line=81, offs=27) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab16) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1469(line=47, offs=8) -- 1469(line=47, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2505(line=84, offs=8) -- 2505(line=84, offs=8) */ ATSINSlab(__atstmplab15): /*@@ -2673,7 +2673,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1473(line=47, offs=12) -- 1486(line=47, offs=25)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2509(line=84, offs=12) -- 2522(line=84, offs=25) */ ATSINSmove(tmpret70, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(ATSPMVi0nt(1))) ; @@ -2681,7 +2681,7 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1494(line=48, offs=8) -- 1494(line=48, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2530(line=85, offs=8) -- 2530(line=85, offs=8) */ ATSINSlab(__atstmplab16): /*@@ -2691,35 +2691,35 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1499(line=48, offs=13) -- 1588(line=53, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2535(line=85, offs=13) -- 2624(line=90, offs=8) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1513(line=49, offs=11) -- 1514(line=49, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2549(line=86, offs=11) -- 2550(line=86, offs=12) */ /* ATSINStmpdec(tmpref79) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1523(line=49, offs=21) -- 1528(line=49, offs=26)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2559(line=86, offs=21) -- 2564(line=86, offs=26) */ ATSINSmove(tmp80, atspre_g1int_sub_int(arg0, ATSPMVi0nt(2))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1517(line=49, offs=15) -- 1529(line=49, offs=27)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2553(line=86, offs=15) -- 2565(line=86, offs=27) */ ATSINSmove(tmpref79, dfact_34(tmp80)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1540(line=50, offs=11) -- 1541(line=50, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2576(line=87, offs=11) -- 2577(line=87, offs=12) */ /* ATSINStmpdec(tmpref81) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1544(line=50, offs=15) -- 1565(line=50, offs=36)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2580(line=87, offs=15) -- 2601(line=87, offs=36) */ ATSINSmove(tmpref81, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(tmpref79, arg0)) ; @@ -2728,11 +2728,11 @@ */  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1579(line=52, offs=7) -- 1580(line=52, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2615(line=89, offs=7) -- 2616(line=89, offs=8) */ ATSINSmove(tmpret70, tmpref81) ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1499(line=48, offs=13) -- 1588(line=53, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2535(line=85, offs=13) -- 2624(line=90, offs=8) */ /* INSletpop()@@ -2999,7 +2999,7 @@ } /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4] */  /*-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1651(line=56, offs=4) -- 1858(line=64, offs=6)+/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2687(line=93, offs=4) -- 2894(line=101, offs=6) */ /* local: fact_28$0(level=0)@@ -3021,55 +3021,55 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1651(line=56, offs=4) -- 1858(line=64, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2687(line=93, offs=4) -- 2894(line=101, offs=6) */ ATSINSflab(__patsflab_permutations_40): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1729(line=57, offs=3) -- 1858(line=64, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2765(line=94, offs=3) -- 2894(line=101, offs=6) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1741(line=58, offs=9) -- 1742(line=58, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2777(line=95, offs=9) -- 2778(line=95, offs=10) */ /* ATSINStmpdec(tmpref85) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1745(line=58, offs=13) -- 1751(line=58, offs=19)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2781(line=95, offs=13) -- 2787(line=95, offs=19) */ ATSINSmove(tmpref85, fact_28(arg0)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1761(line=59, offs=9) -- 1762(line=59, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2797(line=96, offs=9) -- 2798(line=96, offs=10) */ /* ATSINStmpdec(tmpref86) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1770(line=59, offs=18) -- 1775(line=59, offs=23)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2806(line=96, offs=18) -- 2811(line=96, offs=23) */ ATSINSmove(tmp87, atspre_g1int_sub_int(arg0, arg1)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1765(line=59, offs=13) -- 1776(line=59, offs=24)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2801(line=96, offs=13) -- 2812(line=96, offs=24) */ ATSINSmove(tmpref86, fact_28(tmp87)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1785(line=60, offs=9) -- 1786(line=60, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2821(line=97, offs=9) -- 2822(line=97, offs=10) */ /* ATSINStmpdec(tmpref88) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1789(line=60, offs=13) -- 1814(line=60, offs=38)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2825(line=97, offs=13) -- 2850(line=97, offs=38) */ ATSINSmove(tmpref88, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__1(tmpref85, ATSPMVrefarg0(tmpref86))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1827(line=61, offs=13) -- 1840(line=61, offs=26)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2863(line=98, offs=13) -- 2876(line=98, offs=26) */ ATSINSmove_void(tmp93, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(tmpref86)) ; @@ -3078,11 +3078,11 @@ */  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1851(line=63, offs=5) -- 1852(line=63, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2887(line=100, offs=5) -- 2888(line=100, offs=6) */ ATSINSmove(tmpret84, tmpref88) ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1729(line=57, offs=3) -- 1858(line=64, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2765(line=94, offs=3) -- 2894(line=101, offs=6) */ /* INSletpop()@@ -3264,7 +3264,7 @@ } /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2] */  /*-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1910(line=67, offs=4) -- 2527(line=90, offs=6)+/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2946(line=104, offs=4) -- 3563(line=127, offs=6) */ /* local: fact_28$0(level=0)@@ -3285,11 +3285,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1910(line=67, offs=4) -- 2527(line=90, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2946(line=104, offs=4) -- 3563(line=127, offs=6) */ ATSINSflab(__patsflab_catalan_44): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1951(line=68, offs=3) -- 2527(line=90, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2987(line=105, offs=3) -- 3563(line=127, offs=6) */ /* letpush(beg)@@ -3299,7 +3299,7 @@ */  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2264(line=79, offs=5) -- 2521(line=89, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3300(line=116, offs=5) -- 3557(line=126, offs=10) */ ATScaseof_beg() /*@@ -3307,15 +3307,15 @@ */ ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2283(line=80, offs=9) -- 2284(line=80, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3319(line=117, offs=9) -- 3320(line=117, offs=10) */ ATSINSlab(__atstmplab20): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1926(line=67, offs=20) -- 1927(line=67, offs=21)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2962(line=104, offs=20) -- 2963(line=104, offs=21) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab22) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2284(line=80, offs=10) -- 2284(line=80, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3320(line=117, offs=10) -- 3320(line=117, offs=10) */ ATSINSlab(__atstmplab21): /*@@ -3325,7 +3325,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2288(line=80, offs=14) -- 2301(line=80, offs=27)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3324(line=117, offs=14) -- 3337(line=117, offs=27) */ ATSINSmove(tmpret96, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(ATSPMVi0nt(1))) ; @@ -3333,15 +3333,15 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2310(line=81, offs=9) -- 2311(line=81, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3346(line=118, offs=9) -- 3347(line=118, offs=10) */ ATSINSlab(__atstmplab22): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1926(line=67, offs=20) -- 1927(line=67, offs=21)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2962(line=104, offs=20) -- 2963(line=104, offs=21) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab24) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2311(line=81, offs=10) -- 2311(line=81, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3347(line=118, offs=10) -- 3347(line=118, offs=10) */ ATSINSlab(__atstmplab23): /*@@ -3351,7 +3351,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2315(line=81, offs=14) -- 2328(line=81, offs=27)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3351(line=118, offs=14) -- 3364(line=118, offs=27) */ ATSINSmove(tmpret96, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(ATSPMVi0nt(1))) ; @@ -3359,7 +3359,7 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2338(line=82, offs=10) -- 2338(line=82, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3374(line=119, offs=10) -- 3374(line=119, offs=10) */ ATSINSlab(__atstmplab24): /*@@ -3369,46 +3369,46 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2343(line=82, offs=15) -- 2521(line=89, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3379(line=119, offs=15) -- 3557(line=126, offs=10) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2359(line=83, offs=13) -- 2360(line=83, offs=14)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3395(line=120, offs=13) -- 3396(line=120, offs=14) */ /* ATSINStmpdec(tmpref117) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2363(line=83, offs=17) -- 2379(line=83, offs=33)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3399(line=120, offs=17) -- 3415(line=120, offs=33) */ ATSINSmove(tmpref117, numerator_loop_45(arg0, arg0)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2393(line=84, offs=13) -- 2394(line=84, offs=14)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3429(line=121, offs=13) -- 3430(line=121, offs=14) */ /* ATSINStmpdec(tmpref118) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2397(line=84, offs=17) -- 2403(line=84, offs=23)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3433(line=121, offs=17) -- 3439(line=121, offs=23) */ ATSINSmove(tmpref118, fact_28(arg0)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2417(line=85, offs=13) -- 2418(line=85, offs=14)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3453(line=122, offs=13) -- 3454(line=122, offs=14) */ /* ATSINStmpdec(tmpref119) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2421(line=85, offs=17) -- 2446(line=85, offs=42)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3457(line=122, offs=17) -- 3482(line=122, offs=42) */ ATSINSmove(tmpref119, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__2(tmpref117, ATSPMVrefarg0(tmpref118))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2463(line=86, offs=17) -- 2476(line=86, offs=30)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3499(line=123, offs=17) -- 3512(line=123, offs=30) */ ATSINSmove_void(tmp122, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(tmpref118)) ; @@ -3417,11 +3417,11 @@ */  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2495(line=88, offs=9) -- 2510(line=88, offs=24)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3531(line=125, offs=9) -- 3546(line=125, offs=24) */ ATSINSmove(tmpret96, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref119)) ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2343(line=82, offs=15) -- 2521(line=89, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3379(line=119, offs=15) -- 3557(line=126, offs=10) */ /* INSletpop()@@ -3434,7 +3434,7 @@ ATScaseof_end()  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1951(line=68, offs=3) -- 2527(line=90, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2987(line=105, offs=3) -- 3563(line=127, offs=6) */ /* INSletpop()@@ -3444,7 +3444,7 @@ } /* end of [catalan_44] */  /*-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1963(line=69, offs=9) -- 2254(line=77, offs=12)+/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2999(line=106, offs=9) -- 3290(line=114, offs=12) */ /* local: numerator_loop_45$0(level=1)@@ -3466,11 +3466,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 1963(line=69, offs=9) -- 2254(line=77, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2999(line=106, offs=9) -- 3290(line=114, offs=12) */ ATSINSflab(__patsflab_numerator_loop_45): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2057(line=70, offs=7) -- 2254(line=77, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3093(line=107, offs=7) -- 3290(line=114, offs=12) */ ATScaseof_beg() /*@@ -3478,15 +3478,15 @@ */ ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2078(line=71, offs=11) -- 2079(line=71, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3114(line=108, offs=11) -- 3115(line=108, offs=12) */ ATSINSlab(__atstmplab17): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2005(line=69, offs=51) -- 2006(line=69, offs=52)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3041(line=106, offs=51) -- 3042(line=106, offs=52) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab19) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2079(line=71, offs=12) -- 2079(line=71, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3115(line=108, offs=12) -- 3115(line=108, offs=12) */ ATSINSlab(__atstmplab18): /*@@ -3496,12 +3496,12 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2083(line=71, offs=16) -- 2100(line=71, offs=33)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3119(line=108, offs=16) -- 3136(line=108, offs=33) */ ATSINSmove(tmp102, atspre_g1int_add_int(env0, ATSPMVi0nt(2))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2083(line=71, offs=16) -- 2100(line=71, offs=33)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3119(line=108, offs=16) -- 3136(line=108, offs=33) */ ATSINSmove(tmpret97, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(tmp102)) ; @@ -3509,7 +3509,7 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2112(line=72, offs=12) -- 2112(line=72, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3148(line=109, offs=12) -- 3148(line=109, offs=12) */ ATSINSlab(__atstmplab19): /*@@ -3519,40 +3519,40 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2117(line=72, offs=17) -- 2254(line=77, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3153(line=109, offs=17) -- 3290(line=114, offs=12) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2135(line=73, offs=15) -- 2136(line=73, offs=16)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3171(line=110, offs=15) -- 3172(line=110, offs=16) */ /* ATSINStmpdec(tmpref103) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2154(line=73, offs=34) -- 2159(line=73, offs=39)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3190(line=110, offs=34) -- 3195(line=110, offs=39) */ ATSINSmove(tmp104, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2139(line=73, offs=19) -- 2160(line=73, offs=40)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3175(line=110, offs=19) -- 3196(line=110, offs=40) */ ATSINSmove(tmpref103, numerator_loop_45(env0, tmp104)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2175(line=74, offs=15) -- 2176(line=74, offs=16)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3211(line=111, offs=15) -- 3212(line=111, offs=16) */ /* ATSINStmpdec(tmpref105) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2198(line=74, offs=38) -- 2203(line=74, offs=43)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3234(line=111, offs=38) -- 3239(line=111, offs=43) */ ATSINSmove(tmp108, atspre_g1int_add_int(env0, arg0)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2179(line=74, offs=19) -- 2204(line=74, offs=44)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3215(line=111, offs=19) -- 3240(line=111, offs=44) */ ATSINSmove(tmpref105, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(tmpref103, tmp108)) ; @@ -3561,11 +3561,11 @@ */  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2226(line=76, offs=11) -- 2241(line=76, offs=26)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3262(line=113, offs=11) -- 3277(line=113, offs=26) */ ATSINSmove(tmpret97, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref105)) ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2117(line=72, offs=17) -- 2254(line=77, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3153(line=109, offs=17) -- 3290(line=114, offs=12) */ /* INSletpop()@@ -4043,7 +4043,7 @@ } /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3] */  /*-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2590(line=93, offs=4) -- 3292(line=117, offs=6)+/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3626(line=130, offs=4) -- 4328(line=154, offs=6) */ /* local: fact_28$0(level=0)@@ -4064,11 +4064,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2590(line=93, offs=4) -- 3292(line=117, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3626(line=130, offs=4) -- 4328(line=154, offs=6) */ ATSINSflab(__patsflab_choose_55): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2662(line=94, offs=3) -- 3292(line=117, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3698(line=131, offs=3) -- 4328(line=154, offs=6) */ /* letpush(beg)@@ -4078,7 +4078,7 @@ */  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3029(line=106, offs=5) -- 3286(line=116, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4065(line=143, offs=5) -- 4322(line=153, offs=10) */ ATScaseof_beg() /*@@ -4086,15 +4086,15 @@ */ ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3048(line=107, offs=9) -- 3049(line=107, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4084(line=144, offs=9) -- 4085(line=144, offs=10) */ ATSINSlab(__atstmplab30): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2637(line=93, offs=51) -- 2638(line=93, offs=52)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3673(line=130, offs=51) -- 3674(line=130, offs=52) */ ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(0))) { ATSINSgoto(__atstmplab32) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3049(line=107, offs=10) -- 3049(line=107, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4085(line=144, offs=10) -- 4085(line=144, offs=10) */ ATSINSlab(__atstmplab31): /*@@ -4104,7 +4104,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3053(line=107, offs=14) -- 3066(line=107, offs=27)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4089(line=144, offs=14) -- 4102(line=144, offs=27) */ ATSINSmove(tmpret125, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(ATSPMVi0nt(1))) ; @@ -4112,15 +4112,15 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3075(line=108, offs=9) -- 3076(line=108, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4111(line=145, offs=9) -- 4112(line=145, offs=10) */ ATSINSlab(__atstmplab32): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2637(line=93, offs=51) -- 2638(line=93, offs=52)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3673(line=130, offs=51) -- 3674(line=130, offs=52) */ ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab34) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3076(line=108, offs=10) -- 3076(line=108, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4112(line=145, offs=10) -- 4112(line=145, offs=10) */ ATSINSlab(__atstmplab33): /*@@ -4130,7 +4130,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3080(line=108, offs=14) -- 3092(line=108, offs=26)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4116(line=145, offs=14) -- 4128(line=145, offs=26) */ ATSINSmove(tmpret125, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(arg0)) ; @@ -4138,7 +4138,7 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3103(line=109, offs=10) -- 3103(line=109, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4139(line=146, offs=10) -- 4139(line=146, offs=10) */ ATSINSlab(__atstmplab34): /*@@ -4148,46 +4148,46 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3108(line=109, offs=15) -- 3286(line=116, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4144(line=146, offs=15) -- 4322(line=153, offs=10) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3124(line=110, offs=13) -- 3125(line=110, offs=14)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4160(line=147, offs=13) -- 4161(line=147, offs=14) */ /* ATSINStmpdec(tmpref153) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3128(line=110, offs=17) -- 3144(line=110, offs=33)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4164(line=147, offs=17) -- 4180(line=147, offs=33) */ ATSINSmove(tmpref153, numerator_loop_56(arg0, arg1)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3158(line=111, offs=13) -- 3159(line=111, offs=14)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4194(line=148, offs=13) -- 4195(line=148, offs=14) */ /* ATSINStmpdec(tmpref154) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3162(line=111, offs=17) -- 3168(line=111, offs=23)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4198(line=148, offs=17) -- 4204(line=148, offs=23) */ ATSINSmove(tmpref154, fact_28(arg1)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3182(line=112, offs=13) -- 3183(line=112, offs=14)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4218(line=149, offs=13) -- 4219(line=149, offs=14) */ /* ATSINStmpdec(tmpref155) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3186(line=112, offs=17) -- 3211(line=112, offs=42)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4222(line=149, offs=17) -- 4247(line=149, offs=42) */ ATSINSmove(tmpref155, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__3(tmpref153, ATSPMVrefarg0(tmpref154))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3228(line=113, offs=17) -- 3241(line=113, offs=30)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4264(line=150, offs=17) -- 4277(line=150, offs=30) */ ATSINSmove_void(tmp158, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(tmpref154)) ; @@ -4196,11 +4196,11 @@ */  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3260(line=115, offs=9) -- 3275(line=115, offs=24)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4296(line=152, offs=9) -- 4311(line=152, offs=24) */ ATSINSmove(tmpret125, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref155)) ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3108(line=109, offs=15) -- 3286(line=116, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4144(line=146, offs=15) -- 4322(line=153, offs=10) */ /* INSletpop()@@ -4213,7 +4213,7 @@ ATScaseof_end()  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2662(line=94, offs=3) -- 3292(line=117, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3698(line=131, offs=3) -- 4328(line=154, offs=6) */ /* INSletpop()@@ -4223,7 +4223,7 @@ } /* end of [choose_55] */  /*-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2674(line=95, offs=9) -- 3019(line=104, offs=12)+/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3710(line=132, offs=9) -- 4055(line=141, offs=12) */ /* local: numerator_loop_56$0(level=1)@@ -4248,11 +4248,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2674(line=95, offs=9) -- 3019(line=104, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3710(line=132, offs=9) -- 4055(line=141, offs=12) */ ATSINSflab(__patsflab_numerator_loop_56): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2768(line=96, offs=7) -- 3019(line=104, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3804(line=133, offs=7) -- 4055(line=141, offs=12) */ ATScaseof_beg() /*@@ -4260,15 +4260,15 @@ */ ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2789(line=97, offs=11) -- 2790(line=97, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3825(line=134, offs=11) -- 3826(line=134, offs=12) */ ATSINSlab(__atstmplab25): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2716(line=95, offs=51) -- 2717(line=95, offs=52)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3752(line=132, offs=51) -- 3753(line=132, offs=52) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab27) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2790(line=97, offs=12) -- 2790(line=97, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3826(line=134, offs=12) -- 3826(line=134, offs=12) */ ATSINSlab(__atstmplab26): /*@@ -4278,7 +4278,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2794(line=97, offs=16) -- 2806(line=97, offs=28)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3830(line=134, offs=16) -- 3842(line=134, offs=28) */ ATSINSmove(tmpret126, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(env0)) ; @@ -4286,15 +4286,15 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2818(line=98, offs=11) -- 2819(line=98, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3854(line=135, offs=11) -- 3855(line=135, offs=12) */ ATSINSlab(__atstmplab27): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2716(line=95, offs=51) -- 2717(line=95, offs=52)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3752(line=132, offs=51) -- 3753(line=132, offs=52) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab29) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2819(line=98, offs=12) -- 2819(line=98, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3855(line=135, offs=12) -- 3855(line=135, offs=12) */ ATSINSlab(__atstmplab28): /*@@ -4304,29 +4304,29 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2837(line=98, offs=30) -- 2860(line=98, offs=53)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3873(line=135, offs=30) -- 3896(line=135, offs=53) */ ATSINSmove(tmp137, atspre_g1int_sub_int(env0, ATSPMVi0nt(1))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2837(line=98, offs=30) -- 2860(line=98, offs=53)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3873(line=135, offs=30) -- 3896(line=135, offs=53) */ ATSINSmove(tmp136, atspre_g1int_mul_int(tmp137, env0)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2837(line=98, offs=30) -- 2860(line=98, offs=53)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3873(line=135, offs=30) -- 3896(line=135, offs=53) */ ATSINSmove(tmp131, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(tmp136)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2823(line=98, offs=16) -- 2861(line=98, offs=54)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3859(line=135, offs=16) -- 3897(line=135, offs=54) */ ATSINSmove(tmpret126, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp131)) ; ATSbranch_end()  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2873(line=99, offs=12) -- 2873(line=99, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3909(line=136, offs=12) -- 3909(line=136, offs=12) */ ATSINSlab(__atstmplab29): /*@@ -4336,45 +4336,45 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2878(line=99, offs=17) -- 3019(line=104, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3914(line=136, offs=17) -- 4055(line=141, offs=12) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2896(line=100, offs=15) -- 2897(line=100, offs=16)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3932(line=137, offs=15) -- 3933(line=137, offs=16) */ /* ATSINStmpdec(tmpref138) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2915(line=100, offs=34) -- 2920(line=100, offs=39)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3951(line=137, offs=34) -- 3956(line=137, offs=39) */ ATSINSmove(tmp139, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2900(line=100, offs=19) -- 2921(line=100, offs=40)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3936(line=137, offs=19) -- 3957(line=137, offs=40) */ ATSINSmove(tmpref138, numerator_loop_56(env0, tmp139)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2936(line=101, offs=15) -- 2937(line=101, offs=16)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3972(line=138, offs=15) -- 3973(line=138, offs=16) */ /* ATSINStmpdec(tmpref140) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2959(line=101, offs=38) -- 2964(line=101, offs=43)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3995(line=138, offs=38) -- 4000(line=138, offs=43) */ ATSINSmove(tmp144, atspre_g1int_add_int(env0, ATSPMVi0nt(1))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2959(line=101, offs=38) -- 2968(line=101, offs=47)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3995(line=138, offs=38) -- 4004(line=138, offs=47) */ ATSINSmove(tmp143, atspre_g1int_sub_int(tmp144, arg0)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2940(line=101, offs=19) -- 2969(line=101, offs=48)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3976(line=138, offs=19) -- 4005(line=138, offs=48) */ ATSINSmove(tmpref140, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(tmpref138, tmp143)) ; @@ -4383,11 +4383,11 @@ */  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2991(line=103, offs=11) -- 3006(line=103, offs=26)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4027(line=140, offs=11) -- 4042(line=140, offs=26) */ ATSINSmove(tmpret126, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref140)) ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 2878(line=99, offs=17) -- 3019(line=104, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3914(line=136, offs=17) -- 4055(line=141, offs=12) */ /* INSletpop()@@ -4962,7 +4962,7 @@ } /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4] */  /*-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3297(line=119, offs=4) -- 3481(line=125, offs=6)+/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4333(line=156, offs=4) -- 4517(line=162, offs=6) */ /* local: @@ -4979,11 +4979,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3297(line=119, offs=4) -- 3481(line=125, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4333(line=156, offs=4) -- 4517(line=162, offs=6) */ ATSINSflab(__patsflab_sterling_69): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3371(line=120, offs=3) -- 3481(line=125, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4407(line=157, offs=3) -- 4517(line=162, offs=6) */ /* letpush(beg)@@ -4993,12 +4993,12 @@ */  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3462(line=124, offs=5) -- 3475(line=124, offs=18)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4498(line=161, offs=5) -- 4511(line=161, offs=18) */ ATSINSmove(tmpret161, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(ATSPMVi0nt(0))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3371(line=120, offs=3) -- 3481(line=125, offs=6)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4407(line=157, offs=3) -- 4517(line=162, offs=6) */ /* INSletpop()@@ -5008,7 +5008,7 @@ } /* end of [sterling_69] */  /*-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3383(line=121, offs=9) -- 3452(line=122, offs=10)+/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4419(line=158, offs=9) -- 4488(line=159, offs=10) */ /* local: @@ -5025,11 +5025,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3383(line=121, offs=9) -- 3452(line=122, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4419(line=158, offs=9) -- 4488(line=159, offs=10) */ ATSINSflab(__patsflab_numerator_loop_70): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3449(line=122, offs=7) -- 3452(line=122, offs=10)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4485(line=159, offs=7) -- 4488(line=159, offs=10) */ ATSINSmove(tmpret162, arg1) ; ATSfunbody_end()@@ -5134,7 +5134,7 @@ } /* end of [ATSLIB_056_prelude__ptr_alloc__17__17] */  /*-/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3678(line=130, offs=5) -- 3813(line=133, offs=39)+/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4714(line=167, offs=5) -- 4849(line=170, offs=39) */ /* local: sum_loop_74$0(level=0)@@ -5171,11 +5171,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3678(line=130, offs=5) -- 3813(line=133, offs=39)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4714(line=167, offs=5) -- 4849(line=170, offs=39) */ ATSINSflab(__patsflab_bell_73): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3739(line=131, offs=3) -- 3813(line=133, offs=39)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4775(line=168, offs=3) -- 4849(line=170, offs=39) */ ATScaseof_beg() /*@@ -5183,15 +5183,15 @@ */ ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3756(line=132, offs=7) -- 3757(line=132, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4792(line=169, offs=7) -- 4793(line=169, offs=8) */ ATSINSlab(__atstmplab35): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3691(line=130, offs=18) -- 3692(line=130, offs=19)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4727(line=167, offs=18) -- 4728(line=167, offs=19) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab37) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3757(line=132, offs=8) -- 3757(line=132, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4793(line=169, offs=8) -- 4793(line=169, offs=8) */ ATSINSlab(__atstmplab36): /*@@ -5201,7 +5201,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3761(line=132, offs=12) -- 3774(line=132, offs=25)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4797(line=169, offs=12) -- 4810(line=169, offs=25) */ ATSINSmove(tmpret167, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(ATSPMVi0nt(1))) ; @@ -5209,7 +5209,7 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3782(line=133, offs=8) -- 3782(line=133, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4818(line=170, offs=8) -- 4818(line=170, offs=8) */ ATSINSlab(__atstmplab37): /*@@ -5219,14 +5219,14 @@ ibranch-guard: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3788(line=133, offs=14) -- 3794(line=133, offs=20)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4824(line=170, offs=14) -- 4830(line=170, offs=20) */ ATSINSmove(tmp172, ATSLIB_056_prelude__gte_g1int_int__77__1(arg0, ATSPMVi0nt(0))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3788(line=133, offs=14) -- 3794(line=133, offs=20)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4824(line=170, offs=14) -- 4830(line=170, offs=20) */-ATSifnthen(ATSCKpat_bool(tmp172, ATSPMVbool_true())) { ATSINScaseof_fail("/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3781(line=133, offs=7) -- 3813(line=133, offs=39)") ; } ;+ATSifnthen(ATSCKpat_bool(tmp172, ATSPMVbool_true())) { ATSINScaseof_fail("/home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4817(line=170, offs=7) -- 4849(line=170, offs=39)") ; } ; /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */@@ -5234,7 +5234,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3799(line=133, offs=25) -- 3813(line=133, offs=39)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4835(line=170, offs=25) -- 4849(line=170, offs=39) */ ATStailcal_beg() ATSINSmove_tlcal(a2py0, arg0) ;@@ -5258,11 +5258,11 @@ */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3818(line=134, offs=5) -- 4257(line=147, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4854(line=171, offs=5) -- 5293(line=184, offs=8) */ ATSINSflab(__patsflab_sum_loop_74): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3932(line=135, offs=3) -- 4257(line=147, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4968(line=172, offs=3) -- 5293(line=184, offs=8) */ ATScaseof_beg() /*@@ -5270,15 +5270,15 @@ */ ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3949(line=136, offs=7) -- 3950(line=136, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4985(line=173, offs=7) -- 4986(line=173, offs=8) */ ATSINSlab(__atstmplab38): /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3884(line=134, offs=71) -- 3885(line=134, offs=72)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4920(line=171, offs=71) -- 4921(line=171, offs=72) */ ATSifnthen(ATSCKpat_int(a2rg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab40) ; } ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3950(line=136, offs=8) -- 3950(line=136, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4986(line=173, offs=8) -- 4986(line=173, offs=8) */ ATSINSlab(__atstmplab39): /*@@ -5288,7 +5288,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3954(line=136, offs=12) -- 3967(line=136, offs=25)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4990(line=173, offs=12) -- 5003(line=173, offs=25) */ ATSINSmove(tmpret177, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(ATSPMVi0nt(1))) ; @@ -5296,7 +5296,7 @@  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3975(line=137, offs=8) -- 3975(line=137, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5011(line=174, offs=8) -- 5011(line=174, offs=8) */ ATSINSlab(__atstmplab40): /*@@ -5306,78 +5306,78 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3980(line=137, offs=13) -- 4257(line=147, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5016(line=174, offs=13) -- 5293(line=184, offs=8) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3994(line=138, offs=11) -- 3995(line=138, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5030(line=175, offs=11) -- 5031(line=175, offs=12) */ /* ATSINStmpdec(tmpref182) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4010(line=138, offs=27) -- 4015(line=138, offs=32)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5046(line=175, offs=27) -- 5051(line=175, offs=32) */ ATSINSmove(tmp183, atspre_g1int_sub_int(a2rg1, ATSPMVi0nt(1))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3998(line=138, offs=15) -- 4016(line=138, offs=33)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5034(line=175, offs=15) -- 5052(line=175, offs=33) */ ATSINSmove(tmpref182, sum_loop_74(a2rg0, tmp183)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4027(line=139, offs=11) -- 4028(line=139, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5063(line=176, offs=11) -- 5064(line=176, offs=12) */ /* ATSINStmpdec(tmpref184) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4031(line=139, offs=15) -- 4037(line=139, offs=21)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5067(line=176, offs=15) -- 5073(line=176, offs=21) */ ATSINSmove(tmpref184, bell_73(a2rg1)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4049(line=140, offs=11) -- 4050(line=140, offs=12)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5085(line=177, offs=11) -- 5086(line=177, offs=12) */ /* ATSINStmpdec(tmpref185) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4053(line=140, offs=15) -- 4065(line=140, offs=27)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5089(line=177, offs=15) -- 5101(line=177, offs=27) */ ATSINSmove(tmpref185, choose_55(a2rg0, a2rg1)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4076(line=141, offs=11) -- 4083(line=141, offs=18)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5112(line=178, offs=11) -- 5119(line=178, offs=18) */ /* ATSINStmpdec(tmpref186) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4086(line=141, offs=21) -- 4111(line=141, offs=46)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5122(line=178, offs=21) -- 5147(line=178, offs=46) */ ATSINSmove(tmpref186, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__82__1(tmpref185, ATSPMVrefarg0(tmpref184))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4122(line=142, offs=11) -- 4125(line=142, offs=14)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5158(line=179, offs=11) -- 5161(line=179, offs=14) */ /* ATSINStmpdec(tmpref191) ; */ /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4128(line=142, offs=17) -- 4159(line=142, offs=48)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5164(line=179, offs=17) -- 5195(line=179, offs=48) */ ATSINSmove(tmpref191, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(tmpref186, ATSPMVrefarg0(tmpref182))) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4174(line=143, offs=15) -- 4187(line=143, offs=28)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5210(line=180, offs=15) -- 5223(line=180, offs=28) */ ATSINSmove_void(tmp194, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(tmpref184)) ;  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4203(line=144, offs=15) -- 4216(line=144, offs=28)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5239(line=181, offs=15) -- 5252(line=181, offs=28) */ ATSINSmove_void(tmp197, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(tmpref182)) ; @@ -5386,11 +5386,11 @@ */  /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 4231(line=146, offs=7) -- 4248(line=146, offs=24)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5267(line=183, offs=7) -- 5284(line=183, offs=24) */ ATSINSmove(tmpret177, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref191)) ; /*-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 3980(line=137, offs=13) -- 4257(line=147, offs=8)+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.10/lib/ats2-postiats-0.3.9/ats-src/combinatorics-internal.dats: 5016(line=174, offs=13) -- 5293(line=184, offs=8) */ /* INSletpop()
cbits/number-theory.c view
@@ -1,7 +1,7 @@ /* ** ** The C code is generated by [ATS/Postiats-0-3-10]-** The starting compilation time is: 2018-4-15: 21h:51m+** The starting compilation time is: 2018-4-22: 21h:35m ** */ 
cbits/numerics.c view
@@ -1,7 +1,7 @@ /* ** ** The C code is generated by [ATS/Postiats-0-3-10]-** The starting compilation time is: 2018-4-15: 21h:51m+** The starting compilation time is: 2018-4-22: 21h:35m ** */ 
fast-arithmetic.cabal view
@@ -1,19 +1,21 @@ cabal-version: 1.18 name: fast-arithmetic-version: 0.5.0.0+version: 0.6.0.1 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018 Vanessa McHale maintainer: vamchale@gmail.com author: Vanessa McHale homepage: https://github.com/vmchale/fast-arithmetic#readme+bug-reports: https://github.com/vmchale/hs-ats/issues synopsis: Fast functions on integers. description:     Fast functions for number theory and combinatorics with a high level of safety guaranteed by [ATS](http://www.ats-lang.org/). category: Numerics, Math, Algorithms, Number Theory, Combinatorics, FFI, ATS build-type: Simple extra-source-files:-    ats-src/*.dats+    atspkg.dhall+    pkg.dhall     .atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/*.h     .atspkg/contrib/ats-includes-0.3.10/ccomp/runtime/*.c     .atspkg/contrib/ats-includes-0.3.10/prelude/CATS/*.cats@@ -35,7 +37,6 @@  library     exposed-modules:-        Numeric.Integer         Numeric.NumberTheory         Numeric.Combinatorics     c-sources:@@ -49,6 +50,7 @@     include-dirs: .atspkg/contrib/ats-includes-0.3.10/ccomp/runtime                   .atspkg/contrib/ats-includes-0.3.10/ .atspkg/contrib     ghc-options: -Wall -optc-mtune=native -optc-flto -optc-O3+                 -Wincomplete-uni-patterns -Wincomplete-record-updates -Wcompat     build-depends:         base >=4.10 && <5,         composition-prelude >=1.2.0.0,@@ -56,10 +58,6 @@          if flag(development)         ghc-options: -Werror-    -    if impl(ghc >=8.0)-        ghc-options: -Wincomplete-uni-patterns -Wincomplete-record-updates-                     -Wcompat  test-suite fast-arithmetic-test     type: exitcode-stdio-1.0
+ pkg.dhall view
@@ -0,0 +1,5 @@+let prelude = https://raw.githubusercontent.com/vmchale/atspkg/master/dhall/atspkg-prelude.dhall++in λ(x : List Integer) → +  prelude.makeHsPkg { x = x, name = "fast-arithmetic" } +    ⫽ { libDeps = prelude.mapPlainDeps [ "atscntrb-hx-intinf" ], description = [ "Number theory & combinatorics library written in ATS" ] : Optional Text }
− src/Numeric/Integer.hs
@@ -1,18 +0,0 @@-{-|-Module      : Numeric.Combinatorics-Copyright   : Copyright (c) 2018 Vanessa McHale--This module provides a fast primality check.--}--module Numeric.Integer ( isPrime-                       ) where--import           Foreign.C-import           Numeric.Common--foreign import ccall unsafe is_prime_ats :: CInt -> CBool---- | \( O(\sqrt(n)) \)-isPrime :: Int -> Bool-isPrime = asTest is_prime_ats
src/Numeric/NumberTheory.hs view
@@ -10,6 +10,7 @@                             , littleOmega                             , isPerfect                             , sumDivisors+                            , isPrime                             ) where  import           Foreign.C@@ -20,6 +21,11 @@ foreign import ccall unsafe sum_divisors_ats :: CInt -> CInt foreign import ccall unsafe little_omega_ats :: CInt -> CInt foreign import ccall unsafe is_perfect_ats :: CInt -> CBool+foreign import ccall unsafe is_prime_ats :: CInt -> CBool++-- | \( O(\sqrt(n)) \)+isPrime :: Int -> Bool+isPrime = asTest is_prime_ats  -- | See [here](http://mathworld.wolfram.com/PerfectNumber.html) isPerfect :: Int -> Bool
test/Spec.hs view
@@ -5,7 +5,6 @@ import           Math.NumberTheory.Moduli.Jacobi       (JacobiSymbol (..)) import qualified Math.NumberTheory.Moduli.Jacobi       as Ext import           Numeric.Combinatorics-import           Numeric.Integer import           Numeric.NumberTheory import           Test.Hspec import           Test.Hspec.QuickCheck