diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
 # fast-arithmetic
 
+## 0.6.4.0
+
+  * Add `bell` to the ATS library
+  * Add `stirling2` for computing Stirling numbers of the second kind.
+  * Add `radical` to `fast_arithmetic.h`, for users of the C library
+
 ## 0.6.3.0
   
   * Patch `isPrime`
diff --git a/ats-src/bench.dats b/ats-src/bench.dats
--- a/ats-src/bench.dats
+++ b/ats-src/bench.dats
@@ -36,11 +36,18 @@
     val () = intinf_free(x)
   }
 
+fn bell_bench() : void =
+  {
+    val x = bell(10)
+    val () = intinf_free(x)
+  }
+
 val factorial_delay: io = lam () => factorial_bench()
 val double_factorial_delay: io = lam () => double_factorial_bench()
 val choose_delay: io = lam () => double_factorial_bench()
 val catalan_delay: io = lam () => catalan_bench()
 val permutations_delay: io = lam () => permutations_bench()
+val bell_delay: io = lam () => bell_bench()
 
 implement main0 () =
   {
@@ -53,4 +60,5 @@
     val () = print_slope("choose", 13, choose_delay)
     val () = print_slope("catalan", 9, catalan_delay)
     val () = print_slope("permutations", 13, permutations_delay)
+    val () = print_slope("bell", 8, bell_delay)
   }
diff --git a/ats-src/combinatorics.dats b/ats-src/combinatorics.dats
--- a/ats-src/combinatorics.dats
+++ b/ats-src/combinatorics.dats
@@ -147,29 +147,71 @@
       end
   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.
-fun bell {n:nat}(n : int(n)) : intinfGt(0) =
-  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)) : intinfGt(0) =
-  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)
+// Stirling numbers of the second kind. See
+// http://mathworld.wolfram.com/StirlingNumberoftheSecondKind.html
+//
+// Approach taken from
+// http://hackage.haskell.org/package/combinat-0.2.9.0/docs/src/Math.Combinat.Numbers.Sequences.html#stirling2nd
+fn stirling2 { n, k : nat }(n : int(n), k : int(k)) : Intinf =
+  ifcase
+    | k = 0 && n = 0 => int2intinf(1)
+    | k > n => int2intinf(0)
+    | _ => let
+      fun top_loop {i:nat} .<i>. (i : int(i), acc : &Intinf? >> Intinf) : void =
+        case+ i of
+          | 0 => acc := int2intinf(0)
+          | i =>> {
+            fn negate_if_odd(n : int, k : Intinf) : Intinf =
+              if n % 2 = 0 then
+                k
+              else
+                neg_intinf0(k)
+            
+            val () = top_loop(i - 1, acc)
+            var add = choose(k, i)
+            var factor = pow_int_int(i, n)
+            var multiplier = negate_if_odd(k - i, factor)
+            var factor_add = mul_intinf0_intinf1(add, multiplier)
+            val () = acc := add_intinf0_intinf1(acc, factor_add)
+            val () = intinf_free(multiplier)
+            val () = intinf_free(factor_add)
+          }
+      
+      var top: Intinf
+      val () = top_loop(k, top)
+      var bot = fact(k)
+      var result = div_intinf0_intinf1(top, bot)
+      val () = intinf_free(bot)
     in
-      $UN.castvwtp0(ret)
+      result
     end
 
+// Bell numbers. See http://mathworld.wolfram.com/BellNumber.html
+//
+// Approach taken from
+// http://hackage.haskell.org/package/combinat-0.2.9.0/docs/src/Math.Combinat.Numbers.Sequences.html#bellNumber
+fn bell {n:nat}(n : int(n)) : Intinf =
+  let
+    fun sum_loop { k : nat | k >= 1 } .<k>. (k : int(k), acc : &Intinf? >> Intinf) : void =
+      case+ k of
+        | 1 => acc := stirling2(n, 1)
+        | k =>> {
+          val () = sum_loop(k - 1, acc)
+          var add = stirling2(n, k)
+          val () = acc := add_intinf0_intinf1(acc, add)
+          val () = intinf_free(add)
+        }
+  in
+    case+ n of
+      | 0 => int2intinf(1)
+      | n =>> let
+        var ret: Intinf
+        val () = sum_loop(n, ret)
+      in
+        ret
+      end
+  end
+
 fn max_regions {n:nat}(n : int(n)) : Intinf =
   let
     fun loop {m:nat} .<m>. (m : int(m), ret : &Intinf? >> Intinf) : void =
@@ -207,5 +249,11 @@
 implement permutations_ats (n, k) =
   permutations(n, k)
 
+implement stirling2_ats (n, k) =
+  stirling2(n, k)
+
 implement max_regions_ats (n) =
   max_regions(n)
+
+implement bell_ats (n) =
+  bell(n)
diff --git a/ats-src/combinatorics.sats b/ats-src/combinatorics.sats
--- a/ats-src/combinatorics.sats
+++ b/ats-src/combinatorics.sats
@@ -1,22 +1,28 @@
 staload "$PATSHOMELOCS/atscntrb-hx-intinf/SATS/intinf_vt.sats"
 
-fun choose_ats {n:nat}{ m : nat | m <= n } : (int(n), int(m)) -> Intinf =
+fn bell_ats {n:nat} : int(n) -> Intinf =
   "ext#"
 
-fun double_factorial_ats {n:nat} : int(n) -> Intinf =
+fn stirling2_ats { n, m : nat } : (int(n), int(m)) -> Intinf =
   "ext#"
 
-fun factorial_ats {n:nat} : int(n) -> Intinf =
+fn choose_ats {n:nat}{ m : nat | m <= n } : (int(n), int(m)) -> Intinf =
   "ext#"
 
-fun catalan_ats {n:nat} : int(n) -> Intinf =
+fn double_factorial_ats {n:nat} : int(n) -> Intinf =
   "ext#"
 
-fun derangements_ats {n:nat} : int(n) -> Intinf =
+fn factorial_ats {n:nat} : int(n) -> Intinf =
   "ext#"
 
-fun permutations_ats {n:nat}{ k : nat | k <= n && k > 0 } : (int(n), int(k)) -> Intinf =
+fn catalan_ats {n:nat} : int(n) -> Intinf =
   "ext#"
 
-fun max_regions_ats {n:nat} : int(n) -> Intinf =
+fn derangements_ats {n:nat} : int(n) -> Intinf =
+  "ext#"
+
+fn permutations_ats {n:nat}{ k : nat | k <= n && k > 0 } : (int(n), int(k)) -> Intinf =
+  "ext#"
+
+fn max_regions_ats {n:nat} : int(n) -> Intinf =
   "ext#"
diff --git a/atspkg.dhall b/atspkg.dhall
--- a/atspkg.dhall
+++ b/atspkg.dhall
@@ -2,10 +2,10 @@
 let prelude = http://hackage.haskell.org/package/ats-pkg/src/dhall/atspkg-prelude.dhall
 in
 
-let map = http://hackage.haskell.org/package/dhall/src/Prelude/List/map
+let map = https://raw.githubusercontent.com/dhall-lang/Prelude/master/List/map
 in
 
-let not = http://hackage.haskell.org/package/dhall/src/Prelude/Bool/not
+let not = https://raw.githubusercontent.com/dhall-lang/Prelude/master/Bool/not
 in
 
 {- Types -}
@@ -26,11 +26,11 @@
 in
 
 let moduleNames =
-  ["combinatorics", "number-theory", "numerics" ]
+  [ "combinatorics", "number-theory", "numerics" ]
 in
 
 {- Main -}
-λ(cfg : { sourceBld : Bool, withBench : Bool }) →
+λ(cfg : { sourceBld : Bool, staticLib : Bool, withBench : Bool }) →
 
     let test = if cfg.withBench
     then
@@ -55,13 +55,24 @@
 
     let libraries = if not cfg.sourceBld
         then
-            [ prelude.staticLib ⫽
+            let libCommon =
                 { name = "numbertheory"
                 , src = (map Text Text asDats moduleNames)
                 , includes = [ "include/fast_arithmetic.h" ]
-                , libTarget = "${prelude.atsProject}/libnumbertheory.a"
                 }
-            ]
+            in
+
+            if cfg.staticLib
+                then
+                    [ prelude.staticLib ⫽
+                        libCommon ⫽
+                        { libTarget = "${prelude.atsProject}/libnumbertheory.a" }
+                    ]
+                else
+                    [ prelude.lib ⫽
+                        libCommon ⫽
+                        { libTarget = "${prelude.atsProject}/libnumbertheory.so" }
+                    ]
         else
             prelude.emptyLib
     in
@@ -90,7 +101,7 @@
         , ccompiler = prelude.printCompiler cc
         , debPkg = prelude.mkDeb
             (prelude.debian "fast-arithmetic" ⫽
-                { version = [0,6,1,0]
+                { version = [0,6,4,0]
                 , maintainer = "Vanessa McHale <vamchale@gmail.com>"
                 , description = "Library for fast arithmetic in ATS"
                 , libraries = [ "${prelude.atsProject}/libnumbertheory.a" ]
diff --git a/bench.dhall b/bench.dhall
--- a/bench.dhall
+++ b/bench.dhall
@@ -1,1 +1,1 @@
-{ sourceBld = True, withBench = True }
+{ sourceBld = True, staticLib = False, withBench = True }
diff --git a/bench/Bench.hs b/bench/Bench.hs
--- a/bench/Bench.hs
+++ b/bench/Bench.hs
@@ -63,4 +63,8 @@
                       [ bench "maxRegions" $ nf maxRegions 45000
                       , bench "hsMaxRegions" $ nf hsMaxRegions 45000
                       ]
+                , bgroup "stirling"
+                      [ bench "striling2" $ nf (stirling2 25) 8
+                      , bench "Ext.stirling2nd" $ nf (Ext.stirling2nd (25 :: Int)) 8
+                      ]
                 ]
diff --git a/cbits/combinatorics.c b/cbits/combinatorics.c
--- a/cbits/combinatorics.c
+++ b/cbits/combinatorics.c
@@ -348,6746 +348,8144 @@
 ATSdyncst_mac(atspre_g1int_gt_int)
 ATSdyncst_mac(atscntrb_gmp_mpz_tdiv2_q_mpz)
 ATSdyncst_mac(atspre_g1int_mul_int)
-ATSdyncst_mac(atspre_g1int_gte_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_mul2_mpz)
-ATSdyncst_mac(atspre_g1int_eq_int)
-/*
-dyncstlst-declaration(end)
-*/
-/*
-dynvalist-implementation(beg)
-*/
-/*
-dynvalist-implementation(end)
-*/
-/*
-exnconlst-declaration(beg)
-*/
-#ifndef _ATS_CCOMP_EXCEPTION_NONE_
-ATSextern()
-atsvoid_t0ype
-the_atsexncon_initize
-(
-  atstype_exnconptr d2c, atstype_string exnmsg
-) ;
-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
-/*
-exnconlst-declaration(end)
-*/
-/*
-extypelst-declaration(beg)
-*/
-/*
-extypelst-declaration(end)
-*/
-/*
-assumelst-declaration(beg)
-*/
-#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
-#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
-/*
-assumelst-declaration(end)
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-derangements_0(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-loop_1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__2(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__2__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12(atstkind_type(atstype_ptrk)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17() ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__1() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__2() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__3() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__4() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__5() ;
-
-ATSstatic()
-atsvoid_t0ype
-fact_ref_28(atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__6() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__7() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-fact_34(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atsvoid_t0ype
-dfact_ref_35(atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__8() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__9() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-dfact_41(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-permutations_42(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atsvoid_t0ype
-loop_43(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__44(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__44__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__10() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-catalan_50(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-numerator_loop_51(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__11() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__12() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__13() ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-choose_62(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atsvoid_t0ype
-numerator_loop_63(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__14() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__15() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__16() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__17() ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__44__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__18() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__2(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-bell_79(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-sum_loop_80(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__19() ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__83(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__83__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__20() ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__88(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__88__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(atstkind_type(atstype_ptrk)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-max_regions_93(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atsvoid_t0ype
-loop_94(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__95(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__95__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__21(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__21() ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__4(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
-
-ATSstatic()
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(atstkind_type(atstype_ptrk)) ;
-
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-choose_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-double_factorial_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-factorial_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-catalan_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-derangements_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-permutations_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-max_regions_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 494(line=14, offs=4) -- 1192(line=38, offs=6)
-*/
-/*
-local: 
-global: derangements_0$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-derangements_0(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret0, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp45, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp46, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp51, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 494(line=14, offs=4) -- 1192(line=38, offs=6)
-*/
-ATSINSflab(__patsflab_derangements_0):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 547(line=15, offs=3) -- 1192(line=38, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1034(line=33, offs=5) -- 1186(line=37, offs=59)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1053(line=34, offs=9) -- 1054(line=34, offs=10)
-*/
-ATSINSlab(__atstmplab0):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 522(line=14, offs=32) -- 523(line=14, offs=33)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1054(line=34, offs=10) -- 1054(line=34, offs=10)
-*/
-ATSINSlab(__atstmplab1):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1058(line=34, offs=14) -- 1071(line=34, offs=27)
-*/
-ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1080(line=35, offs=9) -- 1081(line=35, offs=10)
-*/
-ATSINSlab(__atstmplab2):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 522(line=14, offs=32) -- 523(line=14, offs=33)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab4) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1081(line=35, offs=10) -- 1081(line=35, offs=10)
-*/
-ATSINSlab(__atstmplab3):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1086(line=35, offs=15) -- 1099(line=35, offs=28)
-*/
-ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(ATSPMVi0nt(0))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1108(line=36, offs=9) -- 1109(line=36, offs=10)
-*/
-ATSINSlab(__atstmplab4):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 522(line=14, offs=32) -- 523(line=14, offs=33)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab6) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1109(line=36, offs=10) -- 1109(line=36, offs=10)
-*/
-ATSINSlab(__atstmplab5):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1114(line=36, offs=15) -- 1127(line=36, offs=28)
-*/
-ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1137(line=37, offs=10) -- 1137(line=37, offs=10)
-*/
-ATSINSlab(__atstmplab6):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1147(line=37, offs=20) -- 1152(line=37, offs=25)
-*/
-ATSINSmove(tmp45, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1157(line=37, offs=30) -- 1170(line=37, offs=43)
-*/
-ATSINSmove(tmp46, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1172(line=37, offs=45) -- 1185(line=37, offs=58)
-*/
-ATSINSmove(tmp51, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1142(line=37, offs=15) -- 1186(line=37, offs=59)
-*/
-ATSINSmove(tmpret0, loop_1(tmp45, ATSPMVi0nt(2), tmp46, tmp51)) ;
-
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 547(line=15, offs=3) -- 1192(line=38, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret0) ;
-} /* end of [derangements_0] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 559(line=16, offs=9) -- 1024(line=31, offs=12)
-*/
-/*
-local: loop_1$0(level=1)
-global: loop_1$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-loop_1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_type(atstype_ptrk) arg3)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(apy3, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpret1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmpref7, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref12, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp17, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref18, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp21) ;
-ATStmpdec(tmpref26, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 559(line=16, offs=9) -- 1024(line=31, offs=12)
-*/
-ATSINSflab(__patsflab_loop_1):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 683(line=17, offs=10) -- 688(line=17, offs=15)
-*/
-ATSINSmove(tmp2, ATSLIB_056_prelude__lt_g1int_int__2__1(arg1, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 680(line=17, offs=7) -- 1024(line=31, offs=12)
-*/
-ATSif(
-tmp2
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 702(line=18, offs=9) -- 846(line=23, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 720(line=19, offs=15) -- 721(line=19, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref7) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 724(line=19, offs=19) -- 751(line=19, offs=46)
-*/
-ATSINSmove(tmpref7, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(arg3, ATSPMVrefarg0(arg2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 766(line=20, offs=15) -- 767(line=20, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref12) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 770(line=20, offs=19) -- 791(line=20, offs=40)
-*/
-ATSINSmove(tmpref12, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(tmpref7, arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 821(line=22, offs=19) -- 826(line=22, offs=24)
-*/
-ATSINSmove(tmp17, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 813(line=22, offs=11) -- 834(line=22, offs=32)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, arg0) ;
-ATSINSmove_tlcal(apy1, tmp17) ;
-ATSINSmove_tlcal(apy2, tmpref12) ;
-ATSINSmove_tlcal(apy3, arg2) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSargmove_tlcal(arg2, apy2) ;
-ATSINSargmove_tlcal(arg3, apy3) ;
-ATSINSfgoto(__patsflab_loop_1) ;
-ATStailcal_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 702(line=18, offs=9) -- 846(line=23, offs=12)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 866(line=25, offs=9) -- 1024(line=31, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 884(line=26, offs=15) -- 885(line=26, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref18) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 888(line=26, offs=19) -- 915(line=26, offs=46)
-*/
-ATSINSmove(tmpref18, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(arg3, ATSPMVrefarg0(arg2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 934(line=27, offs=19) -- 948(line=27, offs=33)
-*/
-ATSINSmove_void(tmp21, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(arg2)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 964(line=28, offs=15) -- 965(line=28, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref26) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 968(line=28, offs=19) -- 989(line=28, offs=40)
-*/
-ATSINSmove(tmpref26, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(tmpref18, arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1011(line=30, offs=11) -- 1012(line=30, offs=12)
-*/
-ATSINSmove(tmpret1, tmpref26) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 866(line=25, offs=9) -- 1024(line=31, offs=12)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret1) ;
-} /* end of [loop_1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
-*/
-/*
-local: 
-global: lt_g1int_int$2$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4627)
-tmparg = S2Evar(tk(4627))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__2(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp4, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
-*/
-ATSINSmove(tmp4, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4627))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
-*/
-ATSINSmove(tmpret3, PMVtmpltcst(g1int_lt<S2Evar(tk(4627))>)(arg0, tmp4)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3) ;
-} /* end of [ATSLIB_056_prelude__lt_g1int_int__2] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
-*/
-/*
-local: 
-global: lt_g1int_int$2$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4627)
-tmparg = S2Evar(tk(4627))
-tmpsub = Some(tk(4627) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__2__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp4__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
-*/
-ATSINSmove(tmp4__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
-*/
-ATSINSmove(tmpret3__1, atspre_g1int_lt_int(arg0, tmp4__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3__1) ;
-} /* end of [ATSLIB_056_prelude__lt_g1int_int__2__1] */
-
-#if(0)
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
-*/
-/*
-local: 
-global: add_intinf0_intinf1$6$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret8, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp9) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
-*/
-ATSINSflab(__patsflab_add_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
-*/
-ATSINSmove_void(tmp9, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
-*/
-ATSINSmove(tmpret8, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret8) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
-*/
-/*
-local: 
-global: add_intinf0_intinf1$6$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret8__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp9__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
-*/
-ATSINSflab(__patsflab_add_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
-*/
-ATSINSmove_void(tmp9__1, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
-*/
-ATSINSmove(tmpret8__1, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret8__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1] */
-
-#if(0)
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14__1, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13__1, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
-*/
-/*
-local: 
-global: add_intinf0_intinf1$6$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret8__2, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp9__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
-*/
-ATSINSflab(__patsflab_add_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
-*/
-ATSINSmove_void(tmp9__2, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
-*/
-ATSINSmove(tmpret8__2, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret8__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2] */
-
-#if(0)
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$12$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret22) ;
-// ATStmpdec_void(tmp23) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp23, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret22, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret22) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$12$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret22__1) ;
-// ATStmpdec_void(tmp23__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp23__1, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret22__1, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret22__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13__2, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14__2, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13__2, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2] */
-
-#if(0)
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29, tmp30) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__1, ATSLIB_056_prelude__ptr_alloc__17__1()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__1, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__1, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__1, tmp30__1) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35, atspre_ptr_alloc_tsz(ATSPMVsizeof(atstyvar_type(a)))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__1()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__1, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__1, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__1) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__1] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__2, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__2, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__2, ATSLIB_056_prelude__ptr_alloc__17__2()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__2, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__2, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__2, tmp30__2) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__2()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__2, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__2, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__2) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__2] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__3, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__3, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__3) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__3, ATSLIB_056_prelude__ptr_alloc__17__3()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__3, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__3, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__3, tmp30__3) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__3) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$3(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__3()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__3, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__3, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__3) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__3] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$4(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__4, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__4, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__4) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__4, ATSLIB_056_prelude__ptr_alloc__17__4()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__4, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__4, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__4, tmp30__4) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__4) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$4(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__4()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__4, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__4, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__4) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__4] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$5(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__5, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__5, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__5) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__5, ATSLIB_056_prelude__ptr_alloc__17__5()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__5, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__5, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__5, tmp30__5) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__5) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$5(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__5()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__5, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__5, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__5) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__5] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1198(line=40, offs=5) -- 1476(line=48, offs=8)
-*/
-/*
-local: fact_ref_28$0(level=0)
-global: fact_ref_28$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atsvoid_t0ype
-fact_ref_28(atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret56) ;
-ATStmpdec(tmp57, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp62, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp67) ;
-ATStmpdec(tmp68, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp69, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1198(line=40, offs=5) -- 1476(line=48, offs=8)
-*/
-ATSINSflab(__patsflab_fact_ref_28):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1283(line=41, offs=3) -- 1476(line=48, offs=8)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1300(line=42, offs=7) -- 1301(line=42, offs=8)
-*/
-ATSINSlab(__atstmplab7):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1222(line=40, offs=29) -- 1223(line=40, offs=30)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab9) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1301(line=42, offs=8) -- 1301(line=42, offs=8)
-*/
-ATSINSlab(__atstmplab8):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1312(line=42, offs=19) -- 1325(line=42, offs=32)
-*/
-ATSINSmove(tmp57, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1305(line=42, offs=12) -- 1325(line=42, offs=32)
-*/
-ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp57) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1305(line=42, offs=12) -- 1325(line=42, offs=32)
-*/
-ATSINSmove_void(tmpret56, ATSPMVempty()) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1332(line=43, offs=7) -- 1333(line=43, offs=8)
-*/
-ATSINSlab(__atstmplab9):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1222(line=40, offs=29) -- 1223(line=40, offs=30)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab11) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1333(line=43, offs=8) -- 1333(line=43, offs=8)
-*/
-ATSINSlab(__atstmplab10):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1344(line=43, offs=19) -- 1357(line=43, offs=32)
-*/
-ATSINSmove(tmp62, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1337(line=43, offs=12) -- 1357(line=43, offs=32)
-*/
-ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp62) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1337(line=43, offs=12) -- 1357(line=43, offs=32)
-*/
-ATSINSmove_void(tmpret56, ATSPMVempty()) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1365(line=44, offs=8) -- 1365(line=44, offs=8)
-*/
-ATSINSlab(__atstmplab11):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1370(line=44, offs=13) -- 1476(line=48, offs=8)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1398(line=45, offs=25) -- 1403(line=45, offs=30)
-*/
-ATSINSmove(tmp68, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1389(line=45, offs=16) -- 1409(line=45, offs=36)
-*/
-ATSINSmove_void(tmp67, fact_ref_28(tmp68, ATSPMVrefarg1(arg1))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1444(line=47, offs=28) -- 1467(line=47, offs=51)
-*/
-ATSINSmove(tmp69, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(ATSderef(arg1, atstkind_type(atstype_ptrk)), arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1423(line=47, offs=7) -- 1468(line=47, offs=52)
-*/
-ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVcastfn(castvwtp0, atstype_boxed, tmp69)) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1423(line=47, offs=7) -- 1468(line=47, offs=52)
-*/
-ATSINSmove_void(tmpret56, ATSPMVempty()) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1370(line=44, offs=13) -- 1476(line=48, offs=8)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn_void(tmpret56) ;
-} /* end of [fact_ref_28] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$6(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__6, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__6, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__6) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__6, ATSLIB_056_prelude__ptr_alloc__17__6()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__6, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__6, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__6, tmp30__6) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__6) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$6(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__6()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__6, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__6, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__6) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__6] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$7(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__7, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__7, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__7) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__7, ATSLIB_056_prelude__ptr_alloc__17__7()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__7, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__7, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__7, tmp30__7) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__7) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$7(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__7()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__7, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__7, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__7) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__7] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13__3, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14__3) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14__3, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13__3, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13__3) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1481(line=50, offs=4) -- 1610(line=56, offs=6)
-*/
-/*
-local: fact_ref_28$0(level=0)
-global: fact_ref_28$0(level=0), fact_34$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-fact_34(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret72, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref73, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp74) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1481(line=50, offs=4) -- 1610(line=56, offs=6)
-*/
-ATSINSflab(__patsflab_fact_34):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1532(line=51, offs=3) -- 1610(line=56, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1544(line=52, offs=9) -- 1547(line=52, offs=12)
-*/
-/*
-ATSINStmpdec(tmpref73) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1575(line=53, offs=14) -- 1591(line=53, offs=30)
-*/
-ATSINSmove_void(tmp74, fact_ref_28(arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref73)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1601(line=55, offs=5) -- 1604(line=55, offs=8)
-*/
-ATSINSmove(tmpret72, tmpref73) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1532(line=51, offs=3) -- 1610(line=56, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret72) ;
-} /* end of [fact_34] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1686(line=59, offs=5) -- 1955(line=68, offs=8)
-*/
-/*
-local: dfact_ref_35$0(level=0)
-global: dfact_ref_35$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atsvoid_t0ype
-dfact_ref_35(atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret75) ;
-ATStmpdec(tmp76, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp81, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp86) ;
-ATStmpdec(tmp87, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref88, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1686(line=59, offs=5) -- 1955(line=68, offs=8)
-*/
-ATSINSflab(__patsflab_dfact_ref_35):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1760(line=60, offs=3) -- 1955(line=68, offs=8)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1777(line=61, offs=7) -- 1778(line=61, offs=8)
-*/
-ATSINSlab(__atstmplab12):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1711(line=59, offs=30) -- 1712(line=59, offs=31)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab14) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1778(line=61, offs=8) -- 1778(line=61, offs=8)
-*/
-ATSINSlab(__atstmplab13):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1789(line=61, offs=19) -- 1802(line=61, offs=32)
-*/
-ATSINSmove(tmp76, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1782(line=61, offs=12) -- 1802(line=61, offs=32)
-*/
-ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp76) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1782(line=61, offs=12) -- 1802(line=61, offs=32)
-*/
-ATSINSmove_void(tmpret75, ATSPMVempty()) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1809(line=62, offs=7) -- 1810(line=62, offs=8)
-*/
-ATSINSlab(__atstmplab14):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1711(line=59, offs=30) -- 1712(line=59, offs=31)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab16) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1810(line=62, offs=8) -- 1810(line=62, offs=8)
-*/
-ATSINSlab(__atstmplab15):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1821(line=62, offs=19) -- 1834(line=62, offs=32)
-*/
-ATSINSmove(tmp81, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1814(line=62, offs=12) -- 1834(line=62, offs=32)
-*/
-ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp81) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1814(line=62, offs=12) -- 1834(line=62, offs=32)
-*/
-ATSINSmove_void(tmpret75, ATSPMVempty()) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1842(line=63, offs=8) -- 1842(line=63, offs=8)
-*/
-ATSINSlab(__atstmplab16):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1847(line=63, offs=13) -- 1955(line=68, offs=8)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1876(line=64, offs=26) -- 1881(line=64, offs=31)
-*/
-ATSINSmove(tmp87, atspre_g1int_sub_int(arg0, ATSPMVi0nt(2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1866(line=64, offs=16) -- 1887(line=64, offs=37)
-*/
-ATSINSmove_void(tmp86, dfact_ref_35(tmp87, ATSPMVrefarg1(arg1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1898(line=65, offs=11) -- 1899(line=65, offs=12)
-*/
-/*
-ATSINStmpdec(tmpref88) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1902(line=65, offs=15) -- 1925(line=65, offs=38)
-*/
-ATSINSmove(tmpref88, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(ATSderef(arg1, atstkind_type(atstype_ptrk)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1939(line=67, offs=7) -- 1947(line=67, offs=15)
-*/
-ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmpref88) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1939(line=67, offs=7) -- 1947(line=67, offs=15)
-*/
-ATSINSmove_void(tmpret75, ATSPMVempty()) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1847(line=63, offs=13) -- 1955(line=68, offs=8)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn_void(tmpret75) ;
-} /* end of [dfact_ref_35] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$8(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__8, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__8, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__8) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__8, ATSLIB_056_prelude__ptr_alloc__17__8()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__8, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__8, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__8, tmp30__8) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__8) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$8(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__8()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__8, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__8, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__8) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__8] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$9(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__9, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__9, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__9) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__9, ATSLIB_056_prelude__ptr_alloc__17__9()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__9, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__9, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__9, tmp30__9) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__9) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$9(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__9()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__9, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__9, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__9) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__9] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$4(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13__4, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14__4) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14__4, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13__4, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13__4) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2031(line=71, offs=5) -- 2156(line=77, offs=6)
-*/
-/*
-local: dfact_ref_35$0(level=0)
-global: dfact_ref_35$0(level=0), dfact_41$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-dfact_41(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret91, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref92, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp93) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2031(line=71, offs=5) -- 2156(line=77, offs=6)
-*/
-ATSINSflab(__patsflab_dfact_41):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2077(line=72, offs=3) -- 2156(line=77, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2089(line=73, offs=9) -- 2092(line=73, offs=12)
-*/
-/*
-ATSINStmpdec(tmpref92) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2120(line=74, offs=14) -- 2137(line=74, offs=31)
-*/
-ATSINSmove_void(tmp93, dfact_ref_35(arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref92)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2147(line=76, offs=5) -- 2150(line=76, offs=8)
-*/
-ATSINSmove(tmpret91, tmpref92) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2077(line=72, offs=3) -- 2156(line=77, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret91) ;
-} /* end of [dfact_41] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2219(line=80, offs=4) -- 2607(line=92, offs=6)
-*/
-/*
-local: 
-global: permutations_42$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-permutations_42(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret94, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref115, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp116) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2219(line=80, offs=4) -- 2607(line=92, offs=6)
-*/
-ATSINSflab(__patsflab_permutations_42):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2306(line=81, offs=3) -- 2607(line=92, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2551(line=88, offs=9) -- 2554(line=88, offs=12)
-*/
-/*
-ATSINStmpdec(tmpref115) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2576(line=89, offs=14) -- 2588(line=89, offs=26)
-*/
-ATSINSmove_void(tmp116, loop_43(arg0, arg1, arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref115)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2598(line=91, offs=5) -- 2601(line=91, offs=8)
-*/
-ATSINSmove(tmpret94, tmpref115) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2306(line=81, offs=3) -- 2607(line=92, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret94) ;
-} /* end of [permutations_42] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2318(line=82, offs=9) -- 2537(line=86, offs=37)
-*/
-/*
-local: loop_43$0(level=1)
-global: loop_43$0(level=1)
-local: n$5101(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), k$5102(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: n$5101(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), k$5102(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atsvoid_t0ype
-loop_43(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret95) ;
-ATStmpdec(tmp96, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp101, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp102, atstkind_t0ype(atstype_int)) ;
-// ATStmpdec_void(tmp103) ;
-ATStmpdec(tmp104, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp105, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp108, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp113, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp114, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2318(line=82, offs=9) -- 2537(line=86, offs=37)
-*/
-ATSINSflab(__patsflab_loop_43):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2415(line=83, offs=14) -- 2420(line=83, offs=19)
-*/
-ATSINSmove(tmp102, atspre_g1int_sub_int(env0, env1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2415(line=83, offs=14) -- 2424(line=83, offs=23)
-*/
-ATSINSmove(tmp101, atspre_g1int_add_int(tmp102, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2411(line=83, offs=10) -- 2424(line=83, offs=23)
-*/
-ATSINSmove(tmp96, ATSLIB_056_prelude__gt_g1int_int__44__1(arg0, tmp101)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2408(line=83, offs=7) -- 2537(line=86, offs=37)
-*/
-ATSif(
-tmp96
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2444(line=84, offs=15) -- 2449(line=84, offs=20)
-*/
-ATSINSmove(tmp104, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2439(line=84, offs=10) -- 2455(line=84, offs=26)
-*/
-ATSINSmove_void(tmp103, loop_43(env0, env1, tmp104, ATSPMVrefarg1(arg1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2465(line=84, offs=36) -- 2488(line=84, offs=59)
-*/
-ATSINSmove(tmp105, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(ATSderef(arg1, atstkind_type(atstype_ptrk)), arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2458(line=84, offs=29) -- 2488(line=84, offs=59)
-*/
-ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp105) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2458(line=84, offs=29) -- 2488(line=84, offs=59)
-*/
-ATSINSmove_void(tmpret95, ATSPMVempty()) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2516(line=86, offs=16) -- 2537(line=86, offs=37)
-*/
-ATSINSmove(tmp114, atspre_g1int_sub_int(env0, env1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2516(line=86, offs=16) -- 2537(line=86, offs=37)
-*/
-ATSINSmove(tmp113, atspre_g1int_add_int(tmp114, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2516(line=86, offs=16) -- 2537(line=86, offs=37)
-*/
-ATSINSmove(tmp108, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(tmp113)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2509(line=86, offs=9) -- 2537(line=86, offs=37)
-*/
-ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp108) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2509(line=86, offs=9) -- 2537(line=86, offs=37)
-*/
-ATSINSmove_void(tmpret95, ATSPMVempty()) ;
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn_void(tmpret95) ;
-} /* end of [loop_43] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$44$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4633)
-tmparg = S2Evar(tk(4633))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__44(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret97, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp98, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp98, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4633))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret97, PMVtmpltcst(g1int_gt<S2Evar(tk(4633))>)(arg0, tmp98)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret97) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__44] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$44$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4633)
-tmparg = S2Evar(tk(4633))
-tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__44__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret97__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp98__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp98__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret97__1, atspre_g1int_gt_int(arg0, tmp98__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret97__1) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__44__1] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$5(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13__5, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14__5) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14__5, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13__5, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13__5) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$10(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__10, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__10, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__10) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__10, ATSLIB_056_prelude__ptr_alloc__17__10()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__10, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__10, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__10, tmp30__10) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__10) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$10(level=3)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__10()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__10, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__10, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__10) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__10] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2659(line=95, offs=4) -- 3258(line=118, offs=6)
-*/
-/*
-local: fact_34$0(level=0)
-global: fact_ref_28$0(level=0), fact_34$0(level=0), catalan_50$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-catalan_50(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret117, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref138, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref139, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref140, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp145) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2659(line=95, offs=4) -- 3258(line=118, offs=6)
-*/
-ATSINSflab(__patsflab_catalan_50):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2700(line=96, offs=3) -- 3258(line=118, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2995(line=107, offs=5) -- 3252(line=117, offs=10)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3014(line=108, offs=9) -- 3015(line=108, offs=10)
-*/
-ATSINSlab(__atstmplab20):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2675(line=95, offs=20) -- 2676(line=95, offs=21)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab22) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3015(line=108, offs=10) -- 3015(line=108, offs=10)
-*/
-ATSINSlab(__atstmplab21):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3019(line=108, offs=14) -- 3032(line=108, offs=27)
-*/
-ATSINSmove(tmpret117, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3041(line=109, offs=9) -- 3042(line=109, offs=10)
-*/
-ATSINSlab(__atstmplab22):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2675(line=95, offs=20) -- 2676(line=95, offs=21)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab24) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3042(line=109, offs=10) -- 3042(line=109, offs=10)
-*/
-ATSINSlab(__atstmplab23):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3046(line=109, offs=14) -- 3059(line=109, offs=27)
-*/
-ATSINSmove(tmpret117, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3069(line=110, offs=10) -- 3069(line=110, offs=10)
-*/
-ATSINSlab(__atstmplab24):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3074(line=110, offs=15) -- 3252(line=117, offs=10)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3090(line=111, offs=13) -- 3091(line=111, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref138) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3094(line=111, offs=17) -- 3110(line=111, offs=33)
-*/
-ATSINSmove(tmpref138, numerator_loop_51(arg0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3124(line=112, offs=13) -- 3125(line=112, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref139) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3128(line=112, offs=17) -- 3134(line=112, offs=23)
-*/
-ATSINSmove(tmpref139, fact_34(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3148(line=113, offs=13) -- 3149(line=113, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref140) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3152(line=113, offs=17) -- 3177(line=113, offs=42)
-*/
-ATSINSmove(tmpref140, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__1(tmpref138, ATSPMVrefarg0(tmpref139))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3194(line=114, offs=17) -- 3207(line=114, offs=30)
-*/
-ATSINSmove_void(tmp145, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(tmpref139)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3226(line=116, offs=9) -- 3241(line=116, offs=24)
-*/
-ATSINSmove(tmpret117, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref140)) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3074(line=110, offs=15) -- 3252(line=117, offs=10)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2700(line=96, offs=3) -- 3258(line=118, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret117) ;
-} /* end of [catalan_50] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2712(line=97, offs=9) -- 2985(line=105, offs=12)
-*/
-/*
-local: numerator_loop_51$0(level=1)
-global: numerator_loop_51$0(level=1)
-local: n$5108(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: n$5108(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-numerator_loop_51(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret118, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp123, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref124, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp125, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref126, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp129, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2712(line=97, offs=9) -- 2985(line=105, offs=12)
-*/
-ATSINSflab(__patsflab_numerator_loop_51):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2788(line=98, offs=7) -- 2985(line=105, offs=12)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2809(line=99, offs=11) -- 2810(line=99, offs=12)
-*/
-ATSINSlab(__atstmplab17):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2754(line=97, offs=51) -- 2755(line=97, offs=52)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab19) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2810(line=99, offs=12) -- 2810(line=99, offs=12)
-*/
-ATSINSlab(__atstmplab18):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2814(line=99, offs=16) -- 2831(line=99, offs=33)
-*/
-ATSINSmove(tmp123, atspre_g1int_add_int(env0, ATSPMVi0nt(2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2814(line=99, offs=16) -- 2831(line=99, offs=33)
-*/
-ATSINSmove(tmpret118, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(tmp123)) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2843(line=100, offs=12) -- 2843(line=100, offs=12)
-*/
-ATSINSlab(__atstmplab19):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2848(line=100, offs=17) -- 2985(line=105, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2866(line=101, offs=15) -- 2867(line=101, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref124) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2885(line=101, offs=34) -- 2890(line=101, offs=39)
-*/
-ATSINSmove(tmp125, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2870(line=101, offs=19) -- 2891(line=101, offs=40)
-*/
-ATSINSmove(tmpref124, numerator_loop_51(env0, tmp125)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2906(line=102, offs=15) -- 2907(line=102, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref126) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2929(line=102, offs=38) -- 2934(line=102, offs=43)
-*/
-ATSINSmove(tmp129, atspre_g1int_add_int(env0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2910(line=102, offs=19) -- 2935(line=102, offs=44)
-*/
-ATSINSmove(tmpref126, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(tmpref124, tmp129)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2957(line=104, offs=11) -- 2972(line=104, offs=26)
-*/
-ATSINSmove(tmpret118, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref126)) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2848(line=100, offs=17) -- 2985(line=105, offs=12)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret118) ;
-} /* end of [numerator_loop_51] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$11(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__11, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__11, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__11) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__11, ATSLIB_056_prelude__ptr_alloc__17__11()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__11, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__11, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__11, tmp30__11) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__11) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$11(level=3)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__11()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__11, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__11, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__11) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__11] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$6(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13__6, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14__6) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14__6, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13__6, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13__6) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$12(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__12, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__12, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__12) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__12, ATSLIB_056_prelude__ptr_alloc__17__12()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__12, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__12, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__12, tmp30__12) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__12) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$12(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__12()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__12, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__12, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__12) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__12] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$13(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__13, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__13, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__13) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__13, ATSLIB_056_prelude__ptr_alloc__17__13()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__13, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__13, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__13, tmp30__13) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__13) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$13(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__13()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__13, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__13, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__13) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__13] */
-
-#if(0)
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
-*/
-/*
-local: 
-global: div_intinf0_intinf1$59$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret141, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp142) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
-*/
-ATSINSflab(__patsflab_div_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
-*/
-ATSINSmove_void(tmp142, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
-*/
-ATSINSmove(tmpret141, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret141) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
-*/
-/*
-local: 
-global: div_intinf0_intinf1$59$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret141__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp142__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
-*/
-ATSINSflab(__patsflab_div_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
-*/
-ATSINSmove_void(tmp142__1, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
-*/
-ATSINSmove(tmpret141__1, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret141__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__1] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$12$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret22__2) ;
-// ATStmpdec_void(tmp23__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp23__2, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret22__2, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret22__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3352(line=122, offs=4) -- 4150(line=148, offs=6)
-*/
-/*
-local: fact_34$0(level=0)
-global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-choose_62(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret148, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp177, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmpref184, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp185) ;
-ATStmpdec(tmpref186, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref187, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp190) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3352(line=122, offs=4) -- 4150(line=148, offs=6)
-*/
-ATSINSflab(__patsflab_choose_62):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3411(line=123, offs=3) -- 4150(line=148, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3818(line=135, offs=5) -- 4144(line=147, offs=10)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3837(line=136, offs=9) -- 3838(line=136, offs=10)
-*/
-ATSINSlab(__atstmplab30):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3386(line=122, offs=38) -- 3387(line=122, offs=39)
-*/
-ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(0))) { ATSINSgoto(__atstmplab32) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3838(line=136, offs=10) -- 3838(line=136, offs=10)
-*/
-ATSINSlab(__atstmplab31):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3842(line=136, offs=14) -- 3855(line=136, offs=27)
-*/
-ATSINSmove(tmpret148, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3864(line=137, offs=9) -- 3865(line=137, offs=10)
-*/
-ATSINSlab(__atstmplab32):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3386(line=122, offs=38) -- 3387(line=122, offs=39)
-*/
-ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab34) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3865(line=137, offs=10) -- 3865(line=137, offs=10)
-*/
-ATSINSlab(__atstmplab33):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3869(line=137, offs=14) -- 3881(line=137, offs=26)
-*/
-ATSINSmove(tmpret148, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(arg0)) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3892(line=138, offs=10) -- 3892(line=138, offs=10)
-*/
-ATSINSlab(__atstmplab34):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-guard:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3898(line=138, offs=16) -- 3903(line=138, offs=21)
-*/
-ATSINSmove(tmp177, ATSLIB_056_prelude__gt_g1int_int__44__2(arg1, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3898(line=138, offs=16) -- 3903(line=138, offs=21)
-*/
-ATSifnthen(ATSCKpat_bool(tmp177, ATSPMVbool_true())) { ATSINSgoto(__atstmplab35) ; } ;
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3907(line=138, offs=25) -- 3920(line=138, offs=38)
-*/
-ATSINSmove(tmpret148, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(ATSPMVi0nt(0))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3930(line=139, offs=10) -- 3930(line=139, offs=10)
-*/
-ATSINSlab(__atstmplab35):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3935(line=139, offs=15) -- 4144(line=147, offs=10)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3951(line=140, offs=13) -- 3952(line=140, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref184) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3983(line=141, offs=18) -- 4003(line=141, offs=38)
-*/
-ATSINSmove_void(tmp185, numerator_loop_63(arg0, arg1, ATSPMVrefarg1(ATSPMVptrof(tmpref184)))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4016(line=142, offs=13) -- 4017(line=142, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref186) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4020(line=142, offs=17) -- 4026(line=142, offs=23)
-*/
-ATSINSmove(tmpref186, fact_34(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4040(line=143, offs=13) -- 4041(line=143, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref187) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4044(line=143, offs=17) -- 4069(line=143, offs=42)
-*/
-ATSINSmove(tmpref187, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__2(tmpref184, ATSPMVrefarg0(tmpref186))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4086(line=144, offs=17) -- 4099(line=144, offs=30)
-*/
-ATSINSmove_void(tmp190, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(tmpref186)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4118(line=146, offs=9) -- 4133(line=146, offs=24)
-*/
-ATSINSmove(tmpret148, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref187)) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3935(line=139, offs=15) -- 4144(line=147, offs=10)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3411(line=123, offs=3) -- 4150(line=148, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret148) ;
-} /* end of [choose_62] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3423(line=124, offs=9) -- 3808(line=133, offs=12)
-*/
-/*
-local: numerator_loop_63$0(level=1)
-global: numerator_loop_63$0(level=1)
-local: n$5119(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: n$5119(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atsvoid_t0ype
-numerator_loop_63(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret149) ;
-ATStmpdec(tmp150, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp155, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp160, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp161, atstkind_t0ype(atstype_int)) ;
-// ATStmpdec_void(tmp162) ;
-ATStmpdec(tmp163, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref164, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp167, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp168, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3423(line=124, offs=9) -- 3808(line=133, offs=12)
-*/
-ATSINSflab(__patsflab_numerator_loop_63):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3528(line=125, offs=7) -- 3808(line=133, offs=12)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3549(line=126, offs=11) -- 3550(line=126, offs=12)
-*/
-ATSINSlab(__atstmplab25):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3465(line=124, offs=51) -- 3466(line=124, offs=52)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab27) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3550(line=126, offs=12) -- 3550(line=126, offs=12)
-*/
-ATSINSlab(__atstmplab26):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3561(line=126, offs=23) -- 3573(line=126, offs=35)
-*/
-ATSINSmove(tmp150, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(env0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3554(line=126, offs=16) -- 3573(line=126, offs=35)
-*/
-ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp150) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3554(line=126, offs=16) -- 3573(line=126, offs=35)
-*/
-ATSINSmove_void(tmpret149, ATSPMVempty()) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3585(line=127, offs=11) -- 3586(line=127, offs=12)
-*/
-ATSINSlab(__atstmplab27):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3465(line=124, offs=51) -- 3466(line=124, offs=52)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab29) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3586(line=127, offs=12) -- 3586(line=127, offs=12)
-*/
-ATSINSlab(__atstmplab28):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3611(line=127, offs=37) -- 3634(line=127, offs=60)
-*/
-ATSINSmove(tmp161, atspre_g1int_sub_int(env0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3611(line=127, offs=37) -- 3634(line=127, offs=60)
-*/
-ATSINSmove(tmp160, atspre_g1int_mul_int(tmp161, env0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3611(line=127, offs=37) -- 3634(line=127, offs=60)
-*/
-ATSINSmove(tmp155, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(tmp160)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3590(line=127, offs=16) -- 3635(line=127, offs=61)
-*/
-ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVcastfn(castvwtp0, atstype_boxed, tmp155)) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3590(line=127, offs=16) -- 3635(line=127, offs=61)
-*/
-ATSINSmove_void(tmpret149, ATSPMVempty()) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3647(line=128, offs=12) -- 3647(line=128, offs=12)
-*/
-ATSINSlab(__atstmplab29):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3652(line=128, offs=17) -- 3808(line=133, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3690(line=129, offs=35) -- 3695(line=129, offs=40)
-*/
-ATSINSmove(tmp163, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3675(line=129, offs=20) -- 3701(line=129, offs=46)
-*/
-ATSINSmove_void(tmp162, numerator_loop_63(env0, tmp163, ATSPMVrefarg1(arg1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3716(line=130, offs=15) -- 3717(line=130, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref164) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3741(line=130, offs=40) -- 3746(line=130, offs=45)
-*/
-ATSINSmove(tmp168, atspre_g1int_add_int(env0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3741(line=130, offs=40) -- 3750(line=130, offs=49)
-*/
-ATSINSmove(tmp167, atspre_g1int_sub_int(tmp168, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3720(line=130, offs=19) -- 3751(line=130, offs=50)
-*/
-ATSINSmove(tmpref164, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp167)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3773(line=132, offs=11) -- 3795(line=132, offs=33)
-*/
-ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVcastfn(castvwtp0, atstype_boxed, tmpref164)) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3773(line=132, offs=11) -- 3795(line=132, offs=33)
-*/
-ATSINSmove_void(tmpret149, ATSPMVempty()) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3652(line=128, offs=17) -- 3808(line=133, offs=12)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn_void(tmpret149) ;
-} /* end of [numerator_loop_63] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$14(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__14, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__14, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__14) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__14, ATSLIB_056_prelude__ptr_alloc__17__14()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__14, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__14, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__14, tmp30__14) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__14) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$14(level=3)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__14()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__14, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__14, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__14) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__14] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$15(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__15, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__15, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__15) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__15, ATSLIB_056_prelude__ptr_alloc__17__15()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__15, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__15, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__15, tmp30__15) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__15) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$15(level=3)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__15()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__15, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__15, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__15) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__15] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_int$8$7(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret13__7, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp14__7) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
-*/
-ATSINSmove_void(tmp14__7, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
-*/
-ATSINSmove(tmpret13__7, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret13__7) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$16(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__16, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__16, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__16) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__16, ATSLIB_056_prelude__ptr_alloc__17__16()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__16, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__16, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__16, tmp30__16) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__16) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$16(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__16()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__16, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__16, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__16) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__16] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$17(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__17, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__17, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__17) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__17, ATSLIB_056_prelude__ptr_alloc__17__17()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__17, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__17, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__17, tmp30__17) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__17) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$17(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__17()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__17, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__17, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__17) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__17] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$44$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4633)
-tmparg = S2Evar(tk(4633))
-tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__44__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret97__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp98__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp98__2, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret97__2, atspre_g1int_gt_int(arg0, tmp98__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret97__2) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__44__2] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$18(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__18, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__18, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__18) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__18, ATSLIB_056_prelude__ptr_alloc__17__18()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__18, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__18, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__18, tmp30__18) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__18) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$18(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__18()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__18, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__18, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__18) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__18] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
-*/
-/*
-local: 
-global: div_intinf0_intinf1$59$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__2(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret141__2, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp142__2) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
-*/
-ATSINSflab(__patsflab_div_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
-*/
-ATSINSmove_void(tmp142__2, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
-*/
-ATSINSmove(tmpret141__2, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret141__2) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__2] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$12$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret22__3) ;
-// ATStmpdec_void(tmp23__3) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp23__3, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret22__3, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret22__3) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4347(line=153, offs=5) -- 4464(line=156, offs=39)
-*/
-/*
-local: sum_loop_80$0(level=0)
-global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), bell_79$0(level=0), sum_loop_80$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-bell_79(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret193, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp198, atstkind_t0ype(atstype_bool)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4347(line=153, offs=5) -- 4464(line=156, offs=39)
-*/
-ATSINSflab(__patsflab_bell_79):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4390(line=154, offs=3) -- 4464(line=156, offs=39)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4407(line=155, offs=7) -- 4408(line=155, offs=8)
-*/
-ATSINSlab(__atstmplab36):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4360(line=153, offs=18) -- 4361(line=153, offs=19)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab38) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4408(line=155, offs=8) -- 4408(line=155, offs=8)
-*/
-ATSINSlab(__atstmplab37):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4412(line=155, offs=12) -- 4425(line=155, offs=25)
-*/
-ATSINSmove(tmpret193, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4433(line=156, offs=8) -- 4433(line=156, offs=8)
-*/
-ATSINSlab(__atstmplab38):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-guard:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4439(line=156, offs=14) -- 4445(line=156, offs=20)
-*/
-ATSINSmove(tmp198, ATSLIB_056_prelude__gte_g1int_int__83__1(arg0, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4439(line=156, offs=14) -- 4445(line=156, offs=20)
-*/
-ATSifnthen(ATSCKpat_bool(tmp198, ATSPMVbool_true())) { ATSINScaseof_fail("/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4432(line=156, offs=7) -- 4464(line=156, offs=39)") ; } ;
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4450(line=156, offs=25) -- 4464(line=156, offs=39)
-*/
-ATSINSmove(tmpret193, sum_loop_80(arg0, arg0)) ;
-
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret193) ;
-} /* end of [bell_79] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4470(line=158, offs=5) -- 4891(line=171, offs=8)
-*/
-/*
-local: choose_62$0(level=0), bell_79$0(level=0), sum_loop_80$0(level=0)
-global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), bell_79$0(level=0), sum_loop_80$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-sum_loop_80(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret203, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref208, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp209, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref210, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref211, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref212, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref217, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp220) ;
-// ATStmpdec_void(tmp223) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4470(line=158, offs=5) -- 4891(line=171, offs=8)
-*/
-ATSINSflab(__patsflab_sum_loop_80):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4566(line=159, offs=3) -- 4891(line=171, offs=8)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4583(line=160, offs=7) -- 4584(line=160, offs=8)
-*/
-ATSINSlab(__atstmplab39):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4536(line=158, offs=71) -- 4537(line=158, offs=72)
-*/
-ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab41) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4584(line=160, offs=8) -- 4584(line=160, offs=8)
-*/
-ATSINSlab(__atstmplab40):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4588(line=160, offs=12) -- 4601(line=160, offs=25)
-*/
-ATSINSmove(tmpret203, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4609(line=161, offs=8) -- 4609(line=161, offs=8)
-*/
-ATSINSlab(__atstmplab41):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4614(line=161, offs=13) -- 4891(line=171, offs=8)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4628(line=162, offs=11) -- 4629(line=162, offs=12)
-*/
-/*
-ATSINStmpdec(tmpref208) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4644(line=162, offs=27) -- 4649(line=162, offs=32)
-*/
-ATSINSmove(tmp209, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4632(line=162, offs=15) -- 4650(line=162, offs=33)
-*/
-ATSINSmove(tmpref208, sum_loop_80(arg0, tmp209)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4661(line=163, offs=11) -- 4662(line=163, offs=12)
-*/
-/*
-ATSINStmpdec(tmpref210) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4665(line=163, offs=15) -- 4671(line=163, offs=21)
-*/
-ATSINSmove(tmpref210, bell_79(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4683(line=164, offs=11) -- 4684(line=164, offs=12)
-*/
-/*
-ATSINStmpdec(tmpref211) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4687(line=164, offs=15) -- 4699(line=164, offs=27)
-*/
-ATSINSmove(tmpref211, choose_62(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4710(line=165, offs=11) -- 4717(line=165, offs=18)
-*/
-/*
-ATSINStmpdec(tmpref212) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4720(line=165, offs=21) -- 4745(line=165, offs=46)
-*/
-ATSINSmove(tmpref212, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__88__1(tmpref211, ATSPMVrefarg0(tmpref210))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4756(line=166, offs=11) -- 4759(line=166, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref217) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4762(line=166, offs=17) -- 4793(line=166, offs=48)
-*/
-ATSINSmove(tmpref217, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(tmpref212, ATSPMVrefarg0(tmpref208))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4808(line=167, offs=15) -- 4821(line=167, offs=28)
-*/
-ATSINSmove_void(tmp220, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(tmpref210)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4837(line=168, offs=15) -- 4850(line=168, offs=28)
-*/
-ATSINSmove_void(tmp223, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(tmpref208)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4865(line=170, offs=7) -- 4882(line=170, offs=24)
-*/
-ATSINSmove(tmpret203, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref217)) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4614(line=161, offs=13) -- 4891(line=171, offs=8)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret203) ;
-} /* end of [sum_loop_80] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$19(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__19, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__19, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__19) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__19, ATSLIB_056_prelude__ptr_alloc__17__19()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__19, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__19, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__19, tmp30__19) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__19) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$19(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__19()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__19, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__19, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__19) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__19] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$83$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4636)
-tmparg = S2Evar(tk(4636))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__83(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret199, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp200, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp200, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4636))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret199, PMVtmpltcst(g1int_gte<S2Evar(tk(4636))>)(arg0, tmp200)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret199) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__83] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$83$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4636)
-tmparg = S2Evar(tk(4636))
-tmpsub = Some(tk(4636) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__83__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret199__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp200__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp200__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret199__1, atspre_g1int_gte_int(arg0, tmp200__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret199__1) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__83__1] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$20(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__20, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__20, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__20) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__20, ATSLIB_056_prelude__ptr_alloc__17__20()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__20, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__20, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__20, tmp30__20) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__20) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$20(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__20()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__20, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__20, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__20) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__20] */
-
-#if(0)
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_intinf1$88$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__88(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret213, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp214) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
-*/
-ATSINSmove_void(tmp214, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
-*/
-ATSINSmove(tmpret213, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret213) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__88] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
-*/
-/*
-local: 
-global: mul_intinf0_intinf1$88$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__88__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret213__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp214__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
-*/
-ATSINSflab(__patsflab_mul_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
-*/
-ATSINSmove_void(tmp214__1, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
-*/
-ATSINSmove(tmpret213__1, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret213__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__88__1] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
-*/
-/*
-local: 
-global: add_intinf0_intinf1$6$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret8__3, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp9__3) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
-*/
-ATSINSflab(__patsflab_add_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
-*/
-ATSINSmove_void(tmp9__3, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
-*/
-ATSINSmove(tmpret8__3, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret8__3) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$12$4(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret22__4) ;
-// ATStmpdec_void(tmp23__4) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp23__4, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret22__4, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret22__4) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$12$5(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret22__5) ;
-// ATStmpdec_void(tmp23__5) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp23__5, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret22__5, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret22__5) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4896(line=173, offs=4) -- 5325(line=190, offs=6)
-*/
-/*
-local: choose_62$0(level=0)
-global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), max_regions_93$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-max_regions_93(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret226, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmpref246, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp247) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4896(line=173, offs=4) -- 5325(line=190, offs=6)
-*/
-ATSINSflab(__patsflab_max_regions_93):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4941(line=174, offs=3) -- 5325(line=190, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5275(line=186, offs=9) -- 5276(line=186, offs=10)
-*/
-/*
-ATSINStmpdec(tmpref246) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5298(line=187, offs=14) -- 5308(line=187, offs=24)
-*/
-ATSINSmove_void(tmp247, loop_94(arg0, ATSPMVi0nt(4), ATSPMVrefarg1(ATSPMVptrof(tmpref246)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5318(line=189, offs=5) -- 5319(line=189, offs=6)
-*/
-ATSINSmove(tmpret226, tmpref246) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4941(line=174, offs=3) -- 5325(line=190, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret226) ;
-} /* end of [max_regions_93] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4953(line=175, offs=9) -- 5261(line=184, offs=15)
-*/
-/*
-local: choose_62$0(level=0), loop_94$0(level=1)
-global: choose_62$0(level=0), loop_94$0(level=1)
-local: n$5144(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: n$5144(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atsvoid_t0ype
-loop_94(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret227) ;
-ATStmpdec(tmp228, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp233, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp238) ;
-ATStmpdec(tmp239, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref240, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp241, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4953(line=175, offs=9) -- 5261(line=184, offs=15)
-*/
-ATSINSflab(__patsflab_loop_94):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5029(line=176, offs=10) -- 5034(line=176, offs=15)
-*/
-ATSINSmove(tmp228, ATSLIB_056_prelude__eq_g1int_int__95__1(arg0, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5026(line=176, offs=7) -- 5261(line=184, offs=15)
-*/
-ATSif(
-tmp228
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5055(line=177, offs=16) -- 5068(line=177, offs=29)
-*/
-ATSINSmove(tmp233, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__21(ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5048(line=177, offs=9) -- 5068(line=177, offs=29)
-*/
-ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp233) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5048(line=177, offs=9) -- 5068(line=177, offs=29)
-*/
-ATSINSmove_void(tmpret227, ATSPMVempty()) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5088(line=179, offs=9) -- 5261(line=184, offs=15)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5116(line=180, offs=25) -- 5121(line=180, offs=30)
-*/
-ATSINSmove(tmp239, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5111(line=180, offs=20) -- 5127(line=180, offs=36)
-*/
-ATSINSmove_void(tmp238, loop_94(env0, tmp239, ATSPMVrefarg1(arg1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5142(line=181, offs=15) -- 5143(line=181, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref240) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5146(line=181, offs=19) -- 5158(line=181, offs=31)
-*/
-ATSINSmove(tmpref240, choose_62(env0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5185(line=182, offs=27) -- 5212(line=182, offs=54)
-*/
-ATSINSmove(tmp241, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__4(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVrefarg0(tmpref240))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5178(line=182, offs=20) -- 5212(line=182, offs=54)
-*/
-ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp241) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5232(line=183, offs=20) -- 5245(line=183, offs=33)
-*/
-ATSINSmove_void(tmpret227, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(tmpref240)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5088(line=179, offs=9) -- 5261(line=184, offs=15)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn_void(tmpret227) ;
-} /* end of [loop_94] */
-
-#if(0)
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
-*/
-/*
-local: 
-global: eq_g1int_int$95$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4639)
-tmparg = S2Evar(tk(4639))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__95(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret229, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp230, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
-*/
-ATSINSmove(tmp230, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4639))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
-*/
-ATSINSmove(tmpret229, PMVtmpltcst(g1int_eq<S2Evar(tk(4639))>)(arg0, tmp230)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret229) ;
-} /* end of [ATSLIB_056_prelude__eq_g1int_int__95] */
-#endif // end of [TEMPLATE]
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
-*/
-/*
-local: 
-global: eq_g1int_int$95$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4639)
-tmparg = S2Evar(tk(4639))
-tmpsub = Some(tk(4639) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__95__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret229__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp230__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g1int_int):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
-*/
-ATSINSmove(tmp230__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
-*/
-ATSINSmove(tmpret229__1, atspre_g1int_eq_int(arg0, tmp230__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret229__1) ;
-} /* end of [ATSLIB_056_prelude__eq_g1int_int__95__1] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$15$21(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__21(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret29__21, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp30__21, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp31__21) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp30__21, ATSLIB_056_prelude__ptr_alloc__17__21()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp31__21, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__21, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret29__21, tmp30__21) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret29__21) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__21] */
-
-/*
-/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$17$21(level=3)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4736)
-tmparg = S2Evar(a(4736))
-tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__17__21()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret35__21, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret35__21, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret35__21) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__17__21] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
-*/
-/*
-local: 
-global: add_intinf0_intinf1$6$4(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__4(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret8__4, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp9__4) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
-*/
-ATSINSflab(__patsflab_add_intinf0_intinf1):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
-*/
-ATSINSmove_void(tmp9__4, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
-*/
-ATSINSmove(tmpret8__4, arg0) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret8__4) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__4] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
-*/
-/*
-local: 
-global: intinf_free$12$6(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atsvoid_t0ype
-ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(atstkind_type(atstype_ptrk) arg0)
-{
-/* tmpvardeclst(beg) */
-// ATStmpdec_void(tmpret22__6) ;
-// ATStmpdec_void(tmp23__6) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
-*/
-ATSINSflab(__patsflab_intinf_free):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/* (*nothing*) */
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
-*/
-ATSINSmove_void(tmp23__6, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
-*/
-ATSINSmove_void(tmpret22__6, atspre_ptr_free(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn_void(tmpret22__6) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5348(line=192, offs=22) -- 5371(line=193, offs=15)
-*/
-/*
-local: choose_62$0(level=0)
-global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), choose_ats$102$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_type(atstype_ptrk)
-choose_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret248, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5337(line=192, offs=11) -- 5371(line=193, offs=15)
-*/
-ATSINSflab(__patsflab_choose_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5359(line=193, offs=3) -- 5371(line=193, offs=15)
-*/
-ATSINSmove(tmpret248, choose_62(arg0, arg1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret248) ;
-} /* end of [choose_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5404(line=195, offs=32) -- 5419(line=196, offs=10)
-*/
-/*
-local: dfact_41$0(level=0)
-global: dfact_ref_35$0(level=0), dfact_41$0(level=0), double_factorial_ats$103$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_type(atstype_ptrk)
-double_factorial_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret249, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5383(line=195, offs=11) -- 5420(line=196, offs=11)
-*/
-ATSINSflab(__patsflab_double_factorial_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5412(line=196, offs=3) -- 5419(line=196, offs=10)
-*/
-ATSINSmove(tmpret249, dfact_41(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret249) ;
-} /* end of [double_factorial_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5446(line=198, offs=25) -- 5460(line=199, offs=9)
-*/
-/*
-local: fact_34$0(level=0)
-global: fact_ref_28$0(level=0), fact_34$0(level=0), factorial_ats$104$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_type(atstype_ptrk)
-factorial_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret250, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5432(line=198, offs=11) -- 5461(line=199, offs=10)
-*/
-ATSINSflab(__patsflab_factorial_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5454(line=199, offs=3) -- 5460(line=199, offs=9)
-*/
-ATSINSmove(tmpret250, fact_34(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret250) ;
-} /* end of [factorial_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5485(line=201, offs=23) -- 5502(line=202, offs=12)
-*/
-/*
-local: catalan_50$0(level=0)
-global: fact_ref_28$0(level=0), fact_34$0(level=0), catalan_50$0(level=0), catalan_ats$105$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_type(atstype_ptrk)
-catalan_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret251, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5473(line=201, offs=11) -- 5503(line=202, offs=13)
-*/
-ATSINSflab(__patsflab_catalan_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5493(line=202, offs=3) -- 5502(line=202, offs=12)
-*/
-ATSINSmove(tmpret251, catalan_50(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret251) ;
-} /* end of [catalan_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5532(line=204, offs=28) -- 5554(line=205, offs=17)
-*/
-/*
-local: derangements_0$0(level=0)
-global: derangements_0$0(level=0), derangements_ats$106$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_type(atstype_ptrk)
-derangements_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret252, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5515(line=204, offs=11) -- 5555(line=205, offs=18)
-*/
-ATSINSflab(__patsflab_derangements_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5540(line=205, offs=3) -- 5554(line=205, offs=17)
-*/
-ATSINSmove(tmpret252, derangements_0(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret252) ;
-} /* end of [derangements_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5584(line=207, offs=28) -- 5613(line=208, offs=21)
-*/
-/*
-local: permutations_42$0(level=0)
-global: permutations_42$0(level=0), permutations_ats$107$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_type(atstype_ptrk)
-permutations_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret253, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5567(line=207, offs=11) -- 5613(line=208, offs=21)
-*/
-ATSINSflab(__patsflab_permutations_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5595(line=208, offs=3) -- 5613(line=208, offs=21)
-*/
-ATSINSmove(tmpret253, permutations_42(arg0, arg1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret253) ;
-} /* end of [permutations_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5641(line=210, offs=27) -- 5662(line=211, offs=16)
-*/
-/*
-local: max_regions_93$0(level=0)
-global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), max_regions_93$0(level=0), max_regions_ats$108$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_type(atstype_ptrk)
-max_regions_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret254, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5625(line=210, offs=11) -- 5663(line=211, offs=17)
-*/
-ATSINSflab(__patsflab_max_regions_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5649(line=211, offs=3) -- 5662(line=211, offs=16)
-*/
-ATSINSmove(tmpret254, max_regions_93(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret254) ;
-} /* end of [max_regions_ats] */
+ATSdyncst_mac(atspre_g1int_eq_int)
+ATSdyncst_mac(atspre_g0int2int_int_int)
+ATSdyncst_mac(atspre_g0int_eq_int)
+ATSdyncst_mac(atspre_g0int_mod_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_neg1)
+ATSdyncst_mac(atscntrb_gmp_mpz_init)
+ATSdyncst_mac(atscntrb_gmp_mpz_ui_pow_ui)
+ATSdyncst_mac(atspre_g1int2uint_int_ulint)
+ATSdyncst_mac(atscntrb_gmp_mpz_mul2_mpz)
+/*
+dyncstlst-declaration(end)
+*/
+/*
+dynvalist-implementation(beg)
+*/
+/*
+dynvalist-implementation(end)
+*/
+/*
+exnconlst-declaration(beg)
+*/
+#ifndef _ATS_CCOMP_EXCEPTION_NONE_
+ATSextern()
+atsvoid_t0ype
+the_atsexncon_initize
+(
+  atstype_exnconptr d2c, atstype_string exnmsg
+) ;
+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
+/*
+exnconlst-declaration(end)
+*/
+/*
+extypelst-declaration(beg)
+*/
+/*
+extypelst-declaration(end)
+*/
+/*
+assumelst-declaration(beg)
+*/
+#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
+#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
+/*
+assumelst-declaration(end)
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+derangements_0(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+loop_1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__2(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__2__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12(atstkind_type(atstype_ptrk)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17() ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__1() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__2() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__3() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__4() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__5() ;
+
+ATSstatic()
+atsvoid_t0ype
+fact_ref_28(atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__6() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__7() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+fact_34(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atsvoid_t0ype
+dfact_ref_35(atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__8() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__9() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+dfact_41(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+permutations_42(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atsvoid_t0ype
+loop_43(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__44(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__44__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__10() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+catalan_50(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+numerator_loop_51(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__11() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__12() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__13() ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+choose_62(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atsvoid_t0ype
+numerator_loop_63(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__14() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__15() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__16() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__17() ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__44__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__18() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__2(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+stirling2_79(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__80(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__80__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__80__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__19() ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__44__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__20() ;
+
+ATSstatic()
+atsvoid_t0ype
+top_loop_89(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__21(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__21() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+negate_if_odd_92(atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__93(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__93__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__neg_intinf0__98(atstkind_type(atstype_ptrk)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__neg_intinf0__98__1(atstkind_type(atstype_ptrk)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__pow_int_int__100(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__pow_int_int__100__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__22() ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__103(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__103__1(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__3(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+bell_110(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atsvoid_t0ype
+sum_loop_111(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__4(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__7(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__22(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__23() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+max_regions_116(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atsvoid_t0ype
+loop_117(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__80__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__23(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__24() ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__5(atstkind_type(atstype_ptrk), atsrefarg0_type(atstkind_type(atstype_ptrk))) ;
+
+ATSstatic()
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__8(atstkind_type(atstype_ptrk)) ;
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+choose_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+double_factorial_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+factorial_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+catalan_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+derangements_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+permutations_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+stirling2_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+max_regions_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+bell_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 494(line=14, offs=4) -- 1192(line=38, offs=6)
+*/
+/*
+local: 
+global: derangements_0$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+derangements_0(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp45, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp46, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp51, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 494(line=14, offs=4) -- 1192(line=38, offs=6)
+*/
+ATSINSflab(__patsflab_derangements_0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 547(line=15, offs=3) -- 1192(line=38, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1034(line=33, offs=5) -- 1186(line=37, offs=59)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1053(line=34, offs=9) -- 1054(line=34, offs=10)
+*/
+ATSINSlab(__atstmplab0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 522(line=14, offs=32) -- 523(line=14, offs=33)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1054(line=34, offs=10) -- 1054(line=34, offs=10)
+*/
+ATSINSlab(__atstmplab1):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1058(line=34, offs=14) -- 1071(line=34, offs=27)
+*/
+ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1080(line=35, offs=9) -- 1081(line=35, offs=10)
+*/
+ATSINSlab(__atstmplab2):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 522(line=14, offs=32) -- 523(line=14, offs=33)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab4) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1081(line=35, offs=10) -- 1081(line=35, offs=10)
+*/
+ATSINSlab(__atstmplab3):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1086(line=35, offs=15) -- 1099(line=35, offs=28)
+*/
+ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(ATSPMVi0nt(0))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1108(line=36, offs=9) -- 1109(line=36, offs=10)
+*/
+ATSINSlab(__atstmplab4):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 522(line=14, offs=32) -- 523(line=14, offs=33)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab6) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1109(line=36, offs=10) -- 1109(line=36, offs=10)
+*/
+ATSINSlab(__atstmplab5):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1114(line=36, offs=15) -- 1127(line=36, offs=28)
+*/
+ATSINSmove(tmpret0, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1137(line=37, offs=10) -- 1137(line=37, offs=10)
+*/
+ATSINSlab(__atstmplab6):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1147(line=37, offs=20) -- 1152(line=37, offs=25)
+*/
+ATSINSmove(tmp45, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1157(line=37, offs=30) -- 1170(line=37, offs=43)
+*/
+ATSINSmove(tmp46, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1172(line=37, offs=45) -- 1185(line=37, offs=58)
+*/
+ATSINSmove(tmp51, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1142(line=37, offs=15) -- 1186(line=37, offs=59)
+*/
+ATSINSmove(tmpret0, loop_1(tmp45, ATSPMVi0nt(2), tmp46, tmp51)) ;
+
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 547(line=15, offs=3) -- 1192(line=38, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret0) ;
+} /* end of [derangements_0] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 559(line=16, offs=9) -- 1024(line=31, offs=12)
+*/
+/*
+local: loop_1$0(level=1)
+global: loop_1$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+loop_1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_type(atstype_ptrk) arg3)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(apy3, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpret1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref7, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref12, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp17, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref18, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp21) ;
+ATStmpdec(tmpref26, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 559(line=16, offs=9) -- 1024(line=31, offs=12)
+*/
+ATSINSflab(__patsflab_loop_1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 683(line=17, offs=10) -- 688(line=17, offs=15)
+*/
+ATSINSmove(tmp2, ATSLIB_056_prelude__lt_g1int_int__2__1(arg1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 680(line=17, offs=7) -- 1024(line=31, offs=12)
+*/
+ATSif(
+tmp2
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 702(line=18, offs=9) -- 846(line=23, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 720(line=19, offs=15) -- 721(line=19, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref7) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 724(line=19, offs=19) -- 751(line=19, offs=46)
+*/
+ATSINSmove(tmpref7, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(arg3, ATSPMVrefarg0(arg2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 766(line=20, offs=15) -- 767(line=20, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref12) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 770(line=20, offs=19) -- 791(line=20, offs=40)
+*/
+ATSINSmove(tmpref12, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(tmpref7, arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 821(line=22, offs=19) -- 826(line=22, offs=24)
+*/
+ATSINSmove(tmp17, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 813(line=22, offs=11) -- 834(line=22, offs=32)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, arg0) ;
+ATSINSmove_tlcal(apy1, tmp17) ;
+ATSINSmove_tlcal(apy2, tmpref12) ;
+ATSINSmove_tlcal(apy3, arg2) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSargmove_tlcal(arg2, apy2) ;
+ATSINSargmove_tlcal(arg3, apy3) ;
+ATSINSfgoto(__patsflab_loop_1) ;
+ATStailcal_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 702(line=18, offs=9) -- 846(line=23, offs=12)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 866(line=25, offs=9) -- 1024(line=31, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 884(line=26, offs=15) -- 885(line=26, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref18) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 888(line=26, offs=19) -- 915(line=26, offs=46)
+*/
+ATSINSmove(tmpref18, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(arg3, ATSPMVrefarg0(arg2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 934(line=27, offs=19) -- 948(line=27, offs=33)
+*/
+ATSINSmove_void(tmp21, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(arg2)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 964(line=28, offs=15) -- 965(line=28, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref26) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 968(line=28, offs=19) -- 989(line=28, offs=40)
+*/
+ATSINSmove(tmpref26, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(tmpref18, arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1011(line=30, offs=11) -- 1012(line=30, offs=12)
+*/
+ATSINSmove(tmpret1, tmpref26) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 866(line=25, offs=9) -- 1024(line=31, offs=12)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret1) ;
+} /* end of [loop_1] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
+*/
+/*
+local: 
+global: lt_g1int_int$2$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4627)
+tmparg = S2Evar(tk(4627))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__2(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret3, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp4, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
+*/
+ATSINSmove(tmp4, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4627))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
+*/
+ATSINSmove(tmpret3, PMVtmpltcst(g1int_lt<S2Evar(tk(4627))>)(arg0, tmp4)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret3) ;
+} /* end of [ATSLIB_056_prelude__lt_g1int_int__2] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
+*/
+/*
+local: 
+global: lt_g1int_int$2$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4627)
+tmparg = S2Evar(tk(4627))
+tmpsub = Some(tk(4627) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__2__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret3__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp4__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
+*/
+ATSINSmove(tmp4__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
+*/
+ATSINSmove(tmpret3__1, atspre_g1int_lt_int(arg0, tmp4__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret3__1) ;
+} /* end of [ATSLIB_056_prelude__lt_g1int_int__2__1] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
+*/
+/*
+local: 
+global: add_intinf0_intinf1$6$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret8, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp9) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
+*/
+ATSINSflab(__patsflab_add_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
+*/
+ATSINSmove_void(tmp9, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
+*/
+ATSINSmove(tmpret8, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret8) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
+*/
+/*
+local: 
+global: add_intinf0_intinf1$6$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret8__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp9__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
+*/
+ATSINSflab(__patsflab_add_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
+*/
+ATSINSmove_void(tmp9__1, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
+*/
+ATSINSmove(tmpret8__1, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret8__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__1] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14__1, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13__1, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
+*/
+/*
+local: 
+global: add_intinf0_intinf1$6$2(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret8__2, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp9__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
+*/
+ATSINSflab(__patsflab_add_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
+*/
+ATSINSmove_void(tmp9__2, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
+*/
+ATSINSmove(tmpret8__2, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret8__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__2] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22) ;
+// ATStmpdec_void(tmp23) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22__1) ;
+// ATStmpdec_void(tmp23__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23__1, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22__1, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$2(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13__2, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14__2, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13__2, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__2] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29, tmp30) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__1, ATSLIB_056_prelude__ptr_alloc__17__1()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__1, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__1, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__1, tmp30__1) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__1] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35, atspre_ptr_alloc_tsz(ATSPMVsizeof(atstyvar_type(a)))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__1()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__1, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__1, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__1) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__2, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__2, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__2, ATSLIB_056_prelude__ptr_alloc__17__2()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__2, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__2, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__2, tmp30__2) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__2] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$2(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__2()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__2, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__2, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__2) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__2] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$3(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__3, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__3, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__3) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__3, ATSLIB_056_prelude__ptr_alloc__17__3()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__3, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__3, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__3, tmp30__3) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__3) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__3] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$3(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__3()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__3, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__3, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__3) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__3] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$4(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__4, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__4, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__4) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__4, ATSLIB_056_prelude__ptr_alloc__17__4()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__4, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__4, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__4, tmp30__4) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__4) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__4] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$4(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__4()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__4, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__4, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__4) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__4] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$5(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__5, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__5, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__5) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__5, ATSLIB_056_prelude__ptr_alloc__17__5()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__5, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__5, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__5, tmp30__5) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__5) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__5] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$5(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__5()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__5, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__5, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__5) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__5] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1198(line=40, offs=5) -- 1476(line=48, offs=8)
+*/
+/*
+local: fact_ref_28$0(level=0)
+global: fact_ref_28$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atsvoid_t0ype
+fact_ref_28(atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret56) ;
+ATStmpdec(tmp57, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp62, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp67) ;
+ATStmpdec(tmp68, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp69, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1198(line=40, offs=5) -- 1476(line=48, offs=8)
+*/
+ATSINSflab(__patsflab_fact_ref_28):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1283(line=41, offs=3) -- 1476(line=48, offs=8)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1300(line=42, offs=7) -- 1301(line=42, offs=8)
+*/
+ATSINSlab(__atstmplab7):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1222(line=40, offs=29) -- 1223(line=40, offs=30)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab9) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1301(line=42, offs=8) -- 1301(line=42, offs=8)
+*/
+ATSINSlab(__atstmplab8):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1312(line=42, offs=19) -- 1325(line=42, offs=32)
+*/
+ATSINSmove(tmp57, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1305(line=42, offs=12) -- 1325(line=42, offs=32)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp57) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1305(line=42, offs=12) -- 1325(line=42, offs=32)
+*/
+ATSINSmove_void(tmpret56, ATSPMVempty()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1332(line=43, offs=7) -- 1333(line=43, offs=8)
+*/
+ATSINSlab(__atstmplab9):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1222(line=40, offs=29) -- 1223(line=40, offs=30)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab11) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1333(line=43, offs=8) -- 1333(line=43, offs=8)
+*/
+ATSINSlab(__atstmplab10):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1344(line=43, offs=19) -- 1357(line=43, offs=32)
+*/
+ATSINSmove(tmp62, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1337(line=43, offs=12) -- 1357(line=43, offs=32)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp62) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1337(line=43, offs=12) -- 1357(line=43, offs=32)
+*/
+ATSINSmove_void(tmpret56, ATSPMVempty()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1365(line=44, offs=8) -- 1365(line=44, offs=8)
+*/
+ATSINSlab(__atstmplab11):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1370(line=44, offs=13) -- 1476(line=48, offs=8)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1398(line=45, offs=25) -- 1403(line=45, offs=30)
+*/
+ATSINSmove(tmp68, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1389(line=45, offs=16) -- 1409(line=45, offs=36)
+*/
+ATSINSmove_void(tmp67, fact_ref_28(tmp68, ATSPMVrefarg1(arg1))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1444(line=47, offs=28) -- 1467(line=47, offs=51)
+*/
+ATSINSmove(tmp69, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(ATSderef(arg1, atstkind_type(atstype_ptrk)), arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1423(line=47, offs=7) -- 1468(line=47, offs=52)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVcastfn(castvwtp0, atstype_boxed, tmp69)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1423(line=47, offs=7) -- 1468(line=47, offs=52)
+*/
+ATSINSmove_void(tmpret56, ATSPMVempty()) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1370(line=44, offs=13) -- 1476(line=48, offs=8)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn_void(tmpret56) ;
+} /* end of [fact_ref_28] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$6(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__6, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__6, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__6) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__6, ATSLIB_056_prelude__ptr_alloc__17__6()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__6, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__6, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__6, tmp30__6) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__6) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__6] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$6(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__6()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__6, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__6, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__6) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__6] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$7(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__7, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__7, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__7) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__7, ATSLIB_056_prelude__ptr_alloc__17__7()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__7, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__7, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__7, tmp30__7) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__7) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__7] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$7(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__7()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__7, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__7, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__7) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__7] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$3(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13__3, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14__3) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14__3, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13__3, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13__3) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__3] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1481(line=50, offs=4) -- 1610(line=56, offs=6)
+*/
+/*
+local: fact_ref_28$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+fact_34(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret72, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref73, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp74) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1481(line=50, offs=4) -- 1610(line=56, offs=6)
+*/
+ATSINSflab(__patsflab_fact_34):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1532(line=51, offs=3) -- 1610(line=56, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1544(line=52, offs=9) -- 1547(line=52, offs=12)
+*/
+/*
+ATSINStmpdec(tmpref73) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1575(line=53, offs=14) -- 1591(line=53, offs=30)
+*/
+ATSINSmove_void(tmp74, fact_ref_28(arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref73)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1601(line=55, offs=5) -- 1604(line=55, offs=8)
+*/
+ATSINSmove(tmpret72, tmpref73) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1532(line=51, offs=3) -- 1610(line=56, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret72) ;
+} /* end of [fact_34] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1686(line=59, offs=5) -- 1955(line=68, offs=8)
+*/
+/*
+local: dfact_ref_35$0(level=0)
+global: dfact_ref_35$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atsvoid_t0ype
+dfact_ref_35(atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret75) ;
+ATStmpdec(tmp76, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp81, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp86) ;
+ATStmpdec(tmp87, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref88, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1686(line=59, offs=5) -- 1955(line=68, offs=8)
+*/
+ATSINSflab(__patsflab_dfact_ref_35):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1760(line=60, offs=3) -- 1955(line=68, offs=8)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1777(line=61, offs=7) -- 1778(line=61, offs=8)
+*/
+ATSINSlab(__atstmplab12):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1711(line=59, offs=30) -- 1712(line=59, offs=31)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab14) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1778(line=61, offs=8) -- 1778(line=61, offs=8)
+*/
+ATSINSlab(__atstmplab13):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1789(line=61, offs=19) -- 1802(line=61, offs=32)
+*/
+ATSINSmove(tmp76, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1782(line=61, offs=12) -- 1802(line=61, offs=32)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp76) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1782(line=61, offs=12) -- 1802(line=61, offs=32)
+*/
+ATSINSmove_void(tmpret75, ATSPMVempty()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1809(line=62, offs=7) -- 1810(line=62, offs=8)
+*/
+ATSINSlab(__atstmplab14):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1711(line=59, offs=30) -- 1712(line=59, offs=31)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab16) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1810(line=62, offs=8) -- 1810(line=62, offs=8)
+*/
+ATSINSlab(__atstmplab15):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1821(line=62, offs=19) -- 1834(line=62, offs=32)
+*/
+ATSINSmove(tmp81, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1814(line=62, offs=12) -- 1834(line=62, offs=32)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp81) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1814(line=62, offs=12) -- 1834(line=62, offs=32)
+*/
+ATSINSmove_void(tmpret75, ATSPMVempty()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1842(line=63, offs=8) -- 1842(line=63, offs=8)
+*/
+ATSINSlab(__atstmplab16):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1847(line=63, offs=13) -- 1955(line=68, offs=8)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1876(line=64, offs=26) -- 1881(line=64, offs=31)
+*/
+ATSINSmove(tmp87, atspre_g1int_sub_int(arg0, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1866(line=64, offs=16) -- 1887(line=64, offs=37)
+*/
+ATSINSmove_void(tmp86, dfact_ref_35(tmp87, ATSPMVrefarg1(arg1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1898(line=65, offs=11) -- 1899(line=65, offs=12)
+*/
+/*
+ATSINStmpdec(tmpref88) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1902(line=65, offs=15) -- 1925(line=65, offs=38)
+*/
+ATSINSmove(tmpref88, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(ATSderef(arg1, atstkind_type(atstype_ptrk)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1939(line=67, offs=7) -- 1947(line=67, offs=15)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmpref88) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1939(line=67, offs=7) -- 1947(line=67, offs=15)
+*/
+ATSINSmove_void(tmpret75, ATSPMVempty()) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 1847(line=63, offs=13) -- 1955(line=68, offs=8)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn_void(tmpret75) ;
+} /* end of [dfact_ref_35] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$8(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__8, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__8, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__8) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__8, ATSLIB_056_prelude__ptr_alloc__17__8()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__8, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__8, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__8, tmp30__8) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__8) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__8] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$8(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__8()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__8, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__8, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__8) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__8] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$9(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__9, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__9, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__9) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__9, ATSLIB_056_prelude__ptr_alloc__17__9()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__9, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__9, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__9, tmp30__9) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__9) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__9] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$9(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__9()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__9, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__9, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__9) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__9] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$4(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13__4, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14__4) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14__4, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13__4, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13__4) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2031(line=71, offs=5) -- 2156(line=77, offs=6)
+*/
+/*
+local: dfact_ref_35$0(level=0)
+global: dfact_ref_35$0(level=0), dfact_41$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+dfact_41(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret91, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref92, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp93) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2031(line=71, offs=5) -- 2156(line=77, offs=6)
+*/
+ATSINSflab(__patsflab_dfact_41):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2077(line=72, offs=3) -- 2156(line=77, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2089(line=73, offs=9) -- 2092(line=73, offs=12)
+*/
+/*
+ATSINStmpdec(tmpref92) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2120(line=74, offs=14) -- 2137(line=74, offs=31)
+*/
+ATSINSmove_void(tmp93, dfact_ref_35(arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref92)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2147(line=76, offs=5) -- 2150(line=76, offs=8)
+*/
+ATSINSmove(tmpret91, tmpref92) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2077(line=72, offs=3) -- 2156(line=77, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret91) ;
+} /* end of [dfact_41] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2219(line=80, offs=4) -- 2607(line=92, offs=6)
+*/
+/*
+local: 
+global: permutations_42$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+permutations_42(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret94, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref115, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp116) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2219(line=80, offs=4) -- 2607(line=92, offs=6)
+*/
+ATSINSflab(__patsflab_permutations_42):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2306(line=81, offs=3) -- 2607(line=92, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2551(line=88, offs=9) -- 2554(line=88, offs=12)
+*/
+/*
+ATSINStmpdec(tmpref115) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2576(line=89, offs=14) -- 2588(line=89, offs=26)
+*/
+ATSINSmove_void(tmp116, loop_43(arg0, arg1, arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref115)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2598(line=91, offs=5) -- 2601(line=91, offs=8)
+*/
+ATSINSmove(tmpret94, tmpref115) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2306(line=81, offs=3) -- 2607(line=92, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret94) ;
+} /* end of [permutations_42] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2318(line=82, offs=9) -- 2537(line=86, offs=37)
+*/
+/*
+local: loop_43$0(level=1)
+global: loop_43$0(level=1)
+local: n$5101(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), k$5102(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: n$5101(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), k$5102(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atsvoid_t0ype
+loop_43(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret95) ;
+ATStmpdec(tmp96, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp101, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp102, atstkind_t0ype(atstype_int)) ;
+// ATStmpdec_void(tmp103) ;
+ATStmpdec(tmp104, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp105, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp108, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp113, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp114, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2318(line=82, offs=9) -- 2537(line=86, offs=37)
+*/
+ATSINSflab(__patsflab_loop_43):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2415(line=83, offs=14) -- 2420(line=83, offs=19)
+*/
+ATSINSmove(tmp102, atspre_g1int_sub_int(env0, env1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2415(line=83, offs=14) -- 2424(line=83, offs=23)
+*/
+ATSINSmove(tmp101, atspre_g1int_add_int(tmp102, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2411(line=83, offs=10) -- 2424(line=83, offs=23)
+*/
+ATSINSmove(tmp96, ATSLIB_056_prelude__gt_g1int_int__44__1(arg0, tmp101)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2408(line=83, offs=7) -- 2537(line=86, offs=37)
+*/
+ATSif(
+tmp96
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2444(line=84, offs=15) -- 2449(line=84, offs=20)
+*/
+ATSINSmove(tmp104, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2439(line=84, offs=10) -- 2455(line=84, offs=26)
+*/
+ATSINSmove_void(tmp103, loop_43(env0, env1, tmp104, ATSPMVrefarg1(arg1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2465(line=84, offs=36) -- 2488(line=84, offs=59)
+*/
+ATSINSmove(tmp105, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(ATSderef(arg1, atstkind_type(atstype_ptrk)), arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2458(line=84, offs=29) -- 2488(line=84, offs=59)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp105) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2458(line=84, offs=29) -- 2488(line=84, offs=59)
+*/
+ATSINSmove_void(tmpret95, ATSPMVempty()) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2516(line=86, offs=16) -- 2537(line=86, offs=37)
+*/
+ATSINSmove(tmp114, atspre_g1int_sub_int(env0, env1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2516(line=86, offs=16) -- 2537(line=86, offs=37)
+*/
+ATSINSmove(tmp113, atspre_g1int_add_int(tmp114, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2516(line=86, offs=16) -- 2537(line=86, offs=37)
+*/
+ATSINSmove(tmp108, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(tmp113)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2509(line=86, offs=9) -- 2537(line=86, offs=37)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp108) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2509(line=86, offs=9) -- 2537(line=86, offs=37)
+*/
+ATSINSmove_void(tmpret95, ATSPMVempty()) ;
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn_void(tmpret95) ;
+} /* end of [loop_43] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$44$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__44(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret97, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp98, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp98, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4633))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret97, PMVtmpltcst(g1int_gt<S2Evar(tk(4633))>)(arg0, tmp98)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret97) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__44] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$44$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__44__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret97__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp98__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp98__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret97__1, atspre_g1int_gt_int(arg0, tmp98__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret97__1) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__44__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$5(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13__5, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14__5) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14__5, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13__5, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13__5) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$10(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__10, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__10, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__10) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__10, ATSLIB_056_prelude__ptr_alloc__17__10()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__10, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__10, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__10, tmp30__10) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__10) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$10(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__10()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__10, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__10, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__10) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__10] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2659(line=95, offs=4) -- 3258(line=118, offs=6)
+*/
+/*
+local: fact_34$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), catalan_50$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+catalan_50(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret117, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref138, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref139, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref140, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp145) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2659(line=95, offs=4) -- 3258(line=118, offs=6)
+*/
+ATSINSflab(__patsflab_catalan_50):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2700(line=96, offs=3) -- 3258(line=118, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2995(line=107, offs=5) -- 3252(line=117, offs=10)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3014(line=108, offs=9) -- 3015(line=108, offs=10)
+*/
+ATSINSlab(__atstmplab20):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2675(line=95, offs=20) -- 2676(line=95, offs=21)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab22) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3015(line=108, offs=10) -- 3015(line=108, offs=10)
+*/
+ATSINSlab(__atstmplab21):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3019(line=108, offs=14) -- 3032(line=108, offs=27)
+*/
+ATSINSmove(tmpret117, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3041(line=109, offs=9) -- 3042(line=109, offs=10)
+*/
+ATSINSlab(__atstmplab22):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2675(line=95, offs=20) -- 2676(line=95, offs=21)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab24) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3042(line=109, offs=10) -- 3042(line=109, offs=10)
+*/
+ATSINSlab(__atstmplab23):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3046(line=109, offs=14) -- 3059(line=109, offs=27)
+*/
+ATSINSmove(tmpret117, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3069(line=110, offs=10) -- 3069(line=110, offs=10)
+*/
+ATSINSlab(__atstmplab24):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3074(line=110, offs=15) -- 3252(line=117, offs=10)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3090(line=111, offs=13) -- 3091(line=111, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref138) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3094(line=111, offs=17) -- 3110(line=111, offs=33)
+*/
+ATSINSmove(tmpref138, numerator_loop_51(arg0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3124(line=112, offs=13) -- 3125(line=112, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref139) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3128(line=112, offs=17) -- 3134(line=112, offs=23)
+*/
+ATSINSmove(tmpref139, fact_34(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3148(line=113, offs=13) -- 3149(line=113, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref140) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3152(line=113, offs=17) -- 3177(line=113, offs=42)
+*/
+ATSINSmove(tmpref140, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__1(tmpref138, ATSPMVrefarg0(tmpref139))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3194(line=114, offs=17) -- 3207(line=114, offs=30)
+*/
+ATSINSmove_void(tmp145, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(tmpref139)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3226(line=116, offs=9) -- 3241(line=116, offs=24)
+*/
+ATSINSmove(tmpret117, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref140)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3074(line=110, offs=15) -- 3252(line=117, offs=10)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2700(line=96, offs=3) -- 3258(line=118, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret117) ;
+} /* end of [catalan_50] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2712(line=97, offs=9) -- 2985(line=105, offs=12)
+*/
+/*
+local: numerator_loop_51$0(level=1)
+global: numerator_loop_51$0(level=1)
+local: n$5108(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: n$5108(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+numerator_loop_51(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret118, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp123, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref124, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp125, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref126, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp129, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2712(line=97, offs=9) -- 2985(line=105, offs=12)
+*/
+ATSINSflab(__patsflab_numerator_loop_51):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2788(line=98, offs=7) -- 2985(line=105, offs=12)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2809(line=99, offs=11) -- 2810(line=99, offs=12)
+*/
+ATSINSlab(__atstmplab17):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2754(line=97, offs=51) -- 2755(line=97, offs=52)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab19) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2810(line=99, offs=12) -- 2810(line=99, offs=12)
+*/
+ATSINSlab(__atstmplab18):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2814(line=99, offs=16) -- 2831(line=99, offs=33)
+*/
+ATSINSmove(tmp123, atspre_g1int_add_int(env0, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2814(line=99, offs=16) -- 2831(line=99, offs=33)
+*/
+ATSINSmove(tmpret118, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(tmp123)) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2843(line=100, offs=12) -- 2843(line=100, offs=12)
+*/
+ATSINSlab(__atstmplab19):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2848(line=100, offs=17) -- 2985(line=105, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2866(line=101, offs=15) -- 2867(line=101, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref124) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2885(line=101, offs=34) -- 2890(line=101, offs=39)
+*/
+ATSINSmove(tmp125, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2870(line=101, offs=19) -- 2891(line=101, offs=40)
+*/
+ATSINSmove(tmpref124, numerator_loop_51(env0, tmp125)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2906(line=102, offs=15) -- 2907(line=102, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref126) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2929(line=102, offs=38) -- 2934(line=102, offs=43)
+*/
+ATSINSmove(tmp129, atspre_g1int_add_int(env0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2910(line=102, offs=19) -- 2935(line=102, offs=44)
+*/
+ATSINSmove(tmpref126, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(tmpref124, tmp129)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2957(line=104, offs=11) -- 2972(line=104, offs=26)
+*/
+ATSINSmove(tmpret118, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref126)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 2848(line=100, offs=17) -- 2985(line=105, offs=12)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret118) ;
+} /* end of [numerator_loop_51] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$11(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__11, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__11, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__11) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__11, ATSLIB_056_prelude__ptr_alloc__17__11()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__11, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__11, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__11, tmp30__11) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__11) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$11(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__11()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__11, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__11, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__11) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__11] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$6(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13__6, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14__6) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14__6, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13__6, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13__6) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$12(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__12, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__12, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__12) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__12, ATSLIB_056_prelude__ptr_alloc__17__12()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__12, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__12, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__12, tmp30__12) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__12) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$12(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__12()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__12, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__12, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__12) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__12] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$13(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__13, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__13, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__13) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__13, ATSLIB_056_prelude__ptr_alloc__17__13()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__13, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__13, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__13, tmp30__13) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__13) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$13(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__13()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__13, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__13, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__13) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__13] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
+*/
+/*
+local: 
+global: div_intinf0_intinf1$59$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret141, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp142) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
+*/
+ATSINSflab(__patsflab_div_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
+*/
+ATSINSmove_void(tmp142, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
+*/
+ATSINSmove(tmpret141, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret141) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
+*/
+/*
+local: 
+global: div_intinf0_intinf1$59$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret141__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp142__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
+*/
+ATSINSflab(__patsflab_div_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
+*/
+ATSINSmove_void(tmp142__1, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
+*/
+ATSINSmove(tmpret141__1, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret141__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22__2) ;
+// ATStmpdec_void(tmp23__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23__2, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22__2, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3352(line=122, offs=4) -- 4150(line=148, offs=6)
+*/
+/*
+local: fact_34$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+choose_62(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret148, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp177, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref184, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp185) ;
+ATStmpdec(tmpref186, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref187, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp190) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3352(line=122, offs=4) -- 4150(line=148, offs=6)
+*/
+ATSINSflab(__patsflab_choose_62):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3411(line=123, offs=3) -- 4150(line=148, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3818(line=135, offs=5) -- 4144(line=147, offs=10)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3837(line=136, offs=9) -- 3838(line=136, offs=10)
+*/
+ATSINSlab(__atstmplab30):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3386(line=122, offs=38) -- 3387(line=122, offs=39)
+*/
+ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(0))) { ATSINSgoto(__atstmplab32) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3838(line=136, offs=10) -- 3838(line=136, offs=10)
+*/
+ATSINSlab(__atstmplab31):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3842(line=136, offs=14) -- 3855(line=136, offs=27)
+*/
+ATSINSmove(tmpret148, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3864(line=137, offs=9) -- 3865(line=137, offs=10)
+*/
+ATSINSlab(__atstmplab32):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3386(line=122, offs=38) -- 3387(line=122, offs=39)
+*/
+ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab34) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3865(line=137, offs=10) -- 3865(line=137, offs=10)
+*/
+ATSINSlab(__atstmplab33):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3869(line=137, offs=14) -- 3881(line=137, offs=26)
+*/
+ATSINSmove(tmpret148, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(arg0)) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3892(line=138, offs=10) -- 3892(line=138, offs=10)
+*/
+ATSINSlab(__atstmplab34):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-guard:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3898(line=138, offs=16) -- 3903(line=138, offs=21)
+*/
+ATSINSmove(tmp177, ATSLIB_056_prelude__gt_g1int_int__44__2(arg1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3898(line=138, offs=16) -- 3903(line=138, offs=21)
+*/
+ATSifnthen(ATSCKpat_bool(tmp177, ATSPMVbool_true())) { ATSINSgoto(__atstmplab35) ; } ;
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3907(line=138, offs=25) -- 3920(line=138, offs=38)
+*/
+ATSINSmove(tmpret148, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(ATSPMVi0nt(0))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3930(line=139, offs=10) -- 3930(line=139, offs=10)
+*/
+ATSINSlab(__atstmplab35):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3935(line=139, offs=15) -- 4144(line=147, offs=10)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3951(line=140, offs=13) -- 3952(line=140, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref184) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3983(line=141, offs=18) -- 4003(line=141, offs=38)
+*/
+ATSINSmove_void(tmp185, numerator_loop_63(arg0, arg1, ATSPMVrefarg1(ATSPMVptrof(tmpref184)))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4016(line=142, offs=13) -- 4017(line=142, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref186) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4020(line=142, offs=17) -- 4026(line=142, offs=23)
+*/
+ATSINSmove(tmpref186, fact_34(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4040(line=143, offs=13) -- 4041(line=143, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref187) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4044(line=143, offs=17) -- 4069(line=143, offs=42)
+*/
+ATSINSmove(tmpref187, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__2(tmpref184, ATSPMVrefarg0(tmpref186))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4086(line=144, offs=17) -- 4099(line=144, offs=30)
+*/
+ATSINSmove_void(tmp190, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(tmpref186)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4118(line=146, offs=9) -- 4133(line=146, offs=24)
+*/
+ATSINSmove(tmpret148, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref187)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3935(line=139, offs=15) -- 4144(line=147, offs=10)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3411(line=123, offs=3) -- 4150(line=148, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret148) ;
+} /* end of [choose_62] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3423(line=124, offs=9) -- 3808(line=133, offs=12)
+*/
+/*
+local: numerator_loop_63$0(level=1)
+global: numerator_loop_63$0(level=1)
+local: n$5119(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: n$5119(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atsvoid_t0ype
+numerator_loop_63(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret149) ;
+ATStmpdec(tmp150, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp155, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp160, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp161, atstkind_t0ype(atstype_int)) ;
+// ATStmpdec_void(tmp162) ;
+ATStmpdec(tmp163, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref164, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp167, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp168, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3423(line=124, offs=9) -- 3808(line=133, offs=12)
+*/
+ATSINSflab(__patsflab_numerator_loop_63):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3528(line=125, offs=7) -- 3808(line=133, offs=12)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3549(line=126, offs=11) -- 3550(line=126, offs=12)
+*/
+ATSINSlab(__atstmplab25):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3465(line=124, offs=51) -- 3466(line=124, offs=52)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab27) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3550(line=126, offs=12) -- 3550(line=126, offs=12)
+*/
+ATSINSlab(__atstmplab26):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3561(line=126, offs=23) -- 3573(line=126, offs=35)
+*/
+ATSINSmove(tmp150, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(env0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3554(line=126, offs=16) -- 3573(line=126, offs=35)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp150) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3554(line=126, offs=16) -- 3573(line=126, offs=35)
+*/
+ATSINSmove_void(tmpret149, ATSPMVempty()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3585(line=127, offs=11) -- 3586(line=127, offs=12)
+*/
+ATSINSlab(__atstmplab27):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3465(line=124, offs=51) -- 3466(line=124, offs=52)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(2))) { ATSINSgoto(__atstmplab29) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3586(line=127, offs=12) -- 3586(line=127, offs=12)
+*/
+ATSINSlab(__atstmplab28):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3611(line=127, offs=37) -- 3634(line=127, offs=60)
+*/
+ATSINSmove(tmp161, atspre_g1int_sub_int(env0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3611(line=127, offs=37) -- 3634(line=127, offs=60)
+*/
+ATSINSmove(tmp160, atspre_g1int_mul_int(tmp161, env0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3611(line=127, offs=37) -- 3634(line=127, offs=60)
+*/
+ATSINSmove(tmp155, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(tmp160)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3590(line=127, offs=16) -- 3635(line=127, offs=61)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVcastfn(castvwtp0, atstype_boxed, tmp155)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3590(line=127, offs=16) -- 3635(line=127, offs=61)
+*/
+ATSINSmove_void(tmpret149, ATSPMVempty()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3647(line=128, offs=12) -- 3647(line=128, offs=12)
+*/
+ATSINSlab(__atstmplab29):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3652(line=128, offs=17) -- 3808(line=133, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3690(line=129, offs=35) -- 3695(line=129, offs=40)
+*/
+ATSINSmove(tmp163, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3675(line=129, offs=20) -- 3701(line=129, offs=46)
+*/
+ATSINSmove_void(tmp162, numerator_loop_63(env0, tmp163, ATSPMVrefarg1(arg1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3716(line=130, offs=15) -- 3717(line=130, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref164) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3741(line=130, offs=40) -- 3746(line=130, offs=45)
+*/
+ATSINSmove(tmp168, atspre_g1int_add_int(env0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3741(line=130, offs=40) -- 3750(line=130, offs=49)
+*/
+ATSINSmove(tmp167, atspre_g1int_sub_int(tmp168, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3720(line=130, offs=19) -- 3751(line=130, offs=50)
+*/
+ATSINSmove(tmpref164, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp167)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3773(line=132, offs=11) -- 3795(line=132, offs=33)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVcastfn(castvwtp0, atstype_boxed, tmpref164)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3773(line=132, offs=11) -- 3795(line=132, offs=33)
+*/
+ATSINSmove_void(tmpret149, ATSPMVempty()) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 3652(line=128, offs=17) -- 3808(line=133, offs=12)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn_void(tmpret149) ;
+} /* end of [numerator_loop_63] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$14(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__14, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__14, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__14) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__14, ATSLIB_056_prelude__ptr_alloc__17__14()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__14, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__14, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__14, tmp30__14) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__14) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$14(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__14()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__14, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__14, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__14) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__14] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$15(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__15, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__15, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__15) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__15, ATSLIB_056_prelude__ptr_alloc__17__15()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__15, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__15, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__15, tmp30__15) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__15) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$15(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__15()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__15, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__15, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__15) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__15] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7394(line=413, offs=3) -- 7461(line=418, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_int$8$7(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret13__7, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp14__7) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7376(line=412, offs=1) -- 7461(line=418, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7427(line=416, offs=10) -- 7456(line=416, offs=39)
+*/
+ATSINSmove_void(tmp14__7, atscntrb_gmp_mpz_mul2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7404(line=413, offs=13) -- 7405(line=413, offs=14)
+*/
+ATSINSmove(tmpret13__7, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7403(line=413, offs=12) -- 7461(line=418, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret13__7) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__7] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$16(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__16, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__16, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__16) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__16, ATSLIB_056_prelude__ptr_alloc__17__16()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__16, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__16, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__16, tmp30__16) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__16) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$16(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__16()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__16, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__16, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__16) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__16] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$17(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__17, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__17, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__17) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__17, ATSLIB_056_prelude__ptr_alloc__17__17()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__17, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__17, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__17, tmp30__17) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__17) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__17] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$17(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__17()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__17, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__17, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__17) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__17] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$44$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__44__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret97__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp98__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp98__2, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret97__2, atspre_g1int_gt_int(arg0, tmp98__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret97__2) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__44__2] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$18(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__18, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__18, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__18) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__18, ATSLIB_056_prelude__ptr_alloc__17__18()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__18, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__18, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__18, tmp30__18) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__18) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__18] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$18(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__18()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__18, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__18, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__18) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__18] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
+*/
+/*
+local: 
+global: div_intinf0_intinf1$59$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__2(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret141__2, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp142__2) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
+*/
+ATSINSflab(__patsflab_div_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
+*/
+ATSINSmove_void(tmp142__2, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
+*/
+ATSINSmove(tmpret141__2, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret141__2) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__2] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$3(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22__3) ;
+// ATStmpdec_void(tmp23__3) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23__3, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22__3, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22__3) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4405(line=155, offs=4) -- 5492(line=187, offs=8)
+*/
+/*
+local: fact_34$0(level=0), choose_62$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), stirling2_79$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+stirling2_79(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret193, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp194, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp195, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp206, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref262, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp263) ;
+ATStmpdec(tmpref264, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref265, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp268) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4405(line=155, offs=4) -- 5492(line=187, offs=8)
+*/
+ATSINSflab(__patsflab_stirling2_79):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4480(line=157, offs=7) -- 4494(line=157, offs=21)
+*/
+ATSINSmove(tmp195, ATSLIB_056_prelude__eq_g1int_int__80__1(arg1, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4480(line=157, offs=7) -- 4494(line=157, offs=21)
+*/
+ATSif(
+tmp195
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4480(line=157, offs=7) -- 4494(line=157, offs=21)
+*/
+ATSINSmove(tmp194, ATSLIB_056_prelude__eq_g1int_int__80__2(arg0, ATSPMVi0nt(0))) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4480(line=157, offs=7) -- 4494(line=157, offs=21)
+*/
+ATSINSmove(tmp194, ATSPMVbool_false()) ;
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4467(line=156, offs=3) -- 5492(line=187, offs=8)
+*/
+ATSif(
+tmp194
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4498(line=157, offs=25) -- 4511(line=157, offs=38)
+*/
+ATSINSmove(tmpret193, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(ATSPMVi0nt(1))) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4518(line=158, offs=7) -- 4523(line=158, offs=12)
+*/
+ATSINSmove(tmp206, ATSLIB_056_prelude__gt_g1int_int__44__3(arg1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4467(line=156, offs=3) -- 5492(line=187, offs=8)
+*/
+ATSif(
+tmp206
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4527(line=158, offs=16) -- 4540(line=158, offs=29)
+*/
+ATSINSmove(tmpret193, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20(ATSPMVi0nt(0))) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4552(line=159, offs=12) -- 5492(line=187, offs=8)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5316(line=180, offs=11) -- 5319(line=180, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref262) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5343(line=181, offs=16) -- 5359(line=181, offs=32)
+*/
+ATSINSmove_void(tmp263, top_loop_89(arg0, arg1, arg1, ATSPMVrefarg1(ATSPMVptrof(tmpref262)))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5370(line=182, offs=11) -- 5373(line=182, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref264) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5376(line=182, offs=17) -- 5382(line=182, offs=23)
+*/
+ATSINSmove(tmpref264, fact_34(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5394(line=183, offs=11) -- 5400(line=183, offs=17)
+*/
+/*
+ATSINStmpdec(tmpref265) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5403(line=183, offs=20) -- 5432(line=183, offs=49)
+*/
+ATSINSmove(tmpref265, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__3(tmpref262, ATSPMVrefarg0(tmpref264))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5448(line=184, offs=16) -- 5463(line=184, offs=31)
+*/
+ATSINSmove_void(tmp268, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(tmpref264)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5478(line=186, offs=7) -- 5484(line=186, offs=13)
+*/
+ATSINSmove(tmpret193, tmpref265) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4552(line=159, offs=12) -- 5492(line=187, offs=8)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret193) ;
+} /* end of [stirling2_79] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
+*/
+/*
+local: 
+global: eq_g1int_int$80$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4639)
+tmparg = S2Evar(tk(4639))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__80(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret196, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp197, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
+*/
+ATSINSmove(tmp197, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4639))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
+*/
+ATSINSmove(tmpret196, PMVtmpltcst(g1int_eq<S2Evar(tk(4639))>)(arg0, tmp197)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret196) ;
+} /* end of [ATSLIB_056_prelude__eq_g1int_int__80] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
+*/
+/*
+local: 
+global: eq_g1int_int$80$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4639)
+tmparg = S2Evar(tk(4639))
+tmpsub = Some(tk(4639) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__80__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret196__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp197__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
+*/
+ATSINSmove(tmp197__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
+*/
+ATSINSmove(tmpret196__1, atspre_g1int_eq_int(arg0, tmp197__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret196__1) ;
+} /* end of [ATSLIB_056_prelude__eq_g1int_int__80__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
+*/
+/*
+local: 
+global: eq_g1int_int$80$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4639)
+tmparg = S2Evar(tk(4639))
+tmpsub = Some(tk(4639) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__80__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret196__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp197__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
+*/
+ATSINSmove(tmp197__2, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
+*/
+ATSINSmove(tmpret196__2, atspre_g1int_eq_int(arg0, tmp197__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret196__2) ;
+} /* end of [ATSLIB_056_prelude__eq_g1int_int__80__2] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$19(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__19, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__19, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__19) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__19, ATSLIB_056_prelude__ptr_alloc__17__19()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__19, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__19, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__19, tmp30__19) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__19) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$19(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__19()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__19, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__19, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__19) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__19] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$44$3(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4633)
+tmparg = S2Evar(tk(4633))
+tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__44__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret97__3, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp98__3, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp98__3, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret97__3, atspre_g1int_gt_int(arg0, tmp98__3)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret97__3) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__44__3] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$20(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__20, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__20, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__20) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__20, ATSLIB_056_prelude__ptr_alloc__17__20()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__20, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__20, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__20, tmp30__20) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__20) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$20(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__20()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__20, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__20, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__20) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__20] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4566(line=160, offs=11) -- 5298(line=178, offs=12)
+*/
+/*
+local: choose_62$0(level=0), top_loop_89$0(level=1)
+global: choose_62$0(level=0), top_loop_89$0(level=1)
+local: n$5132(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), k$5133(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: n$5132(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), k$5133(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atsvoid_t0ype
+top_loop_89(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret213) ;
+ATStmpdec(tmp214, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp230) ;
+ATStmpdec(tmp231, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref232, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref233, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref247, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp248, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref249, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp254, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp257) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4566(line=160, offs=11) -- 5298(line=178, offs=12)
+*/
+ATSINSflab(__patsflab_top_loop_89):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4645(line=161, offs=9) -- 5298(line=178, offs=12)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4668(line=162, offs=13) -- 4669(line=162, offs=14)
+*/
+ATSINSlab(__atstmplab36):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4590(line=160, offs=35) -- 4591(line=160, offs=36)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab38) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4669(line=162, offs=14) -- 4669(line=162, offs=14)
+*/
+ATSINSlab(__atstmplab37):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4680(line=162, offs=25) -- 4693(line=162, offs=38)
+*/
+ATSINSmove(tmp214, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__21(ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4673(line=162, offs=18) -- 4693(line=162, offs=38)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp214) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4673(line=162, offs=18) -- 4693(line=162, offs=38)
+*/
+ATSINSmove_void(tmpret213, ATSPMVempty()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4707(line=163, offs=14) -- 4707(line=163, offs=14)
+*/
+ATSINSlab(__atstmplab38):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4712(line=163, offs=19) -- 5298(line=178, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4918(line=170, offs=31) -- 4923(line=170, offs=36)
+*/
+ATSINSmove(tmp231, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4909(line=170, offs=22) -- 4929(line=170, offs=42)
+*/
+ATSINSmove_void(tmp230, top_loop_89(env0, env1, tmp231, ATSPMVrefarg1(arg1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4946(line=171, offs=17) -- 4949(line=171, offs=20)
+*/
+/*
+ATSINStmpdec(tmpref232) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4952(line=171, offs=23) -- 4964(line=171, offs=35)
+*/
+ATSINSmove(tmpref232, choose_62(env1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4981(line=172, offs=17) -- 4987(line=172, offs=23)
+*/
+/*
+ATSINStmpdec(tmpref233) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4990(line=172, offs=26) -- 5007(line=172, offs=43)
+*/
+ATSINSmove(tmpref233, ATSCNTRB_056_HX_056_intinf_vt__pow_int_int__100__1(arg0, env0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5024(line=173, offs=17) -- 5034(line=173, offs=27)
+*/
+/*
+ATSINStmpdec(tmpref247) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5051(line=173, offs=44) -- 5056(line=173, offs=49)
+*/
+ATSINSmove(tmp248, atspre_g1int_sub_int(env1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5037(line=173, offs=30) -- 5065(line=173, offs=58)
+*/
+ATSINSmove(tmpref247, negate_if_odd_92(tmp248, tmpref233)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5082(line=174, offs=17) -- 5092(line=174, offs=27)
+*/
+/*
+ATSINStmpdec(tmpref249) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5095(line=174, offs=30) -- 5131(line=174, offs=66)
+*/
+ATSINSmove(tmpref249, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__103__1(tmpref232, ATSPMVrefarg0(tmpref247))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5160(line=175, offs=29) -- 5196(line=175, offs=65)
+*/
+ATSINSmove(tmp254, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVrefarg0(tmpref249))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5153(line=175, offs=22) -- 5196(line=175, offs=65)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp254) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5218(line=176, offs=22) -- 5240(line=176, offs=44)
+*/
+ATSINSmove_void(tmp257, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(tmpref247)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5263(line=177, offs=22) -- 5285(line=177, offs=44)
+*/
+ATSINSmove_void(tmpret213, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(tmpref249)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4712(line=163, offs=19) -- 5298(line=178, offs=12)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn_void(tmpret213) ;
+} /* end of [top_loop_89] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$21(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__21(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__21, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__21, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__21) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__21, ATSLIB_056_prelude__ptr_alloc__17__21()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__21, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__21, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__21, tmp30__21) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__21) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__21] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$21(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__21()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__21, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__21, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__21) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__21] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4729(line=164, offs=16) -- 4874(line=168, offs=31)
+*/
+/*
+local: 
+global: negate_if_odd_92$0(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+negate_if_odd_92(atstkind_t0ype(atstype_int) arg0, atstkind_type(atstype_ptrk) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret219, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp220, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp225, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4729(line=164, offs=16) -- 4874(line=168, offs=31)
+*/
+ATSINSflab(__patsflab_negate_if_odd_92):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4792(line=165, offs=18) -- 4797(line=165, offs=23)
+*/
+ATSINSmove(tmp225, atspre_g0int_mod_int(arg0, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4792(line=165, offs=18) -- 4801(line=165, offs=27)
+*/
+ATSINSmove(tmp220, ATSLIB_056_prelude__eq_g0int_int__93__1(tmp225, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4789(line=165, offs=15) -- 4874(line=168, offs=31)
+*/
+ATSif(
+tmp220
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4823(line=166, offs=17) -- 4824(line=166, offs=18)
+*/
+ATSINSmove(tmpret219, arg1) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4860(line=168, offs=17) -- 4873(line=168, offs=30)
+*/
+ATSINSmove(tmpret219, ATSCNTRB_056_HX_056_intinf_vt__neg_intinf0__98__1(arg1)) ;
+
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret219) ;
+} /* end of [negate_if_odd_92] */
+
+#if(0)
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$93$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__93(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret221, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp222, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp222, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4624))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret221, PMVtmpltcst(g0int_eq<S2Evar(tk(4624))>)(arg0, tmp222)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret221) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__93] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$93$1(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4624)
+tmparg = S2Evar(tk(4624))
+tmpsub = Some(tk(4624) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__93__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret221__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp222__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp222__1, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret221__1, atspre_g0int_eq_int(arg0, tmp222__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret221__1) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__93__1] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3629(line=165, offs=3) -- 3684(line=170, offs=2)
+*/
+/*
+local: 
+global: neg_intinf0$98$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__neg_intinf0__98(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret226, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp227) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3615(line=164, offs=1) -- 3684(line=170, offs=2)
+*/
+ATSINSflab(__patsflab_neg_intinf0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3635(line=165, offs=9) -- 3684(line=170, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3659(line=168, offs=10) -- 3679(line=168, offs=30)
+*/
+ATSINSmove_void(tmp227, atscntrb_gmp_mpz_neg1(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3636(line=165, offs=10) -- 3637(line=165, offs=11)
+*/
+ATSINSmove(tmpret226, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3635(line=165, offs=9) -- 3684(line=170, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret226) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__neg_intinf0__98] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3629(line=165, offs=3) -- 3684(line=170, offs=2)
+*/
+/*
+local: 
+global: neg_intinf0$98$1(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__neg_intinf0__98__1(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret226__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp227__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3615(line=164, offs=1) -- 3684(line=170, offs=2)
+*/
+ATSINSflab(__patsflab_neg_intinf0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3635(line=165, offs=9) -- 3684(line=170, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3659(line=168, offs=10) -- 3679(line=168, offs=30)
+*/
+ATSINSmove_void(tmp227__1, atscntrb_gmp_mpz_neg1(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3636(line=165, offs=10) -- 3637(line=165, offs=11)
+*/
+ATSINSmove(tmpret226__1, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 3635(line=165, offs=9) -- 3684(line=170, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret226__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__neg_intinf0__98__1] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14073(line=810, offs=3) -- 14242(line=819, offs=2)
+*/
+/*
+local: 
+global: pow_int_int$100$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__pow_int_int__100(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret234, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp235, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp236) ;
+// ATStmpdec_void(tmp237) ;
+ATStmpdec(tmp238, atstkind_t0ype(atstype_ulint)) ;
+ATStmpdec(tmp239, atstkind_t0ype(atstype_ulint)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14059(line=809, offs=1) -- 14242(line=819, offs=2)
+*/
+ATSINSflab(__patsflab_pow_int_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14089(line=811, offs=3) -- 14242(line=819, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14127(line=814, offs=10) -- 14143(line=814, offs=26)
+*/
+ATSINSmove(tmp235, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14153(line=815, offs=10) -- 14175(line=815, offs=32)
+*/
+ATSINSmove_void(tmp236, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmp235, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14215(line=817, offs=31) -- 14224(line=817, offs=40)
+*/
+ATSINSmove(tmp238, atspre_g1int2uint_int_ulint(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14227(line=817, offs=43) -- 14235(line=817, offs=51)
+*/
+ATSINSmove(tmp239, atspre_g1int2uint_int_ulint(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14187(line=817, offs=3) -- 14237(line=817, offs=53)
+*/
+ATSINSmove_void(tmp237, atscntrb_gmp_mpz_ui_pow_ui(ATSPMVrefarg1(ATSSELrecsin(tmp235, atstkind_type(atstype_ptrk), atslab__2)), tmp238, tmp239)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14089(line=811, offs=3) -- 14105(line=811, offs=19)
+*/
+ATSINSmove(tmpret234, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp235)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14089(line=811, offs=3) -- 14242(line=819, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret234) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__pow_int_int__100] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14073(line=810, offs=3) -- 14242(line=819, offs=2)
+*/
+/*
+local: 
+global: pow_int_int$100$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__pow_int_int__100__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret234__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp235__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp236__1) ;
+// ATStmpdec_void(tmp237__1) ;
+ATStmpdec(tmp238__1, atstkind_t0ype(atstype_ulint)) ;
+ATStmpdec(tmp239__1, atstkind_t0ype(atstype_ulint)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14059(line=809, offs=1) -- 14242(line=819, offs=2)
+*/
+ATSINSflab(__patsflab_pow_int_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14089(line=811, offs=3) -- 14242(line=819, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14127(line=814, offs=10) -- 14143(line=814, offs=26)
+*/
+ATSINSmove(tmp235__1, ATSLIB_056_prelude__ptr_alloc__17__22()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14153(line=815, offs=10) -- 14175(line=815, offs=32)
+*/
+ATSINSmove_void(tmp236__1, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmp235__1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14215(line=817, offs=31) -- 14224(line=817, offs=40)
+*/
+ATSINSmove(tmp238__1, atspre_g1int2uint_int_ulint(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14227(line=817, offs=43) -- 14235(line=817, offs=51)
+*/
+ATSINSmove(tmp239__1, atspre_g1int2uint_int_ulint(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14187(line=817, offs=3) -- 14237(line=817, offs=53)
+*/
+ATSINSmove_void(tmp237__1, atscntrb_gmp_mpz_ui_pow_ui(ATSPMVrefarg1(ATSSELrecsin(tmp235__1, atstkind_type(atstype_ptrk), atslab__2)), tmp238__1, tmp239__1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14089(line=811, offs=3) -- 14105(line=811, offs=19)
+*/
+ATSINSmove(tmpret234__1, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp235__1)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 14089(line=811, offs=3) -- 14242(line=819, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret234__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__pow_int_int__100__1] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$22(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__22()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__22, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__22, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__22) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__22] */
+
+#if(0)
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_intinf1$103$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__103(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret250, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp251) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
+*/
+ATSINSmove_void(tmp251, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
+*/
+ATSINSmove(tmpret250, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret250) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__103] */
+#endif // end of [TEMPLATE]
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7761(line=437, offs=3) -- 7833(line=442, offs=2)
+*/
+/*
+local: 
+global: mul_intinf0_intinf1$103$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__103__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret250__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp251__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7739(line=436, offs=1) -- 7833(line=442, offs=2)
+*/
+ATSINSflab(__patsflab_mul_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7794(line=440, offs=10) -- 7828(line=440, offs=44)
+*/
+ATSINSmove_void(tmp251__1, atscntrb_gmp_mpz_mul2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7771(line=437, offs=13) -- 7772(line=437, offs=14)
+*/
+ATSINSmove(tmpret250__1, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 7770(line=437, offs=12) -- 7833(line=442, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret250__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__103__1] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
+*/
+/*
+local: 
+global: add_intinf0_intinf1$6$3(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret8__3, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp9__3) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
+*/
+ATSINSflab(__patsflab_add_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
+*/
+ATSINSmove_void(tmp9__3, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
+*/
+ATSINSmove(tmpret8__3, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret8__3) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$4(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22__4) ;
+// ATStmpdec_void(tmp23__4) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23__4, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22__4, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22__4) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$5(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22__5) ;
+// ATStmpdec_void(tmp23__5) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23__5, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22__5, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22__5) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9009(line=513, offs=3) -- 9083(line=518, offs=2)
+*/
+/*
+local: 
+global: div_intinf0_intinf1$59$3(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__3(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret141__3, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp142__3) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 8987(line=512, offs=1) -- 9083(line=518, offs=2)
+*/
+ATSINSflab(__patsflab_div_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
+*/
+ATSINSmove_void(tmp142__3, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
+*/
+ATSINSmove(tmpret141__3, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret141__3) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__59__3] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$6(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22__6) ;
+// ATStmpdec_void(tmp23__6) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23__6, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22__6, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22__6) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5701(line=193, offs=4) -- 6245(line=213, offs=6)
+*/
+/*
+local: stirling2_79$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), stirling2_79$0(level=0), bell_110$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+bell_110(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret271, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref286, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp287) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5701(line=193, offs=4) -- 6245(line=213, offs=6)
+*/
+ATSINSflab(__patsflab_bell_110):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5739(line=194, offs=3) -- 6245(line=213, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6095(line=205, offs=5) -- 6239(line=212, offs=10)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6114(line=206, offs=9) -- 6115(line=206, offs=10)
+*/
+ATSINSlab(__atstmplab42):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5714(line=193, offs=17) -- 5715(line=193, offs=18)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab44) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6115(line=206, offs=10) -- 6115(line=206, offs=10)
+*/
+ATSINSlab(__atstmplab43):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6119(line=206, offs=14) -- 6132(line=206, offs=27)
+*/
+ATSINSmove(tmpret271, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__22(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6142(line=207, offs=10) -- 6142(line=207, offs=10)
+*/
+ATSINSlab(__atstmplab44):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6147(line=207, offs=15) -- 6239(line=212, offs=10)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6163(line=208, offs=13) -- 6166(line=208, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref286) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6192(line=209, offs=18) -- 6208(line=209, offs=34)
+*/
+ATSINSmove_void(tmp287, sum_loop_111(arg0, arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref286)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6226(line=211, offs=9) -- 6229(line=211, offs=12)
+*/
+ATSINSmove(tmpret271, tmpref286) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6147(line=207, offs=15) -- 6239(line=212, offs=10)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5739(line=194, offs=3) -- 6245(line=213, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret271) ;
+} /* end of [bell_110] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5751(line=195, offs=9) -- 6085(line=203, offs=10)
+*/
+/*
+local: stirling2_79$0(level=0), sum_loop_111$0(level=1)
+global: stirling2_79$0(level=0), sum_loop_111$0(level=1)
+local: n$5149(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: n$5149(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atsvoid_t0ype
+sum_loop_111(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret272) ;
+ATStmpdec(tmp273, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp274) ;
+ATStmpdec(tmp275, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref276, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp277, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5751(line=195, offs=9) -- 6085(line=203, offs=10)
+*/
+ATSINSflab(__patsflab_sum_loop_111):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5841(line=196, offs=7) -- 6085(line=203, offs=10)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5862(line=197, offs=11) -- 5863(line=197, offs=12)
+*/
+ATSINSlab(__atstmplab39):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5788(line=195, offs=46) -- 5789(line=195, offs=47)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab41) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5863(line=197, offs=12) -- 5863(line=197, offs=12)
+*/
+ATSINSlab(__atstmplab40):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5874(line=197, offs=23) -- 5889(line=197, offs=38)
+*/
+ATSINSmove(tmp273, stirling2_79(env0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5867(line=197, offs=16) -- 5889(line=197, offs=38)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp273) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5867(line=197, offs=16) -- 5889(line=197, offs=38)
+*/
+ATSINSmove_void(tmpret272, ATSPMVempty()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5901(line=198, offs=12) -- 5901(line=198, offs=12)
+*/
+ATSINSlab(__atstmplab41):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5906(line=198, offs=17) -- 6085(line=203, offs=10)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5936(line=199, offs=29) -- 5941(line=199, offs=34)
+*/
+ATSINSmove(tmp275, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5927(line=199, offs=20) -- 5947(line=199, offs=40)
+*/
+ATSINSmove_void(tmp274, sum_loop_111(env0, tmp275, ATSPMVrefarg1(arg1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5962(line=200, offs=15) -- 5965(line=200, offs=18)
+*/
+/*
+ATSINStmpdec(tmpref276) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5968(line=200, offs=21) -- 5983(line=200, offs=36)
+*/
+ATSINSmove(tmpref276, stirling2_79(env0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6010(line=201, offs=27) -- 6039(line=201, offs=56)
+*/
+ATSINSmove(tmp277, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__4(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVrefarg0(tmpref276))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6003(line=201, offs=20) -- 6039(line=201, offs=56)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp277) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6059(line=202, offs=20) -- 6074(line=202, offs=35)
+*/
+ATSINSmove_void(tmpret272, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__7(tmpref276)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5906(line=198, offs=17) -- 6085(line=203, offs=10)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn_void(tmpret272) ;
+} /* end of [sum_loop_111] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
+*/
+/*
+local: 
+global: add_intinf0_intinf1$6$4(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__4(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret8__4, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp9__4) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
+*/
+ATSINSflab(__patsflab_add_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
+*/
+ATSINSmove_void(tmp9__4, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
+*/
+ATSINSmove(tmpret8__4, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret8__4) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__4] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$7(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__7(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22__7) ;
+// ATStmpdec_void(tmp23__7) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23__7, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22__7, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22__7) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__7] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$22(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__22(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__22, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__22, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__22) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__22, ATSLIB_056_prelude__ptr_alloc__17__23()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__22, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__22, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__22, tmp30__22) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__22) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__22] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$23(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__23()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__23, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__23, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__23) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__23] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6250(line=215, offs=4) -- 6679(line=232, offs=6)
+*/
+/*
+local: choose_62$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), max_regions_116$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+max_regions_116(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret288, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref306, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp307) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6250(line=215, offs=4) -- 6679(line=232, offs=6)
+*/
+ATSINSflab(__patsflab_max_regions_116):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6295(line=216, offs=3) -- 6679(line=232, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6629(line=228, offs=9) -- 6630(line=228, offs=10)
+*/
+/*
+ATSINStmpdec(tmpref306) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6652(line=229, offs=14) -- 6662(line=229, offs=24)
+*/
+ATSINSmove_void(tmp307, loop_117(arg0, ATSPMVi0nt(4), ATSPMVrefarg1(ATSPMVptrof(tmpref306)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6672(line=231, offs=5) -- 6673(line=231, offs=6)
+*/
+ATSINSmove(tmpret288, tmpref306) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6295(line=216, offs=3) -- 6679(line=232, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret288) ;
+} /* end of [max_regions_116] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6307(line=217, offs=9) -- 6615(line=226, offs=15)
+*/
+/*
+local: choose_62$0(level=0), loop_117$0(level=1)
+global: choose_62$0(level=0), loop_117$0(level=1)
+local: n$5158(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: n$5158(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atsvoid_t0ype
+loop_117(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret289) ;
+ATStmpdec(tmp290, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp293, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp298) ;
+ATStmpdec(tmp299, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref300, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp301, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6307(line=217, offs=9) -- 6615(line=226, offs=15)
+*/
+ATSINSflab(__patsflab_loop_117):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6383(line=218, offs=10) -- 6388(line=218, offs=15)
+*/
+ATSINSmove(tmp290, ATSLIB_056_prelude__eq_g1int_int__80__3(arg0, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6380(line=218, offs=7) -- 6615(line=226, offs=15)
+*/
+ATSif(
+tmp290
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6409(line=219, offs=16) -- 6422(line=219, offs=29)
+*/
+ATSINSmove(tmp293, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__23(ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6402(line=219, offs=9) -- 6422(line=219, offs=29)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp293) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6402(line=219, offs=9) -- 6422(line=219, offs=29)
+*/
+ATSINSmove_void(tmpret289, ATSPMVempty()) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6442(line=221, offs=9) -- 6615(line=226, offs=15)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6470(line=222, offs=25) -- 6475(line=222, offs=30)
+*/
+ATSINSmove(tmp299, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6465(line=222, offs=20) -- 6481(line=222, offs=36)
+*/
+ATSINSmove_void(tmp298, loop_117(env0, tmp299, ATSPMVrefarg1(arg1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6496(line=223, offs=15) -- 6497(line=223, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref300) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6500(line=223, offs=19) -- 6512(line=223, offs=31)
+*/
+ATSINSmove(tmpref300, choose_62(env0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6539(line=224, offs=27) -- 6566(line=224, offs=54)
+*/
+ATSINSmove(tmp301, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__5(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVrefarg0(tmpref300))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6532(line=224, offs=20) -- 6566(line=224, offs=54)
+*/
+ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp301) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6586(line=225, offs=20) -- 6599(line=225, offs=33)
+*/
+ATSINSmove_void(tmpret289, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__8(tmpref300)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6442(line=221, offs=9) -- 6615(line=226, offs=15)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn_void(tmpret289) ;
+} /* end of [loop_117] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
+*/
+/*
+local: 
+global: eq_g1int_int$80$3(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4639)
+tmparg = S2Evar(tk(4639))
+tmpsub = Some(tk(4639) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__80__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret196__3, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp197__3, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g1int_int):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
+*/
+ATSINSmove(tmp197__3, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
+*/
+ATSINSmove(tmpret196__3, atspre_g1int_eq_int(arg0, tmp197__3)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret196__3) ;
+} /* end of [ATSLIB_056_prelude__eq_g1int_int__80__3] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$15$23(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__23(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret29__23, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp30__23, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp31__23) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp30__23, ATSLIB_056_prelude__ptr_alloc__17__24()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp31__23, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp30__23, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret29__23, tmp30__23) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret29__23) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__23] */
+
+/*
+/home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$17$24(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4736)
+tmparg = S2Evar(a(4736))
+tmpsub = Some(a(4736) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__17__24()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret35__24, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret35__24, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret35__24) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__17__24] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5514(line=298, offs=3) -- 5585(line=303, offs=2)
+*/
+/*
+local: 
+global: add_intinf0_intinf1$6$5(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__5(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret8__5, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp9__5) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5492(line=297, offs=1) -- 5585(line=303, offs=2)
+*/
+ATSINSflab(__patsflab_add_intinf0_intinf1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5547(line=301, offs=10) -- 5580(line=301, offs=43)
+*/
+ATSINSmove_void(tmp9__5, atscntrb_gmp_mpz_add2_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5524(line=298, offs=13) -- 5525(line=298, offs=14)
+*/
+ATSINSmove(tmpret8__5, arg0) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5523(line=298, offs=12) -- 5585(line=303, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret8__5) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__5] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2888(line=119, offs=12) -- 2987(line=122, offs=4)
+*/
+/*
+local: 
+global: intinf_free$12$8(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atsvoid_t0ype
+ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__8(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+// ATStmpdec_void(tmpret22__8) ;
+// ATStmpdec_void(tmp23__8) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2877(line=119, offs=1) -- 2987(line=122, offs=4)
+*/
+ATSINSflab(__patsflab_intinf_free):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/* (*nothing*) */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2936(line=121, offs=12) -- 2955(line=121, offs=31)
+*/
+ATSINSmove_void(tmp23__8, atscntrb_gmp_mpz_clear(ATSPMVrefarg1(arg0))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2959(line=121, offs=35) -- 2983(line=121, offs=59)
+*/
+ATSINSmove_void(tmpret22__8, atspre_ptr_free(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2894(line=119, offs=18) -- 2987(line=122, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn_void(tmpret22__8) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__8] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6702(line=234, offs=22) -- 6725(line=235, offs=15)
+*/
+/*
+local: choose_62$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), choose_ats$123$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+choose_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret308, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6691(line=234, offs=11) -- 6725(line=235, offs=15)
+*/
+ATSINSflab(__patsflab_choose_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6713(line=235, offs=3) -- 6725(line=235, offs=15)
+*/
+ATSINSmove(tmpret308, choose_62(arg0, arg1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret308) ;
+} /* end of [choose_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6758(line=237, offs=32) -- 6773(line=238, offs=10)
+*/
+/*
+local: dfact_41$0(level=0)
+global: dfact_ref_35$0(level=0), dfact_41$0(level=0), double_factorial_ats$124$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+double_factorial_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret309, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6737(line=237, offs=11) -- 6774(line=238, offs=11)
+*/
+ATSINSflab(__patsflab_double_factorial_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6766(line=238, offs=3) -- 6773(line=238, offs=10)
+*/
+ATSINSmove(tmpret309, dfact_41(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret309) ;
+} /* end of [double_factorial_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6800(line=240, offs=25) -- 6814(line=241, offs=9)
+*/
+/*
+local: fact_34$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), factorial_ats$125$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+factorial_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret310, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6786(line=240, offs=11) -- 6815(line=241, offs=10)
+*/
+ATSINSflab(__patsflab_factorial_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6808(line=241, offs=3) -- 6814(line=241, offs=9)
+*/
+ATSINSmove(tmpret310, fact_34(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret310) ;
+} /* end of [factorial_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6839(line=243, offs=23) -- 6856(line=244, offs=12)
+*/
+/*
+local: catalan_50$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), catalan_50$0(level=0), catalan_ats$126$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+catalan_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret311, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6827(line=243, offs=11) -- 6857(line=244, offs=13)
+*/
+ATSINSflab(__patsflab_catalan_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6847(line=244, offs=3) -- 6856(line=244, offs=12)
+*/
+ATSINSmove(tmpret311, catalan_50(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret311) ;
+} /* end of [catalan_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6886(line=246, offs=28) -- 6908(line=247, offs=17)
+*/
+/*
+local: derangements_0$0(level=0)
+global: derangements_0$0(level=0), derangements_ats$127$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+derangements_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret312, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6869(line=246, offs=11) -- 6909(line=247, offs=18)
+*/
+ATSINSflab(__patsflab_derangements_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6894(line=247, offs=3) -- 6908(line=247, offs=17)
+*/
+ATSINSmove(tmpret312, derangements_0(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret312) ;
+} /* end of [derangements_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6938(line=249, offs=28) -- 6967(line=250, offs=21)
+*/
+/*
+local: permutations_42$0(level=0)
+global: permutations_42$0(level=0), permutations_ats$128$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+permutations_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret313, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6921(line=249, offs=11) -- 6967(line=250, offs=21)
+*/
+ATSINSflab(__patsflab_permutations_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6949(line=250, offs=3) -- 6967(line=250, offs=21)
+*/
+ATSINSmove(tmpret313, permutations_42(arg0, arg1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret313) ;
+} /* end of [permutations_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6993(line=252, offs=25) -- 7019(line=253, offs=18)
+*/
+/*
+local: stirling2_79$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), stirling2_79$0(level=0), stirling2_ats$129$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+stirling2_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret314, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 6979(line=252, offs=11) -- 7019(line=253, offs=18)
+*/
+ATSINSflab(__patsflab_stirling2_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 7004(line=253, offs=3) -- 7019(line=253, offs=18)
+*/
+ATSINSmove(tmpret314, stirling2_79(arg0, arg1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret314) ;
+} /* end of [stirling2_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 7047(line=255, offs=27) -- 7068(line=256, offs=16)
+*/
+/*
+local: max_regions_116$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), max_regions_116$0(level=0), max_regions_ats$130$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+max_regions_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret315, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 7031(line=255, offs=11) -- 7069(line=256, offs=17)
+*/
+ATSINSflab(__patsflab_max_regions_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 7055(line=256, offs=3) -- 7068(line=256, offs=16)
+*/
+ATSINSmove(tmpret315, max_regions_116(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret315) ;
+} /* end of [max_regions_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 7090(line=258, offs=20) -- 7104(line=259, offs=9)
+*/
+/*
+local: bell_110$0(level=0)
+global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), stirling2_79$0(level=0), bell_110$0(level=0), bell_ats$131$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_type(atstype_ptrk)
+bell_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret316, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 7081(line=258, offs=11) -- 7105(line=259, offs=10)
+*/
+ATSINSflab(__patsflab_bell_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 7098(line=259, offs=3) -- 7104(line=259, offs=9)
+*/
+ATSINSmove(tmpret316, bell_110(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret316) ;
+} /* end of [bell_ats] */
 
 /*
 ** for initialization(dynloading)
diff --git a/fast-arithmetic.cabal b/fast-arithmetic.cabal
--- a/fast-arithmetic.cabal
+++ b/fast-arithmetic.cabal
@@ -1,13 +1,13 @@
 cabal-version: 1.18
 name: fast-arithmetic
-version: 0.6.3.0
+version: 0.6.4.0
 license: BSD3
 license-file: LICENSE
 copyright: Copyright: (c) 2018 Vanessa McHale
 maintainer: vamchale@gmail.com
 author: Vanessa McHale
 tested-with: ghc ==7.0.4 ghc ==7.2.2 ghc ==7.4.2 ghc ==7.6.3
-             ghc ==7.8.4 ghc ==7.10.3 ghc ==8.0.2 ghc ==8.2.2 ghc ==8.4.3
+             ghc ==7.8.4 ghc ==7.10.3 ghc ==8.0.2 ghc ==8.2.2 ghc ==8.4.4
              ghc ==8.6.1
 bug-reports: https://github.com/vmchale/hs-ats/issues
 synopsis: Fast functions on integers.
@@ -104,14 +104,8 @@
         fast-arithmetic -any,
         hspec -any,
         QuickCheck -any,
-        arithmoi >=0.6.0.0
-
-    if impl(ghc >=8.4)
-        build-depends:
-            combinat-compat -any
-    else
-        build-depends:
-            combinat -any
+        arithmoi >=0.6.0.0,
+        combinat -any
 
     if flag(development)
         ghc-options: -Werror
@@ -130,14 +124,8 @@
         base -any,
         fast-arithmetic -any,
         criterion -any,
-        arithmoi >=0.6.0.0
-
-    if impl(ghc >=8.4)
-        build-depends:
-            combinat-compat -any
-    else
-        build-depends:
-            combinat -any
+        arithmoi >=0.6.0.0,
+        combinat >=0.2.9.0
 
     if flag(development)
         ghc-options: -Werror
diff --git a/lib.dhall b/lib.dhall
--- a/lib.dhall
+++ b/lib.dhall
@@ -1,1 +1,1 @@
-{ sourceBld = False, withBench = True }
+{ sourceBld = False, staticLib = True, withBench = False }
diff --git a/source.dhall b/source.dhall
--- a/source.dhall
+++ b/source.dhall
@@ -1,1 +1,1 @@
-{ sourceBld = True, withBench = False }
+{ sourceBld = True, staticLib = False, withBench = False }
diff --git a/src/Numeric/Combinatorics.hs b/src/Numeric/Combinatorics.hs
--- a/src/Numeric/Combinatorics.hs
+++ b/src/Numeric/Combinatorics.hs
@@ -13,6 +13,7 @@
                              , derangement
                              , permutations
                              , maxRegions
+                             , stirling2
                              ) where
 
 import           Control.Composition
@@ -30,7 +31,11 @@
 foreign import ccall unsafe derangements_ats :: CInt -> Ptr GMPInt
 foreign import ccall unsafe permutations_ats :: CInt -> CInt -> Ptr GMPInt
 foreign import ccall unsafe max_regions_ats :: CInt -> Ptr GMPInt
+foreign import ccall unsafe stirling2_ats :: CInt -> CInt -> Ptr GMPInt
 
+helper :: (CInt -> CInt -> Ptr GMPInt) -> Int -> Int -> Integer
+helper f = unsafePerformIO .* (gmpToInteger <=<) . (peek .* on f fromIntegral)
+
 -- | \\( !n \\)
 --
 -- > λ:> derangement <$> [0..10]
@@ -47,10 +52,14 @@
 
 -- | \( \binom{n}{k} \)
 choose :: Int -> Int -> Integer
-choose = unsafePerformIO .* (gmpToInteger <=<) . (peek .* on choose_ats fromIntegral)
+choose = helper choose_ats
 
 permutations :: Int -> Int -> Integer
-permutations = unsafePerformIO .* (gmpToInteger <=<) . (peek .* on permutations_ats fromIntegral)
+permutations = helper permutations_ats
+
+-- | Stirling numbers of the second kind.
+stirling2 :: Int -> Int -> Integer
+stirling2 = helper stirling2_ats
 
 factorial :: Int -> Integer
 factorial = unsafePerformIO . conjugateGMP factorial_ats
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -47,6 +47,11 @@
         [totient, tau, littleOmega, sumDivisors]
         [Ext.totient, Ext.tau, Ext.smallOmega, Ext.sigma 1]
 
+    sequence_ $ zipWith3 (agreeL 0)
+        ["catalan", "doubleFactorial", "factorial"]
+        [catalan, doubleFactorial, factorial]
+        [Ext.catalan, Ext.doubleFactorial, Ext.factorial]
+
     sequence_ $ zipWith3 agree
         ["isPrime"]
         [isPrime]
@@ -64,15 +69,9 @@
     describe "totient" $
         prop "should satisfy Fermat's little theorem" $
             \a m -> a < 1 || m < 2 || gcd a m /= 1 || tooBig a m || (a ^ totient m) `mod` m == 1
-    describe "doubleFactorial" $
-        prop "should agree" $
-            \a -> a < 0 || doubleFactorial a == Ext.doubleFactorial a
-    describe "catalan" $
-        prop "should agree" $
-            \a -> a < 0 || catalan a == Ext.catalan a
-    describe "factorial" $
+    describe "striling2" $
         prop "should agree" $
-            \a -> a < 0 || factorial a == Ext.factorial a
+            \n k -> n < 0 || k < 0 || stirling2 n k == Ext.stirling2nd n k
     describe "choose" $
         prop "should agree" $
             \a b -> a < 0 || b < 0 || choose b a == Ext.binomial b a
