diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -19,8 +19,8 @@
 | `isPrime 2017` | Haskell | 497.3 ns |
 | `φ(2016)` | ATS | - |
 | `φ(2016)` | Haskell | - |
-| `τ(3018)` | ATS | - |
-| `τ(3018)` | Haskell | - |
+| `τ(3018)` | ATS | 438.5 ns |
+| `τ(3018)` | Haskell | 726.4 ns |
 | `ω(91)` | ATS | 66.59 ns |
 | `ω(91)` | Haskell | 338.6 ns |
 | `160!` | ATS | 4.081 μs |
@@ -29,6 +29,9 @@
 | `79!!` | Haskell | 1.395 μs |
 | ``322 `choose` 16`` | ATS | 629.8 ns |
 | ``322 `choose` 16`` | Haskell | 1.046 μs |
+
+See [here](https://vmchale.github.io/fast-arithmetic/arithmetic-bench.html) for
+more.
 
 ## Building
 
diff --git a/ats-src/combinatorics.dats b/ats-src/combinatorics.dats
--- a/ats-src/combinatorics.dats
+++ b/ats-src/combinatorics.dats
@@ -45,8 +45,8 @@
     | 0 => int2intinf(1)
     | 1 => int2intinf(1)
     | k =>> let
-      val x = dfact(k - 2)
-      val y = mul_intinf0_int(x, k)
+      var x = dfact(k - 2)
+      var y = mul_intinf0_int(x, k)
     in
       y
     end
@@ -54,9 +54,9 @@
 // Number of permutations on n objects using k at a time.
 fn permutations {n : nat}{ k : nat | k <= n } (n : int(n), k : int(k)) : Intinf =
   let
-    val x = fact(n)
-    val y = fact(n - k)
-    val z = div_intinf0_intinf1(x, y)
+    var x = fact(n)
+    var y = fact(n - k)
+    var z = div_intinf0_intinf1(x, y)
     val _ = intinf_free(y)
   in
     z
@@ -69,8 +69,8 @@
       case+ i of
         | 2 => int2intinf(n + 2)
         | i =>> let
-          val x = numerator_loop(i - 1)
-          val y = mul_intinf0_int(x, n + i)
+          var x = numerator_loop(i - 1)
+          var y = mul_intinf0_int(x, n + i)
         in
           $UN.castvwtp0(y)
         end
@@ -79,9 +79,9 @@
       | 0 => int2intinf(1)
       | 1 => int2intinf(1)
       | k =>> let
-        val x = numerator_loop(k)
-        val y = fact(k)
-        val z = div_intinf0_intinf1(x, y)
+        var x = numerator_loop(k)
+        var y = fact(k)
+        var z = div_intinf0_intinf1(x, y)
         val _ = intinf_free(y)
       in
         $UN.castvwtp0(z)
@@ -96,8 +96,8 @@
         | 1 => int2intinf(n)
         | 2 => $UN.castvwtp0(int2intinf((n - 1) * n))
         | i =>> let
-          val x = numerator_loop(i - 1)
-          val y = mul_intinf0_int(x, n + 1 - i)
+          var x = numerator_loop(i - 1)
+          var y = mul_intinf0_int(x, n + 1 - i)
         in
           $UN.castvwtp0(y)
         end
@@ -106,9 +106,9 @@
       | 0 => int2intinf(1)
       | 1 => int2intinf(n)
       | k =>> let
-        val x = numerator_loop(k)
-        val y = fact(k)
-        val z = div_intinf0_intinf1(x, y)
+        var x = numerator_loop(k)
+        var y = fact(k)
+        var z = div_intinf0_intinf1(x, y)
         val _ = intinf_free(y)
       in
         $UN.castvwtp0(z)
diff --git a/ats-src/number-theory-ffi.dats b/ats-src/number-theory-ffi.dats
--- a/ats-src/number-theory-ffi.dats
+++ b/ats-src/number-theory-ffi.dats
@@ -20,7 +20,7 @@
   "mac#"
 
 extern
-fun jacobi_ats : (intGte(0), intGt(0)) -> int =
+fun jacobi_ats : (intGte(0), Odd) -> int =
   "mac#"
 
 extern
@@ -43,4 +43,4 @@
   is_perfect(n)
 
 implement jacobi_ats (m, n) =
-  jacobi(m, n)
+  jacobi(m, $UN.cast(n))
diff --git a/ats-src/number-theory.dats b/ats-src/number-theory.dats
--- a/ats-src/number-theory.dats
+++ b/ats-src/number-theory.dats
@@ -8,11 +8,6 @@
 
 #define ATS_MAINATSFLAG 1
 
-// Existential types for even and odd numbers. These are only usable with the
-// ATS library.
-typedef Even = [ n : nat ] int(2*n)
-typedef Odd = [ n : nat ] int(2*n+1)
-
 // m | n
 fn divides(m : int, n : int) :<> bool =
   n % m = 0
@@ -27,29 +22,32 @@
   (m / gcd(m, n)) * n
 
 // stream all divisors of an integer.
-fn divisors(n : intGte(1)) :<> stream_vt(int) =
-  let
-    fun loop {k : nat}{ m : nat | m > 0 && k >= m } .<k-m>. (n : int(k), acc : int(m)) :<> stream_vt(int) =
-      if acc >= n then
-        $ldelay(stream_vt_cons(acc, $ldelay(stream_vt_nil)))
-      else
-        if n % acc = 0 then
-          $ldelay(stream_vt_cons(acc, loop(n, acc + 1)))
+fn divisors(n : intGte(1)) : stream_vt(int) =
+  case+ n of
+    | 1 => $ldelay(stream_vt_cons(1, $ldelay(stream_vt_nil)))
+    | _ => let
+      fun loop { k : nat | k > 0 }{ m : nat | m > 0 } (n : int(k), acc : int(m)) : stream_vt(int) =
+        if acc >= sqrt_int(n) then
+          if n % acc = 0 then
+            if n / acc != acc then
+              $ldelay(stream_vt_cons(acc, $ldelay(stream_vt_cons(n / acc, $ldelay(stream_vt_nil)))))
+            else
+              $ldelay(stream_vt_cons(acc, $ldelay(stream_vt_nil)))
+          else
+            $ldelay(stream_vt_nil)
         else
-          loop(n, acc + 1)
-  in
-    loop(n, 1)
-  end
+          if n % acc = 0 then
+            $ldelay(stream_vt_cons(acc, $ldelay(stream_vt_cons(n / acc, (loop(n, acc + 1))))))
+          else
+            loop(n, acc + 1)
+    in
+      loop(n, 1)
+    end
 
 // prime divisors of an integer
 fn prime_divisors(n : intGte(1)) : stream_vt(int) =
   stream_vt_filter_cloptr(divisors(n), lam x => is_prime($UN.cast(x)))
 
-// stream_vt_filter_cloptr
-typedef gprime(tk : tk, p : int) = { m, n : nat | m < 1 && m <= n && n < p && m*n != p && p > 1 } g1int(tk, p)
-typedef prime(p : int) = gprime(int_kind, p)
-typedef Prime = [ p : nat ] prime(p)
-
 fn div_gt_zero(n : intGte(0), p : intGt(1)) : intGte(0) =
   $UN.cast(n / p)
 
@@ -73,7 +71,7 @@
                 exp_mod_prime(sq_a, n2, p)
               else
                 let
-                  val y = a * exp_mod_prime(sq_a, n2, p)
+                  var y = a * exp_mod_prime(sq_a, n2, p)
                 in
                   y
                 end
@@ -84,9 +82,9 @@
   end
 
 // Jacobi symbol for positive integers. See here: http://mathworld.wolfram.com/JacobiSymbol.html
-fun jacobi { n : int | n > 0 } (a : intGte(0), n : int(n)) : int =
+fun jacobi(a : intGte(0), n : Odd) : int =
   let
-    fun legendre { p : int | p >= 2 } (a : intGte(0), p : int(p)) : int =
+    fun legendre { p : int | p >= 2 } (a : intGte(0), p : int(p)) : intBtwe(~1, 1) =
       case+ p % a of
         | 0 => 0
         | _ => let
@@ -117,38 +115,17 @@
 
 // TODO make this O(√n)
 fn count_divisors(n : intGte(1)) : int =
+  stream_vt_length(divisors(n))
+
+// TODO make this O(√n)
+fn sum_divisors(n : intGte(1)) : int =
   let
-    fun loop {k : nat}{ m : nat | m > 0 && k >= m } .<k-m>. (n : int(k), acc : int(m)) :<> int =
-      if acc >= n then
-        1
-      else
-        if n % acc = 0 then
-          1 + loop(n, acc + 1)
-        else
-          loop(n, acc + 1)
+    val x: stream_vt(int) = divisors(n)
   in
-    loop(n, 1)
+    stream_vt_foldleft_cloptr(x, 0, lam (acc, next) => g0int_add(acc, next))
   end
 
-// TODO make this O(√n)
-fn sum_divisors(n : intGte(1)) :<> int =
-  if n = 1 then
-    1
-  else
-    let
-      fun loop {k : nat}{ m : nat | m > 0 && k >= m } .<k-m>. (n : int(k), acc : int(m)) :<> int =
-        if acc >= n then
-          n
-        else
-          if n % acc = 0 then
-            acc + loop(n, acc + 1)
-          else
-            loop(n, acc + 1)
-    in
-      loop(n, 1)
-    end
-
-fn is_perfect(n : intGte(1)) :<> bool =
+fn is_perfect(n : intGte(1)) : bool =
   sum_divisors(n) = n
 
 fun rip { n : nat | n > 0 }{ p : nat | p > 0 } .<n>. (n : int(n), p : int(p)) :<> [ r : nat | r <= n && r > 0 ] int(r) =
@@ -217,8 +194,8 @@
     fnx loop { n : nat | n >= 1 }{ m : nat | m >= n } .<m-n>. (i : int(n), bound : int(m)) : Intinf =
       if i < bound then
         let
-          val x = loop(i + 1, bound)
-          val y = add_intinf0_int(x, witness(totient(i)))
+          var x = loop(i + 1, bound)
+          var y = add_intinf0_int(x, witness(totient(i)))
         in
           y
         end
diff --git a/ats-src/numerics.dats b/ats-src/numerics.dats
--- a/ats-src/numerics.dats
+++ b/ats-src/numerics.dats
@@ -1,5 +1,9 @@
 #define ATS_MAINATSFLAG 1
 
+#define ATS_EXTERN_PREFIX "atscntrb_gmp_"
+
+#define ATS_EXTERN_STATIC "_atscntrb_gmp_"
+
 #include "share/atspre_staload.hats"
 #include "contrib/atscntrb-hx-intinf/mylibies.hats"
 #include "contrib/atscntrb-libgmp/mylibies.hats"
@@ -8,14 +12,22 @@
 staload "libats/libc/SATS/math.sats"
 staload UN = "prelude/SATS/unsafe.sats"
 
+// Existential types for even and odd numbers. These are only usable with the
+// ATS library.
+typedef Even = [ n : nat ] int(2*n)
+typedef Odd = [ n : nat ] int(2*n+1)
+typedef gprime(tk : tk, p : int) = { m, n : nat | m < 1 && m <= n && n < p && m*n != p && p > 1 } g1int(tk, p)
+typedef prime(p : int) = gprime(int_kind, p)
+typedef Prime = [ p : nat ] prime(p)
+
 fn witness(n : int) :<> [ m : nat ] int(m) =
   $UN.cast(n)
 
 // Fast computation of Fibonacci numbers via GMP bindings.
 fun fib_gmp(n : intGte(0)) : Intinf =
   let
-    val z = ptr_alloc()
-    val x: ulint = g0int2uint_int_ulint(n + 1)
+    var z = ptr_alloc()
+    var x: ulint = g0int2uint_int_ulint(n + 1)
     val () = $GMP.mpz_init(!(z.2))
     val () = $GMP.mpz_fib_uint(!(z.2), x)
   in
diff --git a/cbits/combinatorics.c b/cbits/combinatorics.c
--- a/cbits/combinatorics.c
+++ b/cbits/combinatorics.c
@@ -1,7 +1,7 @@
 /*
 **
 ** The C code is generated by [ATS/Postiats-0-3-8]
-** The starting compilation time is: 2018-1-13: 13h:42m
+** The starting compilation time is: 2018-1-14: 17h:49m
 **
 */
 
@@ -2548,8 +2548,9 @@
 /* tmpvardeclst(beg) */
 ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
 ATStmpdec(tmpret70, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp79, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref79, atstkind_type(atstype_ptrk)) ;
 ATStmpdec(tmp80, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref81, atstkind_type(atstype_ptrk)) ;
 /* tmpvardeclst(end) */
 /*
 emit_funent_fnxdeclst:
@@ -2636,6 +2637,12 @@
 letpush(beg)
 */
 /*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1369(line=48, offs=11) -- 1370(line=48, offs=12)
+*/
+/*
+ATSINStmpdec(tmpref79) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1379(line=48, offs=21) -- 1384(line=48, offs=26)
 */
 ATSINSmove(tmp80, atspre_g1int_sub_int(arg0, ATSPMVi0nt(2))) ;
@@ -2643,18 +2650,28 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1373(line=48, offs=15) -- 1385(line=48, offs=27)
 */
-ATSINSmove(tmp79, dfact_34(tmp80)) ;
+ATSINSmove(tmpref79, dfact_34(tmp80)) ;
 
 /*
-letpush(end)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1396(line=49, offs=11) -- 1397(line=49, offs=12)
 */
-
 /*
+ATSINStmpdec(tmpref81) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1400(line=49, offs=15) -- 1421(line=49, offs=36)
 */
-ATSINSmove(tmpret70, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(tmp79, arg0)) ;
+ATSINSmove(tmpref81, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__4(tmpref79, arg0)) ;
 
 /*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1435(line=51, offs=7) -- 1436(line=51, offs=8)
+*/
+ATSINSmove(tmpret70, tmpref81) ;
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1355(line=47, offs=13) -- 1444(line=52, offs=8)
 */
 /*
@@ -2938,12 +2955,12 @@
 permutations_40(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
 {
 /* tmpvardeclst(beg) */
-ATStmpdec(tmpret83, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp84, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp85, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp86, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp87, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp92) ;
+ATStmpdec(tmpret84, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref85, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref86, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp87, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref88, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp93) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
@@ -2957,29 +2974,47 @@
 letpush(beg)
 */
 /*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1600(line=57, offs=9) -- 1601(line=57, offs=10)
+*/
+/*
+ATSINStmpdec(tmpref85) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1604(line=57, offs=13) -- 1610(line=57, offs=19)
 */
-ATSINSmove(tmp84, fact_28(arg0)) ;
+ATSINSmove(tmpref85, fact_28(arg0)) ;
 
 /*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1620(line=58, offs=9) -- 1621(line=58, offs=10)
+*/
+/*
+ATSINStmpdec(tmpref86) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1629(line=58, offs=18) -- 1634(line=58, offs=23)
 */
-ATSINSmove(tmp86, atspre_g1int_sub_int(arg0, arg1)) ;
+ATSINSmove(tmp87, atspre_g1int_sub_int(arg0, arg1)) ;
 
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1624(line=58, offs=13) -- 1635(line=58, offs=24)
 */
-ATSINSmove(tmp85, fact_28(tmp86)) ;
+ATSINSmove(tmpref86, fact_28(tmp87)) ;
 
 /*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1644(line=59, offs=9) -- 1645(line=59, offs=10)
+*/
+/*
+ATSINStmpdec(tmpref88) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1648(line=59, offs=13) -- 1673(line=59, offs=38)
 */
-ATSINSmove(tmp87, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__1(tmp84, ATSPMVrefarg0(tmp85))) ;
+ATSINSmove(tmpref88, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__1(tmpref85, ATSPMVrefarg0(tmpref86))) ;
 
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1686(line=60, offs=13) -- 1699(line=60, offs=26)
 */
-ATSINSmove_void(tmp92, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(tmp85)) ;
+ATSINSmove_void(tmp93, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__2(tmpref86)) ;
 
 /*
 letpush(end)
@@ -2988,7 +3023,7 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1710(line=62, offs=5) -- 1711(line=62, offs=6)
 */
-ATSINSmove(tmpret83, tmp87) ;
+ATSINSmove(tmpret84, tmpref88) ;
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1588(line=56, offs=3) -- 1717(line=63, offs=6)
 */
@@ -2996,7 +3031,7 @@
 INSletpop()
 */
 ATSfunbody_end()
-ATSreturn(tmpret83) ;
+ATSreturn(tmpret84) ;
 } /* end of [permutations_40] */
 
 #if(0)
@@ -3019,8 +3054,8 @@
 ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
 {
 /* tmpvardeclst(beg) */
-ATStmpdec(tmpret88, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp89) ;
+ATStmpdec(tmpret89, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp90) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
@@ -3036,7 +3071,7 @@
 /*
 emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
 */
-ATSINSmove_void(tmp89, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
+ATSINSmove_void(tmp90, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
 
 /*
 letpush(end)
@@ -3045,7 +3080,7 @@
 /*
 emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
 */
-ATSINSmove(tmpret88, arg0) ;
+ATSINSmove(tmpret89, arg0) ;
 /*
 emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
 */
@@ -3053,7 +3088,7 @@
 INSletpop()
 */
 ATSfunbody_end()
-ATSreturn(tmpret88) ;
+ATSreturn(tmpret89) ;
 } /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41] */
 #endif // end of [TEMPLATE]
 
@@ -3076,8 +3111,8 @@
 ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__1(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
 {
 /* tmpvardeclst(beg) */
-ATStmpdec(tmpret88__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp89__1) ;
+ATStmpdec(tmpret89__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp90__1) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
@@ -3093,7 +3128,7 @@
 /*
 emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
 */
-ATSINSmove_void(tmp89__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)))) ;
+ATSINSmove_void(tmp90__1, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
 
 /*
 letpush(end)
@@ -3102,7 +3137,7 @@
 /*
 emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
 */
-ATSINSmove(tmpret88__1, arg0) ;
+ATSINSmove(tmpret89__1, arg0) ;
 /*
 emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
 */
@@ -3110,7 +3145,7 @@
 INSletpop()
 */
 ATSfunbody_end()
-ATSreturn(tmpret88__1) ;
+ATSreturn(tmpret89__1) ;
 } /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__1] */
 
 /*
@@ -3185,11 +3220,11 @@
 catalan_44(atstkind_t0ype(atstype_int) arg0)
 {
 /* tmpvardeclst(beg) */
-ATStmpdec(tmpret95, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp116, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp117, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp118, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp121) ;
+ATStmpdec(tmpret96, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref117, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref118, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref119, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp122) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
@@ -3235,7 +3270,7 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2150(line=79, offs=14) -- 2163(line=79, offs=27)
 */
-ATSINSmove(tmpret95, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(ATSPMVi0nt(1))) ;
+ATSINSmove(tmpret96, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__11(ATSPMVi0nt(1))) ;
 
 ATSbranch_end()
 
@@ -3261,7 +3296,7 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2177(line=80, offs=14) -- 2190(line=80, offs=27)
 */
-ATSINSmove(tmpret95, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(ATSPMVi0nt(1))) ;
+ATSINSmove(tmpret96, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__12(ATSPMVi0nt(1))) ;
 
 ATSbranch_end()
 
@@ -3283,24 +3318,42 @@
 letpush(beg)
 */
 /*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2221(line=82, offs=13) -- 2222(line=82, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref117) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2225(line=82, offs=17) -- 2241(line=82, offs=33)
 */
-ATSINSmove(tmp116, numerator_loop_45(arg0, arg0)) ;
+ATSINSmove(tmpref117, numerator_loop_45(arg0, arg0)) ;
 
 /*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2255(line=83, offs=13) -- 2256(line=83, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref118) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2259(line=83, offs=17) -- 2265(line=83, offs=23)
 */
-ATSINSmove(tmp117, fact_28(arg0)) ;
+ATSINSmove(tmpref118, fact_28(arg0)) ;
 
 /*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2279(line=84, offs=13) -- 2280(line=84, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref119) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2283(line=84, offs=17) -- 2308(line=84, offs=42)
 */
-ATSINSmove(tmp118, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__2(tmp116, ATSPMVrefarg0(tmp117))) ;
+ATSINSmove(tmpref119, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__2(tmpref117, ATSPMVrefarg0(tmpref118))) ;
 
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2325(line=85, offs=17) -- 2338(line=85, offs=30)
 */
-ATSINSmove_void(tmp121, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(tmp117)) ;
+ATSINSmove_void(tmp122, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3(tmpref118)) ;
 
 /*
 letpush(end)
@@ -3309,7 +3362,7 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2357(line=87, offs=9) -- 2372(line=87, offs=24)
 */
-ATSINSmove(tmpret95, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp118)) ;
+ATSINSmove(tmpret96, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref119)) ;
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2205(line=81, offs=15) -- 2383(line=88, offs=10)
 */
@@ -3330,7 +3383,7 @@
 INSletpop()
 */
 ATSfunbody_end()
-ATSreturn(tmpret95) ;
+ATSreturn(tmpret96) ;
 } /* end of [catalan_44] */
 
 /*
@@ -3347,12 +3400,12 @@
 numerator_loop_45(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0)
 {
 /* tmpvardeclst(beg) */
-ATStmpdec(tmpret96, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp101, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp102, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp103, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp104, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp107, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret97, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp102, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref103, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp104, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref105, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp108, atstkind_t0ype(atstype_int)) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
@@ -3388,12 +3441,12 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1945(line=70, offs=16) -- 1962(line=70, offs=33)
 */
-ATSINSmove(tmp101, atspre_g1int_add_int(env0, ATSPMVi0nt(2))) ;
+ATSINSmove(tmp102, atspre_g1int_add_int(env0, ATSPMVi0nt(2))) ;
 
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1945(line=70, offs=16) -- 1962(line=70, offs=33)
 */
-ATSINSmove(tmpret96, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(tmp101)) ;
+ATSINSmove(tmpret97, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__10(tmp102)) ;
 
 ATSbranch_end()
 
@@ -3415,24 +3468,36 @@
 letpush(beg)
 */
 /*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1997(line=72, offs=15) -- 1998(line=72, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref103) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2016(line=72, offs=34) -- 2021(line=72, offs=39)
 */
-ATSINSmove(tmp103, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+ATSINSmove(tmp104, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
 
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2001(line=72, offs=19) -- 2022(line=72, offs=40)
 */
-ATSINSmove(tmp102, numerator_loop_45(env0, tmp103)) ;
+ATSINSmove(tmpref103, numerator_loop_45(env0, tmp104)) ;
 
 /*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2037(line=73, offs=15) -- 2038(line=73, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref105) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2060(line=73, offs=38) -- 2065(line=73, offs=43)
 */
-ATSINSmove(tmp107, atspre_g1int_add_int(env0, arg0)) ;
+ATSINSmove(tmp108, atspre_g1int_add_int(env0, arg0)) ;
 
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2041(line=73, offs=19) -- 2066(line=73, offs=44)
 */
-ATSINSmove(tmp104, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(tmp102, tmp107)) ;
+ATSINSmove(tmpref105, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__5(tmpref103, tmp108)) ;
 
 /*
 letpush(end)
@@ -3441,7 +3506,7 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2088(line=75, offs=11) -- 2103(line=75, offs=26)
 */
-ATSINSmove(tmpret96, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp104)) ;
+ATSINSmove(tmpret97, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref105)) ;
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 1979(line=71, offs=17) -- 2116(line=76, offs=12)
 */
@@ -3456,7 +3521,7 @@
 ATScaseof_end()
 
 ATSfunbody_end()
-ATSreturn(tmpret96) ;
+ATSreturn(tmpret97) ;
 } /* end of [numerator_loop_45] */
 
 /*
@@ -3825,8 +3890,8 @@
 ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__2(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
 {
 /* tmpvardeclst(beg) */
-ATStmpdec(tmpret88__2, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp89__2) ;
+ATStmpdec(tmpret89__2, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp90__2) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
@@ -3842,7 +3907,7 @@
 /*
 emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
 */
-ATSINSmove_void(tmp89__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)))) ;
+ATSINSmove_void(tmp90__2, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
 
 /*
 letpush(end)
@@ -3851,7 +3916,7 @@
 /*
 emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
 */
-ATSINSmove(tmpret88__2, arg0) ;
+ATSINSmove(tmpret89__2, arg0) ;
 /*
 emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
 */
@@ -3859,7 +3924,7 @@
 INSletpop()
 */
 ATSfunbody_end()
-ATSreturn(tmpret88__2) ;
+ATSreturn(tmpret89__2) ;
 } /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__2] */
 
 /*
@@ -3934,11 +3999,11 @@
 choose_55(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
 {
 /* tmpvardeclst(beg) */
-ATStmpdec(tmpret124, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp152, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp153, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp154, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp157) ;
+ATStmpdec(tmpret125, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref153, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref154, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref155, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp158) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
@@ -3984,7 +4049,7 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2918(line=106, offs=14) -- 2931(line=106, offs=27)
 */
-ATSINSmove(tmpret124, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(ATSPMVi0nt(1))) ;
+ATSINSmove(tmpret125, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__15(ATSPMVi0nt(1))) ;
 
 ATSbranch_end()
 
@@ -4010,7 +4075,7 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2945(line=107, offs=14) -- 2957(line=107, offs=26)
 */
-ATSINSmove(tmpret124, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(arg0)) ;
+ATSINSmove(tmpret125, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__16(arg0)) ;
 
 ATSbranch_end()
 
@@ -4032,24 +4097,42 @@
 letpush(beg)
 */
 /*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2989(line=109, offs=13) -- 2990(line=109, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref153) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2993(line=109, offs=17) -- 3009(line=109, offs=33)
 */
-ATSINSmove(tmp152, numerator_loop_56(arg0, arg1)) ;
+ATSINSmove(tmpref153, numerator_loop_56(arg0, arg1)) ;
 
 /*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 3023(line=110, offs=13) -- 3024(line=110, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref154) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 3027(line=110, offs=17) -- 3033(line=110, offs=23)
 */
-ATSINSmove(tmp153, fact_28(arg1)) ;
+ATSINSmove(tmpref154, fact_28(arg1)) ;
 
 /*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 3047(line=111, offs=13) -- 3048(line=111, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref155) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 3051(line=111, offs=17) -- 3076(line=111, offs=42)
 */
-ATSINSmove(tmp154, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__3(tmp152, ATSPMVrefarg0(tmp153))) ;
+ATSINSmove(tmpref155, ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__3(tmpref153, ATSPMVrefarg0(tmpref154))) ;
 
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 3093(line=112, offs=17) -- 3106(line=112, offs=30)
 */
-ATSINSmove_void(tmp157, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(tmp153)) ;
+ATSINSmove_void(tmp158, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(tmpref154)) ;
 
 /*
 letpush(end)
@@ -4058,7 +4141,7 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 3125(line=114, offs=9) -- 3140(line=114, offs=24)
 */
-ATSINSmove(tmpret124, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp154)) ;
+ATSINSmove(tmpret125, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref155)) ;
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2973(line=108, offs=15) -- 3151(line=115, offs=10)
 */
@@ -4079,7 +4162,7 @@
 INSletpop()
 */
 ATSfunbody_end()
-ATSreturn(tmpret124) ;
+ATSreturn(tmpret125) ;
 } /* end of [choose_55] */
 
 /*
@@ -4096,15 +4179,15 @@
 numerator_loop_56(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0)
 {
 /* tmpvardeclst(beg) */
-ATStmpdec(tmpret125, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp130, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp135, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret126, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp131, atstkind_type(atstype_ptrk)) ;
 ATStmpdec(tmp136, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp137, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp138, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp139, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp142, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp137, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref138, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp139, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref140, atstkind_type(atstype_ptrk)) ;
 ATStmpdec(tmp143, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp144, atstkind_t0ype(atstype_int)) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
@@ -4140,7 +4223,7 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2659(line=96, offs=16) -- 2671(line=96, offs=28)
 */
-ATSINSmove(tmpret125, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(env0)) ;
+ATSINSmove(tmpret126, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__13(env0)) ;
 
 ATSbranch_end()
 
@@ -4166,22 +4249,22 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2702(line=97, offs=30) -- 2725(line=97, offs=53)
 */
-ATSINSmove(tmp136, atspre_g1int_sub_int(env0, ATSPMVi0nt(1))) ;
+ATSINSmove(tmp137, atspre_g1int_sub_int(env0, ATSPMVi0nt(1))) ;
 
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2702(line=97, offs=30) -- 2725(line=97, offs=53)
 */
-ATSINSmove(tmp135, atspre_g1int_mul_int(tmp136, env0)) ;
+ATSINSmove(tmp136, atspre_g1int_mul_int(tmp137, env0)) ;
 
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2702(line=97, offs=30) -- 2725(line=97, offs=53)
 */
-ATSINSmove(tmp130, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(tmp135)) ;
+ATSINSmove(tmp131, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__14(tmp136)) ;
 
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2688(line=97, offs=16) -- 2726(line=97, offs=54)
 */
-ATSINSmove(tmpret125, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp130)) ;
+ATSINSmove(tmpret126, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp131)) ;
 ATSbranch_end()
 
 ATSbranch_beg()
@@ -4202,29 +4285,41 @@
 letpush(beg)
 */
 /*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2761(line=99, offs=15) -- 2762(line=99, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref138) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2780(line=99, offs=34) -- 2785(line=99, offs=39)
 */
-ATSINSmove(tmp138, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+ATSINSmove(tmp139, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
 
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2765(line=99, offs=19) -- 2786(line=99, offs=40)
 */
-ATSINSmove(tmp137, numerator_loop_56(env0, tmp138)) ;
+ATSINSmove(tmpref138, numerator_loop_56(env0, tmp139)) ;
 
 /*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2801(line=100, offs=15) -- 2802(line=100, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref140) ;
+*/
+/*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2824(line=100, offs=38) -- 2829(line=100, offs=43)
 */
-ATSINSmove(tmp143, atspre_g1int_add_int(env0, ATSPMVi0nt(1))) ;
+ATSINSmove(tmp144, atspre_g1int_add_int(env0, ATSPMVi0nt(1))) ;
 
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2824(line=100, offs=38) -- 2833(line=100, offs=47)
 */
-ATSINSmove(tmp142, atspre_g1int_sub_int(tmp143, arg0)) ;
+ATSINSmove(tmp143, atspre_g1int_sub_int(tmp144, arg0)) ;
 
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2805(line=100, offs=19) -- 2834(line=100, offs=48)
 */
-ATSINSmove(tmp139, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(tmp137, tmp142)) ;
+ATSINSmove(tmpref140, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_int__8__6(tmpref138, tmp143)) ;
 
 /*
 letpush(end)
@@ -4233,7 +4328,7 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2856(line=102, offs=11) -- 2871(line=102, offs=26)
 */
-ATSINSmove(tmpret125, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp139)) ;
+ATSINSmove(tmpret126, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref140)) ;
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 2743(line=98, offs=17) -- 2884(line=103, offs=12)
 */
@@ -4248,7 +4343,7 @@
 ATScaseof_end()
 
 ATSfunbody_end()
-ATSreturn(tmpret125) ;
+ATSreturn(tmpret126) ;
 } /* end of [numerator_loop_56] */
 
 /*
@@ -4714,8 +4809,8 @@
 ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__3(atstkind_type(atstype_ptrk) arg0, atsrefarg0_type(atstkind_type(atstype_ptrk)) arg1)
 {
 /* tmpvardeclst(beg) */
-ATStmpdec(tmpret88__3, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp89__3) ;
+ATStmpdec(tmpret89__3, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp90__3) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
@@ -4731,7 +4826,7 @@
 /*
 emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9042(line=516, offs=10) -- 9078(line=516, offs=46)
 */
-ATSINSmove_void(tmp89__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)))) ;
+ATSINSmove_void(tmp90__3, atscntrb_gmp_mpz_tdiv2_q_mpz(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), ATSPMVrefarg1(ATSSELrecsin(arg1, atstkind_type(atstype_ptrk), atslab__2)))) ;
 
 /*
 letpush(end)
@@ -4740,7 +4835,7 @@
 /*
 emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9019(line=513, offs=13) -- 9020(line=513, offs=14)
 */
-ATSINSmove(tmpret88__3, arg0) ;
+ATSINSmove(tmpret89__3, arg0) ;
 /*
 emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 9018(line=513, offs=12) -- 9083(line=518, offs=2)
 */
@@ -4748,7 +4843,7 @@
 INSletpop()
 */
 ATSfunbody_end()
-ATSreturn(tmpret88__3) ;
+ATSreturn(tmpret89__3) ;
 } /* end of [ATSCNTRB_056_HX_056_intinf_vt__div_intinf0_intinf1__41__3] */
 
 /*
@@ -4823,7 +4918,7 @@
 choose_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
 {
 /* tmpvardeclst(beg) */
-ATStmpdec(tmpret160, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpret161, atstkind_type(atstype_ptrk)) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
@@ -4833,10 +4928,10 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 672(line=33, offs=3) -- 684(line=33, offs=15)
 */
-ATSINSmove(tmpret160, choose_55(arg0, arg1)) ;
+ATSINSmove(tmpret161, choose_55(arg0, arg1)) ;
 
 ATSfunbody_end()
-ATSreturn(tmpret160) ;
+ATSreturn(tmpret161) ;
 } /* end of [choose_ats] */
 
 /*
@@ -4853,7 +4948,7 @@
 permutations_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
 {
 /* tmpvardeclst(beg) */
-ATStmpdec(tmpret161, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpret162, atstkind_type(atstype_ptrk)) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
@@ -4863,10 +4958,10 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 724(line=36, offs=3) -- 736(line=36, offs=15)
 */
-ATSINSmove(tmpret161, choose_55(arg0, arg1)) ;
+ATSINSmove(tmpret162, choose_55(arg0, arg1)) ;
 
 ATSfunbody_end()
-ATSreturn(tmpret161) ;
+ATSreturn(tmpret162) ;
 } /* end of [permutations_ats] */
 
 /*
@@ -4883,7 +4978,7 @@
 double_factorial_ats(atstkind_t0ype(atstype_int) arg0)
 {
 /* tmpvardeclst(beg) */
-ATStmpdec(tmpret162, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpret163, atstkind_type(atstype_ptrk)) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
@@ -4893,10 +4988,10 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 777(line=39, offs=3) -- 784(line=39, offs=10)
 */
-ATSINSmove(tmpret162, dfact_34(arg0)) ;
+ATSINSmove(tmpret163, dfact_34(arg0)) ;
 
 ATSfunbody_end()
-ATSreturn(tmpret162) ;
+ATSreturn(tmpret163) ;
 } /* end of [double_factorial_ats] */
 
 /*
@@ -4913,7 +5008,7 @@
 factorial_ats(atstkind_t0ype(atstype_int) arg0)
 {
 /* tmpvardeclst(beg) */
-ATStmpdec(tmpret163, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpret164, atstkind_type(atstype_ptrk)) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
@@ -4923,10 +5018,10 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 819(line=42, offs=3) -- 825(line=42, offs=9)
 */
-ATSINSmove(tmpret163, fact_28(arg0)) ;
+ATSINSmove(tmpret164, fact_28(arg0)) ;
 
 ATSfunbody_end()
-ATSreturn(tmpret163) ;
+ATSreturn(tmpret164) ;
 } /* end of [factorial_ats] */
 
 /*
@@ -4943,7 +5038,7 @@
 catalan_ats(atstkind_t0ype(atstype_int) arg0)
 {
 /* tmpvardeclst(beg) */
-ATStmpdec(tmpret164, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpret165, atstkind_type(atstype_ptrk)) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
@@ -4953,10 +5048,10 @@
 /*
 emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 858(line=45, offs=3) -- 867(line=45, offs=12)
 */
-ATSINSmove(tmpret164, catalan_44(arg0)) ;
+ATSINSmove(tmpret165, catalan_44(arg0)) ;
 
 ATSfunbody_end()
-ATSreturn(tmpret164) ;
+ATSreturn(tmpret165) ;
 } /* end of [catalan_ats] */
 
 /*
diff --git a/cbits/number-theory.c b/cbits/number-theory.c
--- a/cbits/number-theory.c
+++ b/cbits/number-theory.c
@@ -1,6930 +1,8253 @@
 /*
 **
 ** The C code is generated by [ATS/Postiats-0-3-8]
-** The starting compilation time is: 2018-1-13: 13h:48m
-**
-*/
-
-/*
-** include runtime header files
-*/
-#ifndef _ATS_CCOMP_HEADER_NONE_
-#include "pats_ccomp_config.h"
-#include "pats_ccomp_basics.h"
-#include "pats_ccomp_typedefs.h"
-#include "pats_ccomp_instrset.h"
-#include "pats_ccomp_memalloc.h"
-#ifndef _ATS_CCOMP_EXCEPTION_NONE_
-#include "pats_ccomp_memalloca.h"
-#include "pats_ccomp_exception.h"
-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
-#endif /* _ATS_CCOMP_HEADER_NONE_ */
-
-
-/*
-** include prelude cats files
-*/
-#ifndef _ATS_CCOMP_PRELUDE_NONE_
-//
-#include "prelude/CATS/basics.cats"
-#include "prelude/CATS/integer.cats"
-#include "prelude/CATS/pointer.cats"
-#include "prelude/CATS/integer_long.cats"
-#include "prelude/CATS/integer_size.cats"
-#include "prelude/CATS/integer_short.cats"
-#include "prelude/CATS/bool.cats"
-#include "prelude/CATS/char.cats"
-#include "prelude/CATS/float.cats"
-#include "prelude/CATS/integer_ptr.cats"
-#include "prelude/CATS/integer_fixed.cats"
-#include "prelude/CATS/memory.cats"
-#include "prelude/CATS/string.cats"
-#include "prelude/CATS/strptr.cats"
-//
-#include "prelude/CATS/fprintf.cats"
-//
-#include "prelude/CATS/filebas.cats"
-//
-#include "prelude/CATS/list.cats"
-#include "prelude/CATS/option.cats"
-#include "prelude/CATS/array.cats"
-#include "prelude/CATS/arrayptr.cats"
-#include "prelude/CATS/arrayref.cats"
-#include "prelude/CATS/matrix.cats"
-#include "prelude/CATS/matrixptr.cats"
-//
-#endif /* _ATS_CCOMP_PRELUDE_NONE_ */
-/*
-** for user-supplied prelude
-*/
-#ifdef _ATS_CCOMP_PRELUDE_USER_
-//
-#include _ATS_CCOMP_PRELUDE_USER_
-//
-#endif /* _ATS_CCOMP_PRELUDE_USER_ */
-/*
-** for user2-supplied prelude
-*/
-#ifdef _ATS_CCOMP_PRELUDE_USER2_
-//
-#include _ATS_CCOMP_PRELUDE_USER2_
-//
-#endif /* _ATS_CCOMP_PRELUDE_USER2_ */
-
-/*
-staload-prologues(beg)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/basics.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats: 1533(line=44, offs=1) -- 1572(line=44, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_long.dats: 1602(line=49, offs=1) -- 1641(line=49, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_short.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/char.dats: 1610(line=48, offs=1) -- 1649(line=48, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/float.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/string.dats: 1631(line=50, offs=1) -- 1670(line=50, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/strptr.dats: 1629(line=50, offs=1) -- 1668(line=50, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/strptr.dats: 1691(line=54, offs=1) -- 1738(line=54, offs=48)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_ptr.dats: 1601(line=49, offs=1) -- 1640(line=49, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_fixed.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/memory.dats: 1410(line=38, offs=1) -- 1449(line=39, offs=32)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1613(line=49, offs=1) -- 1652(line=50, offs=32)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1675(line=54, offs=1) -- 1721(line=55, offs=39)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1744(line=59, offs=1) -- 1789(line=60, offs=38)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/stdio.cats"
-/*
-/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/types.cats"
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1871(line=66, offs=1) -- 1918(line=66, offs=48)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/stat.sats: 1390(line=36, offs=1) -- 1440(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/stat.cats"
-/*
-/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/stat.sats: 1756(line=58, offs=1) -- 1805(line=60, offs=34)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/types.cats"
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 15529(line=878, offs=1) -- 15566(line=879, offs=30)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/stdio.cats"
-/*
-/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/sys/types.cats"
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list.dats: 1529(line=44, offs=1) -- 1568(line=45, offs=32)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list.dats: 1569(line=46, offs=1) -- 1615(line=47, offs=39)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list_vt.dats: 1538(line=44, offs=1) -- 1577(line=45, offs=32)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list_vt.dats: 1578(line=46, offs=1) -- 1624(line=47, offs=39)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/list_vt_mergesort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/list_vt_quicksort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/array.dats: 1534(line=44, offs=1) -- 1573(line=44, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/array.dats: 1574(line=45, offs=1) -- 1616(line=45, offs=43)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/array_bsearch.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/array_quicksort.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/arrayptr.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/arrayref.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrix.dats: 1535(line=44, offs=1) -- 1574(line=44, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrixptr.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrixref.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/tostring.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/checkast.dats: 1531(line=44, offs=1) -- 1570(line=45, offs=32)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/mydepies.hats: 192(line=16, offs=1) -- 232(line=16, offs=41)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1233(line=43, offs=3)
-*/
-
-//
-#include \
-"atscntrb-libgmp/CATS/gmp.cats"
-//
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1233(line=43, offs=3)
-*/
-
-//
-#include \
-"atscntrb-libgmp/CATS/gmp.cats"
-//
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/math.sats: 1380(line=35, offs=1) -- 1426(line=38, offs=3)
-*/
-
-#include \
-"libats/libc/CATS/math.cats"
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/mydepies.hats: 192(line=16, offs=1) -- 232(line=16, offs=41)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1233(line=43, offs=3)
-*/
-
-//
-#include \
-"atscntrb-libgmp/CATS/gmp.cats"
-//
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
-*/
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
-*/
-/*
-staload-prologues(end)
-*/
-/*
-typedefs-for-tyrecs-and-tysums(beg)
-*/
-typedef
-ATSstruct {
-#if(0)
-int contag ;
-#endif
-atstkind_t0ype(atstype_int) atslab__0 ;
-atstkind_type(atstype_ptrk) atslab__1 ;
-} postiats_tysum_0 ;
-typedef
-ATSstruct {
-#if(0)
-int contag ;
-#endif
-atstyvar_type(a) atslab__0 ;
-atstkind_type(atstype_ptrk) atslab__1 ;
-} postiats_tysum_1 ;
-/*
-typedefs-for-tyrecs-and-tysums(end)
-*/
-/*
-dynconlst-declaration(beg)
-*/
-/*
-dynconlst-declaration(end)
-*/
-/*
-dyncstlst-declaration(beg)
-*/
-ATSdyncst_mac(atspre_ptr_alloc_tsz)
-ATSdyncst_mac(atspre_g0int2uint_int_ulint)
-ATSdyncst_mac(atspre_g1int_add_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_init)
-ATSdyncst_mac(atscntrb_gmp_mpz_fib_uint)
-ATSdyncst_mac(atspre_g1int2int_int_int)
-ATSdyncst_mac(atspre_g1int_gt_int)
-ATSdyncst_mac(atspre_g1int_half_int)
-ATSdyncst_mac(atspre_g0int_mod_int)
-ATSdyncst_mac(atspre_g0int2int_int_int)
-ATSdyncst_mac(atspre_g0int_eq_int)
-ATSdyncst_mac(atspre_g0int_mul_int)
-ATSdyncst_mac(atspre_g0float2int_float_int)
-ATSdyncst_mac(atslib_libats_libc_sqrt_float)
-ATSdyncst_mac(atspre_g0int2float_int_float)
-ATSdyncst_mac(atspre_g1int_lt_int)
-ATSdyncst_mac(atspre_g1int_eq_int)
-ATSdyncst_mac(atspre_g0int_div_int)
-ATSdyncst_mac(atspre_g1int_gte_int)
-ATSdyncst_mac(atspre_cloptr_free)
-ATSdyncst_mac(atspre_lazy_vt_free)
-ATSdyncst_mac(atspre_g1int_div_int)
-ATSdyncst_mac(atspre_g1int_sub_int)
-ATSdyncst_mac(atspre_g0int_half_int)
-ATSdyncst_mac(atspre_g1int_mul_int)
-ATSdyncst_mac(atspre_g1int_neg_int)
-ATSdyncst_mac(atspre_g0int_add_int)
-ATSdyncst_mac(atspre_g0int_neq_int)
-ATSdyncst_mac(atspre_g1int_neq_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_add2_int)
-ATSdyncst_mac(atscntrb_gmp_mpz_init_set_int)
-/*
-dyncstlst-declaration(end)
-*/
-/*
-dynvalist-implementation(beg)
-*/
-/*
-dynvalist-implementation(end)
-*/
-/*
-exnconlst-declaration(beg)
-*/
-#ifndef _ATS_CCOMP_EXCEPTION_NONE_
-ATSextern()
-atsvoid_t0ype
-the_atsexncon_initize
-(
-  atstype_exnconptr d2c, atstype_string exnmsg
-) ;
-#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
-/*
-exnconlst-declaration(end)
-*/
-/*
-extypelst-declaration(beg)
-*/
-/*
-extypelst-declaration(end)
-*/
-/*
-assumelst-declaration(beg)
-*/
-#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
-#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
-/*
-assumelst-declaration(end)
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-witness_0(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-fib_gmp_1(atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2() ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__1() ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-exp_5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__6(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__6__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12(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__12__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-sqrt_int_17(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-is_prime_20(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-loop_21(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__22(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__22__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__26(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__26__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-divides_30(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-gcd_32(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__6__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-lcm_34(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-divisors_36(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-loop_37(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__38(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__38__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_41(atstkind_t0ype(atstype_int), atstype_bool) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_42(atstype_bool) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_44(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstype_bool) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-prime_divisors_45(atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__stream_vt_filter_cloptr__46(atstkind_type(atstype_ptrk), atstype_cloptr) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-#if(0)
-ATSstatic()
-atstkind_type(atstype_ptrk)
-auxmain_47__47(atstkind_type(atstype_ptrk), atstype_cloptr) ;
-#endif // end of [TEMPLATE]
-
-#if(0)
-ATSstatic()
-atstype_boxed
-__patsfun_48__48(atstkind_type(atstype_ptrk), atstype_cloptr, atstype_bool) ;
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__stream_vt_filter_cloptr__46__1(atstkind_type(atstype_ptrk), atstype_cloptr) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-auxmain_47__47__1(atstkind_type(atstype_ptrk), atstype_cloptr) ;
-
-ATSstatic()
-atstype_boxed
-__patsfun_48__48__1(atstkind_type(atstype_ptrk), atstype_cloptr, atstype_bool) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-__patsfun_52(atsrefarg1_type(atstkind_t0ype(atstype_int))) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-div_gt_zero_53(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-exp_mod_prime_55(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__6__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__6(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-jacobi_61(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-legendre_62(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__7(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__8(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-get_multiplicity_66(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_67(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__6__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__9(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-count_divisors_70(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_71(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__38__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__10(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-sum_divisors_75(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__26__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_77(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__38__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__11(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-is_perfect_80(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__12(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-rip_82(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g0int_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__neq_g0int_int__83__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__6__5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__22__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-little_omega_88(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_89(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__38__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__13(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__6__6(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-totient_93(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_94(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__38__5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__14(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-#if(0)
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g1int_int__97(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-#endif // end of [TEMPLATE]
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g1int_int__97__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-totient_sum_100(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-loop_101(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__22__3(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_int__103(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__add_intinf0_int__103__1(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__105(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__105__1(atstkind_t0ype(atstype_int)) ;
-
-ATSstatic()
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__2() ;
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_int)
-sum_divisors_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_int)
-count_divisors_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_int)
-totient_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_int)
-little_omega_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_bool)
-is_perfect_ats(atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-#if(0)
-ATSextern()
-atstkind_t0ype(atstype_int)
-jacobi_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
-#endif // end of [QUALIFIED]
-
-ATSclosurerize_beg(__patsfun_41, (atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-atstkind_t0ype(atstype_int) env0 ;
-} __patsfun_41__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_41__cfun
-(
-__patsfun_41__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_41(p_cenv->env0, arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_41__closureinit
-(
-__patsfun_41__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0
-)
-{
-p_cenv->env0 = env0 ;
-p_cenv->cfun = __patsfun_41__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_41__closurerize
-(
-atstkind_t0ype(atstype_int) env0
-)
-{
-return __patsfun_41__closureinit(ATS_MALLOC(sizeof(__patsfun_41__closure_t0ype)), env0) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_42, (), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-} __patsfun_42__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_42__cfun
-(
-__patsfun_42__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_42(arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_42__closureinit
-(
-__patsfun_42__closure_t0ype *p_cenv
-)
-{
-p_cenv->cfun = __patsfun_42__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_42__closurerize
-(
-// argumentless
-)
-{
-return __patsfun_42__closureinit(ATS_MALLOC(sizeof(__patsfun_42__closure_t0ype))) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_44, (atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-atstkind_t0ype(atstype_int) env0 ;
-atstkind_t0ype(atstype_int) env1 ;
-} __patsfun_44__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_44__cfun
-(
-__patsfun_44__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_44(p_cenv->env0, p_cenv->env1, arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_44__closureinit
-(
-__patsfun_44__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
-)
-{
-p_cenv->env0 = env0 ;
-p_cenv->env1 = env1 ;
-p_cenv->cfun = __patsfun_44__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_44__closurerize
-(
-atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
-)
-{
-return __patsfun_44__closureinit(ATS_MALLOC(sizeof(__patsfun_44__closure_t0ype)), env0, env1) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_48__48__1, (atstkind_type(atstype_ptrk), atstype_cloptr), (atstype_bool), atstype_boxed)
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-atstkind_type(atstype_ptrk) env0 ;
-atstype_cloptr env1 ;
-} __patsfun_48__48__1__closure_t0ype ;
-ATSstatic()
-atstype_boxed
-__patsfun_48__48__1__cfun
-(
-__patsfun_48__48__1__closure_t0ype *p_cenv, atstype_bool arg0
-)
-{
-ATSFCreturn(__patsfun_48__48__1(p_cenv->env0, p_cenv->env1, arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_48__48__1__closureinit
-(
-__patsfun_48__48__1__closure_t0ype *p_cenv, atstkind_type(atstype_ptrk) env0, atstype_cloptr env1
-)
-{
-p_cenv->env0 = env0 ;
-p_cenv->env1 = env1 ;
-p_cenv->cfun = __patsfun_48__48__1__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_48__48__1__closurerize
-(
-atstkind_type(atstype_ptrk) env0, atstype_cloptr env1
-)
-{
-return __patsfun_48__48__1__closureinit(ATS_MALLOC(sizeof(__patsfun_48__48__1__closure_t0ype)), env0, env1) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-ATSclosurerize_beg(__patsfun_52, (), (atsrefarg1_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_bool))
-typedef
-ATSstruct {
-atstype_funptr cfun ;
-} __patsfun_52__closure_t0ype ;
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-__patsfun_52__cfun
-(
-__patsfun_52__closure_t0ype *p_cenv, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg0
-)
-{
-ATSFCreturn(__patsfun_52(arg0)) ;
-} /* end of [cfun] */
-ATSstatic()
-atstype_cloptr
-__patsfun_52__closureinit
-(
-__patsfun_52__closure_t0ype *p_cenv
-)
-{
-p_cenv->cfun = __patsfun_52__cfun ;
-return p_cenv ;
-} /* end of [closureinit] */
-ATSstatic()
-atstype_cloptr
-__patsfun_52__closurerize
-(
-// argumentless
-)
-{
-return __patsfun_52__closureinit(ATS_MALLOC(sizeof(__patsfun_52__closure_t0ype))) ;
-} /* end of [closurerize] */
-ATSclosurerize_end()
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 305(line=11, offs=4) -- 360(line=12, offs=14)
-*/
-/*
-local: 
-global: witness_0$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-witness_0(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret0, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 305(line=11, offs=4) -- 360(line=12, offs=14)
-*/
-ATSINSflab(__patsflab_witness_0):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 349(line=12, offs=3) -- 359(line=12, offs=13)
-*/
-ATSINSmove(tmpret0, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), arg0)) ;
-ATSfunbody_end()
-ATSreturn(tmpret0) ;
-} /* end of [witness_0] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 425(line=15, offs=5) -- 644(line=23, offs=6)
-*/
-/*
-local: 
-global: fib_gmp_1$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-fib_gmp_1(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp2, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp5, atstkind_t0ype(atstype_ulint)) ;
-ATStmpdec(tmp6, atstkind_t0ype(atstype_int)) ;
-// ATStmpdec_void(tmp7) ;
-// ATStmpdec_void(tmp8) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 425(line=15, offs=5) -- 644(line=23, offs=6)
-*/
-ATSINSflab(__patsflab_fib_gmp_1):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 461(line=16, offs=3) -- 644(line=23, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 477(line=17, offs=13) -- 488(line=17, offs=24)
-*/
-ATSINSmove(tmp2, ATSLIB_056_prelude__ptr_alloc__2__1()) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 529(line=18, offs=41) -- 534(line=18, offs=46)
-*/
-ATSINSmove(tmp6, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 508(line=18, offs=20) -- 535(line=18, offs=47)
-*/
-ATSINSmove(tmp5, atspre_g0int2uint_int_ulint(tmp6)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 549(line=19, offs=14) -- 570(line=19, offs=35)
-*/
-ATSINSmove_void(tmp7, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmp2, atstkind_type(atstype_ptrk), atslab__2)))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 584(line=20, offs=14) -- 612(line=20, offs=42)
-*/
-ATSINSmove_void(tmp8, atscntrb_gmp_mpz_fib_uint(ATSPMVrefarg1(ATSSELrecsin(tmp2, atstkind_type(atstype_ptrk), atslab__2)), tmp5)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 622(line=22, offs=5) -- 637(line=22, offs=20)
-*/
-ATSINSmove(tmpret1, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp2)) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 461(line=16, offs=3) -- 644(line=23, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret1) ;
-} /* end of [fib_gmp_1] */
-
-#if(0)
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$2$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = a(4806)
-tmparg = S2Evar(a(4806))
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret3, atspre_ptr_alloc_tsz(ATSPMVsizeof(atstyvar_type(a)))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__2] */
-#endif // end of [TEMPLATE]
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$2$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4806)
-tmparg = S2Evar(a(4806))
-tmpsub = Some(a(4806) -> S2EVar(5569))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__1()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3__1, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret3__1, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3__1) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__2__1] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 722(line=26, offs=5) -- 1163(line=47, offs=10)
-*/
-/*
-local: exp_5$0(level=0)
-global: exp_5$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-exp_5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret9, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp10, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmpref15, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref16, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp17, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp22, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref23, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp24, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp25, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 722(line=26, offs=5) -- 1163(line=47, offs=10)
-*/
-ATSINSflab(__patsflab_exp_5):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 774(line=27, offs=3) -- 1163(line=47, offs=10)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 791(line=28, offs=7) -- 792(line=28, offs=8)
-*/
-ATSINSlab(__atstmplab0):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 743(line=26, offs=26) -- 744(line=26, offs=27)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 792(line=28, offs=8) -- 792(line=28, offs=8)
-*/
-ATSINSlab(__atstmplab1):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 796(line=28, offs=12) -- 797(line=28, offs=13)
-*/
-ATSINSmove(tmpret9, ATSPMVi0nt(0)) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 805(line=29, offs=8) -- 805(line=29, offs=8)
-*/
-ATSINSlab(__atstmplab2):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 834(line=31, offs=12) -- 839(line=31, offs=17)
-*/
-ATSINSmove(tmp10, ATSLIB_056_prelude__gt_g1int_int__6__1(arg1, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 831(line=31, offs=9) -- 1153(line=46, offs=12)
-*/
-ATSif(
-tmp10
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 855(line=32, offs=11) -- 1128(line=44, offs=14)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 875(line=33, offs=17) -- 877(line=33, offs=19)
-*/
-/*
-ATSINStmpdec(tmpref15) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 880(line=33, offs=22) -- 886(line=33, offs=28)
-*/
-ATSINSmove(tmpref15, atspre_g1int_half_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 904(line=34, offs=17) -- 906(line=34, offs=19)
-*/
-/*
-ATSINStmpdec(tmpref16) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 909(line=34, offs=22) -- 914(line=34, offs=27)
-*/
-ATSINSmove(tmpref16, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 943(line=36, offs=16) -- 949(line=36, offs=22)
-*/
-ATSINSmove(tmp17, ATSLIB_056_prelude__eq_g0int_int__12__1(tmpref16, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 940(line=36, offs=13) -- 1114(line=43, offs=18)
-*/
-ATSif(
-tmp17
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 973(line=37, offs=19) -- 978(line=37, offs=24)
-*/
-ATSINSmove(tmp22, atspre_g0int_mul_int(arg0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 969(line=37, offs=15) -- 983(line=37, offs=29)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp22) ;
-ATSINSmove_tlcal(apy1, tmpref15) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_exp_5) ;
-ATStailcal_end()
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1015(line=39, offs=15) -- 1114(line=43, offs=18)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1039(line=40, offs=21) -- 1040(line=40, offs=22)
-*/
-/*
-ATSINStmpdec(tmpref23) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1051(line=40, offs=33) -- 1056(line=40, offs=38)
-*/
-ATSINSmove(tmp25, atspre_g0int_mul_int(arg0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1047(line=40, offs=29) -- 1061(line=40, offs=43)
-*/
-ATSINSmove(tmp24, exp_5(tmp25, tmpref15)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1043(line=40, offs=25) -- 1061(line=40, offs=43)
-*/
-ATSINSmove(tmpref23, atspre_g0int_mul_int(arg0, tmp24)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1095(line=42, offs=17) -- 1096(line=42, offs=18)
-*/
-ATSINSmove(tmpret9, tmpref23) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1015(line=39, offs=15) -- 1114(line=43, offs=18)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 855(line=32, offs=11) -- 1128(line=44, offs=14)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1152(line=46, offs=11) -- 1153(line=46, offs=12)
-*/
-ATSINSmove(tmpret9, ATSPMVi0nt(1)) ;
-} /* ATSendif */
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret9) ;
-} /* end of [exp_5] */
-
-#if(0)
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$6$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4703)
-tmparg = S2Evar(tk(4703))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__6(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4703))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11, PMVtmpltcst(g1int_gt<S2Evar(tk(4703))>)(arg0, tmp12)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__6] */
-#endif // end of [TEMPLATE]
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$6$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4703)
-tmparg = S2Evar(tk(4703))
-tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__6__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__1, atspre_g1int_gt_int(arg0, tmp12__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__1) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__1] */
-
-#if(0)
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4694))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18, PMVtmpltcst(g0int_eq<S2Evar(tk(4694))>)(arg0, tmp19)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12] */
-#endif // end of [TEMPLATE]
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__1, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__1, atspre_g0int_eq_int(arg0, tmp19__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__1) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__1] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1168(line=49, offs=4) -- 1312(line=54, offs=6)
-*/
-/*
-local: witness_0$0(level=0)
-global: witness_0$0(level=0), sqrt_int_17$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-sqrt_int_17(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret26, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref27, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp28, atstkind_t0ype(atstype_float)) ;
-ATStmpdec(tmp29, atstkind_t0ype(atstype_float)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1168(line=49, offs=4) -- 1312(line=54, offs=6)
-*/
-ATSINSflab(__patsflab_sqrt_int_17):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1218(line=50, offs=3) -- 1312(line=54, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1230(line=51, offs=9) -- 1235(line=51, offs=14)
-*/
-/*
-ATSINStmpdec(tmpref27) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1266(line=51, offs=45) -- 1279(line=51, offs=58)
-*/
-ATSINSmove(tmp29, atspre_g0int2float_int_float(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1255(line=51, offs=34) -- 1281(line=51, offs=60)
-*/
-ATSINSmove(tmp28, atslib_libats_libc_sqrt_float(tmp29)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1243(line=51, offs=22) -- 1282(line=51, offs=61)
-*/
-ATSINSmove(tmpref27, atspre_g0float2int_float_int(tmp28)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1292(line=53, offs=5) -- 1305(line=53, offs=18)
-*/
-ATSINSmove(tmpret26, witness_0(tmpref27)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1218(line=50, offs=3) -- 1312(line=54, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret26) ;
-} /* end of [sqrt_int_17] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1348(line=57, offs=4) -- 1933(line=80, offs=10)
-*/
-/*
-local: sqrt_int_17$0(level=0)
-global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-is_prime_20(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret30, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp51, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1348(line=57, offs=4) -- 1933(line=80, offs=10)
-*/
-ATSINSflab(__patsflab_is_prime_20):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1384(line=58, offs=3) -- 1933(line=80, offs=10)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1401(line=59, offs=7) -- 1402(line=59, offs=8)
-*/
-ATSINSlab(__atstmplab3):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1357(line=57, offs=13) -- 1358(line=57, offs=14)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab5) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1402(line=59, offs=8) -- 1402(line=59, offs=8)
-*/
-ATSINSlab(__atstmplab4):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1406(line=59, offs=12) -- 1411(line=59, offs=17)
-*/
-ATSINSmove(tmpret30, ATSPMVbool_false()) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1419(line=60, offs=8) -- 1419(line=60, offs=8)
-*/
-ATSINSlab(__atstmplab5):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1444(line=62, offs=9) -- 1923(line=79, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1899(line=78, offs=19) -- 1909(line=78, offs=29)
-*/
-ATSINSmove(tmp51, sqrt_int_17(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1891(line=78, offs=11) -- 1911(line=78, offs=31)
-*/
-ATSINSmove(tmpret30, loop_21(arg0, ATSPMVi0nt(2), tmp51)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1444(line=62, offs=9) -- 1923(line=79, offs=12)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret30) ;
-} /* end of [is_prime_20] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1462(line=63, offs=15) -- 1869(line=76, offs=21)
-*/
-/*
-local: loop_21$0(level=1)
-global: loop_21$0(level=1)
-local: k$5106(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: k$5106(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-loop_21(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret31, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp32, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp37, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp40, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp41, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp42, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp47, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp50, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-/*
-emit_funent_fnxdeclst:
-*/
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1462(line=63, offs=15) -- 1869(line=76, offs=21)
-*/
-ATSINSflab(__patsflab_loop_21):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1556(line=64, offs=16) -- 1565(line=64, offs=25)
-*/
-ATSINSmove(tmp32, ATSLIB_056_prelude__lt_g1int_int__22__1(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1553(line=64, offs=13) -- 1869(line=76, offs=21)
-*/
-ATSif(
-tmp32
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1588(line=65, offs=18) -- 1593(line=65, offs=23)
-*/
-ATSINSmove(tmp40, atspre_g0int_mod_int(env0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1588(line=65, offs=18) -- 1597(line=65, offs=27)
-*/
-ATSINSmove(tmp37, ATSLIB_056_prelude__eq_g0int_int__12__2(tmp40, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1585(line=65, offs=15) -- 1678(line=68, offs=35)
-*/
-ATSif(
-tmp37
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1619(line=66, offs=17) -- 1624(line=66, offs=22)
-*/
-ATSINSmove(tmpret31, ATSPMVbool_false()) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1665(line=68, offs=22) -- 1670(line=68, offs=27)
-*/
-ATSINSmove(tmp41, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1660(line=68, offs=17) -- 1678(line=68, offs=35)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp41) ;
-ATSINSmove_tlcal(apy1, arg1) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_loop_21) ;
-ATStailcal_end()
-
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1713(line=70, offs=18) -- 1722(line=70, offs=27)
-*/
-ATSINSmove(tmp42, ATSLIB_056_prelude__eq_g1int_int__26__1(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1710(line=70, offs=15) -- 1869(line=76, offs=21)
-*/
-ATSif(
-tmp42
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1747(line=71, offs=20) -- 1752(line=71, offs=25)
-*/
-ATSINSmove(tmp50, atspre_g0int_mod_int(env0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1747(line=71, offs=20) -- 1756(line=71, offs=29)
-*/
-ATSINSmove(tmp47, ATSLIB_056_prelude__eq_g0int_int__12__3(tmp50, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1744(line=71, offs=17) -- 1829(line=74, offs=23)
-*/
-ATSif(
-tmp47
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1780(line=72, offs=19) -- 1785(line=72, offs=24)
-*/
-ATSINSmove(tmpret31, ATSPMVbool_false()) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1825(line=74, offs=19) -- 1829(line=74, offs=23)
-*/
-ATSINSmove(tmpret31, ATSPMVbool_true()) ;
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1865(line=76, offs=17) -- 1869(line=76, offs=21)
-*/
-ATSINSmove(tmpret31, ATSPMVbool_true()) ;
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret31) ;
-/*
-emit_funent_fnxbodylst:
-*/
-} /* end of [loop_21] */
-
-#if(0)
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
-*/
-/*
-local: 
-global: lt_g1int_int$22$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4697)
-tmparg = S2Evar(tk(4697))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__22(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret33, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp34, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
-*/
-ATSINSmove(tmp34, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4697))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
-*/
-ATSINSmove(tmpret33, PMVtmpltcst(g1int_lt<S2Evar(tk(4697))>)(arg0, tmp34)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret33) ;
-} /* end of [ATSLIB_056_prelude__lt_g1int_int__22] */
-#endif // end of [TEMPLATE]
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
-*/
-/*
-local: 
-global: lt_g1int_int$22$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4697)
-tmparg = S2Evar(tk(4697))
-tmpsub = Some(tk(4697) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__22__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret33__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp34__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
-*/
-ATSINSmove(tmp34__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
-*/
-ATSINSmove(tmpret33__1, atspre_g1int_lt_int(arg0, tmp34__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret33__1) ;
-} /* end of [ATSLIB_056_prelude__lt_g1int_int__22__1] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__2, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__2, atspre_g0int_eq_int(arg0, tmp19__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__2) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__2] */
-
-#if(0)
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
-*/
-/*
-local: 
-global: eq_g1int_int$26$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4709)
-tmparg = S2Evar(tk(4709))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__26(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret43, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp44, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
-*/
-ATSINSmove(tmp44, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4709))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
-*/
-ATSINSmove(tmpret43, PMVtmpltcst(g1int_eq<S2Evar(tk(4709))>)(arg0, tmp44)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret43) ;
-} /* end of [ATSLIB_056_prelude__eq_g1int_int__26] */
-#endif // end of [TEMPLATE]
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
-*/
-/*
-local: 
-global: eq_g1int_int$26$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4709)
-tmparg = S2Evar(tk(4709))
-tmpsub = Some(tk(4709) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__26__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret43__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp44__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
-*/
-ATSINSmove(tmp44__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
-*/
-ATSINSmove(tmpret43__1, atspre_g1int_eq_int(arg0, tmp44__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret43__1) ;
-} /* end of [ATSLIB_056_prelude__eq_g1int_int__26__1] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$3(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__3, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__3, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__3, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__3, atspre_g0int_eq_int(arg0, tmp19__3)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__3) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__3] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 465(line=17, offs=4) -- 513(line=18, offs=12)
-*/
-/*
-local: 
-global: divides_30$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-divides_30(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret52, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp55, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 465(line=17, offs=4) -- 513(line=18, offs=12)
-*/
-ATSINSflab(__patsflab_divides_30):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 504(line=18, offs=3) -- 509(line=18, offs=8)
-*/
-ATSINSmove(tmp55, atspre_g0int_mod_int(arg1, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 504(line=18, offs=3) -- 513(line=18, offs=12)
-*/
-ATSINSmove(tmpret52, ATSLIB_056_prelude__eq_g0int_int__12__4(tmp55, ATSPMVi0nt(0))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret52) ;
-} /* end of [divides_30] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$4(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__4, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__4, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__4, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__4, atspre_g0int_eq_int(arg0, tmp19__4)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__4) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__4] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 519(line=20, offs=5) -- 630(line=24, offs=6)
-*/
-/*
-local: witness_0$0(level=0), gcd_32$0(level=0)
-global: witness_0$0(level=0), gcd_32$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-gcd_32(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret56, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp57, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp60, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp61, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-/*
-emit_funent_fnxdeclst:
-*/
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 519(line=20, offs=5) -- 630(line=24, offs=6)
-*/
-ATSINSflab(__patsflab_gcd_32):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 580(line=21, offs=6) -- 585(line=21, offs=11)
-*/
-ATSINSmove(tmp57, ATSLIB_056_prelude__gt_g1int_int__6__2(arg1, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 577(line=21, offs=3) -- 630(line=24, offs=6)
-*/
-ATSif(
-tmp57
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 610(line=22, offs=20) -- 615(line=22, offs=25)
-*/
-ATSINSmove(tmp61, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 602(line=22, offs=12) -- 616(line=22, offs=26)
-*/
-ATSINSmove(tmp60, witness_0(tmp61)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 595(line=22, offs=5) -- 617(line=22, offs=27)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, arg1) ;
-ATSINSmove_tlcal(apy1, tmp60) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_gcd_32) ;
-ATStailcal_end()
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 629(line=24, offs=5) -- 630(line=24, offs=6)
-*/
-ATSINSmove(tmpret56, arg0) ;
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret56) ;
-/*
-emit_funent_fnxbodylst:
-*/
-} /* end of [gcd_32] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$6$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4703)
-tmparg = S2Evar(tk(4703))
-tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__6__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__2, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__2, atspre_g1int_gt_int(arg0, tmp12__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__2) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__2] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 635(line=26, offs=4) -- 712(line=27, offs=22)
-*/
-/*
-local: gcd_32$0(level=0)
-global: witness_0$0(level=0), gcd_32$0(level=0), lcm_34$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-lcm_34(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret62, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp63, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp64, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 635(line=26, offs=4) -- 712(line=27, offs=22)
-*/
-ATSINSflab(__patsflab_lcm_34):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 698(line=27, offs=8) -- 707(line=27, offs=17)
-*/
-ATSINSmove(tmp64, gcd_32(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 694(line=27, offs=4) -- 707(line=27, offs=17)
-*/
-ATSINSmove(tmp63, atspre_g0int_div_int(arg0, tmp64)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 693(line=27, offs=3) -- 712(line=27, offs=22)
-*/
-ATSINSmove(tmpret62, atspre_g0int_mul_int(tmp63, arg1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret62) ;
-} /* end of [lcm_34] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 755(line=30, offs=4) -- 1159(line=42, offs=6)
-*/
-/*
-local: 
-global: divisors_36$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-divisors_36(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret65, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 755(line=30, offs=4) -- 1159(line=42, offs=6)
-*/
-ATSINSflab(__patsflab_divisors_36):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 802(line=31, offs=3) -- 1159(line=42, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1143(line=41, offs=5) -- 1153(line=41, offs=15)
-*/
-ATSINSmove(tmpret65, loop_37(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 802(line=31, offs=3) -- 1159(line=42, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret65) ;
-} /* end of [divisors_36] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 814(line=32, offs=9) -- 1133(line=39, offs=27)
-*/
-/*
-local: loop_37$0(level=1)
-global: loop_37$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-loop_37(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret66, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp67, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp75, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp78, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp82, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 814(line=32, offs=9) -- 1133(line=39, offs=27)
-*/
-ATSINSflab(__patsflab_loop_37):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 923(line=33, offs=10) -- 931(line=33, offs=18)
-*/
-ATSINSmove(tmp67, ATSLIB_056_prelude__gte_g1int_int__38__1(arg1, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 920(line=33, offs=7) -- 1133(line=39, offs=27)
-*/
-ATSif(
-tmp67
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 945(line=34, offs=9) -- 997(line=34, offs=61)
-*/
-ATSINSmove_ldelay(tmpret66, atstype_boxed, ATSPMVcfunlab(1, __patsfun_41, (arg1))) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1020(line=36, offs=12) -- 1027(line=36, offs=19)
-*/
-ATSINSmove(tmp78, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1020(line=36, offs=12) -- 1031(line=36, offs=23)
-*/
-ATSINSmove(tmp75, ATSLIB_056_prelude__eq_g0int_int__12__5(tmp78, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1017(line=36, offs=9) -- 1133(line=39, offs=27)
-*/
-ATSif(
-tmp75
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1047(line=37, offs=11) -- 1093(line=37, offs=57)
-*/
-ATSINSmove_ldelay(tmpret66, atstype_boxed, ATSPMVcfunlab(1, __patsfun_44, (arg0, arg1))) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1125(line=39, offs=19) -- 1132(line=39, offs=26)
-*/
-ATSINSmove(tmp82, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1117(line=39, offs=11) -- 1133(line=39, offs=27)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, arg0) ;
-ATSINSmove_tlcal(apy1, tmp82) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_loop_37) ;
-ATStailcal_end()
-
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret66) ;
-} /* end of [loop_37] */
-
-#if(0)
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$38$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4706)
-tmparg = S2Evar(tk(4706))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__38(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret68, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp69, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp69, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4706))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret68, PMVtmpltcst(g1int_gte<S2Evar(tk(4706))>)(arg0, tmp69)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret68) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__38] */
-#endif // end of [TEMPLATE]
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$38$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4706)
-tmparg = S2Evar(tk(4706))
-tmpsub = Some(tk(4706) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__38__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret68__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp69__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp69__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret68__1, atspre_g1int_gte_int(arg0, tmp69__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret68__1) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__38__1] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 945(line=34, offs=9) -- 997(line=34, offs=61)
-*/
-/*
-local: 
-global: __patsfun_41$0(level=2)
-local: acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_41(atstkind_t0ype(atstype_int) env0, atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret72, atstype_boxed) ;
-ATStmpdec(tmp73, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 945(line=34, offs=9) -- 997(line=34, offs=61)
-*/
-ATSINSflab(__patsflab___patsfun_41):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 945(line=34, offs=9) -- 997(line=34, offs=61)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 973(line=34, offs=37) -- 995(line=34, offs=59)
-*/
-ATSINSmove_ldelay(tmp73, atstype_boxed, ATSPMVcfunlab(1, __patsfun_42, ())) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 953(line=34, offs=17) -- 996(line=34, offs=60)
-*/
-
-/*
-#LINCONSTATUS==0
-*/
-ATSINSmove_con1_beg()
-ATSINSmove_con1_new(tmpret72, postiats_tysum_0) ;
-#if(0)
-ATSINSstore_con1_tag(tmpret72, 1) ;
-#endif
-ATSINSstore_con1_ofs(tmpret72, postiats_tysum_0, atslab__0, env0) ;
-ATSINSstore_con1_ofs(tmpret72, postiats_tysum_0, atslab__1, tmp73) ;
-ATSINSmove_con1_end()
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret72) ;
-} /* end of [__patsfun_41] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 973(line=34, offs=37) -- 995(line=34, offs=59)
-*/
-/*
-local: 
-global: __patsfun_42$0(level=3)
-local: 
-global: 
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_42(atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret74, atstype_boxed) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 973(line=34, offs=37) -- 995(line=34, offs=59)
-*/
-ATSINSflab(__patsflab___patsfun_42):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 973(line=34, offs=37) -- 995(line=34, offs=59)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 981(line=34, offs=45) -- 994(line=34, offs=58)
-*/
-
-ATSINSmove_nil(tmpret74) ;
-
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret74) ;
-} /* end of [__patsfun_42] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$5(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__5, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__5, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__5, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__5, atspre_g0int_eq_int(arg0, tmp19__5)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__5) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__5] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1047(line=37, offs=11) -- 1093(line=37, offs=57)
-*/
-/*
-local: loop_37$0(level=1)
-global: loop_37$0(level=1), __patsfun_44$0(level=2)
-local: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_44(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret79, atstype_boxed) ;
-ATStmpdec(tmp80, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp81, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1047(line=37, offs=11) -- 1093(line=37, offs=57)
-*/
-ATSINSflab(__patsflab___patsfun_44):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1047(line=37, offs=11) -- 1093(line=37, offs=57)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1083(line=37, offs=47) -- 1090(line=37, offs=54)
-*/
-ATSINSmove(tmp81, atspre_g1int_add_int(env1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1075(line=37, offs=39) -- 1091(line=37, offs=55)
-*/
-ATSINSmove(tmp80, loop_37(env0, tmp81)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1055(line=37, offs=19) -- 1092(line=37, offs=56)
-*/
-
-/*
-#LINCONSTATUS==0
-*/
-ATSINSmove_con1_beg()
-ATSINSmove_con1_new(tmpret79, postiats_tysum_0) ;
-#if(0)
-ATSINSstore_con1_tag(tmpret79, 1) ;
-#endif
-ATSINSstore_con1_ofs(tmpret79, postiats_tysum_0, atslab__0, env1) ;
-ATSINSstore_con1_ofs(tmpret79, postiats_tysum_0, atslab__1, tmp80) ;
-ATSINSmove_con1_end()
-} ATSelse() {
-/* (*nothing*) */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret79) ;
-} /* end of [__patsfun_44] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1196(line=45, offs=4) -- 1315(line=46, offs=71)
-*/
-/*
-local: is_prime_20$0(level=0), divisors_36$0(level=0)
-global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), divisors_36$0(level=0), prime_divisors_45$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-prime_divisors_45(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret83, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp108, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1196(line=45, offs=4) -- 1315(line=46, offs=71)
-*/
-ATSINSflab(__patsflab_prime_divisors_45):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1271(line=46, offs=27) -- 1281(line=46, offs=37)
-*/
-ATSINSmove(tmp108, divisors_36(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1247(line=46, offs=3) -- 1315(line=46, offs=71)
-*/
-ATSINSmove(tmpret83, ATSLIB_056_prelude__stream_vt_filter_cloptr__46__1(tmp108, ATSPMVcfunlab(1, __patsfun_52, ()))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret83) ;
-} /* end of [prime_divisors_45] */
-
-#if(0)
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11373(line=684, offs=1) -- 12248(line=743, offs=2)
-*/
-/*
-local: 
-global: stream_vt_filter_cloptr$46$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = a(8764)
-tmparg = S2Evar(a(8764))
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__stream_vt_filter_cloptr__46(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret84, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11349(line=683, offs=1) -- 12248(line=743, offs=2)
-*/
-ATSINSflab(__patsflab_stream_vt_filter_cloptr):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 12248(line=743, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 11407(line=686, offs=22)
-*/
-ATSINSmove(tmpret84, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain$4303(1), flab=auxmain_47$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstkind_type(atstype_ptrk))(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 12248(line=743, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret84) ;
-} /* end of [ATSLIB_056_prelude__stream_vt_filter_cloptr__46] */
-#endif // end of [TEMPLATE]
-
-#if(0)
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11423(line=690, offs=1) -- 12222(line=741, offs=2)
-*/
-/*
-local: auxmain_47$0(level=1)
-global: auxmain_47$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-auxmain_47__47(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret85, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11423(line=690, offs=1) -- 12222(line=741, offs=2)
-*/
-ATSINSflab(__patsflab_auxmain_47):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
-*/
-ATSINSmove_ldelay(tmpret85, atstype_boxed, ATSPMVcfunlab(1, __patsfun_48__48, (arg0, arg1))) ;
-ATSfunbody_end()
-ATSreturn(tmpret85) ;
-} /* end of [auxmain_47__47] */
-#endif // end of [TEMPLATE]
-
-#if(0)
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11503(line=696, offs=20) -- 12222(line=741, offs=2)
-*/
-/*
-local: auxmain_47$0(level=1)
-global: auxmain_47$0(level=1), __patsfun_48$0(level=2)
-local: xs$4304(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4305(2)(HSEfun(CLO(1); HSErefarg(1; HSEtyvar(a(8764))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
-global: xs$4304(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4305(2)(HSEfun(CLO(1); HSErefarg(1; HSEtyvar(a(8764))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_48__48(atstkind_type(atstype_ptrk) env0, atstype_cloptr env1, atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret86, atstype_boxed) ;
-ATStmpdec(tmp87, atstype_boxed) ;
-// ATStmpdec_void(tmp90) ;
-ATStmpdec(tmp91, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp92, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp93, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp94, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp95) ;
-// ATStmpdec_void(tmp96) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
-*/
-ATSINSflab(__patsflab___patsfun_48):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11516(line=699, offs=1) -- 12138(line=732, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
-*/
-ATSINSmove_llazyeval(tmp87, atstype_boxed, env0) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11545(line=703, offs=1) -- 12104(line=730, offs=6)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11563(line=704, offs=3) -- 11589(line=705, offs=12)
-*/
-ATSINSlab(__atstmplab6):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
-*/
-ATSifthen(ATSCKptriscons(tmp87)) { ATSINSgoto(__atstmplab9) ; } ;
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11589(line=705, offs=12) -- 11589(line=705, offs=12)
-*/
-ATSINSlab(__atstmplab7):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11593(line=705, offs=16) -- 11719(line=712, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11614(line=707, offs=5) -- 11662(line=708, offs=37)
-*/
-ATSINSmove_void(tmp90, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11692(line=711, offs=5) -- 11705(line=711, offs=18)
-*/
-
-ATSINSmove_nil(tmpret86) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11593(line=705, offs=16) -- 11719(line=712, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11748(line=713, offs=3) -- 11776(line=714, offs=13)
-*/
-ATSINSlab(__atstmplab8):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
-*/
-#if(0)
-ATSifthen(ATSCKptrisnull(tmp87)) { ATSINSdeadcode_fail() ; } ;
-#endif
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11776(line=714, offs=13) -- 11776(line=714, offs=13)
-*/
-ATSINSlab(__atstmplab9):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11780(line=714, offs=17) -- 12104(line=730, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11799(line=715, offs=16) -- 11805(line=715, offs=22)
-*/
-ATSINSmove(tmp91, ATSfunclo_clo(ATSPMVrefarg0(env1), (atstype_cloptr, atsrefarg1_type(atstyvar_type(a))), atstkind_t0ype(atstype_bool))(ATSPMVrefarg0(env1), ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp87, postiats_tysum_1, atslab__0))))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11816(line=717, offs=5) -- 12062(line=728, offs=10)
-*/
-ATSif(
-tmp91
-) ATSthen() {
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11835(line=718, offs=12) -- 11941(line=723, offs=10)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11871(line=720, offs=16) -- 11889(line=720, offs=34)
-*/
-ATSINSmove(tmp92, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain$4303(1), flab=auxmain_47$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstkind_type(atstype_ptrk))(ATSSELcon(tmp87, postiats_tysum_1, atslab__1), env1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11864(line=720, offs=9) -- 11889(line=720, offs=34)
-*/
-ATSINSstore(ATSSELcon(tmp87, postiats_tysum_1, atslab__1), tmp92) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11925(line=722, offs=27) -- 11931(line=722, offs=33)
-*/
-ATSINSmove(tmpret86, tmp87) ;
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11835(line=718, offs=12) -- 11941(line=723, offs=10)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11970(line=724, offs=12) -- 12062(line=728, offs=10)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11992(line=725, offs=19) -- 11995(line=725, offs=22)
-*/
-ATSINSmove(tmp93, ATSSELcon(tmp87, postiats_tysum_1, atslab__1)) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12013(line=727, offs=9) -- 12028(line=727, offs=24)
-*/
-ATSINSfreecon(tmp87) ;
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12033(line=727, offs=29) -- 12051(line=727, offs=47)
-*/
-ATSINSmove(tmp94, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain$4303(1), flab=auxmain_47$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstkind_type(atstype_ptrk))(tmp93, env1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12031(line=727, offs=27) -- 12052(line=727, offs=48)
-*/
-ATSINSmove_llazyeval(tmpret86, atstype_boxed, tmp94) ;
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11970(line=724, offs=12) -- 12062(line=728, offs=10)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11780(line=714, offs=17) -- 12104(line=730, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11516(line=699, offs=1) -- 12138(line=732, offs=4)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12167(line=737, offs=3) -- 12170(line=737, offs=6)
-*/
-ATSINSmove_void(tmp95, atspre_lazy_vt_free(env0)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12174(line=738, offs=3) -- 12215(line=738, offs=44)
-*/
-ATSINSmove_void(tmp96, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;
-
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret86) ;
-} /* end of [__patsfun_48__48] */
-#endif // end of [TEMPLATE]
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11373(line=684, offs=1) -- 12248(line=743, offs=2)
-*/
-/*
-local: 
-global: stream_vt_filter_cloptr$46$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(8764)
-tmparg = S2Evar(a(8764))
-tmpsub = Some(a(8764) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__stream_vt_filter_cloptr__46__1(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret84__1, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11349(line=683, offs=1) -- 12248(line=743, offs=2)
-*/
-ATSINSflab(__patsflab_stream_vt_filter_cloptr):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 12248(line=743, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 11407(line=686, offs=22)
-*/
-ATSINSmove(tmpret84__1, auxmain_47__47__1(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 12248(line=743, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret84__1) ;
-} /* end of [ATSLIB_056_prelude__stream_vt_filter_cloptr__46__1] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11423(line=690, offs=1) -- 12222(line=741, offs=2)
-*/
-/*
-local: auxmain_47$1(level=2)
-global: auxmain_47$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-auxmain_47__47__1(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret85__1, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11423(line=690, offs=1) -- 12222(line=741, offs=2)
-*/
-ATSINSflab(__patsflab_auxmain_47):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
-*/
-ATSINSmove_ldelay(tmpret85__1, atstype_boxed, ATSPMVcfunlab(1, __patsfun_48__48__1, (arg0, arg1))) ;
-ATSfunbody_end()
-ATSreturn(tmpret85__1) ;
-} /* end of [auxmain_47__47__1] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11503(line=696, offs=20) -- 12222(line=741, offs=2)
-*/
-/*
-local: auxmain_47$1(level=2)
-global: auxmain_47$1(level=2), __patsfun_48$1(level=3)
-local: xs$4304(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4305(2)(HSEfun(CLO(1); HSErefarg(1; HSEs2exp(S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
-global: xs$4304(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4305(2)(HSEfun(CLO(1); HSErefarg(1; HSEs2exp(S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
-*/
-ATSstatic()
-atstype_boxed
-__patsfun_48__48__1(atstkind_type(atstype_ptrk) env0, atstype_cloptr env1, atstype_bool arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret86__1, atstype_boxed) ;
-ATStmpdec(tmp87__1, atstype_boxed) ;
-// ATStmpdec_void(tmp90__1) ;
-ATStmpdec(tmp91__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp92__1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp93__1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp94__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp95__1) ;
-// ATStmpdec_void(tmp96__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
-*/
-ATSINSflab(__patsflab___patsfun_48):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
-*/
-ATSif(
-arg0
-) ATSthen() {
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11516(line=699, offs=1) -- 12138(line=732, offs=4)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
-*/
-ATSINSmove_llazyeval(tmp87__1, atstype_boxed, env0) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11545(line=703, offs=1) -- 12104(line=730, offs=6)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11563(line=704, offs=3) -- 11589(line=705, offs=12)
-*/
-ATSINSlab(__atstmplab6):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
-*/
-ATSifthen(ATSCKptriscons(tmp87__1)) { ATSINSgoto(__atstmplab9) ; } ;
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11589(line=705, offs=12) -- 11589(line=705, offs=12)
-*/
-ATSINSlab(__atstmplab7):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11593(line=705, offs=16) -- 11719(line=712, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11614(line=707, offs=5) -- 11662(line=708, offs=37)
-*/
-ATSINSmove_void(tmp90__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11692(line=711, offs=5) -- 11705(line=711, offs=18)
-*/
-
-ATSINSmove_nil(tmpret86__1) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11593(line=705, offs=16) -- 11719(line=712, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11748(line=713, offs=3) -- 11776(line=714, offs=13)
-*/
-ATSINSlab(__atstmplab8):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
-*/
-#if(0)
-ATSifthen(ATSCKptrisnull(tmp87__1)) { ATSINSdeadcode_fail() ; } ;
-#endif
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11776(line=714, offs=13) -- 11776(line=714, offs=13)
-*/
-ATSINSlab(__atstmplab9):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11780(line=714, offs=17) -- 12104(line=730, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11799(line=715, offs=16) -- 11805(line=715, offs=22)
-*/
-ATSINSmove(tmp91__1, ATSfunclo_clo(ATSPMVrefarg0(env1), (atstype_cloptr, atsrefarg1_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_bool))(ATSPMVrefarg0(env1), ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp87__1, postiats_tysum_0, atslab__0))))) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11816(line=717, offs=5) -- 12062(line=728, offs=10)
-*/
-ATSif(
-tmp91__1
-) ATSthen() {
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11835(line=718, offs=12) -- 11941(line=723, offs=10)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11871(line=720, offs=16) -- 11889(line=720, offs=34)
-*/
-ATSINSmove(tmp92__1, auxmain_47__47__1(ATSSELcon(tmp87__1, postiats_tysum_0, atslab__1), env1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11864(line=720, offs=9) -- 11889(line=720, offs=34)
-*/
-ATSINSstore(ATSSELcon(tmp87__1, postiats_tysum_0, atslab__1), tmp92__1) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11925(line=722, offs=27) -- 11931(line=722, offs=33)
-*/
-ATSINSmove(tmpret86__1, tmp87__1) ;
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11835(line=718, offs=12) -- 11941(line=723, offs=10)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11970(line=724, offs=12) -- 12062(line=728, offs=10)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11992(line=725, offs=19) -- 11995(line=725, offs=22)
-*/
-ATSINSmove(tmp93__1, ATSSELcon(tmp87__1, postiats_tysum_0, atslab__1)) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12013(line=727, offs=9) -- 12028(line=727, offs=24)
-*/
-ATSINSfreecon(tmp87__1) ;
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12033(line=727, offs=29) -- 12051(line=727, offs=47)
-*/
-ATSINSmove(tmp94__1, auxmain_47__47__1(tmp93__1, env1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12031(line=727, offs=27) -- 12052(line=727, offs=48)
-*/
-ATSINSmove_llazyeval(tmpret86__1, atstype_boxed, tmp94__1) ;
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11970(line=724, offs=12) -- 12062(line=728, offs=10)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11780(line=714, offs=17) -- 12104(line=730, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11516(line=699, offs=1) -- 12138(line=732, offs=4)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12167(line=737, offs=3) -- 12170(line=737, offs=6)
-*/
-ATSINSmove_void(tmp95__1, atspre_lazy_vt_free(env0)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12174(line=738, offs=3) -- 12215(line=738, offs=44)
-*/
-ATSINSmove_void(tmp96__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;
-
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret86__1) ;
-} /* end of [__patsfun_48__48__1] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1284(line=46, offs=40) -- 1314(line=46, offs=70)
-*/
-/*
-local: is_prime_20$0(level=0)
-global: is_prime_20$0(level=0), __patsfun_52$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-__patsfun_52(atsrefarg1_type(atstkind_t0ype(atstype_int)) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret109, atstkind_t0ype(atstype_bool)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1284(line=46, offs=40) -- 1314(line=46, offs=70)
-*/
-ATSINSflab(__patsflab___patsfun_52):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1293(line=46, offs=49) -- 1314(line=46, offs=70)
-*/
-ATSINSmove(tmpret109, is_prime_20(ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), ATSderef(arg0, atstkind_t0ype(atstype_int))))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret109) ;
-} /* end of [__patsfun_52] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1541(line=53, offs=4) -- 1613(line=54, offs=18)
-*/
-/*
-local: 
-global: div_gt_zero_53$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-div_gt_zero_53(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret110, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp111, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1541(line=53, offs=4) -- 1613(line=54, offs=18)
-*/
-ATSINSflab(__patsflab_div_gt_zero_53):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1607(line=54, offs=12) -- 1612(line=54, offs=17)
-*/
-ATSINSmove(tmp111, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1598(line=54, offs=3) -- 1613(line=54, offs=18)
-*/
-ATSINSmove(tmpret110, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp111)) ;
-ATSfunbody_end()
-ATSreturn(tmpret110) ;
-} /* end of [div_gt_zero_53] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1654(line=57, offs=5) -- 2317(line=84, offs=6)
-*/
-/*
-local: exp_mod_prime_55$0(level=0)
-global: exp_mod_prime_55$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-exp_mod_prime_55(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1, atstkind_t0ype(atstype_int) arg2)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy2, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret112, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref113, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref114, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp115, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp116, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmpref119, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp120, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref121, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref122, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp123, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp124, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp125, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp128, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1654(line=57, offs=5) -- 2317(line=84, offs=6)
-*/
-ATSINSflab(__patsflab_exp_mod_prime_55):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1722(line=58, offs=3) -- 2317(line=84, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1734(line=59, offs=9) -- 1736(line=59, offs=11)
-*/
-/*
-ATSINStmpdec(tmpref113) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1739(line=59, offs=14) -- 1744(line=59, offs=19)
-*/
-ATSINSmove(tmpref113, atspre_g0int_mod_int(arg0, arg2)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1753(line=60, offs=9) -- 1755(line=60, offs=11)
-*/
-/*
-ATSINStmpdec(tmpref114) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1763(line=60, offs=19) -- 1768(line=60, offs=24)
-*/
-ATSINSmove(tmp115, atspre_g1int_sub_int(arg2, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1758(line=60, offs=14) -- 1769(line=60, offs=25)
-*/
-ATSINSmove(tmpref114, atspre_g0int_mod_int(arg1, tmp115)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1779(line=62, offs=5) -- 2311(line=83, offs=12)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1798(line=63, offs=9) -- 1799(line=63, offs=10)
-*/
-ATSINSlab(__atstmplab10):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1668(line=57, offs=19) -- 1669(line=57, offs=20)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab12) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1799(line=63, offs=10) -- 1799(line=63, offs=10)
-*/
-ATSINSlab(__atstmplab11):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1803(line=63, offs=14) -- 1804(line=63, offs=15)
-*/
-ATSINSmove(tmpret112, ATSPMVi0nt(0)) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1814(line=64, offs=10) -- 1814(line=64, offs=10)
-*/
-ATSINSlab(__atstmplab12):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1847(line=66, offs=14) -- 1852(line=66, offs=19)
-*/
-ATSINSmove(tmp116, ATSLIB_056_prelude__gt_g1int_int__6__3(arg1, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1844(line=66, offs=11) -- 2299(line=82, offs=14)
-*/
-ATSif(
-tmp116
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1870(line=67, offs=13) -- 2270(line=80, offs=16)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1892(line=68, offs=19) -- 1894(line=68, offs=21)
-*/
-/*
-ATSINStmpdec(tmpref119) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1917(line=68, offs=44) -- 1924(line=68, offs=51)
-*/
-ATSINSmove(tmp120, atspre_g0int_half_int(tmpref114)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1908(line=68, offs=35) -- 1926(line=68, offs=53)
-*/
-ATSINSmove(tmpref119, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp120)) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1945(line=69, offs=19) -- 1947(line=69, offs=21)
-*/
-/*
-ATSINStmpdec(tmpref121) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1950(line=69, offs=24) -- 1956(line=69, offs=30)
-*/
-ATSINSmove(tmpref121, atspre_g0int_mod_int(tmpref114, ATSPMVi0nt(2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1975(line=70, offs=19) -- 1979(line=70, offs=23)
-*/
-/*
-ATSINStmpdec(tmpref122) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2002(line=70, offs=46) -- 2007(line=70, offs=51)
-*/
-ATSINSmove(tmp124, atspre_g1int_mul_int(arg0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2002(line=70, offs=46) -- 2011(line=70, offs=55)
-*/
-ATSINSmove(tmp123, atspre_g0int_mod_int(tmp124, arg2)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1993(line=70, offs=37) -- 2012(line=70, offs=56)
-*/
-ATSINSmove(tmpref122, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp123)) ;
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2045(line=72, offs=18) -- 2051(line=72, offs=24)
-*/
-ATSINSmove(tmp125, ATSLIB_056_prelude__eq_g0int_int__12__6(tmpref121, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2042(line=72, offs=15) -- 2254(line=79, offs=20)
-*/
-ATSif(
-tmp125
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2073(line=73, offs=17) -- 2099(line=73, offs=43)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmpref122) ;
-ATSINSmove_tlcal(apy1, tmpref119) ;
-ATSINSmove_tlcal(apy2, arg2) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSargmove_tlcal(arg2, apy2) ;
-ATSINSfgoto(__patsflab_exp_mod_prime_55) ;
-ATStailcal_end()
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2135(line=75, offs=17) -- 2254(line=79, offs=20)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2169(line=76, offs=31) -- 2195(line=76, offs=57)
-*/
-ATSINSmove(tmp128, exp_mod_prime_55(tmpref122, tmpref119, arg2)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2165(line=76, offs=27) -- 2195(line=76, offs=57)
-*/
-ATSINSmove(tmpret112, atspre_g0int_mul_int(arg0, tmp128)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2135(line=75, offs=17) -- 2254(line=79, offs=20)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1870(line=67, offs=13) -- 2270(line=80, offs=16)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2298(line=82, offs=13) -- 2299(line=82, offs=14)
-*/
-ATSINSmove(tmpret112, ATSPMVi0nt(1)) ;
-} /* ATSendif */
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1722(line=58, offs=3) -- 2317(line=84, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret112) ;
-} /* end of [exp_mod_prime_55] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$6$3(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4703)
-tmparg = S2Evar(tk(4703))
-tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__6__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__3, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__3, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__3, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__3, atspre_g1int_gt_int(arg0, tmp12__3)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__3) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__3] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$6(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__6(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__6, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__6, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__6, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__6, atspre_g0int_eq_int(arg0, tmp19__6)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__6) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__6] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2420(line=87, offs=5) -- 3266(line=116, offs=6)
-*/
-/*
-local: exp_5$0(level=0), is_prime_20$0(level=0), div_gt_zero_53$0(level=0), exp_mod_prime_55$0(level=0)
-global: witness_0$0(level=0), exp_5$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), div_gt_zero_53$0(level=0), exp_mod_prime_55$0(level=0), jacobi_61$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-jacobi_61(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret129, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2420(line=87, offs=5) -- 3266(line=116, offs=6)
-*/
-ATSINSflab(__patsflab_jacobi_61):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2485(line=88, offs=3) -- 3266(line=116, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3253(line=115, offs=5) -- 3260(line=115, offs=12)
-*/
-ATSINSmove(tmpret129, loop_67(arg0, arg1, ATSPMVi0nt(2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2485(line=88, offs=3) -- 3266(line=116, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret129) ;
-} /* end of [jacobi_61] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2497(line=89, offs=9) -- 2814(line=99, offs=12)
-*/
-/*
-local: exp_mod_prime_55$0(level=0)
-global: exp_mod_prime_55$0(level=0), legendre_62$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-legendre_62(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret130, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp131, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref132, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp133, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp134, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp135, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp136, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp139, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp140, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp141, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp144, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2497(line=89, offs=9) -- 2814(line=99, offs=12)
-*/
-ATSINSflab(__patsflab_legendre_62):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2575(line=90, offs=13) -- 2580(line=90, offs=18)
-*/
-ATSINSmove(tmp131, atspre_g0int_mod_int(arg1, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2569(line=90, offs=7) -- 2814(line=99, offs=12)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2594(line=91, offs=11) -- 2595(line=91, offs=12)
-*/
-ATSINSlab(__atstmplab13):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2575(line=90, offs=13) -- 2580(line=90, offs=18)
-*/
-ATSifnthen(ATSCKpat_int(tmp131, ATSPMVint(0))) { ATSINSgoto(__atstmplab15) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2595(line=91, offs=12) -- 2595(line=91, offs=12)
-*/
-ATSINSlab(__atstmplab14):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2599(line=91, offs=16) -- 2600(line=91, offs=17)
-*/
-ATSINSmove(tmpret130, ATSPMVi0nt(0)) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2612(line=92, offs=12) -- 2612(line=92, offs=12)
-*/
-ATSINSlab(__atstmplab15):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2616(line=92, offs=16) -- 2814(line=99, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2634(line=93, offs=15) -- 2635(line=93, offs=16)
-*/
-/*
-ATSINStmpdec(tmpref132) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2656(line=93, offs=37) -- 2661(line=93, offs=42)
-*/
-ATSINSmove(tmp134, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2655(line=93, offs=36) -- 2666(line=93, offs=47)
-*/
-ATSINSmove(tmp133, atspre_g1int_div_int(tmp134, ATSPMVi0nt(2))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2638(line=93, offs=19) -- 2670(line=93, offs=51)
-*/
-ATSINSmove(tmpref132, exp_mod_prime_55(arg0, tmp133, arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2698(line=95, offs=17) -- 2699(line=95, offs=18)
-*/
-ATSINSmove(tmp135, tmpref132) ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2692(line=95, offs=11) -- 2802(line=98, offs=21)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2718(line=96, offs=16) -- 2718(line=96, offs=16)
-*/
-ATSINSlab(__atstmplab16):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-guard:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2729(line=96, offs=27) -- 2734(line=96, offs=32)
-*/
-ATSINSmove(tmp140, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2724(line=96, offs=22) -- 2735(line=96, offs=33)
-*/
-ATSINSmove(tmp139, atspre_g0int_mod_int(tmp135, tmp140)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2724(line=96, offs=22) -- 2739(line=96, offs=37)
-*/
-ATSINSmove(tmp136, ATSLIB_056_prelude__eq_g0int_int__12__7(tmp139, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2724(line=96, offs=22) -- 2739(line=96, offs=37)
-*/
-ATSifnthen(ATSCKpat_bool(tmp136, ATSPMVbool_true())) { ATSINSgoto(__atstmplab17) ; } ;
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2743(line=96, offs=41) -- 2745(line=96, offs=43)
-*/
-ATSINSmove(tmpret130, atspre_g1int_neg_int(ATSPMVi0nt(1))) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2761(line=97, offs=16) -- 2761(line=97, offs=16)
-*/
-ATSINSlab(__atstmplab17):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-guard:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2767(line=97, offs=22) -- 2772(line=97, offs=27)
-*/
-ATSINSmove(tmp144, atspre_g0int_mod_int(tmp135, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2767(line=97, offs=22) -- 2776(line=97, offs=31)
-*/
-ATSINSmove(tmp141, ATSLIB_056_prelude__eq_g0int_int__12__8(tmp144, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2767(line=97, offs=22) -- 2776(line=97, offs=31)
-*/
-ATSifnthen(ATSCKpat_bool(tmp141, ATSPMVbool_true())) { ATSINSgoto(__atstmplab18) ; } ;
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2780(line=97, offs=35) -- 2781(line=97, offs=36)
-*/
-ATSINSmove(tmpret130, ATSPMVi0nt(0)) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2797(line=98, offs=16) -- 2797(line=98, offs=16)
-*/
-ATSINSlab(__atstmplab18):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2801(line=98, offs=20) -- 2802(line=98, offs=21)
-*/
-ATSINSmove(tmpret130, ATSPMVi0nt(1)) ;
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2616(line=92, offs=16) -- 2814(line=99, offs=12)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret130) ;
-} /* end of [legendre_62] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$7(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__7(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__7, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__7, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__7, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__7, atspre_g0int_eq_int(arg0, tmp19__7)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__7) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__7] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$8(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__8(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__8, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__8, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__8, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__8, atspre_g0int_eq_int(arg0, tmp19__8)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__8) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__8] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2828(line=101, offs=9) -- 2983(line=104, offs=17)
-*/
-/*
-local: div_gt_zero_53$0(level=0), get_multiplicity_66$0(level=1)
-global: div_gt_zero_53$0(level=0), get_multiplicity_66$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-get_multiplicity_66(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret145, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp146, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp147, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp148, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2828(line=101, offs=9) -- 2983(line=104, offs=17)
-*/
-ATSINSflab(__patsflab_get_multiplicity_66):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2900(line=102, offs=13) -- 2905(line=102, offs=18)
-*/
-ATSINSmove(tmp146, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2894(line=102, offs=7) -- 2983(line=104, offs=17)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2919(line=103, offs=11) -- 2920(line=103, offs=12)
-*/
-ATSINSlab(__atstmplab19):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2900(line=102, offs=13) -- 2905(line=102, offs=18)
-*/
-ATSifnthen(ATSCKpat_int(tmp146, ATSPMVint(0))) { ATSINSgoto(__atstmplab21) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2920(line=103, offs=12) -- 2920(line=103, offs=12)
-*/
-ATSINSlab(__atstmplab20):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2945(line=103, offs=37) -- 2962(line=103, offs=54)
-*/
-ATSINSmove(tmp148, div_gt_zero_53(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2928(line=103, offs=20) -- 2966(line=103, offs=58)
-*/
-ATSINSmove(tmp147, get_multiplicity_66(tmp148, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2924(line=103, offs=16) -- 2966(line=103, offs=58)
-*/
-ATSINSmove(tmpret145, atspre_g1int_add_int(ATSPMVi0nt(1), tmp147)) ;
-
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2978(line=104, offs=12) -- 2978(line=104, offs=12)
-*/
-ATSINSlab(__atstmplab21):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2982(line=104, offs=16) -- 2983(line=104, offs=17)
-*/
-ATSINSmove(tmpret145, ATSPMVi0nt(0)) ;
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret145) ;
-} /* end of [get_multiplicity_66] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2997(line=106, offs=9) -- 3243(line=113, offs=24)
-*/
-/*
-local: exp_5$0(level=0), is_prime_20$0(level=0), legendre_62$0(level=1), get_multiplicity_66$0(level=1), loop_67$0(level=1)
-global: exp_5$0(level=0), is_prime_20$0(level=0), div_gt_zero_53$0(level=0), exp_mod_prime_55$0(level=0), legendre_62$0(level=1), get_multiplicity_66$0(level=1), loop_67$0(level=1)
-local: a$5142(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), n$5143(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-global: a$5142(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), n$5143(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_67(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret149, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp150, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp153, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp154, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp157, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp158, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp159, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp160, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp161, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp162, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp163, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2997(line=106, offs=9) -- 3243(line=113, offs=24)
-*/
-ATSINSflab(__patsflab_loop_67):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3054(line=107, offs=10) -- 3061(line=107, offs=17)
-*/
-ATSINSmove(tmp150, ATSLIB_056_prelude__gt_g1int_int__6__4(arg0, env1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3051(line=107, offs=7) -- 3243(line=113, offs=24)
-*/
-ATSif(
-tmp150
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3075(line=108, offs=9) -- 3076(line=108, offs=10)
-*/
-ATSINSmove(tmpret149, ATSPMVi0nt(1)) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3099(line=110, offs=12) -- 3126(line=110, offs=39)
-*/
-ATSINSmove(tmp157, atspre_g0int_mod_int(env0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3099(line=110, offs=12) -- 3126(line=110, offs=39)
-*/
-ATSINSmove(tmp154, ATSLIB_056_prelude__eq_g0int_int__12__9(tmp157, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3099(line=110, offs=12) -- 3126(line=110, offs=39)
-*/
-ATSif(
-tmp154
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3099(line=110, offs=12) -- 3126(line=110, offs=39)
-*/
-ATSINSmove(tmp153, is_prime_20(arg0)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3099(line=110, offs=12) -- 3126(line=110, offs=39)
-*/
-ATSINSmove(tmp153, ATSPMVbool_false()) ;
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3096(line=110, offs=9) -- 3243(line=113, offs=24)
-*/
-ATSif(
-tmp153
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3148(line=111, offs=16) -- 3155(line=111, offs=23)
-*/
-ATSINSmove(tmp159, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3143(line=111, offs=11) -- 3156(line=111, offs=24)
-*/
-ATSINSmove(tmp158, loop_67(env0, env1, tmp159)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3163(line=111, offs=31) -- 3179(line=111, offs=47)
-*/
-ATSINSmove(tmp161, legendre_62(arg0, env1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3181(line=111, offs=49) -- 3205(line=111, offs=73)
-*/
-ATSINSmove(tmp162, get_multiplicity_66(env0, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3159(line=111, offs=27) -- 3206(line=111, offs=74)
-*/
-ATSINSmove(tmp160, exp_5(tmp161, tmp162)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3143(line=111, offs=11) -- 3206(line=111, offs=74)
-*/
-ATSINSmove(tmpret149, atspre_g0int_mul_int(tmp158, tmp160)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3235(line=113, offs=16) -- 3242(line=113, offs=23)
-*/
-ATSINSmove(tmp163, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3230(line=113, offs=11) -- 3243(line=113, offs=24)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp163) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSfgoto(__patsflab_loop_67) ;
-ATStailcal_end()
-
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret149) ;
-} /* end of [loop_67] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$6$4(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4703)
-tmparg = S2Evar(tk(4703))
-tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__6__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__4, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__4, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__4, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__4, atspre_g1int_gt_int(arg0, tmp12__4)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__4) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__4] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$9(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__9(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__9, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__9, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__9, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__9, atspre_g0int_eq_int(arg0, tmp19__9)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__9) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__9] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3297(line=119, offs=4) -- 3606(line=131, offs=6)
-*/
-/*
-local: 
-global: count_divisors_70$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-count_divisors_70(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret164, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3297(line=119, offs=4) -- 3606(line=131, offs=6)
-*/
-ATSINSflab(__patsflab_count_divisors_70):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3337(line=120, offs=3) -- 3606(line=131, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3590(line=130, offs=5) -- 3600(line=130, offs=15)
-*/
-ATSINSmove(tmpret164, loop_71(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3337(line=120, offs=3) -- 3606(line=131, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret164) ;
-} /* end of [count_divisors_70] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3349(line=121, offs=9) -- 3580(line=128, offs=27)
-*/
-/*
-local: loop_71$0(level=1)
-global: loop_71$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_71(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret165, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp166, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp169, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp172, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp173, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp174, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp175, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3349(line=121, offs=9) -- 3580(line=128, offs=27)
-*/
-ATSINSflab(__patsflab_loop_71):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3447(line=122, offs=10) -- 3455(line=122, offs=18)
-*/
-ATSINSmove(tmp166, ATSLIB_056_prelude__gte_g1int_int__38__2(arg1, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3444(line=122, offs=7) -- 3580(line=128, offs=27)
-*/
-ATSif(
-tmp166
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3469(line=123, offs=9) -- 3470(line=123, offs=10)
-*/
-ATSINSmove(tmpret165, ATSPMVi0nt(1)) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3493(line=125, offs=12) -- 3500(line=125, offs=19)
-*/
-ATSINSmove(tmp172, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3493(line=125, offs=12) -- 3504(line=125, offs=23)
-*/
-ATSINSmove(tmp169, ATSLIB_056_prelude__eq_g0int_int__12__10(tmp172, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3490(line=125, offs=9) -- 3580(line=128, offs=27)
-*/
-ATSif(
-tmp169
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3532(line=126, offs=23) -- 3539(line=126, offs=30)
-*/
-ATSINSmove(tmp174, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3524(line=126, offs=15) -- 3540(line=126, offs=31)
-*/
-ATSINSmove(tmp173, loop_71(arg0, tmp174)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3520(line=126, offs=11) -- 3540(line=126, offs=31)
-*/
-ATSINSmove(tmpret165, atspre_g0int_add_int(ATSPMVi0nt(1), tmp173)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3572(line=128, offs=19) -- 3579(line=128, offs=26)
-*/
-ATSINSmove(tmp175, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3564(line=128, offs=11) -- 3580(line=128, offs=27)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, arg0) ;
-ATSINSmove_tlcal(apy1, tmp175) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_loop_71) ;
-ATStailcal_end()
-
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret165) ;
-} /* end of [loop_71] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$38$2(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4706)
-tmparg = S2Evar(tk(4706))
-tmpsub = Some(tk(4706) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__38__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret68__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp69__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp69__2, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret68__2, atspre_g1int_gte_int(arg0, tmp69__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret68__2) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__38__2] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$10(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__10(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__10, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__10, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__10, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__10, atspre_g0int_eq_int(arg0, tmp19__10)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__10) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__10] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3637(line=134, offs=4) -- 4001(line=149, offs=8)
-*/
-/*
-local: 
-global: sum_divisors_75$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-sum_divisors_75(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret176, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp177, atstkind_t0ype(atstype_bool)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3637(line=134, offs=4) -- 4001(line=149, offs=8)
-*/
-ATSINSflab(__patsflab_sum_divisors_75):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3680(line=135, offs=6) -- 3685(line=135, offs=11)
-*/
-ATSINSmove(tmp177, ATSLIB_056_prelude__eq_g1int_int__26__2(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3677(line=135, offs=3) -- 4001(line=149, offs=8)
-*/
-ATSif(
-tmp177
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3695(line=136, offs=5) -- 3696(line=136, offs=6)
-*/
-ATSINSmove(tmpret176, ATSPMVi0nt(1)) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3708(line=138, offs=5) -- 4001(line=149, offs=8)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3983(line=148, offs=7) -- 3993(line=148, offs=17)
-*/
-ATSINSmove(tmpret176, loop_77(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3708(line=138, offs=5) -- 4001(line=149, offs=8)
-*/
-/*
-INSletpop()
-*/
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret176) ;
-} /* end of [sum_divisors_75] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
-*/
-/*
-local: 
-global: eq_g1int_int$26$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4709)
-tmparg = S2Evar(tk(4709))
-tmpsub = Some(tk(4709) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g1int_int__26__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret43__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp44__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
-*/
-ATSINSmove(tmp44__2, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
-*/
-ATSINSmove(tmpret43__2, atspre_g1int_eq_int(arg0, tmp44__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret43__2) ;
-} /* end of [ATSLIB_056_prelude__eq_g1int_int__26__2] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3722(line=139, offs=11) -- 3969(line=146, offs=29)
-*/
-/*
-local: loop_77$0(level=1)
-global: loop_77$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_77(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret180, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp181, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp184, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp187, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp188, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp189, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp190, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3722(line=139, offs=11) -- 3969(line=146, offs=29)
-*/
-ATSINSflab(__patsflab_loop_77):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3822(line=140, offs=12) -- 3830(line=140, offs=20)
-*/
-ATSINSmove(tmp181, ATSLIB_056_prelude__gte_g1int_int__38__3(arg1, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3819(line=140, offs=9) -- 3969(line=146, offs=29)
-*/
-ATSif(
-tmp181
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3846(line=141, offs=11) -- 3847(line=141, offs=12)
-*/
-ATSINSmove(tmpret180, arg0) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3874(line=143, offs=14) -- 3881(line=143, offs=21)
-*/
-ATSINSmove(tmp187, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3874(line=143, offs=14) -- 3885(line=143, offs=25)
-*/
-ATSINSmove(tmp184, ATSLIB_056_prelude__eq_g0int_int__12__11(tmp187, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3871(line=143, offs=11) -- 3969(line=146, offs=29)
-*/
-ATSif(
-tmp184
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3917(line=144, offs=27) -- 3924(line=144, offs=34)
-*/
-ATSINSmove(tmp189, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3909(line=144, offs=19) -- 3925(line=144, offs=35)
-*/
-ATSINSmove(tmp188, loop_77(arg0, tmp189)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3903(line=144, offs=13) -- 3925(line=144, offs=35)
-*/
-ATSINSmove(tmpret180, atspre_g0int_add_int(arg1, tmp188)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3961(line=146, offs=21) -- 3968(line=146, offs=28)
-*/
-ATSINSmove(tmp190, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3953(line=146, offs=13) -- 3969(line=146, offs=29)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, arg0) ;
-ATSINSmove_tlcal(apy1, tmp190) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_loop_77) ;
-ATStailcal_end()
-
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret180) ;
-} /* end of [loop_77] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$38$3(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4706)
-tmparg = S2Evar(tk(4706))
-tmpsub = Some(tk(4706) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__38__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret68__3, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp69__3, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp69__3, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret68__3, atspre_g1int_gte_int(arg0, tmp69__3)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret68__3) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__38__3] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$11(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__11(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__11, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__11, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__11, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__11, atspre_g0int_eq_int(arg0, tmp19__11)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__11) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__11] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4006(line=151, offs=4) -- 4064(line=152, offs=22)
-*/
-/*
-local: sum_divisors_75$0(level=0)
-global: sum_divisors_75$0(level=0), is_perfect_80$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_bool)
-is_perfect_80(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret191, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp194, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4006(line=151, offs=4) -- 4064(line=152, offs=22)
-*/
-ATSINSflab(__patsflab_is_perfect_80):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4045(line=152, offs=3) -- 4059(line=152, offs=17)
-*/
-ATSINSmove(tmp194, sum_divisors_75(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4045(line=152, offs=3) -- 4064(line=152, offs=22)
-*/
-ATSINSmove(tmpret191, ATSLIB_056_prelude__eq_g0int_int__12__12(tmp194, arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret191) ;
-} /* end of [is_perfect_80] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$12(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__12(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__12, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__12, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__12, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__12, atspre_g0int_eq_int(arg0, tmp19__12)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__12) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__12] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4070(line=154, offs=5) -- 4390(line=168, offs=8)
-*/
-/*
-local: rip_82$0(level=0)
-global: rip_82$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-rip_82(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret195, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp196, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp201, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp202, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp205, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpref206, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp207, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp210, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4070(line=154, offs=5) -- 4390(line=168, offs=8)
-*/
-ATSINSflab(__patsflab_rip_82):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4192(line=155, offs=6) -- 4197(line=155, offs=11)
-*/
-ATSINSmove(tmp201, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4192(line=155, offs=6) -- 4202(line=155, offs=16)
-*/
-ATSINSmove(tmp196, ATSLIB_056_prelude__neq_g0int_int__83__1(tmp201, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4189(line=155, offs=3) -- 4390(line=168, offs=8)
-*/
-ATSif(
-tmp196
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4212(line=156, offs=5) -- 4213(line=156, offs=6)
-*/
-ATSINSmove(tmpret195, arg0) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4228(line=158, offs=8) -- 4233(line=158, offs=13)
-*/
-ATSINSmove(tmp205, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4228(line=158, offs=8) -- 4237(line=158, offs=17)
-*/
-ATSINSmove(tmp202, ATSLIB_056_prelude__gt_g1int_int__6__5(tmp205, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4225(line=158, offs=5) -- 4390(line=168, offs=8)
-*/
-ATSif(
-tmp202
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4249(line=159, offs=7) -- 4373(line=166, offs=10)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4265(line=160, offs=13) -- 4267(line=160, offs=15)
-*/
-/*
-ATSINStmpdec(tmpref206) ;
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4270(line=160, offs=18) -- 4275(line=160, offs=23)
-*/
-ATSINSmove(tmpref206, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4296(line=162, offs=12) -- 4302(line=162, offs=18)
-*/
-ATSINSmove(tmp207, ATSLIB_056_prelude__lt_g1int_int__22__2(tmpref206, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4293(line=162, offs=9) -- 4363(line=165, offs=12)
-*/
-ATSif(
-tmp207
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4327(line=163, offs=20) -- 4337(line=163, offs=30)
-*/
-ATSINSmove(tmp210, rip_82(tmpref206, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4318(line=163, offs=11) -- 4338(line=163, offs=31)
-*/
-ATSINSmove(tmpret195, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp210)) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4362(line=165, offs=11) -- 4363(line=165, offs=12)
-*/
-ATSINSmove(tmpret195, ATSPMVi0nt(1)) ;
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4249(line=159, offs=7) -- 4373(line=166, offs=10)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4389(line=168, offs=7) -- 4390(line=168, offs=8)
-*/
-ATSINSmove(tmpret195, ATSPMVi0nt(1)) ;
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret195) ;
-} /* end of [rip_82] */
-
-#if(0)
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12337(line=639, offs=3) -- 12377(line=639, offs=43)
-*/
-/*
-local: 
-global: neq_g0int_int$83$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4695)
-tmparg = S2Evar(tk(4695))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g0int_int__83(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret197, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp198, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12321(line=638, offs=1) -- 12377(line=639, offs=43)
-*/
-ATSINSflab(__patsflab_neq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12364(line=639, offs=30) -- 12375(line=639, offs=41)
-*/
-ATSINSmove(tmp198, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4695))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12346(line=639, offs=12) -- 12377(line=639, offs=43)
-*/
-ATSINSmove(tmpret197, PMVtmpltcst(g0int_neq<S2Evar(tk(4695))>)(arg0, tmp198)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret197) ;
-} /* end of [ATSLIB_056_prelude__neq_g0int_int__83] */
-#endif // end of [TEMPLATE]
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12337(line=639, offs=3) -- 12377(line=639, offs=43)
-*/
-/*
-local: 
-global: neq_g0int_int$83$1(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4695)
-tmparg = S2Evar(tk(4695))
-tmpsub = Some(tk(4695) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g0int_int__83__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret197__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp198__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12321(line=638, offs=1) -- 12377(line=639, offs=43)
-*/
-ATSINSflab(__patsflab_neq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12364(line=639, offs=30) -- 12375(line=639, offs=41)
-*/
-ATSINSmove(tmp198__1, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12346(line=639, offs=12) -- 12377(line=639, offs=43)
-*/
-ATSINSmove(tmpret197__1, atspre_g0int_neq_int(arg0, tmp198__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret197__1) ;
-} /* end of [ATSLIB_056_prelude__neq_g0int_int__83__1] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$6$5(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4703)
-tmparg = S2Evar(tk(4703))
-tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__6__5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__5, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__5, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__5, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__5, atspre_g1int_gt_int(arg0, tmp12__5)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__5) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__5] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
-*/
-/*
-local: 
-global: lt_g1int_int$22$2(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4697)
-tmparg = S2Evar(tk(4697))
-tmpsub = Some(tk(4697) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__22__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret33__2, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp34__2, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
-*/
-ATSINSmove(tmp34__2, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
-*/
-ATSINSmove(tmpret33__2, atspre_g1int_lt_int(arg0, tmp34__2)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret33__2) ;
-} /* end of [ATSLIB_056_prelude__lt_g1int_int__22__2] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4422(line=171, offs=4) -- 4868(line=189, offs=6)
-*/
-/*
-local: is_prime_20$0(level=0), rip_82$0(level=0)
-global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), rip_82$0(level=0), little_omega_88$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-little_omega_88(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret211, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4422(line=171, offs=4) -- 4868(line=189, offs=6)
-*/
-ATSINSflab(__patsflab_little_omega_88):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4466(line=172, offs=3) -- 4868(line=189, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4852(line=188, offs=5) -- 4862(line=188, offs=15)
-*/
-ATSINSmove(tmpret211, loop_89(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4466(line=172, offs=3) -- 4868(line=189, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret211) ;
-} /* end of [little_omega_88] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4478(line=173, offs=9) -- 4842(line=186, offs=27)
-*/
-/*
-local: is_prime_20$0(level=0), rip_82$0(level=0), loop_89$0(level=1)
-global: is_prime_20$0(level=0), rip_82$0(level=0), loop_89$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_89(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret212, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp213, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp216, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp217, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp218, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp221, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp222, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp225, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp226, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp227, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp228, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4478(line=173, offs=9) -- 4842(line=186, offs=27)
-*/
-ATSINSflab(__patsflab_loop_89):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4572(line=174, offs=10) -- 4580(line=174, offs=18)
-*/
-ATSINSmove(tmp213, ATSLIB_056_prelude__gte_g1int_int__38__4(arg1, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4569(line=174, offs=7) -- 4842(line=186, offs=27)
-*/
-ATSif(
-tmp213
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4597(line=175, offs=12) -- 4607(line=175, offs=22)
-*/
-ATSINSmove(tmp216, is_prime_20(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4594(line=175, offs=9) -- 4650(line=178, offs=12)
-*/
-ATSif(
-tmp216
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4624(line=176, offs=11) -- 4625(line=176, offs=12)
-*/
-ATSINSmove(tmpret212, ATSPMVi0nt(1)) ;
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4649(line=178, offs=11) -- 4650(line=178, offs=12)
-*/
-ATSINSmove(tmpret212, ATSPMVi0nt(0)) ;
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4673(line=180, offs=12) -- 4700(line=180, offs=39)
-*/
-ATSINSmove(tmp221, atspre_g0int_mod_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4673(line=180, offs=12) -- 4700(line=180, offs=39)
-*/
-ATSINSmove(tmp218, ATSLIB_056_prelude__eq_g0int_int__12__13(tmp221, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4673(line=180, offs=12) -- 4700(line=180, offs=39)
-*/
-ATSif(
-tmp218
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4673(line=180, offs=12) -- 4700(line=180, offs=39)
-*/
-ATSINSmove(tmp217, is_prime_20(arg1)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4673(line=180, offs=12) -- 4700(line=180, offs=39)
-*/
-ATSINSmove(tmp217, ATSPMVbool_false()) ;
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4670(line=180, offs=9) -- 4842(line=186, offs=27)
-*/
-ATSif(
-tmp217
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4720(line=181, offs=14) -- 4727(line=181, offs=21)
-*/
-ATSINSmove(tmp225, atspre_g1int_div_int(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4720(line=181, offs=14) -- 4731(line=181, offs=25)
-*/
-ATSINSmove(tmp222, ATSLIB_056_prelude__gt_g1int_int__6__6(tmp225, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4717(line=181, offs=11) -- 4802(line=184, offs=14)
-*/
-ATSif(
-tmp222
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4758(line=182, offs=22) -- 4769(line=182, offs=33)
-*/
-ATSINSmove(tmp227, rip_82(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4753(line=182, offs=17) -- 4773(line=182, offs=37)
-*/
-ATSINSmove(tmp226, loop_89(tmp227, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4749(line=182, offs=13) -- 4773(line=182, offs=37)
-*/
-ATSINSmove(tmpret212, atspre_g0int_add_int(ATSPMVi0nt(1), tmp226)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4801(line=184, offs=13) -- 4802(line=184, offs=14)
-*/
-ATSINSmove(tmpret212, ATSPMVi0nt(1)) ;
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4834(line=186, offs=19) -- 4841(line=186, offs=26)
-*/
-ATSINSmove(tmp228, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4826(line=186, offs=11) -- 4842(line=186, offs=27)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, arg0) ;
-ATSINSmove_tlcal(apy1, tmp228) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_loop_89) ;
-ATStailcal_end()
-
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret212) ;
-} /* end of [loop_89] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$38$4(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4706)
-tmparg = S2Evar(tk(4706))
-tmpsub = Some(tk(4706) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__38__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret68__4, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp69__4, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp69__4, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret68__4, atspre_g1int_gte_int(arg0, tmp69__4)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret68__4) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__38__4] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$13(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__13(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__13, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__13, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__13, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__13, atspre_g0int_eq_int(arg0, tmp19__13)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__13) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__13] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
-*/
-/*
-local: 
-global: gt_g1int_int$6$6(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4703)
-tmparg = S2Evar(tk(4703))
-tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gt_g1int_int__6__6(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret11__6, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp12__6, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
-*/
-ATSINSflab(__patsflab_gt_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
-*/
-ATSINSmove(tmp12__6, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
-*/
-ATSINSmove(tmpret11__6, atspre_g1int_gt_int(arg0, tmp12__6)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret11__6) ;
-} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__6] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4902(line=192, offs=4) -- 5450(line=212, offs=10)
-*/
-/*
-local: is_prime_20$0(level=0)
-global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), totient_93$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-totient_93(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret229, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4902(line=192, offs=4) -- 5450(line=212, offs=10)
-*/
-ATSINSflab(__patsflab_totient_93):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4935(line=193, offs=3) -- 5450(line=212, offs=10)
-*/
-ATScaseof_beg()
-/*
-** ibranchlst-beg
-*/
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4952(line=194, offs=7) -- 4953(line=194, offs=8)
-*/
-ATSINSlab(__atstmplab22):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4910(line=192, offs=12) -- 4911(line=192, offs=13)
-*/
-ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab24) ; } ;
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4953(line=194, offs=8) -- 4953(line=194, offs=8)
-*/
-ATSINSlab(__atstmplab23):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4957(line=194, offs=12) -- 4958(line=194, offs=13)
-*/
-ATSINSmove(tmpret229, ATSPMVi0nt(1)) ;
-ATSbranch_end()
-
-ATSbranch_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4966(line=195, offs=8) -- 4966(line=195, offs=8)
-*/
-ATSINSlab(__atstmplab24):
-/*
-emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
-*/
-/*
-ibranch-mbody:
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4992(line=197, offs=9) -- 5440(line=211, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5418(line=210, offs=11) -- 5428(line=210, offs=21)
-*/
-ATSINSmove(tmpret229, loop_94(ATSPMVi0nt(1), arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4992(line=197, offs=9) -- 5440(line=211, offs=12)
-*/
-/*
-INSletpop()
-*/
-ATSbranch_end()
-
-/*
-** ibranchlst-end
-*/
-ATScaseof_end()
-
-ATSfunbody_end()
-ATSreturn(tmpret229) ;
-} /* end of [totient_93] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5010(line=198, offs=15) -- 5396(line=208, offs=31)
-*/
-/*
-local: is_prime_20$0(level=0), loop_94$0(level=1)
-global: is_prime_20$0(level=0), loop_94$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_t0ype(atstype_int)
-loop_94(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret230, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp231, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp234, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp235, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp236, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp237, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp240, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp245, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp246, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp247, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp248, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp249, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-/*
-emit_funent_fnxdeclst:
-*/
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5010(line=198, offs=15) -- 5396(line=208, offs=31)
-*/
-ATSINSflab(__patsflab_loop_94):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5121(line=199, offs=16) -- 5127(line=199, offs=22)
-*/
-ATSINSmove(tmp231, ATSLIB_056_prelude__gte_g1int_int__38__5(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5118(line=199, offs=13) -- 5396(line=208, offs=31)
-*/
-ATSif(
-tmp231
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5150(line=200, offs=18) -- 5160(line=200, offs=28)
-*/
-ATSINSmove(tmp234, is_prime_20(arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5147(line=200, offs=15) -- 5225(line=203, offs=18)
-*/
-ATSif(
-tmp234
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5183(line=201, offs=17) -- 5188(line=201, offs=22)
-*/
-ATSINSmove(tmpret230, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5224(line=203, offs=17) -- 5225(line=203, offs=18)
-*/
-ATSINSmove(tmpret230, arg1) ;
-} /* ATSendif */
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5260(line=205, offs=18) -- 5294(line=205, offs=52)
-*/
-ATSINSmove(tmp240, atspre_g0int_mod_int(arg1, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5260(line=205, offs=18) -- 5294(line=205, offs=52)
-*/
-ATSINSmove(tmp237, ATSLIB_056_prelude__eq_g0int_int__12__14(tmp240, ATSPMVi0nt(0))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5260(line=205, offs=18) -- 5294(line=205, offs=52)
-*/
-ATSif(
-tmp237
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5260(line=205, offs=18) -- 5294(line=205, offs=52)
-*/
-ATSINSmove(tmp236, is_prime_20(arg0)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5260(line=205, offs=18) -- 5294(line=205, offs=52)
-*/
-ATSINSmove(tmp236, ATSPMVbool_false()) ;
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5260(line=205, offs=18) -- 5294(line=205, offs=52)
-*/
-ATSif(
-tmp236
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5260(line=205, offs=18) -- 5294(line=205, offs=52)
-*/
-ATSINSmove(tmp235, ATSLIB_056_prelude__neq_g1int_int__97__1(arg0, arg1)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5260(line=205, offs=18) -- 5294(line=205, offs=52)
-*/
-ATSINSmove(tmp235, ATSPMVbool_false()) ;
-} /* ATSendif */
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5257(line=205, offs=15) -- 5396(line=208, offs=31)
-*/
-ATSif(
-tmp235
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5322(line=206, offs=23) -- 5327(line=206, offs=28)
-*/
-ATSINSmove(tmp247, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5317(line=206, offs=18) -- 5331(line=206, offs=32)
-*/
-ATSINSmove(tmp246, loop_94(tmp247, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5317(line=206, offs=18) -- 5335(line=206, offs=36)
-*/
-ATSINSmove(tmp245, atspre_g0int_div_int(tmp246, arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5340(line=206, offs=41) -- 5345(line=206, offs=46)
-*/
-ATSINSmove(tmp248, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5316(line=206, offs=17) -- 5346(line=206, offs=47)
-*/
-ATSINSmove(tmpret230, atspre_g0int_mul_int(tmp245, tmp248)) ;
-
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5387(line=208, offs=22) -- 5392(line=208, offs=27)
-*/
-ATSINSmove(tmp249, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5382(line=208, offs=17) -- 5396(line=208, offs=31)
-*/
-ATStailcal_beg()
-ATSINSmove_tlcal(apy0, tmp249) ;
-ATSINSmove_tlcal(apy1, arg1) ;
-ATSINSargmove_tlcal(arg0, apy0) ;
-ATSINSargmove_tlcal(arg1, apy1) ;
-ATSINSfgoto(__patsflab_loop_94) ;
-ATStailcal_end()
-
-} /* ATSendif */
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret230) ;
-/*
-emit_funent_fnxbodylst:
-*/
-} /* end of [loop_94] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
-*/
-/*
-local: 
-global: gte_g1int_int$38$5(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4706)
-tmparg = S2Evar(tk(4706))
-tmpsub = Some(tk(4706) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__gte_g1int_int__38__5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret68__5, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp69__5, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
-*/
-ATSINSflab(__patsflab_gte_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
-*/
-ATSINSmove(tmp69__5, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
-*/
-ATSINSmove(tmpret68__5, atspre_g1int_gte_int(arg0, tmp69__5)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret68__5) ;
-} /* end of [ATSLIB_056_prelude__gte_g1int_int__38__5] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
-*/
-/*
-local: 
-global: eq_g0int_int$12$14(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4694)
-tmparg = S2Evar(tk(4694))
-tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__eq_g0int_int__12__14(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret18__14, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp19__14, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
-*/
-ATSINSflab(__patsflab_eq_g0int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
-*/
-ATSINSmove(tmp19__14, atspre_g0int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
-*/
-ATSINSmove(tmpret18__14, atspre_g0int_eq_int(arg0, tmp19__14)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret18__14) ;
-} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__14] */
-
-#if(0)
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)
-*/
-/*
-local: 
-global: neq_g1int_int$97$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = tk(4712)
-tmparg = S2Evar(tk(4712))
-tmpsub = None()
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g1int_int__97(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret241, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp242, atstkind_t0ype(atstyvar_type(tk))) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12900(line=671, offs=1) -- 12956(line=672, offs=43)
-*/
-ATSINSflab(__patsflab_neq_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)
-*/
-ATSINSmove(tmp242, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4712))>)(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)
-*/
-ATSINSmove(tmpret241, PMVtmpltcst(g1int_neq<S2Evar(tk(4712))>)(arg0, tmp242)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret241) ;
-} /* end of [ATSLIB_056_prelude__neq_g1int_int__97] */
-#endif // end of [TEMPLATE]
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)
-*/
-/*
-local: 
-global: neq_g1int_int$97$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4712)
-tmparg = S2Evar(tk(4712))
-tmpsub = Some(tk(4712) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__neq_g1int_int__97__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret241__1, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp242__1, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12900(line=671, offs=1) -- 12956(line=672, offs=43)
-*/
-ATSINSflab(__patsflab_neq_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)
-*/
-ATSINSmove(tmp242__1, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)
-*/
-ATSINSmove(tmpret241__1, atspre_g1int_neq_int(arg0, tmp242__1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret241__1) ;
-} /* end of [ATSLIB_056_prelude__neq_g1int_int__97__1] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5503(line=215, offs=5) -- 5891(line=229, offs=6)
-*/
-/*
-local: witness_0$0(level=0), totient_93$0(level=0)
-global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), totient_93$0(level=0), totient_sum_100$0(level=0)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-totient_sum_100(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/fast-arithmetic/ats-src/number-theory.dats: 5503(line=215, offs=5) -- 5891(line=229, offs=6)
-*/
-ATSINSflab(__patsflab_totient_sum_100):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5543(line=216, offs=3) -- 5891(line=229, offs=6)
-*/
-/*
-letpush(beg)
-*/
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5875(line=228, offs=5) -- 5885(line=228, offs=15)
-*/
-ATSINSmove(tmpret250, loop_101(ATSPMVi0nt(1), arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5543(line=216, offs=3) -- 5891(line=229, offs=6)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret250) ;
-} /* end of [totient_sum_100] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5555(line=217, offs=9) -- 5865(line=226, offs=40)
-*/
-/*
-local: witness_0$0(level=0), totient_93$0(level=0), loop_101$0(level=1)
-global: witness_0$0(level=0), totient_93$0(level=0), loop_101$0(level=1)
-local: 
-global: 
-*/
-ATSstatic()
-atstkind_type(atstype_ptrk)
-loop_101(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmpret251, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp252, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp255, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp256, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp261, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp262, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp270, atstkind_t0ype(atstype_int)) ;
-ATStmpdec(tmp271, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-/*
-emit_funent_fnxdeclst:
-*/
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5555(line=217, offs=9) -- 5865(line=226, offs=40)
-*/
-ATSINSflab(__patsflab_loop_101):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5658(line=218, offs=10) -- 5667(line=218, offs=19)
-*/
-ATSINSmove(tmp252, ATSLIB_056_prelude__lt_g1int_int__22__3(arg0, arg1)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5655(line=218, offs=7) -- 5865(line=226, offs=40)
-*/
-ATSif(
-tmp252
-) ATSthen() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5681(line=219, offs=9) -- 5814(line=224, offs=12)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5708(line=220, offs=24) -- 5713(line=220, offs=29)
-*/
-ATSINSmove(tmp256, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5703(line=220, offs=19) -- 5721(line=220, offs=37)
-*/
-ATSINSmove(tmp255, loop_101(tmp256, arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5767(line=221, offs=46) -- 5776(line=221, offs=55)
-*/
-ATSINSmove(tmp262, totient_93(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5759(line=221, offs=38) -- 5778(line=221, offs=57)
-*/
-ATSINSmove(tmp261, witness_0(tmp262)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5740(line=221, offs=19) -- 5779(line=221, offs=58)
-*/
-ATSINSmove(tmpret251, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__103__1(tmp255, tmp261)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5681(line=219, offs=9) -- 5814(line=224, offs=12)
-*/
-/*
-INSletpop()
-*/
-} ATSelse() {
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5834(line=226, offs=9) -- 5865(line=226, offs=40)
-*/
-ATSINSmove(tmp271, totient_93(arg0)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5834(line=226, offs=9) -- 5865(line=226, offs=40)
-*/
-ATSINSmove(tmp270, witness_0(tmp271)) ;
-
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5834(line=226, offs=9) -- 5865(line=226, offs=40)
-*/
-ATSINSmove(tmpret251, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__105__1(tmp270)) ;
-
-} /* ATSendif */
-ATSfunbody_end()
-ATSreturn(tmpret251) ;
-/*
-emit_funent_fnxbodylst:
-*/
-} /* end of [loop_101] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
-*/
-/*
-local: 
-global: lt_g1int_int$22$3(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = tk(4697)
-tmparg = S2Evar(tk(4697))
-tmpsub = Some(tk(4697) -> S2Eextkind(atstype_int))
-*/
-atstkind_t0ype(atstype_bool)
-ATSLIB_056_prelude__lt_g1int_int__22__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret33__3, atstkind_t0ype(atstype_bool)) ;
-ATStmpdec(tmp34__3, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
-*/
-ATSINSflab(__patsflab_lt_g1int_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
-*/
-ATSINSmove(tmp34__3, atspre_g1int2int_int_int(arg1)) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
-*/
-ATSINSmove(tmpret33__3, atspre_g1int_lt_int(arg0, tmp34__3)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret33__3) ;
-} /* end of [ATSLIB_056_prelude__lt_g1int_int__22__3] */
-
-#if(0)
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5151(line=274, offs=3) -- 5217(line=279, offs=2)
-*/
-/*
-local: 
-global: add_intinf0_int$103$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__103(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret257, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp258) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5133(line=273, offs=1) -- 5217(line=279, offs=2)
-*/
-ATSINSflab(__patsflab_add_intinf0_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5184(line=277, offs=10) -- 5212(line=277, offs=38)
-*/
-ATSINSmove_void(tmp258, atscntrb_gmp_mpz_add2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5161(line=274, offs=13) -- 5162(line=274, offs=14)
-*/
-ATSINSmove(tmpret257, arg0) ;
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret257) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__103] */
-#endif // end of [TEMPLATE]
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5151(line=274, offs=3) -- 5217(line=279, offs=2)
-*/
-/*
-local: 
-global: add_intinf0_int$103$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__103__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret257__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp258__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5133(line=273, offs=1) -- 5217(line=279, offs=2)
-*/
-ATSINSflab(__patsflab_add_intinf0_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5184(line=277, offs=10) -- 5212(line=277, offs=38)
-*/
-ATSINSmove_void(tmp258__1, atscntrb_gmp_mpz_add2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5161(line=274, offs=13) -- 5162(line=274, offs=14)
-*/
-ATSINSmove(tmpret257__1, arg0) ;
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret257__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__103__1] */
-
-#if(0)
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$105$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-/*
-imparg = 
-tmparg = 
-tmpsub = None()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__105(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret263, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp264, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp265) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp264, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp265, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp264, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret263, tmp264) ;
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret263) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__105] */
-#endif // end of [TEMPLATE]
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
-*/
-/*
-local: 
-global: intinf_make_int$105$1(level=2)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = 
-tmparg = 
-tmpsub = Some()
-*/
-atstkind_type(atstype_ptrk)
-ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__105__1(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret263__1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp264__1, atstkind_type(atstype_ptrk)) ;
-// ATStmpdec_void(tmp265__1) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
-*/
-ATSINSflab(__patsflab_intinf_make_int):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-letpush(beg)
-*/
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
-*/
-ATSINSmove(tmp264__1, ATSLIB_056_prelude__ptr_alloc__2__2()) ;
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
-*/
-ATSINSmove_void(tmp265__1, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp264__1, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
-
-/*
-letpush(end)
-*/
-
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
-*/
-ATSINSmove(tmpret263__1, tmp264__1) ;
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
-*/
-/*
-INSletpop()
-*/
-ATSfunbody_end()
-ATSreturn(tmpret263__1) ;
-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__105__1] */
-
-/*
-/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
-*/
-/*
-local: 
-global: ptr_alloc$2$2(level=3)
-local: 
-global: 
-*/
-ATSstatic()
-/*
-imparg = a(4806)
-tmparg = S2Evar(a(4806))
-tmpsub = Some(a(4806) -> S2Ecst(mpz_vt0ype))
-*/
-atstkind_type(atstype_ptrk)
-ATSLIB_056_prelude__ptr_alloc__2__2()
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret3__2, atstkind_type(atstype_ptrk)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
-*/
-ATSINSflab(__patsflab_ptr_alloc):
-/*
-emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
-*/
-ATSINSmove(tmpret3__2, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret3__2) ;
-} /* end of [ATSLIB_056_prelude__ptr_alloc__2__2] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 556(line=30, offs=28) -- 578(line=31, offs=17)
-*/
-/*
-local: sum_divisors_75$0(level=0)
-global: sum_divisors_75$0(level=0), sum_divisors_ats$108$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_int)
-sum_divisors_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret272, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 539(line=30, offs=11) -- 579(line=31, offs=18)
-*/
-ATSINSflab(__patsflab_sum_divisors_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 564(line=31, offs=3) -- 578(line=31, offs=17)
-*/
-ATSINSmove(tmpret272, sum_divisors_75(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret272) ;
-} /* end of [sum_divisors_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 610(line=33, offs=30) -- 634(line=34, offs=19)
-*/
-/*
-local: count_divisors_70$0(level=0)
-global: count_divisors_70$0(level=0), count_divisors_ats$109$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_int)
-count_divisors_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret273, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 591(line=33, offs=11) -- 635(line=34, offs=20)
-*/
-ATSINSflab(__patsflab_count_divisors_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 618(line=34, offs=3) -- 634(line=34, offs=19)
-*/
-ATSINSmove(tmpret273, count_divisors_70(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret273) ;
-} /* end of [count_divisors_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 659(line=36, offs=23) -- 676(line=37, offs=12)
-*/
-/*
-local: totient_93$0(level=0)
-global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), totient_93$0(level=0), totient_ats$110$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_int)
-totient_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret274, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 647(line=36, offs=11) -- 677(line=37, offs=13)
-*/
-ATSINSflab(__patsflab_totient_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 667(line=37, offs=3) -- 676(line=37, offs=12)
-*/
-ATSINSmove(tmpret274, totient_93(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret274) ;
-} /* end of [totient_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 706(line=39, offs=28) -- 728(line=40, offs=17)
-*/
-/*
-local: little_omega_88$0(level=0)
-global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), rip_82$0(level=0), little_omega_88$0(level=0), little_omega_ats$111$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_int)
-little_omega_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret275, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 689(line=39, offs=11) -- 729(line=40, offs=18)
-*/
-ATSINSflab(__patsflab_little_omega_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 714(line=40, offs=3) -- 728(line=40, offs=17)
-*/
-ATSINSmove(tmpret275, little_omega_88(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret275) ;
-} /* end of [little_omega_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 756(line=42, offs=26) -- 776(line=43, offs=15)
-*/
-/*
-local: is_perfect_80$0(level=0)
-global: sum_divisors_75$0(level=0), is_perfect_80$0(level=0), is_perfect_ats$112$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_bool)
-is_perfect_ats(atstkind_t0ype(atstype_int) arg0)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret276, atstkind_t0ype(atstype_bool)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 741(line=42, offs=11) -- 777(line=43, offs=16)
-*/
-ATSINSflab(__patsflab_is_perfect_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 764(line=43, offs=3) -- 776(line=43, offs=15)
-*/
-ATSINSmove(tmpret276, is_perfect_80(arg0)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret276) ;
-} /* end of [is_perfect_ats] */
-
-/*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 800(line=45, offs=22) -- 823(line=46, offs=15)
-*/
-/*
-local: jacobi_61$0(level=0)
-global: witness_0$0(level=0), exp_5$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), div_gt_zero_53$0(level=0), exp_mod_prime_55$0(level=0), jacobi_61$0(level=0), jacobi_ats$113$0(level=0)
-local: 
-global: 
-*/
-ATSextern()
-atstkind_t0ype(atstype_int)
-jacobi_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
-{
-/* tmpvardeclst(beg) */
-ATStmpdec(tmpret277, atstkind_t0ype(atstype_int)) ;
-/* tmpvardeclst(end) */
-ATSfunbody_beg()
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 789(line=45, offs=11) -- 823(line=46, offs=15)
-*/
-ATSINSflab(__patsflab_jacobi_ats):
-/*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 811(line=46, offs=3) -- 823(line=46, offs=15)
-*/
-ATSINSmove(tmpret277, jacobi_61(arg0, arg1)) ;
-
-ATSfunbody_end()
-ATSreturn(tmpret277) ;
+** The starting compilation time is: 2018-1-14: 18h:51m
+**
+*/
+
+/*
+** include runtime header files
+*/
+#ifndef _ATS_CCOMP_HEADER_NONE_
+#include "pats_ccomp_config.h"
+#include "pats_ccomp_basics.h"
+#include "pats_ccomp_typedefs.h"
+#include "pats_ccomp_instrset.h"
+#include "pats_ccomp_memalloc.h"
+#ifndef _ATS_CCOMP_EXCEPTION_NONE_
+#include "pats_ccomp_memalloca.h"
+#include "pats_ccomp_exception.h"
+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
+#endif /* _ATS_CCOMP_HEADER_NONE_ */
+
+
+/*
+** include prelude cats files
+*/
+#ifndef _ATS_CCOMP_PRELUDE_NONE_
+//
+#include "prelude/CATS/basics.cats"
+#include "prelude/CATS/integer.cats"
+#include "prelude/CATS/pointer.cats"
+#include "prelude/CATS/integer_long.cats"
+#include "prelude/CATS/integer_size.cats"
+#include "prelude/CATS/integer_short.cats"
+#include "prelude/CATS/bool.cats"
+#include "prelude/CATS/char.cats"
+#include "prelude/CATS/float.cats"
+#include "prelude/CATS/integer_ptr.cats"
+#include "prelude/CATS/integer_fixed.cats"
+#include "prelude/CATS/memory.cats"
+#include "prelude/CATS/string.cats"
+#include "prelude/CATS/strptr.cats"
+//
+#include "prelude/CATS/fprintf.cats"
+//
+#include "prelude/CATS/filebas.cats"
+//
+#include "prelude/CATS/list.cats"
+#include "prelude/CATS/option.cats"
+#include "prelude/CATS/array.cats"
+#include "prelude/CATS/arrayptr.cats"
+#include "prelude/CATS/arrayref.cats"
+#include "prelude/CATS/matrix.cats"
+#include "prelude/CATS/matrixptr.cats"
+//
+#endif /* _ATS_CCOMP_PRELUDE_NONE_ */
+/*
+** for user-supplied prelude
+*/
+#ifdef _ATS_CCOMP_PRELUDE_USER_
+//
+#include _ATS_CCOMP_PRELUDE_USER_
+//
+#endif /* _ATS_CCOMP_PRELUDE_USER_ */
+/*
+** for user2-supplied prelude
+*/
+#ifdef _ATS_CCOMP_PRELUDE_USER2_
+//
+#include _ATS_CCOMP_PRELUDE_USER2_
+//
+#endif /* _ATS_CCOMP_PRELUDE_USER2_ */
+
+/*
+staload-prologues(beg)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/basics.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats: 1533(line=44, offs=1) -- 1572(line=44, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_long.dats: 1602(line=49, offs=1) -- 1641(line=49, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_short.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/char.dats: 1610(line=48, offs=1) -- 1649(line=48, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/float.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/string.dats: 1631(line=50, offs=1) -- 1670(line=50, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/strptr.dats: 1629(line=50, offs=1) -- 1668(line=50, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/strptr.dats: 1691(line=54, offs=1) -- 1738(line=54, offs=48)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_ptr.dats: 1601(line=49, offs=1) -- 1640(line=49, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer_fixed.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/memory.dats: 1410(line=38, offs=1) -- 1449(line=39, offs=32)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1613(line=49, offs=1) -- 1652(line=50, offs=32)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1675(line=54, offs=1) -- 1721(line=55, offs=39)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1744(line=59, offs=1) -- 1789(line=60, offs=38)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/stdio.cats"
+/*
+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/types.cats"
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 1871(line=66, offs=1) -- 1918(line=66, offs=48)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/stat.sats: 1390(line=36, offs=1) -- 1440(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/stat.cats"
+/*
+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/stat.sats: 1756(line=58, offs=1) -- 1805(line=60, offs=34)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/types.cats"
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/filebas.dats: 15529(line=878, offs=1) -- 15566(line=879, offs=30)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/stdio.cats"
+/*
+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/sys/types.cats"
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list.dats: 1529(line=44, offs=1) -- 1568(line=45, offs=32)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list.dats: 1569(line=46, offs=1) -- 1615(line=47, offs=39)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list_vt.dats: 1538(line=44, offs=1) -- 1577(line=45, offs=32)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/list_vt.dats: 1578(line=46, offs=1) -- 1624(line=47, offs=39)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/list_vt_mergesort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/list_vt_quicksort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/array.dats: 1534(line=44, offs=1) -- 1573(line=44, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/array.dats: 1574(line=45, offs=1) -- 1616(line=45, offs=43)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/array_bsearch.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/SHARE/array_quicksort.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/arrayptr.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/arrayref.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrix.dats: 1535(line=44, offs=1) -- 1574(line=44, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrixptr.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/matrixref.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/tostring.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/checkast.dats: 1531(line=44, offs=1) -- 1570(line=45, offs=32)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/mydepies.hats: 192(line=16, offs=1) -- 232(line=16, offs=41)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1233(line=43, offs=3)
+*/
+
+//
+#include \
+"atscntrb-libgmp/CATS/gmp.cats"
+//
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1233(line=43, offs=3)
+*/
+
+//
+#include \
+"atscntrb-libgmp/CATS/gmp.cats"
+//
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/libats/libc/SATS/math.sats: 1380(line=35, offs=1) -- 1426(line=38, offs=3)
+*/
+
+#include \
+"libats/libc/CATS/math.cats"
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1660(line=37, offs=1) -- 1700(line=38, offs=27)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1727(line=42, offs=1) -- 1759(line=42, offs=33)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1833(line=49, offs=1) -- 1867(line=49, offs=35)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_t.dats: 1868(line=50, offs=1) -- 1908(line=50, offs=41)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1656(line=37, offs=1) -- 1696(line=39, offs=27)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/mydepies.hats: 192(line=16, offs=1) -- 232(line=16, offs=41)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-libgmp/SATS/gmp.sats: 1178(line=38, offs=1) -- 1233(line=43, offs=3)
+*/
+
+//
+#include \
+"atscntrb-libgmp/CATS/gmp.cats"
+//
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1813(line=49, offs=1) -- 1845(line=49, offs=33)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 1846(line=50, offs=1) -- 1881(line=50, offs=36)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1657(line=37, offs=1) -- 1689(line=37, offs=33)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/gintinf_t.dats: 1690(line=38, offs=1) -- 1724(line=38, offs=35)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_t.sats: 1805(line=48, offs=1) -- 1828(line=48, offs=24)
+*/
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/SATS/intinf_vt.sats: 1806(line=48, offs=1) -- 1829(line=48, offs=24)
+*/
+/*
+staload-prologues(end)
+*/
+/*
+typedefs-for-tyrecs-and-tysums(beg)
+*/
+typedef
+ATSstruct {
+#if(0)
+int contag ;
+#endif
+atstkind_t0ype(atstype_int) atslab__0 ;
+atstkind_type(atstype_ptrk) atslab__1 ;
+} postiats_tysum_0 ;
+typedef
+ATSstruct {
+#if(0)
+int contag ;
+#endif
+atstyvar_type(a) atslab__0 ;
+atstkind_type(atstype_ptrk) atslab__1 ;
+} postiats_tysum_1 ;
+typedef
+ATSstruct {
+#if(0)
+int contag ;
+#endif
+atstyvar_type(a) atslab__0 ;
+atstkind_type(atstype_ptrk) atslab__1 ;
+} postiats_tysum_2 ;
+typedef
+ATSstruct {
+#if(0)
+int contag ;
+#endif
+atstyvar_type(a) atslab__0 ;
+atstkind_type(atstype_ptrk) atslab__1 ;
+} postiats_tysum_3 ;
+/*
+typedefs-for-tyrecs-and-tysums(end)
+*/
+/*
+dynconlst-declaration(beg)
+*/
+/*
+dynconlst-declaration(end)
+*/
+/*
+dyncstlst-declaration(beg)
+*/
+ATSdyncst_mac(atspre_ptr_alloc_tsz)
+ATSdyncst_mac(atspre_g0int2uint_int_ulint)
+ATSdyncst_mac(atspre_g1int_add_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_init)
+ATSdyncst_mac(atscntrb_gmp_mpz_fib_uint)
+ATSdyncst_mac(atspre_g1int2int_int_int)
+ATSdyncst_mac(atspre_g1int_gt_int)
+ATSdyncst_mac(atspre_g1int_half_int)
+ATSdyncst_mac(atspre_g0int_mod_int)
+ATSdyncst_mac(atspre_g0int2int_int_int)
+ATSdyncst_mac(atspre_g0int_eq_int)
+ATSdyncst_mac(atspre_g0int_mul_int)
+ATSdyncst_mac(atspre_g0float2int_float_int)
+ATSdyncst_mac(atslib_libats_libc_sqrt_float)
+ATSdyncst_mac(atspre_g0int2float_int_float)
+ATSdyncst_mac(atspre_g1int_lt_int)
+ATSdyncst_mac(atspre_g1int_eq_int)
+ATSdyncst_mac(atspre_g0int_div_int)
+ATSdyncst_mac(atspre_g1int_gte_int)
+ATSdyncst_mac(atspre_g1int_neq_int)
+ATSdyncst_mac(atspre_g1int_div_int)
+ATSdyncst_mac(atspre_cloptr_free)
+ATSdyncst_mac(atspre_lazy_vt_free)
+ATSdyncst_mac(atspre_g1int_sub_int)
+ATSdyncst_mac(atspre_g0int_half_int)
+ATSdyncst_mac(atspre_g1int_mul_int)
+ATSdyncst_mac(atspre_g1int_neg_int)
+ATSdyncst_mac(atspre_g0int_add_int)
+ATSdyncst_mac(atspre_g0int_neq_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_add2_int)
+ATSdyncst_mac(atscntrb_gmp_mpz_init_set_int)
+/*
+dyncstlst-declaration(end)
+*/
+/*
+dynvalist-implementation(beg)
+*/
+/*
+dynvalist-implementation(end)
+*/
+/*
+exnconlst-declaration(beg)
+*/
+#ifndef _ATS_CCOMP_EXCEPTION_NONE_
+ATSextern()
+atsvoid_t0ype
+the_atsexncon_initize
+(
+  atstype_exnconptr d2c, atstype_string exnmsg
+) ;
+#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
+/*
+exnconlst-declaration(end)
+*/
+/*
+extypelst-declaration(beg)
+*/
+/*
+extypelst-declaration(end)
+*/
+/*
+assumelst-declaration(beg)
+*/
+#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
+#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
+/*
+assumelst-declaration(end)
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+witness_0(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+fib_gmp_1(atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__2() ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__2__1() ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+exp_5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6(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__6__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12(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__12__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+sqrt_int_17(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+is_prime_20(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+loop_21(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__22(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__22__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__26(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__26__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+divides_30(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+gcd_32(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+lcm_34(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+divisors_36(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_37(atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_38(atstype_bool) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+loop_39(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__40(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__40__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_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__neq_g1int_int__44__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_48(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_49(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_50(atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_51(atstkind_t0ype(atstype_int), atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_52(atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_53(atstype_bool) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__6(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_55(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstype_bool) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_56(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstype_bool) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+prime_divisors_57(atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__stream_vt_filter_cloptr__58(atstkind_type(atstype_ptrk), atstype_cloptr) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+#if(0)
+ATSstatic()
+atstkind_type(atstype_ptrk)
+auxmain_59__59(atstkind_type(atstype_ptrk), atstype_cloptr) ;
+#endif // end of [TEMPLATE]
+
+#if(0)
+ATSstatic()
+atstype_boxed
+__patsfun_60__60(atstkind_type(atstype_ptrk), atstype_cloptr, atstype_bool) ;
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__stream_vt_filter_cloptr__58__1(atstkind_type(atstype_ptrk), atstype_cloptr) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+auxmain_59__59__1(atstkind_type(atstype_ptrk), atstype_cloptr) ;
+
+ATSstatic()
+atstype_boxed
+__patsfun_60__60__1(atstkind_type(atstype_ptrk), atstype_cloptr, atstype_bool) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+__patsfun_64(atsrefarg1_type(atstkind_t0ype(atstype_int))) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+div_gt_zero_65(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+exp_mod_prime_66(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__7(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+jacobi_72(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+legendre_73(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__8(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__9(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+get_multiplicity_77(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_78(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__10(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+count_divisors_81(atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+ATSLIB_056_prelude__stream_vt_length__82(atstkind_type(atstype_ptrk)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+#if(0)
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_83__83(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+ATSLIB_056_prelude__stream_vt_length__82__1(atstkind_type(atstype_ptrk)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_83__83__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+sum_divisors_86(atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstyvar_type(res)
+ATSLIB_056_prelude__stream_vt_foldleft_cloptr__87(atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+#if(0)
+ATSstatic()
+atstyvar_type(res)
+loop_88__88(atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr) ;
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+ATSLIB_056_prelude__stream_vt_foldleft_cloptr__87__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstype_cloptr) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_88__88__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstype_cloptr) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+__patsfun_91(atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_t0ype(atstype_int))) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+is_perfect_93(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__11(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+rip_95(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+#if(0)
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g0int_int__96(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+#endif // end of [TEMPLATE]
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g0int_int__96__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__22__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+little_omega_101(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_102(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__40__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__12(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__6(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+totient_106(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_107(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__40__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__13(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g1int_int__44__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+totient_sum_111(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+loop_112(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__22__3(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_int__114(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__add_intinf0_int__114__1(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__116(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__116__1(atstkind_t0ype(atstype_int)) ;
+
+ATSstatic()
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__2__2() ;
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+sum_divisors_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+count_divisors_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+totient_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+little_omega_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_bool)
+is_perfect_ats(atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+#if(0)
+ATSextern()
+atstkind_t0ype(atstype_int)
+jacobi_ats(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
+#endif // end of [QUALIFIED]
+
+ATSclosurerize_beg(__patsfun_37, (), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_37__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_37__cfun
+(
+__patsfun_37__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_37(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_37__closureinit
+(
+__patsfun_37__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_37__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_37__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_37__closureinit(ATS_MALLOC(sizeof(__patsfun_37__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_38, (), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_38__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_38__cfun
+(
+__patsfun_38__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_38(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_38__closureinit
+(
+__patsfun_38__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_38__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_38__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_38__closureinit(ATS_MALLOC(sizeof(__patsfun_38__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_48, (atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_t0ype(atstype_int) env0 ;
+atstkind_t0ype(atstype_int) env1 ;
+} __patsfun_48__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_48__cfun
+(
+__patsfun_48__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_48(p_cenv->env0, p_cenv->env1, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_48__closureinit
+(
+__patsfun_48__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->env1 = env1 ;
+p_cenv->cfun = __patsfun_48__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_48__closurerize
+(
+atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
+)
+{
+return __patsfun_48__closureinit(ATS_MALLOC(sizeof(__patsfun_48__closure_t0ype)), env0, env1) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_49, (atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_t0ype(atstype_int) env0 ;
+atstkind_t0ype(atstype_int) env1 ;
+} __patsfun_49__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_49__cfun
+(
+__patsfun_49__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_49(p_cenv->env0, p_cenv->env1, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_49__closureinit
+(
+__patsfun_49__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->env1 = env1 ;
+p_cenv->cfun = __patsfun_49__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_49__closurerize
+(
+atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
+)
+{
+return __patsfun_49__closureinit(ATS_MALLOC(sizeof(__patsfun_49__closure_t0ype)), env0, env1) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_50, (), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_50__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_50__cfun
+(
+__patsfun_50__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_50(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_50__closureinit
+(
+__patsfun_50__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_50__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_50__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_50__closureinit(ATS_MALLOC(sizeof(__patsfun_50__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_51, (atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_t0ype(atstype_int) env0 ;
+} __patsfun_51__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_51__cfun
+(
+__patsfun_51__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_51(p_cenv->env0, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_51__closureinit
+(
+__patsfun_51__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->cfun = __patsfun_51__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_51__closurerize
+(
+atstkind_t0ype(atstype_int) env0
+)
+{
+return __patsfun_51__closureinit(ATS_MALLOC(sizeof(__patsfun_51__closure_t0ype)), env0) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_52, (), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_52__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_52__cfun
+(
+__patsfun_52__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_52(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_52__closureinit
+(
+__patsfun_52__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_52__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_52__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_52__closureinit(ATS_MALLOC(sizeof(__patsfun_52__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_53, (), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_53__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_53__cfun
+(
+__patsfun_53__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_53(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_53__closureinit
+(
+__patsfun_53__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_53__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_53__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_53__closureinit(ATS_MALLOC(sizeof(__patsfun_53__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_55, (atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_t0ype(atstype_int) env0 ;
+atstkind_t0ype(atstype_int) env1 ;
+} __patsfun_55__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_55__cfun
+(
+__patsfun_55__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_55(p_cenv->env0, p_cenv->env1, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_55__closureinit
+(
+__patsfun_55__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->env1 = env1 ;
+p_cenv->cfun = __patsfun_55__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_55__closurerize
+(
+atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
+)
+{
+return __patsfun_55__closureinit(ATS_MALLOC(sizeof(__patsfun_55__closure_t0ype)), env0, env1) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_56, (atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_t0ype(atstype_int) env0 ;
+atstkind_t0ype(atstype_int) env1 ;
+} __patsfun_56__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_56__cfun
+(
+__patsfun_56__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_56(p_cenv->env0, p_cenv->env1, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_56__closureinit
+(
+__patsfun_56__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->env1 = env1 ;
+p_cenv->cfun = __patsfun_56__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_56__closurerize
+(
+atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1
+)
+{
+return __patsfun_56__closureinit(ATS_MALLOC(sizeof(__patsfun_56__closure_t0ype)), env0, env1) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_60__60__1, (atstkind_type(atstype_ptrk), atstype_cloptr), (atstype_bool), atstype_boxed)
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+atstkind_type(atstype_ptrk) env0 ;
+atstype_cloptr env1 ;
+} __patsfun_60__60__1__closure_t0ype ;
+ATSstatic()
+atstype_boxed
+__patsfun_60__60__1__cfun
+(
+__patsfun_60__60__1__closure_t0ype *p_cenv, atstype_bool arg0
+)
+{
+ATSFCreturn(__patsfun_60__60__1(p_cenv->env0, p_cenv->env1, arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_60__60__1__closureinit
+(
+__patsfun_60__60__1__closure_t0ype *p_cenv, atstkind_type(atstype_ptrk) env0, atstype_cloptr env1
+)
+{
+p_cenv->env0 = env0 ;
+p_cenv->env1 = env1 ;
+p_cenv->cfun = __patsfun_60__60__1__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_60__60__1__closurerize
+(
+atstkind_type(atstype_ptrk) env0, atstype_cloptr env1
+)
+{
+return __patsfun_60__60__1__closureinit(ATS_MALLOC(sizeof(__patsfun_60__60__1__closure_t0ype)), env0, env1) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_64, (), (atsrefarg1_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_bool))
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_64__closure_t0ype ;
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+__patsfun_64__cfun
+(
+__patsfun_64__closure_t0ype *p_cenv, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg0
+)
+{
+ATSFCreturn(__patsfun_64(arg0)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_64__closureinit
+(
+__patsfun_64__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_64__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_64__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_64__closureinit(ATS_MALLOC(sizeof(__patsfun_64__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+ATSclosurerize_beg(__patsfun_91, (), (atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_int))
+typedef
+ATSstruct {
+atstype_funptr cfun ;
+} __patsfun_91__closure_t0ype ;
+ATSstatic()
+atstkind_t0ype(atstype_int)
+__patsfun_91__cfun
+(
+__patsfun_91__closure_t0ype *p_cenv, atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1
+)
+{
+ATSFCreturn(__patsfun_91(arg0, arg1)) ;
+} /* end of [cfun] */
+ATSstatic()
+atstype_cloptr
+__patsfun_91__closureinit
+(
+__patsfun_91__closure_t0ype *p_cenv
+)
+{
+p_cenv->cfun = __patsfun_91__cfun ;
+return p_cenv ;
+} /* end of [closureinit] */
+ATSstatic()
+atstype_cloptr
+__patsfun_91__closurerize
+(
+// argumentless
+)
+{
+return __patsfun_91__closureinit(ATS_MALLOC(sizeof(__patsfun_91__closure_t0ype))) ;
+} /* end of [closurerize] */
+ATSclosurerize_end()
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 753(line=23, offs=4) -- 808(line=24, offs=14)
+*/
+/*
+local: 
+global: witness_0$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+witness_0(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret0, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 753(line=23, offs=4) -- 808(line=24, offs=14)
+*/
+ATSINSflab(__patsflab_witness_0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 797(line=24, offs=3) -- 807(line=24, offs=13)
+*/
+ATSINSmove(tmpret0, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), arg0)) ;
+ATSfunbody_end()
+ATSreturn(tmpret0) ;
+} /* end of [witness_0] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 873(line=27, offs=5) -- 1092(line=35, offs=6)
+*/
+/*
+local: 
+global: fib_gmp_1$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+fib_gmp_1(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref2, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref5, atstkind_t0ype(atstype_ulint)) ;
+ATStmpdec(tmp6, atstkind_t0ype(atstype_int)) ;
+// ATStmpdec_void(tmp7) ;
+// ATStmpdec_void(tmp8) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 873(line=27, offs=5) -- 1092(line=35, offs=6)
+*/
+ATSINSflab(__patsflab_fib_gmp_1):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 909(line=28, offs=3) -- 1092(line=35, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 921(line=29, offs=9) -- 922(line=29, offs=10)
+*/
+/*
+ATSINStmpdec(tmpref2) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 925(line=29, offs=13) -- 936(line=29, offs=24)
+*/
+ATSINSmove(tmpref2, ATSLIB_056_prelude__ptr_alloc__2__1()) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 945(line=30, offs=9) -- 946(line=30, offs=10)
+*/
+/*
+ATSINStmpdec(tmpref5) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 977(line=30, offs=41) -- 982(line=30, offs=46)
+*/
+ATSINSmove(tmp6, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 956(line=30, offs=20) -- 983(line=30, offs=47)
+*/
+ATSINSmove(tmpref5, atspre_g0int2uint_int_ulint(tmp6)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 997(line=31, offs=14) -- 1018(line=31, offs=35)
+*/
+ATSINSmove_void(tmp7, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmpref2, atstkind_type(atstype_ptrk), atslab__2)))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1032(line=32, offs=14) -- 1060(line=32, offs=42)
+*/
+ATSINSmove_void(tmp8, atscntrb_gmp_mpz_fib_uint(ATSPMVrefarg1(ATSSELrecsin(tmpref2, atstkind_type(atstype_ptrk), atslab__2)), tmpref5)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1070(line=34, offs=5) -- 1085(line=34, offs=20)
+*/
+ATSINSmove(tmpret1, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref2)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 909(line=28, offs=3) -- 1092(line=35, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret1) ;
+} /* end of [fib_gmp_1] */
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$2$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = a(4806)
+tmparg = S2Evar(a(4806))
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__2()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret3, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret3, atspre_ptr_alloc_tsz(ATSPMVsizeof(atstyvar_type(a)))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret3) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__2] */
+#endif // end of [TEMPLATE]
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$2$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4806)
+tmparg = S2Evar(a(4806))
+tmpsub = Some(a(4806) -> S2EVar(5569))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__2__1()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret3__1, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret3__1, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret3__1) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__2__1] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1170(line=38, offs=5) -- 1611(line=59, offs=10)
+*/
+/*
+local: exp_5$0(level=0)
+global: exp_5$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+exp_5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret9, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp10, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref15, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref16, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp17, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp22, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref23, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp24, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp25, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1170(line=38, offs=5) -- 1611(line=59, offs=10)
+*/
+ATSINSflab(__patsflab_exp_5):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1222(line=39, offs=3) -- 1611(line=59, offs=10)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1239(line=40, offs=7) -- 1240(line=40, offs=8)
+*/
+ATSINSlab(__atstmplab0):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1191(line=38, offs=26) -- 1192(line=38, offs=27)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1240(line=40, offs=8) -- 1240(line=40, offs=8)
+*/
+ATSINSlab(__atstmplab1):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1244(line=40, offs=12) -- 1245(line=40, offs=13)
+*/
+ATSINSmove(tmpret9, ATSPMVi0nt(0)) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1253(line=41, offs=8) -- 1253(line=41, offs=8)
+*/
+ATSINSlab(__atstmplab2):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1282(line=43, offs=12) -- 1287(line=43, offs=17)
+*/
+ATSINSmove(tmp10, ATSLIB_056_prelude__gt_g1int_int__6__1(arg1, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1279(line=43, offs=9) -- 1601(line=58, offs=12)
+*/
+ATSif(
+tmp10
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1303(line=44, offs=11) -- 1576(line=56, offs=14)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1323(line=45, offs=17) -- 1325(line=45, offs=19)
+*/
+/*
+ATSINStmpdec(tmpref15) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1328(line=45, offs=22) -- 1334(line=45, offs=28)
+*/
+ATSINSmove(tmpref15, atspre_g1int_half_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1352(line=46, offs=17) -- 1354(line=46, offs=19)
+*/
+/*
+ATSINStmpdec(tmpref16) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1357(line=46, offs=22) -- 1362(line=46, offs=27)
+*/
+ATSINSmove(tmpref16, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1391(line=48, offs=16) -- 1397(line=48, offs=22)
+*/
+ATSINSmove(tmp17, ATSLIB_056_prelude__eq_g0int_int__12__1(tmpref16, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1388(line=48, offs=13) -- 1562(line=55, offs=18)
+*/
+ATSif(
+tmp17
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1421(line=49, offs=19) -- 1426(line=49, offs=24)
+*/
+ATSINSmove(tmp22, atspre_g0int_mul_int(arg0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1417(line=49, offs=15) -- 1431(line=49, offs=29)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp22) ;
+ATSINSmove_tlcal(apy1, tmpref15) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_exp_5) ;
+ATStailcal_end()
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1463(line=51, offs=15) -- 1562(line=55, offs=18)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1487(line=52, offs=21) -- 1488(line=52, offs=22)
+*/
+/*
+ATSINStmpdec(tmpref23) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1499(line=52, offs=33) -- 1504(line=52, offs=38)
+*/
+ATSINSmove(tmp25, atspre_g0int_mul_int(arg0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1495(line=52, offs=29) -- 1509(line=52, offs=43)
+*/
+ATSINSmove(tmp24, exp_5(tmp25, tmpref15)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1491(line=52, offs=25) -- 1509(line=52, offs=43)
+*/
+ATSINSmove(tmpref23, atspre_g0int_mul_int(arg0, tmp24)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1543(line=54, offs=17) -- 1544(line=54, offs=18)
+*/
+ATSINSmove(tmpret9, tmpref23) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1463(line=51, offs=15) -- 1562(line=55, offs=18)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1303(line=44, offs=11) -- 1576(line=56, offs=14)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1600(line=58, offs=11) -- 1601(line=58, offs=12)
+*/
+ATSINSmove(tmpret9, ATSPMVi0nt(1)) ;
+} /* ATSendif */
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret9) ;
+} /* end of [exp_5] */
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4703)
+tmparg = S2Evar(tk(4703))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret11, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp12, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp12, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4703))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret11, PMVtmpltcst(g1int_gt<S2Evar(tk(4703))>)(arg0, tmp12)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret11) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6] */
+#endif // end of [TEMPLATE]
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4703)
+tmparg = S2Evar(tk(4703))
+tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret11__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp12__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp12__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret11__1, atspre_g1int_gt_int(arg0, tmp12__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret11__1) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__1] */
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4694)
+tmparg = S2Evar(tk(4694))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret18, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp19, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp19, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4694))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret18, PMVtmpltcst(g0int_eq<S2Evar(tk(4694))>)(arg0, tmp19)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret18) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12] */
+#endif // end of [TEMPLATE]
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4694)
+tmparg = S2Evar(tk(4694))
+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret18__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp19__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp19__1, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret18__1, atspre_g0int_eq_int(arg0, tmp19__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret18__1) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__1] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1616(line=61, offs=4) -- 1760(line=66, offs=6)
+*/
+/*
+local: witness_0$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+sqrt_int_17(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret26, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref27, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp28, atstkind_t0ype(atstype_float)) ;
+ATStmpdec(tmp29, atstkind_t0ype(atstype_float)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1616(line=61, offs=4) -- 1760(line=66, offs=6)
+*/
+ATSINSflab(__patsflab_sqrt_int_17):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1666(line=62, offs=3) -- 1760(line=66, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1678(line=63, offs=9) -- 1683(line=63, offs=14)
+*/
+/*
+ATSINStmpdec(tmpref27) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1714(line=63, offs=45) -- 1727(line=63, offs=58)
+*/
+ATSINSmove(tmp29, atspre_g0int2float_int_float(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1703(line=63, offs=34) -- 1729(line=63, offs=60)
+*/
+ATSINSmove(tmp28, atslib_libats_libc_sqrt_float(tmp29)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1691(line=63, offs=22) -- 1730(line=63, offs=61)
+*/
+ATSINSmove(tmpref27, atspre_g0float2int_float_int(tmp28)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1740(line=65, offs=5) -- 1753(line=65, offs=18)
+*/
+ATSINSmove(tmpret26, witness_0(tmpref27)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1666(line=62, offs=3) -- 1760(line=66, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret26) ;
+} /* end of [sqrt_int_17] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1796(line=69, offs=4) -- 2381(line=92, offs=10)
+*/
+/*
+local: sqrt_int_17$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+is_prime_20(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret30, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp51, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1796(line=69, offs=4) -- 2381(line=92, offs=10)
+*/
+ATSINSflab(__patsflab_is_prime_20):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1832(line=70, offs=3) -- 2381(line=92, offs=10)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1849(line=71, offs=7) -- 1850(line=71, offs=8)
+*/
+ATSINSlab(__atstmplab3):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1805(line=69, offs=13) -- 1806(line=69, offs=14)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab5) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1850(line=71, offs=8) -- 1850(line=71, offs=8)
+*/
+ATSINSlab(__atstmplab4):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1854(line=71, offs=12) -- 1859(line=71, offs=17)
+*/
+ATSINSmove(tmpret30, ATSPMVbool_false()) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1867(line=72, offs=8) -- 1867(line=72, offs=8)
+*/
+ATSINSlab(__atstmplab5):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1892(line=74, offs=9) -- 2371(line=91, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2347(line=90, offs=19) -- 2357(line=90, offs=29)
+*/
+ATSINSmove(tmp51, sqrt_int_17(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2339(line=90, offs=11) -- 2359(line=90, offs=31)
+*/
+ATSINSmove(tmpret30, loop_21(arg0, ATSPMVi0nt(2), tmp51)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1892(line=74, offs=9) -- 2371(line=91, offs=12)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret30) ;
+} /* end of [is_prime_20] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1910(line=75, offs=15) -- 2317(line=88, offs=21)
+*/
+/*
+local: loop_21$0(level=1)
+global: loop_21$0(level=1)
+local: k$5106(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: k$5106(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+loop_21(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret31, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp32, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp37, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp40, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp41, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp42, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp47, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp50, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+/*
+emit_funent_fnxdeclst:
+*/
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1910(line=75, offs=15) -- 2317(line=88, offs=21)
+*/
+ATSINSflab(__patsflab_loop_21):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2004(line=76, offs=16) -- 2013(line=76, offs=25)
+*/
+ATSINSmove(tmp32, ATSLIB_056_prelude__lt_g1int_int__22__1(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2001(line=76, offs=13) -- 2317(line=88, offs=21)
+*/
+ATSif(
+tmp32
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2036(line=77, offs=18) -- 2041(line=77, offs=23)
+*/
+ATSINSmove(tmp40, atspre_g0int_mod_int(env0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2036(line=77, offs=18) -- 2045(line=77, offs=27)
+*/
+ATSINSmove(tmp37, ATSLIB_056_prelude__eq_g0int_int__12__2(tmp40, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2033(line=77, offs=15) -- 2126(line=80, offs=35)
+*/
+ATSif(
+tmp37
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2067(line=78, offs=17) -- 2072(line=78, offs=22)
+*/
+ATSINSmove(tmpret31, ATSPMVbool_false()) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2113(line=80, offs=22) -- 2118(line=80, offs=27)
+*/
+ATSINSmove(tmp41, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2108(line=80, offs=17) -- 2126(line=80, offs=35)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp41) ;
+ATSINSmove_tlcal(apy1, arg1) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_loop_21) ;
+ATStailcal_end()
+
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2161(line=82, offs=18) -- 2170(line=82, offs=27)
+*/
+ATSINSmove(tmp42, ATSLIB_056_prelude__eq_g1int_int__26__1(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2158(line=82, offs=15) -- 2317(line=88, offs=21)
+*/
+ATSif(
+tmp42
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2195(line=83, offs=20) -- 2200(line=83, offs=25)
+*/
+ATSINSmove(tmp50, atspre_g0int_mod_int(env0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2195(line=83, offs=20) -- 2204(line=83, offs=29)
+*/
+ATSINSmove(tmp47, ATSLIB_056_prelude__eq_g0int_int__12__3(tmp50, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2192(line=83, offs=17) -- 2277(line=86, offs=23)
+*/
+ATSif(
+tmp47
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2228(line=84, offs=19) -- 2233(line=84, offs=24)
+*/
+ATSINSmove(tmpret31, ATSPMVbool_false()) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2273(line=86, offs=19) -- 2277(line=86, offs=23)
+*/
+ATSINSmove(tmpret31, ATSPMVbool_true()) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2313(line=88, offs=17) -- 2317(line=88, offs=21)
+*/
+ATSINSmove(tmpret31, ATSPMVbool_true()) ;
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret31) ;
+/*
+emit_funent_fnxbodylst:
+*/
+} /* end of [loop_21] */
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
+*/
+/*
+local: 
+global: lt_g1int_int$22$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4697)
+tmparg = S2Evar(tk(4697))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__22(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret33, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp34, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
+*/
+ATSINSmove(tmp34, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4697))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
+*/
+ATSINSmove(tmpret33, PMVtmpltcst(g1int_lt<S2Evar(tk(4697))>)(arg0, tmp34)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret33) ;
+} /* end of [ATSLIB_056_prelude__lt_g1int_int__22] */
+#endif // end of [TEMPLATE]
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
+*/
+/*
+local: 
+global: lt_g1int_int$22$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4697)
+tmparg = S2Evar(tk(4697))
+tmpsub = Some(tk(4697) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__22__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret33__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp34__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
+*/
+ATSINSmove(tmp34__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
+*/
+ATSINSmove(tmpret33__1, atspre_g1int_lt_int(arg0, tmp34__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret33__1) ;
+} /* end of [ATSLIB_056_prelude__lt_g1int_int__22__1] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$2(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4694)
+tmparg = S2Evar(tk(4694))
+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret18__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp19__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp19__2, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret18__2, atspre_g0int_eq_int(arg0, tmp19__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret18__2) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__2] */
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
+*/
+/*
+local: 
+global: eq_g1int_int$26$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4709)
+tmparg = S2Evar(tk(4709))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__26(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret43, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp44, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
+*/
+ATSINSmove(tmp44, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4709))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
+*/
+ATSINSmove(tmpret43, PMVtmpltcst(g1int_eq<S2Evar(tk(4709))>)(arg0, tmp44)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret43) ;
+} /* end of [ATSLIB_056_prelude__eq_g1int_int__26] */
+#endif // end of [TEMPLATE]
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12838(line=668, offs=3) -- 12877(line=668, offs=42)
+*/
+/*
+local: 
+global: eq_g1int_int$26$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4709)
+tmparg = S2Evar(tk(4709))
+tmpsub = Some(tk(4709) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g1int_int__26__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret43__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp44__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12823(line=667, offs=1) -- 12877(line=668, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12864(line=668, offs=29) -- 12875(line=668, offs=40)
+*/
+ATSINSmove(tmp44__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12847(line=668, offs=12) -- 12877(line=668, offs=42)
+*/
+ATSINSmove(tmpret43__1, atspre_g1int_eq_int(arg0, tmp44__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret43__1) ;
+} /* end of [ATSLIB_056_prelude__eq_g1int_int__26__1] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$3(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4694)
+tmparg = S2Evar(tk(4694))
+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret18__3, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp19__3, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp19__3, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret18__3, atspre_g0int_eq_int(arg0, tmp19__3)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret18__3) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__3] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 297(line=12, offs=4) -- 345(line=13, offs=12)
+*/
+/*
+local: 
+global: divides_30$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+divides_30(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret52, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp55, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 297(line=12, offs=4) -- 345(line=13, offs=12)
+*/
+ATSINSflab(__patsflab_divides_30):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 336(line=13, offs=3) -- 341(line=13, offs=8)
+*/
+ATSINSmove(tmp55, atspre_g0int_mod_int(arg1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 336(line=13, offs=3) -- 345(line=13, offs=12)
+*/
+ATSINSmove(tmpret52, ATSLIB_056_prelude__eq_g0int_int__12__4(tmp55, ATSPMVi0nt(0))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret52) ;
+} /* end of [divides_30] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$4(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4694)
+tmparg = S2Evar(tk(4694))
+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret18__4, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp19__4, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp19__4, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret18__4, atspre_g0int_eq_int(arg0, tmp19__4)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret18__4) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__4] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 351(line=15, offs=5) -- 462(line=19, offs=6)
+*/
+/*
+local: witness_0$0(level=0), gcd_32$0(level=0)
+global: witness_0$0(level=0), gcd_32$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+gcd_32(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret56, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp57, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp60, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp61, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+/*
+emit_funent_fnxdeclst:
+*/
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 351(line=15, offs=5) -- 462(line=19, offs=6)
+*/
+ATSINSflab(__patsflab_gcd_32):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 412(line=16, offs=6) -- 417(line=16, offs=11)
+*/
+ATSINSmove(tmp57, ATSLIB_056_prelude__gt_g1int_int__6__2(arg1, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 409(line=16, offs=3) -- 462(line=19, offs=6)
+*/
+ATSif(
+tmp57
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 442(line=17, offs=20) -- 447(line=17, offs=25)
+*/
+ATSINSmove(tmp61, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 434(line=17, offs=12) -- 448(line=17, offs=26)
+*/
+ATSINSmove(tmp60, witness_0(tmp61)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 427(line=17, offs=5) -- 449(line=17, offs=27)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, arg1) ;
+ATSINSmove_tlcal(apy1, tmp60) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_gcd_32) ;
+ATStailcal_end()
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 461(line=19, offs=5) -- 462(line=19, offs=6)
+*/
+ATSINSmove(tmpret56, arg0) ;
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret56) ;
+/*
+emit_funent_fnxbodylst:
+*/
+} /* end of [gcd_32] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4703)
+tmparg = S2Evar(tk(4703))
+tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret11__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp12__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp12__2, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret11__2, atspre_g1int_gt_int(arg0, tmp12__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret11__2) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__2] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 467(line=21, offs=4) -- 544(line=22, offs=22)
+*/
+/*
+local: gcd_32$0(level=0)
+global: witness_0$0(level=0), gcd_32$0(level=0), lcm_34$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+lcm_34(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret62, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp63, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp64, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 467(line=21, offs=4) -- 544(line=22, offs=22)
+*/
+ATSINSflab(__patsflab_lcm_34):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 530(line=22, offs=8) -- 539(line=22, offs=17)
+*/
+ATSINSmove(tmp64, gcd_32(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 526(line=22, offs=4) -- 539(line=22, offs=17)
+*/
+ATSINSmove(tmp63, atspre_g0int_div_int(arg0, tmp64)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 525(line=22, offs=3) -- 544(line=22, offs=22)
+*/
+ATSINSmove(tmpret62, atspre_g0int_mul_int(tmp63, arg1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret62) ;
+} /* end of [lcm_34] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 587(line=25, offs=4) -- 1368(line=45, offs=8)
+*/
+/*
+local: sqrt_int_17$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0), divisors_36$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+divisors_36(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret65, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 587(line=25, offs=4) -- 1368(line=45, offs=8)
+*/
+ATSINSflab(__patsflab_divisors_36):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 632(line=26, offs=3) -- 1368(line=45, offs=8)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 649(line=27, offs=7) -- 650(line=27, offs=8)
+*/
+ATSINSlab(__atstmplab6):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 596(line=25, offs=13) -- 597(line=25, offs=14)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab8) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 650(line=27, offs=8) -- 650(line=27, offs=8)
+*/
+ATSINSlab(__atstmplab7):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 654(line=27, offs=12) -- 704(line=27, offs=62)
+*/
+ATSINSmove_ldelay(tmpret65, atstype_boxed, ATSPMVcfunlab(1, __patsfun_37, ())) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 712(line=28, offs=8) -- 712(line=28, offs=8)
+*/
+ATSINSlab(__atstmplab8):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 716(line=28, offs=12) -- 1368(line=45, offs=8)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1350(line=44, offs=7) -- 1360(line=44, offs=17)
+*/
+ATSINSmove(tmpret65, loop_39(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 716(line=28, offs=12) -- 1368(line=45, offs=8)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret65) ;
+} /* end of [divisors_36] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 654(line=27, offs=12) -- 704(line=27, offs=62)
+*/
+/*
+local: 
+global: __patsfun_37$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_37(atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret66, atstype_boxed) ;
+ATStmpdec(tmp67, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 654(line=27, offs=12) -- 704(line=27, offs=62)
+*/
+ATSINSflab(__patsflab___patsfun_37):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 654(line=27, offs=12) -- 704(line=27, offs=62)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 680(line=27, offs=38) -- 702(line=27, offs=60)
+*/
+ATSINSmove_ldelay(tmp67, atstype_boxed, ATSPMVcfunlab(1, __patsfun_38, ())) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 662(line=27, offs=20) -- 703(line=27, offs=61)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret66, postiats_tysum_0) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret66, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret66, postiats_tysum_0, atslab__0, ATSPMVi0nt(1)) ;
+ATSINSstore_con1_ofs(tmpret66, postiats_tysum_0, atslab__1, tmp67) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret66) ;
+} /* end of [__patsfun_37] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 680(line=27, offs=38) -- 702(line=27, offs=60)
+*/
+/*
+local: 
+global: __patsfun_38$0(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_38(atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret68, atstype_boxed) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 680(line=27, offs=38) -- 702(line=27, offs=60)
+*/
+ATSINSflab(__patsflab___patsfun_38):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 680(line=27, offs=38) -- 702(line=27, offs=60)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 688(line=27, offs=46) -- 701(line=27, offs=59)
+*/
+
+ATSINSmove_nil(tmpret68) ;
+
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret68) ;
+} /* end of [__patsfun_38] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 730(line=29, offs=11) -- 1336(line=42, offs=29)
+*/
+/*
+local: sqrt_int_17$0(level=0), loop_39$0(level=1)
+global: sqrt_int_17$0(level=0), loop_39$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+loop_39(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret69, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp70, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp75, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp76, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp79, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp80, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp85, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp96, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp99, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp106, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 730(line=29, offs=11) -- 1336(line=42, offs=29)
+*/
+ATSINSflab(__patsflab_loop_39):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 838(line=30, offs=19) -- 848(line=30, offs=29)
+*/
+ATSINSmove(tmp75, sqrt_int_17(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 831(line=30, offs=12) -- 848(line=30, offs=29)
+*/
+ATSINSmove(tmp70, ATSLIB_056_prelude__gte_g1int_int__40__1(arg1, tmp75)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 828(line=30, offs=9) -- 1336(line=42, offs=29)
+*/
+ATSif(
+tmp70
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 868(line=31, offs=14) -- 875(line=31, offs=21)
+*/
+ATSINSmove(tmp79, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 868(line=31, offs=14) -- 879(line=31, offs=25)
+*/
+ATSINSmove(tmp76, ATSLIB_056_prelude__eq_g0int_int__12__5(tmp79, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 865(line=31, offs=11) -- 1154(line=37, offs=35)
+*/
+ATSif(
+tmp76
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 900(line=32, offs=16) -- 907(line=32, offs=23)
+*/
+ATSINSmove(tmp85, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 900(line=32, offs=16) -- 914(line=32, offs=30)
+*/
+ATSINSmove(tmp80, ATSLIB_056_prelude__neq_g1int_int__44__1(tmp85, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 897(line=32, offs=13) -- 1104(line=35, offs=67)
+*/
+ATSif(
+tmp80
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 934(line=33, offs=15) -- 1020(line=33, offs=101)
+*/
+ATSINSmove_ldelay(tmpret69, atstype_boxed, ATSPMVcfunlab(1, __patsfun_48, (arg0, arg1))) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1052(line=35, offs=15) -- 1104(line=35, offs=67)
+*/
+ATSINSmove_ldelay(tmpret69, atstype_boxed, ATSPMVcfunlab(1, __patsfun_51, (arg1))) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1132(line=37, offs=13) -- 1154(line=37, offs=35)
+*/
+ATSINSmove_ldelay(tmpret69, atstype_boxed, ATSPMVcfunlab(1, __patsfun_53, ())) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1181(line=39, offs=14) -- 1188(line=39, offs=21)
+*/
+ATSINSmove(tmp99, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1181(line=39, offs=14) -- 1192(line=39, offs=25)
+*/
+ATSINSmove(tmp96, ATSLIB_056_prelude__eq_g0int_int__12__6(tmp99, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1178(line=39, offs=11) -- 1336(line=42, offs=29)
+*/
+ATSif(
+tmp96
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1210(line=40, offs=13) -- 1292(line=40, offs=95)
+*/
+ATSINSmove_ldelay(tmpret69, atstype_boxed, ATSPMVcfunlab(1, __patsfun_55, (arg0, arg1))) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1328(line=42, offs=21) -- 1335(line=42, offs=28)
+*/
+ATSINSmove(tmp106, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1320(line=42, offs=13) -- 1336(line=42, offs=29)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, arg0) ;
+ATSINSmove_tlcal(apy1, tmp106) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_loop_39) ;
+ATStailcal_end()
+
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret69) ;
+} /* end of [loop_39] */
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
+*/
+/*
+local: 
+global: gte_g1int_int$40$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4706)
+tmparg = S2Evar(tk(4706))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__40(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret71, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp72, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
+*/
+ATSINSflab(__patsflab_gte_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
+*/
+ATSINSmove(tmp72, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4706))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
+*/
+ATSINSmove(tmpret71, PMVtmpltcst(g1int_gte<S2Evar(tk(4706))>)(arg0, tmp72)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret71) ;
+} /* end of [ATSLIB_056_prelude__gte_g1int_int__40] */
+#endif // end of [TEMPLATE]
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
+*/
+/*
+local: 
+global: gte_g1int_int$40$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4706)
+tmparg = S2Evar(tk(4706))
+tmpsub = Some(tk(4706) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__40__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret71__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp72__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
+*/
+ATSINSflab(__patsflab_gte_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
+*/
+ATSINSmove(tmp72__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
+*/
+ATSINSmove(tmpret71__1, atspre_g1int_gte_int(arg0, tmp72__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret71__1) ;
+} /* end of [ATSLIB_056_prelude__gte_g1int_int__40__1] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$5(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4694)
+tmparg = S2Evar(tk(4694))
+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret18__5, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp19__5, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp19__5, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret18__5, atspre_g0int_eq_int(arg0, tmp19__5)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret18__5) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__5] */
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)
+*/
+/*
+local: 
+global: neq_g1int_int$44$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4712)
+tmparg = S2Evar(tk(4712))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g1int_int__44(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret81, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp82, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12900(line=671, offs=1) -- 12956(line=672, offs=43)
+*/
+ATSINSflab(__patsflab_neq_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)
+*/
+ATSINSmove(tmp82, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4712))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)
+*/
+ATSINSmove(tmpret81, PMVtmpltcst(g1int_neq<S2Evar(tk(4712))>)(arg0, tmp82)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret81) ;
+} /* end of [ATSLIB_056_prelude__neq_g1int_int__44] */
+#endif // end of [TEMPLATE]
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)
+*/
+/*
+local: 
+global: neq_g1int_int$44$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4712)
+tmparg = S2Evar(tk(4712))
+tmpsub = Some(tk(4712) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g1int_int__44__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret81__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp82__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12900(line=671, offs=1) -- 12956(line=672, offs=43)
+*/
+ATSINSflab(__patsflab_neq_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)
+*/
+ATSINSmove(tmp82__1, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)
+*/
+ATSINSmove(tmpret81__1, atspre_g1int_neq_int(arg0, tmp82__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret81__1) ;
+} /* end of [ATSLIB_056_prelude__neq_g1int_int__44__1] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 934(line=33, offs=15) -- 1020(line=33, offs=101)
+*/
+/*
+local: 
+global: __patsfun_48$0(level=2)
+local: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_48(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret86, atstype_boxed) ;
+ATStmpdec(tmp87, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 934(line=33, offs=15) -- 1020(line=33, offs=101)
+*/
+ATSINSflab(__patsflab___patsfun_48):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 934(line=33, offs=15) -- 1020(line=33, offs=101)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 962(line=33, offs=43) -- 1018(line=33, offs=99)
+*/
+ATSINSmove_ldelay(tmp87, atstype_boxed, ATSPMVcfunlab(1, __patsfun_49, (env0, env1))) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 942(line=33, offs=23) -- 1019(line=33, offs=100)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret86, postiats_tysum_0) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret86, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret86, postiats_tysum_0, atslab__0, env1) ;
+ATSINSstore_con1_ofs(tmpret86, postiats_tysum_0, atslab__1, tmp87) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret86) ;
+} /* end of [__patsfun_48] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 962(line=33, offs=43) -- 1018(line=33, offs=99)
+*/
+/*
+local: 
+global: __patsfun_49$0(level=3)
+local: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_49(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret88, atstype_boxed) ;
+ATStmpdec(tmp89, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp90, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 962(line=33, offs=43) -- 1018(line=33, offs=99)
+*/
+ATSINSflab(__patsflab___patsfun_49):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 962(line=33, offs=43) -- 1018(line=33, offs=99)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 985(line=33, offs=66) -- 992(line=33, offs=73)
+*/
+ATSINSmove(tmp89, atspre_g1int_div_int(env0, env1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 994(line=33, offs=75) -- 1016(line=33, offs=97)
+*/
+ATSINSmove_ldelay(tmp90, atstype_boxed, ATSPMVcfunlab(1, __patsfun_50, ())) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 970(line=33, offs=51) -- 1017(line=33, offs=98)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret88, postiats_tysum_0) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret88, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret88, postiats_tysum_0, atslab__0, tmp89) ;
+ATSINSstore_con1_ofs(tmpret88, postiats_tysum_0, atslab__1, tmp90) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret88) ;
+} /* end of [__patsfun_49] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 994(line=33, offs=75) -- 1016(line=33, offs=97)
+*/
+/*
+local: 
+global: __patsfun_50$0(level=4)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_50(atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret91, atstype_boxed) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 994(line=33, offs=75) -- 1016(line=33, offs=97)
+*/
+ATSINSflab(__patsflab___patsfun_50):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 994(line=33, offs=75) -- 1016(line=33, offs=97)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1002(line=33, offs=83) -- 1015(line=33, offs=96)
+*/
+
+ATSINSmove_nil(tmpret91) ;
+
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret91) ;
+} /* end of [__patsfun_50] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1052(line=35, offs=15) -- 1104(line=35, offs=67)
+*/
+/*
+local: 
+global: __patsfun_51$0(level=2)
+local: acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_51(atstkind_t0ype(atstype_int) env0, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret92, atstype_boxed) ;
+ATStmpdec(tmp93, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1052(line=35, offs=15) -- 1104(line=35, offs=67)
+*/
+ATSINSflab(__patsflab___patsfun_51):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1052(line=35, offs=15) -- 1104(line=35, offs=67)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1080(line=35, offs=43) -- 1102(line=35, offs=65)
+*/
+ATSINSmove_ldelay(tmp93, atstype_boxed, ATSPMVcfunlab(1, __patsfun_52, ())) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1060(line=35, offs=23) -- 1103(line=35, offs=66)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret92, postiats_tysum_0) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret92, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret92, postiats_tysum_0, atslab__0, env0) ;
+ATSINSstore_con1_ofs(tmpret92, postiats_tysum_0, atslab__1, tmp93) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret92) ;
+} /* end of [__patsfun_51] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1080(line=35, offs=43) -- 1102(line=35, offs=65)
+*/
+/*
+local: 
+global: __patsfun_52$0(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_52(atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret94, atstype_boxed) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1080(line=35, offs=43) -- 1102(line=35, offs=65)
+*/
+ATSINSflab(__patsflab___patsfun_52):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1080(line=35, offs=43) -- 1102(line=35, offs=65)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1088(line=35, offs=51) -- 1101(line=35, offs=64)
+*/
+
+ATSINSmove_nil(tmpret94) ;
+
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret94) ;
+} /* end of [__patsfun_52] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1132(line=37, offs=13) -- 1154(line=37, offs=35)
+*/
+/*
+local: 
+global: __patsfun_53$0(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_53(atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret95, atstype_boxed) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1132(line=37, offs=13) -- 1154(line=37, offs=35)
+*/
+ATSINSflab(__patsflab___patsfun_53):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1132(line=37, offs=13) -- 1154(line=37, offs=35)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1140(line=37, offs=21) -- 1153(line=37, offs=34)
+*/
+
+ATSINSmove_nil(tmpret95) ;
+
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret95) ;
+} /* end of [__patsfun_53] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$6(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4694)
+tmparg = S2Evar(tk(4694))
+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__6(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret18__6, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp19__6, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp19__6, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret18__6, atspre_g0int_eq_int(arg0, tmp19__6)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret18__6) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__6] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1210(line=40, offs=13) -- 1292(line=40, offs=95)
+*/
+/*
+local: loop_39$0(level=1)
+global: loop_39$0(level=1), __patsfun_55$0(level=2)
+local: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_55(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret100, atstype_boxed) ;
+ATStmpdec(tmp101, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1210(line=40, offs=13) -- 1292(line=40, offs=95)
+*/
+ATSINSflab(__patsflab___patsfun_55):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1210(line=40, offs=13) -- 1292(line=40, offs=95)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1238(line=40, offs=41) -- 1290(line=40, offs=93)
+*/
+ATSINSmove_ldelay(tmp101, atstype_boxed, ATSPMVcfunlab(1, __patsfun_56, (env0, env1))) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1218(line=40, offs=21) -- 1291(line=40, offs=94)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret100, postiats_tysum_0) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret100, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret100, postiats_tysum_0, atslab__0, env1) ;
+ATSINSstore_con1_ofs(tmpret100, postiats_tysum_0, atslab__1, tmp101) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret100) ;
+} /* end of [__patsfun_55] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1238(line=40, offs=41) -- 1290(line=40, offs=93)
+*/
+/*
+local: loop_39$0(level=1)
+global: loop_39$0(level=1), __patsfun_56$0(level=3)
+local: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: n$5122(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), acc$5123(2)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_56(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret102, atstype_boxed) ;
+ATStmpdec(tmp103, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp104, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp105, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1238(line=40, offs=41) -- 1290(line=40, offs=93)
+*/
+ATSINSflab(__patsflab___patsfun_56):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1238(line=40, offs=41) -- 1290(line=40, offs=93)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1261(line=40, offs=64) -- 1268(line=40, offs=71)
+*/
+ATSINSmove(tmp103, atspre_g1int_div_int(env0, env1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1279(line=40, offs=82) -- 1286(line=40, offs=89)
+*/
+ATSINSmove(tmp105, atspre_g1int_add_int(env1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1271(line=40, offs=74) -- 1287(line=40, offs=90)
+*/
+ATSINSmove(tmp104, loop_39(env0, tmp105)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1246(line=40, offs=49) -- 1289(line=40, offs=92)
+*/
+
+/*
+#LINCONSTATUS==0
+*/
+ATSINSmove_con1_beg()
+ATSINSmove_con1_new(tmpret102, postiats_tysum_0) ;
+#if(0)
+ATSINSstore_con1_tag(tmpret102, 1) ;
+#endif
+ATSINSstore_con1_ofs(tmpret102, postiats_tysum_0, atslab__0, tmp103) ;
+ATSINSstore_con1_ofs(tmpret102, postiats_tysum_0, atslab__1, tmp104) ;
+ATSINSmove_con1_end()
+} ATSelse() {
+/* (*nothing*) */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret102) ;
+} /* end of [__patsfun_56] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1405(line=48, offs=4) -- 1524(line=49, offs=71)
+*/
+/*
+local: is_prime_20$0(level=0), divisors_36$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), divisors_36$0(level=0), prime_divisors_57$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+prime_divisors_57(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret107, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp132, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1405(line=48, offs=4) -- 1524(line=49, offs=71)
+*/
+ATSINSflab(__patsflab_prime_divisors_57):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1480(line=49, offs=27) -- 1490(line=49, offs=37)
+*/
+ATSINSmove(tmp132, divisors_36(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1456(line=49, offs=3) -- 1524(line=49, offs=71)
+*/
+ATSINSmove(tmpret107, ATSLIB_056_prelude__stream_vt_filter_cloptr__58__1(tmp132, ATSPMVcfunlab(1, __patsfun_64, ()))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret107) ;
+} /* end of [prime_divisors_57] */
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11373(line=684, offs=1) -- 12248(line=743, offs=2)
+*/
+/*
+local: 
+global: stream_vt_filter_cloptr$58$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = a(8764)
+tmparg = S2Evar(a(8764))
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__stream_vt_filter_cloptr__58(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret108, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11349(line=683, offs=1) -- 12248(line=743, offs=2)
+*/
+ATSINSflab(__patsflab_stream_vt_filter_cloptr):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 12248(line=743, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 11407(line=686, offs=22)
+*/
+ATSINSmove(tmpret108, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain$4303(1), flab=auxmain_59$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstkind_type(atstype_ptrk))(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 12248(line=743, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret108) ;
+} /* end of [ATSLIB_056_prelude__stream_vt_filter_cloptr__58] */
+#endif // end of [TEMPLATE]
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11423(line=690, offs=1) -- 12222(line=741, offs=2)
+*/
+/*
+local: auxmain_59$0(level=1)
+global: auxmain_59$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+auxmain_59__59(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret109, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11423(line=690, offs=1) -- 12222(line=741, offs=2)
+*/
+ATSINSflab(__patsflab_auxmain_59):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
+*/
+ATSINSmove_ldelay(tmpret109, atstype_boxed, ATSPMVcfunlab(1, __patsfun_60__60, (arg0, arg1))) ;
+ATSfunbody_end()
+ATSreturn(tmpret109) ;
+} /* end of [auxmain_59__59] */
+#endif // end of [TEMPLATE]
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11503(line=696, offs=20) -- 12222(line=741, offs=2)
+*/
+/*
+local: auxmain_59$0(level=1)
+global: auxmain_59$0(level=1), __patsfun_60$0(level=2)
+local: xs$4304(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4305(2)(HSEfun(CLO(1); HSErefarg(1; HSEtyvar(a(8764))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
+global: xs$4304(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4305(2)(HSEfun(CLO(1); HSErefarg(1; HSEtyvar(a(8764))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_60__60(atstkind_type(atstype_ptrk) env0, atstype_cloptr env1, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret110, atstype_boxed) ;
+ATStmpdec(tmp111, atstype_boxed) ;
+// ATStmpdec_void(tmp114) ;
+ATStmpdec(tmp115, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp116, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp117, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp118, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp119) ;
+// ATStmpdec_void(tmp120) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
+*/
+ATSINSflab(__patsflab___patsfun_60):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11516(line=699, offs=1) -- 12138(line=732, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
+*/
+ATSINSmove_llazyeval(tmp111, atstype_boxed, env0) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11545(line=703, offs=1) -- 12104(line=730, offs=6)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11563(line=704, offs=3) -- 11589(line=705, offs=12)
+*/
+ATSINSlab(__atstmplab9):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
+*/
+ATSifthen(ATSCKptriscons(tmp111)) { ATSINSgoto(__atstmplab12) ; } ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11589(line=705, offs=12) -- 11589(line=705, offs=12)
+*/
+ATSINSlab(__atstmplab10):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11593(line=705, offs=16) -- 11719(line=712, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11614(line=707, offs=5) -- 11662(line=708, offs=37)
+*/
+ATSINSmove_void(tmp114, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11692(line=711, offs=5) -- 11705(line=711, offs=18)
+*/
+
+ATSINSmove_nil(tmpret110) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11593(line=705, offs=16) -- 11719(line=712, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11748(line=713, offs=3) -- 11776(line=714, offs=13)
+*/
+ATSINSlab(__atstmplab11):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
+*/
+#if(0)
+ATSifthen(ATSCKptrisnull(tmp111)) { ATSINSdeadcode_fail() ; } ;
+#endif
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11776(line=714, offs=13) -- 11776(line=714, offs=13)
+*/
+ATSINSlab(__atstmplab12):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11780(line=714, offs=17) -- 12104(line=730, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11799(line=715, offs=16) -- 11805(line=715, offs=22)
+*/
+ATSINSmove(tmp115, ATSfunclo_clo(ATSPMVrefarg0(env1), (atstype_cloptr, atsrefarg1_type(atstyvar_type(a))), atstkind_t0ype(atstype_bool))(ATSPMVrefarg0(env1), ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp111, postiats_tysum_1, atslab__0))))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11816(line=717, offs=5) -- 12062(line=728, offs=10)
+*/
+ATSif(
+tmp115
+) ATSthen() {
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11835(line=718, offs=12) -- 11941(line=723, offs=10)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11871(line=720, offs=16) -- 11889(line=720, offs=34)
+*/
+ATSINSmove(tmp116, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain$4303(1), flab=auxmain_59$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstkind_type(atstype_ptrk))(ATSSELcon(tmp111, postiats_tysum_1, atslab__1), env1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11864(line=720, offs=9) -- 11889(line=720, offs=34)
+*/
+ATSINSstore(ATSSELcon(tmp111, postiats_tysum_1, atslab__1), tmp116) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11925(line=722, offs=27) -- 11931(line=722, offs=33)
+*/
+ATSINSmove(tmpret110, tmp111) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11835(line=718, offs=12) -- 11941(line=723, offs=10)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11970(line=724, offs=12) -- 12062(line=728, offs=10)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11992(line=725, offs=19) -- 11995(line=725, offs=22)
+*/
+ATSINSmove(tmp117, ATSSELcon(tmp111, postiats_tysum_1, atslab__1)) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12013(line=727, offs=9) -- 12028(line=727, offs=24)
+*/
+ATSINSfreecon(tmp111) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12033(line=727, offs=29) -- 12051(line=727, offs=47)
+*/
+ATSINSmove(tmp118, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmain$4303(1), flab=auxmain_59$0(level=1)), (atstkind_type(atstype_ptrk), atstype_cloptr), atstkind_type(atstype_ptrk))(tmp117, env1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12031(line=727, offs=27) -- 12052(line=727, offs=48)
+*/
+ATSINSmove_llazyeval(tmpret110, atstype_boxed, tmp118) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11970(line=724, offs=12) -- 12062(line=728, offs=10)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11780(line=714, offs=17) -- 12104(line=730, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11516(line=699, offs=1) -- 12138(line=732, offs=4)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12167(line=737, offs=3) -- 12170(line=737, offs=6)
+*/
+ATSINSmove_void(tmp119, atspre_lazy_vt_free(env0)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12174(line=738, offs=3) -- 12215(line=738, offs=44)
+*/
+ATSINSmove_void(tmp120, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;
+
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret110) ;
+} /* end of [__patsfun_60__60] */
+#endif // end of [TEMPLATE]
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11373(line=684, offs=1) -- 12248(line=743, offs=2)
+*/
+/*
+local: 
+global: stream_vt_filter_cloptr$58$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(8764)
+tmparg = S2Evar(a(8764))
+tmpsub = Some(a(8764) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__stream_vt_filter_cloptr__58__1(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret108__1, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11349(line=683, offs=1) -- 12248(line=743, offs=2)
+*/
+ATSINSflab(__patsflab_stream_vt_filter_cloptr):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 12248(line=743, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 11407(line=686, offs=22)
+*/
+ATSINSmove(tmpret108__1, auxmain_59__59__1(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11390(line=686, offs=5) -- 12248(line=743, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret108__1) ;
+} /* end of [ATSLIB_056_prelude__stream_vt_filter_cloptr__58__1] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11423(line=690, offs=1) -- 12222(line=741, offs=2)
+*/
+/*
+local: auxmain_59$1(level=2)
+global: auxmain_59$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+auxmain_59__59__1(atstkind_type(atstype_ptrk) arg0, atstype_cloptr arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret109__1, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11423(line=690, offs=1) -- 12222(line=741, offs=2)
+*/
+ATSINSflab(__patsflab_auxmain_59):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
+*/
+ATSINSmove_ldelay(tmpret109__1, atstype_boxed, ATSPMVcfunlab(1, __patsfun_60__60__1, (arg0, arg1))) ;
+ATSfunbody_end()
+ATSreturn(tmpret109__1) ;
+} /* end of [auxmain_59__59__1] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 11503(line=696, offs=20) -- 12222(line=741, offs=2)
+*/
+/*
+local: auxmain_59$1(level=2)
+global: auxmain_59$1(level=2), __patsfun_60$1(level=3)
+local: xs$4304(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4305(2)(HSEfun(CLO(1); HSErefarg(1; HSEs2exp(S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
+global: xs$4304(2)(HSEapp(HSEcst(atstkind_type); HSEs2exp(S2Eextkind(atstype_ptrk)))), pred$4305(2)(HSEfun(CLO(1); HSErefarg(1; HSEs2exp(S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))); HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_bool)))))
+*/
+ATSstatic()
+atstype_boxed
+__patsfun_60__60__1(atstkind_type(atstype_ptrk) env0, atstype_cloptr env1, atstype_bool arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret110__1, atstype_boxed) ;
+ATStmpdec(tmp111__1, atstype_boxed) ;
+// ATStmpdec_void(tmp114__1) ;
+ATStmpdec(tmp115__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp116__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp117__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp118__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp119__1) ;
+// ATStmpdec_void(tmp120__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
+*/
+ATSINSflab(__patsflab___patsfun_60):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11503(line=696, offs=20) -- 12222(line=741, offs=2)
+*/
+ATSif(
+arg0
+) ATSthen() {
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11516(line=699, offs=1) -- 12138(line=732, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
+*/
+ATSINSmove_llazyeval(tmp111__1, atstype_boxed, env0) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11545(line=703, offs=1) -- 12104(line=730, offs=6)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11563(line=704, offs=3) -- 11589(line=705, offs=12)
+*/
+ATSINSlab(__atstmplab9):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
+*/
+ATSifthen(ATSCKptriscons(tmp111__1)) { ATSINSgoto(__atstmplab12) ; } ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11589(line=705, offs=12) -- 11589(line=705, offs=12)
+*/
+ATSINSlab(__atstmplab10):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11593(line=705, offs=16) -- 11719(line=712, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11614(line=707, offs=5) -- 11662(line=708, offs=37)
+*/
+ATSINSmove_void(tmp114__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11692(line=711, offs=5) -- 11705(line=711, offs=18)
+*/
+
+ATSINSmove_nil(tmpret110__1) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11593(line=705, offs=16) -- 11719(line=712, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11748(line=713, offs=3) -- 11776(line=714, offs=13)
+*/
+ATSINSlab(__atstmplab11):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11535(line=700, offs=16) -- 11538(line=700, offs=19)
+*/
+#if(0)
+ATSifthen(ATSCKptrisnull(tmp111__1)) { ATSINSdeadcode_fail() ; } ;
+#endif
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11776(line=714, offs=13) -- 11776(line=714, offs=13)
+*/
+ATSINSlab(__atstmplab12):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11780(line=714, offs=17) -- 12104(line=730, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11799(line=715, offs=16) -- 11805(line=715, offs=22)
+*/
+ATSINSmove(tmp115__1, ATSfunclo_clo(ATSPMVrefarg0(env1), (atstype_cloptr, atsrefarg1_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_bool))(ATSPMVrefarg0(env1), ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp111__1, postiats_tysum_0, atslab__0))))) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11816(line=717, offs=5) -- 12062(line=728, offs=10)
+*/
+ATSif(
+tmp115__1
+) ATSthen() {
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11835(line=718, offs=12) -- 11941(line=723, offs=10)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11871(line=720, offs=16) -- 11889(line=720, offs=34)
+*/
+ATSINSmove(tmp116__1, auxmain_59__59__1(ATSSELcon(tmp111__1, postiats_tysum_0, atslab__1), env1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11864(line=720, offs=9) -- 11889(line=720, offs=34)
+*/
+ATSINSstore(ATSSELcon(tmp111__1, postiats_tysum_0, atslab__1), tmp116__1) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11925(line=722, offs=27) -- 11931(line=722, offs=33)
+*/
+ATSINSmove(tmpret110__1, tmp111__1) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11835(line=718, offs=12) -- 11941(line=723, offs=10)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11970(line=724, offs=12) -- 12062(line=728, offs=10)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11992(line=725, offs=19) -- 11995(line=725, offs=22)
+*/
+ATSINSmove(tmp117__1, ATSSELcon(tmp111__1, postiats_tysum_0, atslab__1)) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12013(line=727, offs=9) -- 12028(line=727, offs=24)
+*/
+ATSINSfreecon(tmp111__1) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12033(line=727, offs=29) -- 12051(line=727, offs=47)
+*/
+ATSINSmove(tmp118__1, auxmain_59__59__1(tmp117__1, env1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12031(line=727, offs=27) -- 12052(line=727, offs=48)
+*/
+ATSINSmove_llazyeval(tmpret110__1, atstype_boxed, tmp118__1) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11970(line=724, offs=12) -- 12062(line=728, offs=10)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11780(line=714, offs=17) -- 12104(line=730, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 11516(line=699, offs=1) -- 12138(line=732, offs=4)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12167(line=737, offs=3) -- 12170(line=737, offs=6)
+*/
+ATSINSmove_void(tmp119__1, atspre_lazy_vt_free(env0)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 12174(line=738, offs=3) -- 12215(line=738, offs=44)
+*/
+ATSINSmove_void(tmp120__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), env1))) ;
+
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret110__1) ;
+} /* end of [__patsfun_60__60__1] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1493(line=49, offs=40) -- 1523(line=49, offs=70)
+*/
+/*
+local: is_prime_20$0(level=0)
+global: is_prime_20$0(level=0), __patsfun_64$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+__patsfun_64(atsrefarg1_type(atstkind_t0ype(atstype_int)) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret133, atstkind_t0ype(atstype_bool)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1493(line=49, offs=40) -- 1523(line=49, offs=70)
+*/
+ATSINSflab(__patsflab___patsfun_64):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1502(line=49, offs=49) -- 1523(line=49, offs=70)
+*/
+ATSINSmove(tmpret133, is_prime_20(ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), ATSderef(arg0, atstkind_t0ype(atstype_int))))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret133) ;
+} /* end of [__patsfun_64] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1529(line=51, offs=4) -- 1601(line=52, offs=18)
+*/
+/*
+local: 
+global: div_gt_zero_65$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+div_gt_zero_65(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret134, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp135, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1529(line=51, offs=4) -- 1601(line=52, offs=18)
+*/
+ATSINSflab(__patsflab_div_gt_zero_65):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1595(line=52, offs=12) -- 1600(line=52, offs=17)
+*/
+ATSINSmove(tmp135, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1586(line=52, offs=3) -- 1601(line=52, offs=18)
+*/
+ATSINSmove(tmpret134, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp135)) ;
+ATSfunbody_end()
+ATSreturn(tmpret134) ;
+} /* end of [div_gt_zero_65] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1642(line=55, offs=5) -- 2305(line=82, offs=6)
+*/
+/*
+local: exp_mod_prime_66$0(level=0)
+global: exp_mod_prime_66$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+exp_mod_prime_66(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1, atstkind_t0ype(atstype_int) arg2)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy2, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret136, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref137, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref138, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp139, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp140, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref143, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp144, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref145, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref146, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp147, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp148, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp149, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref152, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp153, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1642(line=55, offs=5) -- 2305(line=82, offs=6)
+*/
+ATSINSflab(__patsflab_exp_mod_prime_66):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1710(line=56, offs=3) -- 2305(line=82, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1722(line=57, offs=9) -- 1724(line=57, offs=11)
+*/
+/*
+ATSINStmpdec(tmpref137) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1727(line=57, offs=14) -- 1732(line=57, offs=19)
+*/
+ATSINSmove(tmpref137, atspre_g0int_mod_int(arg0, arg2)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1741(line=58, offs=9) -- 1743(line=58, offs=11)
+*/
+/*
+ATSINStmpdec(tmpref138) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1751(line=58, offs=19) -- 1756(line=58, offs=24)
+*/
+ATSINSmove(tmp139, atspre_g1int_sub_int(arg2, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1746(line=58, offs=14) -- 1757(line=58, offs=25)
+*/
+ATSINSmove(tmpref138, atspre_g0int_mod_int(arg1, tmp139)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1767(line=60, offs=5) -- 2299(line=81, offs=12)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1786(line=61, offs=9) -- 1787(line=61, offs=10)
+*/
+ATSINSlab(__atstmplab13):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1656(line=55, offs=19) -- 1657(line=55, offs=20)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab15) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1787(line=61, offs=10) -- 1787(line=61, offs=10)
+*/
+ATSINSlab(__atstmplab14):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1791(line=61, offs=14) -- 1792(line=61, offs=15)
+*/
+ATSINSmove(tmpret136, ATSPMVi0nt(0)) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1802(line=62, offs=10) -- 1802(line=62, offs=10)
+*/
+ATSINSlab(__atstmplab15):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1835(line=64, offs=14) -- 1840(line=64, offs=19)
+*/
+ATSINSmove(tmp140, ATSLIB_056_prelude__gt_g1int_int__6__3(arg1, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1832(line=64, offs=11) -- 2287(line=80, offs=14)
+*/
+ATSif(
+tmp140
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1858(line=65, offs=13) -- 2258(line=78, offs=16)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1880(line=66, offs=19) -- 1882(line=66, offs=21)
+*/
+/*
+ATSINStmpdec(tmpref143) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1905(line=66, offs=44) -- 1912(line=66, offs=51)
+*/
+ATSINSmove(tmp144, atspre_g0int_half_int(tmpref138)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1896(line=66, offs=35) -- 1914(line=66, offs=53)
+*/
+ATSINSmove(tmpref143, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp144)) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1933(line=67, offs=19) -- 1935(line=67, offs=21)
+*/
+/*
+ATSINStmpdec(tmpref145) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1938(line=67, offs=24) -- 1944(line=67, offs=30)
+*/
+ATSINSmove(tmpref145, atspre_g0int_mod_int(tmpref138, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1963(line=68, offs=19) -- 1967(line=68, offs=23)
+*/
+/*
+ATSINStmpdec(tmpref146) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1990(line=68, offs=46) -- 1995(line=68, offs=51)
+*/
+ATSINSmove(tmp148, atspre_g1int_mul_int(arg0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1990(line=68, offs=46) -- 1999(line=68, offs=55)
+*/
+ATSINSmove(tmp147, atspre_g0int_mod_int(tmp148, arg2)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1981(line=68, offs=37) -- 2000(line=68, offs=56)
+*/
+ATSINSmove(tmpref146, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp147)) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2033(line=70, offs=18) -- 2039(line=70, offs=24)
+*/
+ATSINSmove(tmp149, ATSLIB_056_prelude__eq_g0int_int__12__7(tmpref145, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2030(line=70, offs=15) -- 2242(line=77, offs=20)
+*/
+ATSif(
+tmp149
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2061(line=71, offs=17) -- 2087(line=71, offs=43)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmpref146) ;
+ATSINSmove_tlcal(apy1, tmpref143) ;
+ATSINSmove_tlcal(apy2, arg2) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSargmove_tlcal(arg2, apy2) ;
+ATSINSfgoto(__patsflab_exp_mod_prime_66) ;
+ATStailcal_end()
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2123(line=73, offs=17) -- 2242(line=77, offs=20)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2149(line=74, offs=23) -- 2150(line=74, offs=24)
+*/
+/*
+ATSINStmpdec(tmpref152) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2157(line=74, offs=31) -- 2183(line=74, offs=57)
+*/
+ATSINSmove(tmp153, exp_mod_prime_66(tmpref146, tmpref143, arg2)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2153(line=74, offs=27) -- 2183(line=74, offs=57)
+*/
+ATSINSmove(tmpref152, atspre_g0int_mul_int(arg0, tmp153)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2221(line=76, offs=19) -- 2222(line=76, offs=20)
+*/
+ATSINSmove(tmpret136, tmpref152) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2123(line=73, offs=17) -- 2242(line=77, offs=20)
+*/
+/*
+INSletpop()
+*/
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1858(line=65, offs=13) -- 2258(line=78, offs=16)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2286(line=80, offs=13) -- 2287(line=80, offs=14)
+*/
+ATSINSmove(tmpret136, ATSPMVi0nt(1)) ;
+} /* ATSendif */
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 1710(line=56, offs=3) -- 2305(line=82, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret136) ;
+} /* end of [exp_mod_prime_66] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$3(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4703)
+tmparg = S2Evar(tk(4703))
+tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret11__3, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp12__3, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp12__3, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret11__3, atspre_g1int_gt_int(arg0, tmp12__3)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret11__3) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__3] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$7(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4694)
+tmparg = S2Evar(tk(4694))
+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__7(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret18__7, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp19__7, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp19__7, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret18__7, atspre_g0int_eq_int(arg0, tmp19__7)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret18__7) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__7] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2408(line=85, offs=5) -- 3241(line=114, offs=6)
+*/
+/*
+local: exp_5$0(level=0), is_prime_20$0(level=0), div_gt_zero_65$0(level=0), exp_mod_prime_66$0(level=0)
+global: witness_0$0(level=0), exp_5$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), div_gt_zero_65$0(level=0), exp_mod_prime_66$0(level=0), jacobi_72$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+jacobi_72(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret154, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2408(line=85, offs=5) -- 3241(line=114, offs=6)
+*/
+ATSINSflab(__patsflab_jacobi_72):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2449(line=86, offs=3) -- 3241(line=114, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3228(line=113, offs=5) -- 3235(line=113, offs=12)
+*/
+ATSINSmove(tmpret154, loop_78(arg0, arg1, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2449(line=86, offs=3) -- 3241(line=114, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret154) ;
+} /* end of [jacobi_72] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2461(line=87, offs=9) -- 2789(line=97, offs=12)
+*/
+/*
+local: exp_mod_prime_66$0(level=0)
+global: exp_mod_prime_66$0(level=0), legendre_73$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+legendre_73(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret155, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp156, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref157, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp158, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp159, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp160, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp161, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp164, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp165, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp166, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp169, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2461(line=87, offs=9) -- 2789(line=97, offs=12)
+*/
+ATSINSflab(__patsflab_legendre_73):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2550(line=88, offs=13) -- 2555(line=88, offs=18)
+*/
+ATSINSmove(tmp156, atspre_g0int_mod_int(arg1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2544(line=88, offs=7) -- 2789(line=97, offs=12)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2569(line=89, offs=11) -- 2570(line=89, offs=12)
+*/
+ATSINSlab(__atstmplab16):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2550(line=88, offs=13) -- 2555(line=88, offs=18)
+*/
+ATSifnthen(ATSCKpat_int(tmp156, ATSPMVint(0))) { ATSINSgoto(__atstmplab18) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2570(line=89, offs=12) -- 2570(line=89, offs=12)
+*/
+ATSINSlab(__atstmplab17):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2574(line=89, offs=16) -- 2575(line=89, offs=17)
+*/
+ATSINSmove(tmpret155, ATSPMVi0nt(0)) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2587(line=90, offs=12) -- 2587(line=90, offs=12)
+*/
+ATSINSlab(__atstmplab18):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2591(line=90, offs=16) -- 2789(line=97, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2609(line=91, offs=15) -- 2610(line=91, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref157) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2631(line=91, offs=37) -- 2636(line=91, offs=42)
+*/
+ATSINSmove(tmp159, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2630(line=91, offs=36) -- 2641(line=91, offs=47)
+*/
+ATSINSmove(tmp158, atspre_g1int_div_int(tmp159, ATSPMVi0nt(2))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2613(line=91, offs=19) -- 2645(line=91, offs=51)
+*/
+ATSINSmove(tmpref157, exp_mod_prime_66(arg0, tmp158, arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2673(line=93, offs=17) -- 2674(line=93, offs=18)
+*/
+ATSINSmove(tmp160, tmpref157) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2667(line=93, offs=11) -- 2777(line=96, offs=21)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2693(line=94, offs=16) -- 2693(line=94, offs=16)
+*/
+ATSINSlab(__atstmplab19):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-guard:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2704(line=94, offs=27) -- 2709(line=94, offs=32)
+*/
+ATSINSmove(tmp165, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2699(line=94, offs=22) -- 2710(line=94, offs=33)
+*/
+ATSINSmove(tmp164, atspre_g0int_mod_int(tmp160, tmp165)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2699(line=94, offs=22) -- 2714(line=94, offs=37)
+*/
+ATSINSmove(tmp161, ATSLIB_056_prelude__eq_g0int_int__12__8(tmp164, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2699(line=94, offs=22) -- 2714(line=94, offs=37)
+*/
+ATSifnthen(ATSCKpat_bool(tmp161, ATSPMVbool_true())) { ATSINSgoto(__atstmplab20) ; } ;
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2718(line=94, offs=41) -- 2720(line=94, offs=43)
+*/
+ATSINSmove(tmpret155, atspre_g1int_neg_int(ATSPMVi0nt(1))) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2736(line=95, offs=16) -- 2736(line=95, offs=16)
+*/
+ATSINSlab(__atstmplab20):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-guard:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2742(line=95, offs=22) -- 2747(line=95, offs=27)
+*/
+ATSINSmove(tmp169, atspre_g0int_mod_int(tmp160, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2742(line=95, offs=22) -- 2751(line=95, offs=31)
+*/
+ATSINSmove(tmp166, ATSLIB_056_prelude__eq_g0int_int__12__9(tmp169, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2742(line=95, offs=22) -- 2751(line=95, offs=31)
+*/
+ATSifnthen(ATSCKpat_bool(tmp166, ATSPMVbool_true())) { ATSINSgoto(__atstmplab21) ; } ;
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2755(line=95, offs=35) -- 2756(line=95, offs=36)
+*/
+ATSINSmove(tmpret155, ATSPMVi0nt(0)) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2772(line=96, offs=16) -- 2772(line=96, offs=16)
+*/
+ATSINSlab(__atstmplab21):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2776(line=96, offs=20) -- 2777(line=96, offs=21)
+*/
+ATSINSmove(tmpret155, ATSPMVi0nt(1)) ;
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2591(line=90, offs=16) -- 2789(line=97, offs=12)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret155) ;
+} /* end of [legendre_73] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$8(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4694)
+tmparg = S2Evar(tk(4694))
+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__8(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret18__8, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp19__8, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp19__8, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret18__8, atspre_g0int_eq_int(arg0, tmp19__8)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret18__8) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__8] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$9(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4694)
+tmparg = S2Evar(tk(4694))
+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__9(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret18__9, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp19__9, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp19__9, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret18__9, atspre_g0int_eq_int(arg0, tmp19__9)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret18__9) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__9] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2803(line=99, offs=9) -- 2958(line=102, offs=17)
+*/
+/*
+local: div_gt_zero_65$0(level=0), get_multiplicity_77$0(level=1)
+global: div_gt_zero_65$0(level=0), get_multiplicity_77$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+get_multiplicity_77(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret170, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp171, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp172, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp173, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2803(line=99, offs=9) -- 2958(line=102, offs=17)
+*/
+ATSINSflab(__patsflab_get_multiplicity_77):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2875(line=100, offs=13) -- 2880(line=100, offs=18)
+*/
+ATSINSmove(tmp171, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2869(line=100, offs=7) -- 2958(line=102, offs=17)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2894(line=101, offs=11) -- 2895(line=101, offs=12)
+*/
+ATSINSlab(__atstmplab22):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2875(line=100, offs=13) -- 2880(line=100, offs=18)
+*/
+ATSifnthen(ATSCKpat_int(tmp171, ATSPMVint(0))) { ATSINSgoto(__atstmplab24) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2895(line=101, offs=12) -- 2895(line=101, offs=12)
+*/
+ATSINSlab(__atstmplab23):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2920(line=101, offs=37) -- 2937(line=101, offs=54)
+*/
+ATSINSmove(tmp173, div_gt_zero_65(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2903(line=101, offs=20) -- 2941(line=101, offs=58)
+*/
+ATSINSmove(tmp172, get_multiplicity_77(tmp173, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2899(line=101, offs=16) -- 2941(line=101, offs=58)
+*/
+ATSINSmove(tmpret170, atspre_g1int_add_int(ATSPMVi0nt(1), tmp172)) ;
+
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2953(line=102, offs=12) -- 2953(line=102, offs=12)
+*/
+ATSINSlab(__atstmplab24):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2957(line=102, offs=16) -- 2958(line=102, offs=17)
+*/
+ATSINSmove(tmpret170, ATSPMVi0nt(0)) ;
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret170) ;
+} /* end of [get_multiplicity_77] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2972(line=104, offs=9) -- 3218(line=111, offs=24)
+*/
+/*
+local: exp_5$0(level=0), is_prime_20$0(level=0), legendre_73$0(level=1), get_multiplicity_77$0(level=1), loop_78$0(level=1)
+global: exp_5$0(level=0), is_prime_20$0(level=0), div_gt_zero_65$0(level=0), exp_mod_prime_66$0(level=0), legendre_73$0(level=1), get_multiplicity_77$0(level=1), loop_78$0(level=1)
+local: a$5142(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), n$5143(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+global: a$5142(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int)))), n$5143(1)(HSEapp(HSEcst(atstkind_t0ype); HSEs2exp(S2Eextkind(atstype_int))))
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_78(atstkind_t0ype(atstype_int) env0, atstkind_t0ype(atstype_int) env1, atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret174, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp175, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp178, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp179, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp182, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp183, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp184, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp185, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp186, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp187, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp188, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 2972(line=104, offs=9) -- 3218(line=111, offs=24)
+*/
+ATSINSflab(__patsflab_loop_78):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3029(line=105, offs=10) -- 3036(line=105, offs=17)
+*/
+ATSINSmove(tmp175, ATSLIB_056_prelude__gt_g1int_int__6__4(arg0, env1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3026(line=105, offs=7) -- 3218(line=111, offs=24)
+*/
+ATSif(
+tmp175
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3050(line=106, offs=9) -- 3051(line=106, offs=10)
+*/
+ATSINSmove(tmpret174, ATSPMVi0nt(1)) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3074(line=108, offs=12) -- 3101(line=108, offs=39)
+*/
+ATSINSmove(tmp182, atspre_g0int_mod_int(env0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3074(line=108, offs=12) -- 3101(line=108, offs=39)
+*/
+ATSINSmove(tmp179, ATSLIB_056_prelude__eq_g0int_int__12__10(tmp182, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3074(line=108, offs=12) -- 3101(line=108, offs=39)
+*/
+ATSif(
+tmp179
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3074(line=108, offs=12) -- 3101(line=108, offs=39)
+*/
+ATSINSmove(tmp178, is_prime_20(arg0)) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3074(line=108, offs=12) -- 3101(line=108, offs=39)
+*/
+ATSINSmove(tmp178, ATSPMVbool_false()) ;
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3071(line=108, offs=9) -- 3218(line=111, offs=24)
+*/
+ATSif(
+tmp178
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3123(line=109, offs=16) -- 3130(line=109, offs=23)
+*/
+ATSINSmove(tmp184, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3118(line=109, offs=11) -- 3131(line=109, offs=24)
+*/
+ATSINSmove(tmp183, loop_78(env0, env1, tmp184)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3138(line=109, offs=31) -- 3154(line=109, offs=47)
+*/
+ATSINSmove(tmp186, legendre_73(arg0, env1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3156(line=109, offs=49) -- 3180(line=109, offs=73)
+*/
+ATSINSmove(tmp187, get_multiplicity_77(env0, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3134(line=109, offs=27) -- 3181(line=109, offs=74)
+*/
+ATSINSmove(tmp185, exp_5(tmp186, tmp187)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3118(line=109, offs=11) -- 3181(line=109, offs=74)
+*/
+ATSINSmove(tmpret174, atspre_g0int_mul_int(tmp183, tmp185)) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3210(line=111, offs=16) -- 3217(line=111, offs=23)
+*/
+ATSINSmove(tmp188, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3205(line=111, offs=11) -- 3218(line=111, offs=24)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp188) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSfgoto(__patsflab_loop_78) ;
+ATStailcal_end()
+
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret174) ;
+} /* end of [loop_78] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$4(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4703)
+tmparg = S2Evar(tk(4703))
+tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret11__4, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp12__4, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp12__4, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret11__4, atspre_g1int_gt_int(arg0, tmp12__4)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret11__4) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__4] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$10(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4694)
+tmparg = S2Evar(tk(4694))
+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__10(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret18__10, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp19__10, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp19__10, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret18__10, atspre_g0int_eq_int(arg0, tmp19__10)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret18__10) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__10] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3272(line=117, offs=4) -- 3341(line=118, offs=32)
+*/
+/*
+local: divisors_36$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0), divisors_36$0(level=0), count_divisors_81$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+count_divisors_81(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret189, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp201, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3272(line=117, offs=4) -- 3341(line=118, offs=32)
+*/
+ATSINSflab(__patsflab_count_divisors_81):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3329(line=118, offs=20) -- 3339(line=118, offs=30)
+*/
+ATSINSmove(tmp201, divisors_36(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3312(line=118, offs=3) -- 3341(line=118, offs=32)
+*/
+ATSINSmove(tmpret189, ATSLIB_056_prelude__stream_vt_length__82__1(tmp201)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret189) ;
+} /* end of [count_divisors_81] */
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 8056(line=456, offs=17) -- 8278(line=471, offs=4)
+*/
+/*
+local: 
+global: stream_vt_length$82$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = a(8735)
+tmparg = S2Evar(a(8735))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_int)
+ATSLIB_056_prelude__stream_vt_length__82(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret190, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8040(line=456, offs=1) -- 8278(line=471, offs=4)
+*/
+ATSINSflab(__patsflab_stream_vt_length):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8064(line=456, offs=25) -- 8278(line=471, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8261(line=470, offs=16) -- 8273(line=470, offs=28)
+*/
+ATSINSmove(tmpret190, ATSfunclo_fun(PMVd2vfunlab(d2v=loop$4254(1), flab=loop_83$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)), atstkind_t0ype(atstype_int))(arg0, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8064(line=456, offs=25) -- 8278(line=471, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret190) ;
+} /* end of [ATSLIB_056_prelude__stream_vt_length__82] */
+#endif // end of [TEMPLATE]
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 8075(line=459, offs=1) -- 8219(line=467, offs=2)
+*/
+/*
+local: loop_83$0(level=1)
+global: loop_83$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_83__83(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret191, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp192, atstype_boxed) ;
+ATStmpdec(tmp194, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp195, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8075(line=459, offs=1) -- 8219(line=467, offs=2)
+*/
+ATSINSflab(__patsflab_loop_83):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8141(line=464, offs=9) -- 8144(line=464, offs=12)
+*/
+ATSINSmove_llazyeval(tmp192, atstype_boxed, arg0) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8135(line=464, offs=3) -- 8217(line=466, offs=44)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8152(line=465, offs=5) -- 8168(line=465, offs=21)
+*/
+ATSINSlab(__atstmplab25):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8141(line=464, offs=9) -- 8144(line=464, offs=12)
+*/
+ATSifthen(ATSCKptriscons(tmp192)) { ATSINSgoto(__atstmplab28) ; } ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8168(line=465, offs=21) -- 8168(line=465, offs=21)
+*/
+ATSINSlab(__atstmplab26):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8172(line=465, offs=25) -- 8173(line=465, offs=26)
+*/
+ATSINSmove(tmpret191, arg1) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8178(line=466, offs=5) -- 8200(line=466, offs=27)
+*/
+ATSINSlab(__atstmplab27):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8141(line=464, offs=9) -- 8144(line=464, offs=12)
+*/
+#if(0)
+ATSifthen(ATSCKptrisnull(tmp192)) { ATSINSdeadcode_fail() ; } ;
+#endif
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8200(line=466, offs=27) -- 8200(line=466, offs=27)
+*/
+ATSINSlab(__atstmplab28):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8197(line=466, offs=24) -- 8199(line=466, offs=26)
+*/
+ATSINSmove(tmp194, ATSSELcon(tmp192, postiats_tysum_2, atslab__1)) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8178(line=466, offs=5) -- 8217(line=466, offs=44)
+*/
+ATSINSfreecon(tmp192) ;
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8213(line=466, offs=40) -- 8216(line=466, offs=43)
+*/
+ATSINSmove(tmp195, PMVtmpltcst(g1int_add<S2Eextkind(atstype_int)>)(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8204(line=466, offs=31) -- 8217(line=466, offs=44)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp194) ;
+ATSINSmove_tlcal(apy1, tmp195) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_loop_83) ;
+ATStailcal_end()
+
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret191) ;
+} /* end of [loop_83__83] */
+#endif // end of [TEMPLATE]
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 8056(line=456, offs=17) -- 8278(line=471, offs=4)
+*/
+/*
+local: 
+global: stream_vt_length$82$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(8735)
+tmparg = S2Evar(a(8735))
+tmpsub = Some(a(8735) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
+*/
+atstkind_t0ype(atstype_int)
+ATSLIB_056_prelude__stream_vt_length__82__1(atstkind_type(atstype_ptrk) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret190__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8040(line=456, offs=1) -- 8278(line=471, offs=4)
+*/
+ATSINSflab(__patsflab_stream_vt_length):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8064(line=456, offs=25) -- 8278(line=471, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8261(line=470, offs=16) -- 8273(line=470, offs=28)
+*/
+ATSINSmove(tmpret190__1, loop_83__83__1(arg0, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8064(line=456, offs=25) -- 8278(line=471, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret190__1) ;
+} /* end of [ATSLIB_056_prelude__stream_vt_length__82__1] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 8075(line=459, offs=1) -- 8219(line=467, offs=2)
+*/
+/*
+local: loop_83$1(level=2)
+global: loop_83$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_83__83__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret191__1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp192__1, atstype_boxed) ;
+ATStmpdec(tmp194__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp195__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8075(line=459, offs=1) -- 8219(line=467, offs=2)
+*/
+ATSINSflab(__patsflab_loop_83):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8141(line=464, offs=9) -- 8144(line=464, offs=12)
+*/
+ATSINSmove_llazyeval(tmp192__1, atstype_boxed, arg0) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8135(line=464, offs=3) -- 8217(line=466, offs=44)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8152(line=465, offs=5) -- 8168(line=465, offs=21)
+*/
+ATSINSlab(__atstmplab25):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8141(line=464, offs=9) -- 8144(line=464, offs=12)
+*/
+ATSifthen(ATSCKptriscons(tmp192__1)) { ATSINSgoto(__atstmplab28) ; } ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8168(line=465, offs=21) -- 8168(line=465, offs=21)
+*/
+ATSINSlab(__atstmplab26):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8172(line=465, offs=25) -- 8173(line=465, offs=26)
+*/
+ATSINSmove(tmpret191__1, arg1) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8178(line=466, offs=5) -- 8200(line=466, offs=27)
+*/
+ATSINSlab(__atstmplab27):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8141(line=464, offs=9) -- 8144(line=464, offs=12)
+*/
+#if(0)
+ATSifthen(ATSCKptrisnull(tmp192__1)) { ATSINSdeadcode_fail() ; } ;
+#endif
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8200(line=466, offs=27) -- 8200(line=466, offs=27)
+*/
+ATSINSlab(__atstmplab28):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8197(line=466, offs=24) -- 8199(line=466, offs=26)
+*/
+ATSINSmove(tmp194__1, ATSSELcon(tmp192__1, postiats_tysum_0, atslab__1)) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8178(line=466, offs=5) -- 8217(line=466, offs=44)
+*/
+ATSINSfreecon(tmp192__1) ;
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8213(line=466, offs=40) -- 8216(line=466, offs=43)
+*/
+ATSINSmove(tmp195__1, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 8204(line=466, offs=31) -- 8217(line=466, offs=44)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp194__1) ;
+ATSINSmove_tlcal(apy1, tmp195__1) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_loop_83) ;
+ATStailcal_end()
+
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret191__1) ;
+} /* end of [loop_83__83__1] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3372(line=121, offs=4) -- 3541(line=126, offs=6)
+*/
+/*
+local: divisors_36$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0), divisors_36$0(level=0), sum_divisors_86$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+sum_divisors_86(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret202, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp203, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3372(line=121, offs=4) -- 3541(line=126, offs=6)
+*/
+ATSINSflab(__patsflab_sum_divisors_86):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3410(line=122, offs=3) -- 3541(line=126, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3442(line=123, offs=29) -- 3452(line=123, offs=39)
+*/
+ATSINSmove(tmp203, divisors_36(arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3463(line=125, offs=5) -- 3535(line=125, offs=77)
+*/
+ATSINSmove(tmpret202, ATSLIB_056_prelude__stream_vt_foldleft_cloptr__87__1(tmp203, ATSPMVi0nt(0), ATSPMVcfunlab(1, __patsfun_91, ()))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3410(line=122, offs=3) -- 3541(line=126, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret202) ;
+} /* end of [sum_divisors_86] */
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 26263(line=1640, offs=3) -- 26743(line=1671, offs=2)
+*/
+/*
+local: 
+global: stream_vt_foldleft_cloptr$87$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = res(8865), a(8866)
+tmparg = S2Evar(res(8865)); S2Evar(a(8866))
+tmpsub = None()
+*/
+atstyvar_type(res)
+ATSLIB_056_prelude__stream_vt_foldleft_cloptr__87(atstkind_type(atstype_ptrk) arg0, atstyvar_type(res) arg1, atstype_cloptr arg2)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret204, atstyvar_type(res)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26235(line=1639, offs=1) -- 26743(line=1671, offs=2)
+*/
+ATSINSflab(__patsflab_stream_vt_foldleft_cloptr):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26284(line=1641, offs=3) -- 26743(line=1671, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26284(line=1641, offs=3) -- 26304(line=1641, offs=23)
+*/
+ATSINSmove(tmpret204, ATSfunclo_fun(PMVd2vfunlab(d2v=loop$4501(1), flab=loop_88$0(level=1)), (atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr), atstyvar_type(res))(arg0, arg1, arg2)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26284(line=1641, offs=3) -- 26743(line=1671, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret204) ;
+} /* end of [ATSLIB_056_prelude__stream_vt_foldleft_cloptr__87] */
+#endif // end of [TEMPLATE]
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 26320(line=1645, offs=1) -- 26721(line=1669, offs=4)
+*/
+/*
+local: loop_88$0(level=1)
+global: loop_88$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstyvar_type(res)
+loop_88__88(atstkind_type(atstype_ptrk) arg0, atstyvar_type(res) arg1, atstype_cloptr arg2)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(apy1, atstyvar_type(res)) ;
+ATStmpdec(apy2, atstype_cloptr) ;
+ATStmpdec(tmpret205, atstyvar_type(res)) ;
+ATStmpdec(tmpref206, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp207, atstype_boxed) ;
+// ATStmpdec_void(tmp210) ;
+ATStmpdec(tmp211, atstyvar_type(res)) ;
+ATStmpdec(tmp212, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26320(line=1645, offs=1) -- 26721(line=1669, offs=4)
+*/
+ATSINSflab(__patsflab_loop_88):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26398(line=1651, offs=6) -- 26721(line=1669, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26408(line=1652, offs=7) -- 26414(line=1652, offs=13)
+*/
+/*
+ATSINStmpdec(tmpref206) ;
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26417(line=1652, offs=16) -- 26420(line=1652, offs=19)
+*/
+ATSINSmove_llazyeval(tmpref206, atstype_boxed, arg0) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26433(line=1656, offs=1) -- 26439(line=1656, offs=7)
+*/
+ATSINSmove(tmp207, tmpref206) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26427(line=1655, offs=1) -- 26687(line=1667, offs=6)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26454(line=1658, offs=3) -- 26475(line=1659, offs=7)
+*/
+ATSINSlab(__atstmplab29):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26433(line=1656, offs=1) -- 26439(line=1656, offs=7)
+*/
+ATSifthen(ATSCKptriscons(tmp207)) { ATSINSgoto(__atstmplab32) ; } ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26475(line=1659, offs=7) -- 26475(line=1659, offs=7)
+*/
+ATSINSlab(__atstmplab30):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26487(line=1661, offs=5) -- 26519(line=1661, offs=37)
+*/
+ATSINSmove_void(tmp210, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg2))) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26521(line=1661, offs=39) -- 26524(line=1661, offs=42)
+*/
+ATSINSmove(tmpret205, arg1) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26560(line=1663, offs=3) -- 26589(line=1664, offs=14)
+*/
+ATSINSlab(__atstmplab31):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26433(line=1656, offs=1) -- 26439(line=1656, offs=7)
+*/
+#if(0)
+ATSifthen(ATSCKptrisnull(tmp207)) { ATSINSdeadcode_fail() ; } ;
+#endif
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26589(line=1664, offs=14) -- 26589(line=1664, offs=14)
+*/
+ATSINSlab(__atstmplab32):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26593(line=1664, offs=18) -- 26687(line=1667, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26611(line=1665, offs=15) -- 26624(line=1665, offs=28)
+*/
+ATSINSmove(tmp211, ATSfunclo_clo(ATSPMVrefarg0(arg2), (atstype_cloptr, atstyvar_type(res), atsrefarg1_type(atstyvar_type(a))), atstyvar_type(res))(ATSPMVrefarg0(arg2), arg1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp207, postiats_tysum_3, atslab__0))))) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26639(line=1666, offs=15) -- 26642(line=1666, offs=18)
+*/
+ATSINSmove(tmp212, ATSSELcon(tmp207, postiats_tysum_3, atslab__1)) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26646(line=1666, offs=22) -- 26658(line=1666, offs=34)
+*/
+ATSINSfreecon(tmpref206) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26661(line=1666, offs=37) -- 26681(line=1666, offs=57)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp212) ;
+ATSINSmove_tlcal(apy1, tmp211) ;
+ATSINSmove_tlcal(apy2, arg2) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSargmove_tlcal(arg2, apy2) ;
+ATSINSfgoto(__patsflab_loop_88) ;
+ATStailcal_end()
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26593(line=1664, offs=18) -- 26687(line=1667, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26398(line=1651, offs=6) -- 26721(line=1669, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret205) ;
+} /* end of [loop_88__88] */
+#endif // end of [TEMPLATE]
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 26263(line=1640, offs=3) -- 26743(line=1671, offs=2)
+*/
+/*
+local: 
+global: stream_vt_foldleft_cloptr$87$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = res(8865), a(8866)
+tmparg = S2Evar(res(8865)); S2Evar(a(8866))
+tmpsub = Some(res(8865) -> S2EVar(5752); a(8866) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
+*/
+atstkind_t0ype(atstype_int)
+ATSLIB_056_prelude__stream_vt_foldleft_cloptr__87__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1, atstype_cloptr arg2)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret204__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26235(line=1639, offs=1) -- 26743(line=1671, offs=2)
+*/
+ATSINSflab(__patsflab_stream_vt_foldleft_cloptr):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26284(line=1641, offs=3) -- 26743(line=1671, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26284(line=1641, offs=3) -- 26304(line=1641, offs=23)
+*/
+ATSINSmove(tmpret204__1, loop_88__88__1(arg0, arg1, arg2)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26284(line=1641, offs=3) -- 26743(line=1671, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret204__1) ;
+} /* end of [ATSLIB_056_prelude__stream_vt_foldleft_cloptr__87__1] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats: 26320(line=1645, offs=1) -- 26721(line=1669, offs=4)
+*/
+/*
+local: loop_88$1(level=2)
+global: loop_88$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_88__88__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1, atstype_cloptr arg2)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy2, atstype_cloptr) ;
+ATStmpdec(tmpret205__1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref206__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp207__1, atstype_boxed) ;
+// ATStmpdec_void(tmp210__1) ;
+ATStmpdec(tmp211__1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp212__1, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26320(line=1645, offs=1) -- 26721(line=1669, offs=4)
+*/
+ATSINSflab(__patsflab_loop_88):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26398(line=1651, offs=6) -- 26721(line=1669, offs=4)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26408(line=1652, offs=7) -- 26414(line=1652, offs=13)
+*/
+/*
+ATSINStmpdec(tmpref206) ;
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26417(line=1652, offs=16) -- 26420(line=1652, offs=19)
+*/
+ATSINSmove_llazyeval(tmpref206__1, atstype_boxed, arg0) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26433(line=1656, offs=1) -- 26439(line=1656, offs=7)
+*/
+ATSINSmove(tmp207__1, tmpref206__1) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26427(line=1655, offs=1) -- 26687(line=1667, offs=6)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26454(line=1658, offs=3) -- 26475(line=1659, offs=7)
+*/
+ATSINSlab(__atstmplab29):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26433(line=1656, offs=1) -- 26439(line=1656, offs=7)
+*/
+ATSifthen(ATSCKptriscons(tmp207__1)) { ATSINSgoto(__atstmplab32) ; } ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26475(line=1659, offs=7) -- 26475(line=1659, offs=7)
+*/
+ATSINSlab(__atstmplab30):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26487(line=1661, offs=5) -- 26519(line=1661, offs=37)
+*/
+ATSINSmove_void(tmp210__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg2))) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26521(line=1661, offs=39) -- 26524(line=1661, offs=42)
+*/
+ATSINSmove(tmpret205__1, arg1) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26560(line=1663, offs=3) -- 26589(line=1664, offs=14)
+*/
+ATSINSlab(__atstmplab31):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26433(line=1656, offs=1) -- 26439(line=1656, offs=7)
+*/
+#if(0)
+ATSifthen(ATSCKptrisnull(tmp207__1)) { ATSINSdeadcode_fail() ; } ;
+#endif
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26589(line=1664, offs=14) -- 26589(line=1664, offs=14)
+*/
+ATSINSlab(__atstmplab32):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26593(line=1664, offs=18) -- 26687(line=1667, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26611(line=1665, offs=15) -- 26624(line=1665, offs=28)
+*/
+ATSINSmove(tmp211__1, ATSfunclo_clo(ATSPMVrefarg0(arg2), (atstype_cloptr, atstkind_t0ype(atstype_int), atsrefarg1_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_int))(ATSPMVrefarg0(arg2), arg1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp207__1, postiats_tysum_0, atslab__0))))) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26639(line=1666, offs=15) -- 26642(line=1666, offs=18)
+*/
+ATSINSmove(tmp212__1, ATSSELcon(tmp207__1, postiats_tysum_0, atslab__1)) ;
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26646(line=1666, offs=22) -- 26658(line=1666, offs=34)
+*/
+ATSINSfreecon(tmpref206__1) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26661(line=1666, offs=37) -- 26681(line=1666, offs=57)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp212__1) ;
+ATSINSmove_tlcal(apy1, tmp211__1) ;
+ATSINSmove_tlcal(apy2, arg2) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSargmove_tlcal(arg2, apy2) ;
+ATSINSfgoto(__patsflab_loop_88) ;
+ATStailcal_end()
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26593(line=1664, offs=18) -- 26687(line=1667, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 26398(line=1651, offs=6) -- 26721(line=1669, offs=4)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret205__1) ;
+} /* end of [loop_88__88__1] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3495(line=125, offs=37) -- 3534(line=125, offs=76)
+*/
+/*
+local: 
+global: __patsfun_91$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+__patsfun_91(atstkind_t0ype(atstype_int) arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret220, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3495(line=125, offs=37) -- 3534(line=125, offs=76)
+*/
+ATSINSflab(__patsflab___patsfun_91):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3514(line=125, offs=56) -- 3534(line=125, offs=76)
+*/
+ATSINSmove(tmpret220, atspre_g0int_add_int(arg0, ATSderef(arg1, atstkind_t0ype(atstype_int)))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret220) ;
+} /* end of [__patsfun_91] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3546(line=128, offs=4) -- 3602(line=129, offs=22)
+*/
+/*
+local: sum_divisors_86$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0), divisors_36$0(level=0), sum_divisors_86$0(level=0), is_perfect_93$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_bool)
+is_perfect_93(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret221, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp224, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3546(line=128, offs=4) -- 3602(line=129, offs=22)
+*/
+ATSINSflab(__patsflab_is_perfect_93):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3583(line=129, offs=3) -- 3597(line=129, offs=17)
+*/
+ATSINSmove(tmp224, sum_divisors_86(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3583(line=129, offs=3) -- 3602(line=129, offs=22)
+*/
+ATSINSmove(tmpret221, ATSLIB_056_prelude__eq_g0int_int__12__11(tmp224, arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret221) ;
+} /* end of [is_perfect_93] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$11(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4694)
+tmparg = S2Evar(tk(4694))
+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__11(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret18__11, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp19__11, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp19__11, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret18__11, atspre_g0int_eq_int(arg0, tmp19__11)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret18__11) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__11] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3608(line=131, offs=5) -- 3928(line=145, offs=8)
+*/
+/*
+local: rip_95$0(level=0)
+global: rip_95$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+rip_95(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret225, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp226, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp231, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp232, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp235, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref236, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp237, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp240, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3608(line=131, offs=5) -- 3928(line=145, offs=8)
+*/
+ATSINSflab(__patsflab_rip_95):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3730(line=132, offs=6) -- 3735(line=132, offs=11)
+*/
+ATSINSmove(tmp231, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3730(line=132, offs=6) -- 3740(line=132, offs=16)
+*/
+ATSINSmove(tmp226, ATSLIB_056_prelude__neq_g0int_int__96__1(tmp231, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3727(line=132, offs=3) -- 3928(line=145, offs=8)
+*/
+ATSif(
+tmp226
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3750(line=133, offs=5) -- 3751(line=133, offs=6)
+*/
+ATSINSmove(tmpret225, arg0) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3766(line=135, offs=8) -- 3771(line=135, offs=13)
+*/
+ATSINSmove(tmp235, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3766(line=135, offs=8) -- 3775(line=135, offs=17)
+*/
+ATSINSmove(tmp232, ATSLIB_056_prelude__gt_g1int_int__6__5(tmp235, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3763(line=135, offs=5) -- 3928(line=145, offs=8)
+*/
+ATSif(
+tmp232
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3787(line=136, offs=7) -- 3911(line=143, offs=10)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3803(line=137, offs=13) -- 3805(line=137, offs=15)
+*/
+/*
+ATSINStmpdec(tmpref236) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3808(line=137, offs=18) -- 3813(line=137, offs=23)
+*/
+ATSINSmove(tmpref236, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3834(line=139, offs=12) -- 3840(line=139, offs=18)
+*/
+ATSINSmove(tmp237, ATSLIB_056_prelude__lt_g1int_int__22__2(tmpref236, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3831(line=139, offs=9) -- 3901(line=142, offs=12)
+*/
+ATSif(
+tmp237
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3865(line=140, offs=20) -- 3875(line=140, offs=30)
+*/
+ATSINSmove(tmp240, rip_95(tmpref236, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3856(line=140, offs=11) -- 3876(line=140, offs=31)
+*/
+ATSINSmove(tmpret225, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), tmp240)) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3900(line=142, offs=11) -- 3901(line=142, offs=12)
+*/
+ATSINSmove(tmpret225, ATSPMVi0nt(1)) ;
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3787(line=136, offs=7) -- 3911(line=143, offs=10)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3927(line=145, offs=7) -- 3928(line=145, offs=8)
+*/
+ATSINSmove(tmpret225, ATSPMVi0nt(1)) ;
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret225) ;
+} /* end of [rip_95] */
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12337(line=639, offs=3) -- 12377(line=639, offs=43)
+*/
+/*
+local: 
+global: neq_g0int_int$96$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = tk(4695)
+tmparg = S2Evar(tk(4695))
+tmpsub = None()
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g0int_int__96(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret227, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp228, atstkind_t0ype(atstyvar_type(tk))) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12321(line=638, offs=1) -- 12377(line=639, offs=43)
+*/
+ATSINSflab(__patsflab_neq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12364(line=639, offs=30) -- 12375(line=639, offs=41)
+*/
+ATSINSmove(tmp228, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4695))>)(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12346(line=639, offs=12) -- 12377(line=639, offs=43)
+*/
+ATSINSmove(tmpret227, PMVtmpltcst(g0int_neq<S2Evar(tk(4695))>)(arg0, tmp228)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret227) ;
+} /* end of [ATSLIB_056_prelude__neq_g0int_int__96] */
+#endif // end of [TEMPLATE]
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12337(line=639, offs=3) -- 12377(line=639, offs=43)
+*/
+/*
+local: 
+global: neq_g0int_int$96$1(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4695)
+tmparg = S2Evar(tk(4695))
+tmpsub = Some(tk(4695) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g0int_int__96__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret227__1, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp228__1, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12321(line=638, offs=1) -- 12377(line=639, offs=43)
+*/
+ATSINSflab(__patsflab_neq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12364(line=639, offs=30) -- 12375(line=639, offs=41)
+*/
+ATSINSmove(tmp228__1, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12346(line=639, offs=12) -- 12377(line=639, offs=43)
+*/
+ATSINSmove(tmpret227__1, atspre_g0int_neq_int(arg0, tmp228__1)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret227__1) ;
+} /* end of [ATSLIB_056_prelude__neq_g0int_int__96__1] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$5(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4703)
+tmparg = S2Evar(tk(4703))
+tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret11__5, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp12__5, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp12__5, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret11__5, atspre_g1int_gt_int(arg0, tmp12__5)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret11__5) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__5] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
+*/
+/*
+local: 
+global: lt_g1int_int$22$2(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4697)
+tmparg = S2Evar(tk(4697))
+tmpsub = Some(tk(4697) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__22__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret33__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp34__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
+*/
+ATSINSmove(tmp34__2, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
+*/
+ATSINSmove(tmpret33__2, atspre_g1int_lt_int(arg0, tmp34__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret33__2) ;
+} /* end of [ATSLIB_056_prelude__lt_g1int_int__22__2] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3960(line=148, offs=4) -- 4406(line=166, offs=6)
+*/
+/*
+local: is_prime_20$0(level=0), rip_95$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), rip_95$0(level=0), little_omega_101$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+little_omega_101(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret241, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 3960(line=148, offs=4) -- 4406(line=166, offs=6)
+*/
+ATSINSflab(__patsflab_little_omega_101):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4004(line=149, offs=3) -- 4406(line=166, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4390(line=165, offs=5) -- 4400(line=165, offs=15)
+*/
+ATSINSmove(tmpret241, loop_102(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4004(line=149, offs=3) -- 4406(line=166, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret241) ;
+} /* end of [little_omega_101] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4016(line=150, offs=9) -- 4380(line=163, offs=27)
+*/
+/*
+local: is_prime_20$0(level=0), rip_95$0(level=0), loop_102$0(level=1)
+global: is_prime_20$0(level=0), rip_95$0(level=0), loop_102$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_102(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret242, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp243, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp246, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp247, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp248, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp251, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp252, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp255, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp256, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp257, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp258, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4016(line=150, offs=9) -- 4380(line=163, offs=27)
+*/
+ATSINSflab(__patsflab_loop_102):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4110(line=151, offs=10) -- 4118(line=151, offs=18)
+*/
+ATSINSmove(tmp243, ATSLIB_056_prelude__gte_g1int_int__40__2(arg1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4107(line=151, offs=7) -- 4380(line=163, offs=27)
+*/
+ATSif(
+tmp243
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4135(line=152, offs=12) -- 4145(line=152, offs=22)
+*/
+ATSINSmove(tmp246, is_prime_20(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4132(line=152, offs=9) -- 4188(line=155, offs=12)
+*/
+ATSif(
+tmp246
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4162(line=153, offs=11) -- 4163(line=153, offs=12)
+*/
+ATSINSmove(tmpret242, ATSPMVi0nt(1)) ;
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4187(line=155, offs=11) -- 4188(line=155, offs=12)
+*/
+ATSINSmove(tmpret242, ATSPMVi0nt(0)) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4211(line=157, offs=12) -- 4238(line=157, offs=39)
+*/
+ATSINSmove(tmp251, atspre_g0int_mod_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4211(line=157, offs=12) -- 4238(line=157, offs=39)
+*/
+ATSINSmove(tmp248, ATSLIB_056_prelude__eq_g0int_int__12__12(tmp251, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4211(line=157, offs=12) -- 4238(line=157, offs=39)
+*/
+ATSif(
+tmp248
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4211(line=157, offs=12) -- 4238(line=157, offs=39)
+*/
+ATSINSmove(tmp247, is_prime_20(arg1)) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4211(line=157, offs=12) -- 4238(line=157, offs=39)
+*/
+ATSINSmove(tmp247, ATSPMVbool_false()) ;
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4208(line=157, offs=9) -- 4380(line=163, offs=27)
+*/
+ATSif(
+tmp247
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4258(line=158, offs=14) -- 4265(line=158, offs=21)
+*/
+ATSINSmove(tmp255, atspre_g1int_div_int(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4258(line=158, offs=14) -- 4269(line=158, offs=25)
+*/
+ATSINSmove(tmp252, ATSLIB_056_prelude__gt_g1int_int__6__6(tmp255, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4255(line=158, offs=11) -- 4340(line=161, offs=14)
+*/
+ATSif(
+tmp252
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4296(line=159, offs=22) -- 4307(line=159, offs=33)
+*/
+ATSINSmove(tmp257, rip_95(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4291(line=159, offs=17) -- 4311(line=159, offs=37)
+*/
+ATSINSmove(tmp256, loop_102(tmp257, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4287(line=159, offs=13) -- 4311(line=159, offs=37)
+*/
+ATSINSmove(tmpret242, atspre_g0int_add_int(ATSPMVi0nt(1), tmp256)) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4339(line=161, offs=13) -- 4340(line=161, offs=14)
+*/
+ATSINSmove(tmpret242, ATSPMVi0nt(1)) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4372(line=163, offs=19) -- 4379(line=163, offs=26)
+*/
+ATSINSmove(tmp258, atspre_g1int_add_int(arg1, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4364(line=163, offs=11) -- 4380(line=163, offs=27)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, arg0) ;
+ATSINSmove_tlcal(apy1, tmp258) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_loop_102) ;
+ATStailcal_end()
+
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret242) ;
+} /* end of [loop_102] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
+*/
+/*
+local: 
+global: gte_g1int_int$40$2(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4706)
+tmparg = S2Evar(tk(4706))
+tmpsub = Some(tk(4706) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__40__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret71__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp72__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
+*/
+ATSINSflab(__patsflab_gte_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
+*/
+ATSINSmove(tmp72__2, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
+*/
+ATSINSmove(tmpret71__2, atspre_g1int_gte_int(arg0, tmp72__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret71__2) ;
+} /* end of [ATSLIB_056_prelude__gte_g1int_int__40__2] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$12(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4694)
+tmparg = S2Evar(tk(4694))
+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__12(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret18__12, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp19__12, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp19__12, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret18__12, atspre_g0int_eq_int(arg0, tmp19__12)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret18__12) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__12] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12679(line=659, offs=3) -- 12718(line=659, offs=42)
+*/
+/*
+local: 
+global: gt_g1int_int$6$6(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4703)
+tmparg = S2Evar(tk(4703))
+tmpsub = Some(tk(4703) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gt_g1int_int__6__6(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret11__6, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp12__6, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12664(line=658, offs=1) -- 12718(line=659, offs=42)
+*/
+ATSINSflab(__patsflab_gt_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12705(line=659, offs=29) -- 12716(line=659, offs=40)
+*/
+ATSINSmove(tmp12__6, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12688(line=659, offs=12) -- 12718(line=659, offs=42)
+*/
+ATSINSmove(tmpret11__6, atspre_g1int_gt_int(arg0, tmp12__6)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret11__6) ;
+} /* end of [ATSLIB_056_prelude__gt_g1int_int__6__6] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4440(line=169, offs=4) -- 4988(line=189, offs=10)
+*/
+/*
+local: is_prime_20$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), totient_106$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+totient_106(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret259, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4440(line=169, offs=4) -- 4988(line=189, offs=10)
+*/
+ATSINSflab(__patsflab_totient_106):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4473(line=170, offs=3) -- 4988(line=189, offs=10)
+*/
+ATScaseof_beg()
+/*
+** ibranchlst-beg
+*/
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4490(line=171, offs=7) -- 4491(line=171, offs=8)
+*/
+ATSINSlab(__atstmplab33):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4448(line=169, offs=12) -- 4449(line=169, offs=13)
+*/
+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab35) ; } ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4491(line=171, offs=8) -- 4491(line=171, offs=8)
+*/
+ATSINSlab(__atstmplab34):
+/*
+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
+*/
+/*
+ibranch-mbody:
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4495(line=171, offs=12) -- 4496(line=171, offs=13)
+*/
+ATSINSmove(tmpret259, ATSPMVi0nt(1)) ;
+ATSbranch_end()
+
+ATSbranch_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4504(line=172, offs=8) -- 4504(line=172, offs=8)
+*/
+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/fast-arithmetic/ats-src/number-theory.dats: 4530(line=174, offs=9) -- 4978(line=188, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4956(line=187, offs=11) -- 4966(line=187, offs=21)
+*/
+ATSINSmove(tmpret259, loop_107(ATSPMVi0nt(1), arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4530(line=174, offs=9) -- 4978(line=188, offs=12)
+*/
+/*
+INSletpop()
+*/
+ATSbranch_end()
+
+/*
+** ibranchlst-end
+*/
+ATScaseof_end()
+
+ATSfunbody_end()
+ATSreturn(tmpret259) ;
+} /* end of [totient_106] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4548(line=175, offs=15) -- 4934(line=185, offs=31)
+*/
+/*
+local: is_prime_20$0(level=0), loop_107$0(level=1)
+global: is_prime_20$0(level=0), loop_107$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_t0ype(atstype_int)
+loop_107(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret260, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp261, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp264, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp265, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp266, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp267, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp270, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp273, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp274, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp275, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp276, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp277, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+/*
+emit_funent_fnxdeclst:
+*/
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4548(line=175, offs=15) -- 4934(line=185, offs=31)
+*/
+ATSINSflab(__patsflab_loop_107):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4659(line=176, offs=16) -- 4665(line=176, offs=22)
+*/
+ATSINSmove(tmp261, ATSLIB_056_prelude__gte_g1int_int__40__3(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4656(line=176, offs=13) -- 4934(line=185, offs=31)
+*/
+ATSif(
+tmp261
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4688(line=177, offs=18) -- 4698(line=177, offs=28)
+*/
+ATSINSmove(tmp264, is_prime_20(arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4685(line=177, offs=15) -- 4763(line=180, offs=18)
+*/
+ATSif(
+tmp264
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4721(line=178, offs=17) -- 4726(line=178, offs=22)
+*/
+ATSINSmove(tmpret260, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4762(line=180, offs=17) -- 4763(line=180, offs=18)
+*/
+ATSINSmove(tmpret260, arg1) ;
+} /* ATSendif */
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
+*/
+ATSINSmove(tmp270, atspre_g0int_mod_int(arg1, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
+*/
+ATSINSmove(tmp267, ATSLIB_056_prelude__eq_g0int_int__12__13(tmp270, ATSPMVi0nt(0))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
+*/
+ATSif(
+tmp267
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
+*/
+ATSINSmove(tmp266, is_prime_20(arg0)) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
+*/
+ATSINSmove(tmp266, ATSPMVbool_false()) ;
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
+*/
+ATSif(
+tmp266
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
+*/
+ATSINSmove(tmp265, ATSLIB_056_prelude__neq_g1int_int__44__2(arg0, arg1)) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)
+*/
+ATSINSmove(tmp265, ATSPMVbool_false()) ;
+} /* ATSendif */
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4795(line=182, offs=15) -- 4934(line=185, offs=31)
+*/
+ATSif(
+tmp265
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4860(line=183, offs=23) -- 4865(line=183, offs=28)
+*/
+ATSINSmove(tmp275, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4855(line=183, offs=18) -- 4869(line=183, offs=32)
+*/
+ATSINSmove(tmp274, loop_107(tmp275, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4855(line=183, offs=18) -- 4873(line=183, offs=36)
+*/
+ATSINSmove(tmp273, atspre_g0int_div_int(tmp274, arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4878(line=183, offs=41) -- 4883(line=183, offs=46)
+*/
+ATSINSmove(tmp276, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4854(line=183, offs=17) -- 4884(line=183, offs=47)
+*/
+ATSINSmove(tmpret260, atspre_g0int_mul_int(tmp273, tmp276)) ;
+
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4925(line=185, offs=22) -- 4930(line=185, offs=27)
+*/
+ATSINSmove(tmp277, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4920(line=185, offs=17) -- 4934(line=185, offs=31)
+*/
+ATStailcal_beg()
+ATSINSmove_tlcal(apy0, tmp277) ;
+ATSINSmove_tlcal(apy1, arg1) ;
+ATSINSargmove_tlcal(arg0, apy0) ;
+ATSINSargmove_tlcal(arg1, apy1) ;
+ATSINSfgoto(__patsflab_loop_107) ;
+ATStailcal_end()
+
+} /* ATSendif */
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret260) ;
+/*
+emit_funent_fnxbodylst:
+*/
+} /* end of [loop_107] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12757(line=663, offs=3) -- 12797(line=663, offs=43)
+*/
+/*
+local: 
+global: gte_g1int_int$40$3(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4706)
+tmparg = S2Evar(tk(4706))
+tmpsub = Some(tk(4706) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__gte_g1int_int__40__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret71__3, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp72__3, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12741(line=662, offs=1) -- 12797(line=663, offs=43)
+*/
+ATSINSflab(__patsflab_gte_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12784(line=663, offs=30) -- 12795(line=663, offs=41)
+*/
+ATSINSmove(tmp72__3, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12766(line=663, offs=12) -- 12797(line=663, offs=43)
+*/
+ATSINSmove(tmpret71__3, atspre_g1int_gte_int(arg0, tmp72__3)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret71__3) ;
+} /* end of [ATSLIB_056_prelude__gte_g1int_int__40__3] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12259(line=635, offs=3) -- 12298(line=635, offs=42)
+*/
+/*
+local: 
+global: eq_g0int_int$12$13(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4694)
+tmparg = S2Evar(tk(4694))
+tmpsub = Some(tk(4694) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__eq_g0int_int__12__13(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret18__13, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp19__13, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12244(line=634, offs=1) -- 12298(line=635, offs=42)
+*/
+ATSINSflab(__patsflab_eq_g0int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12285(line=635, offs=29) -- 12296(line=635, offs=40)
+*/
+ATSINSmove(tmp19__13, atspre_g0int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12268(line=635, offs=12) -- 12298(line=635, offs=42)
+*/
+ATSINSmove(tmpret18__13, atspre_g0int_eq_int(arg0, tmp19__13)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret18__13) ;
+} /* end of [ATSLIB_056_prelude__eq_g0int_int__12__13] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12916(line=672, offs=3) -- 12956(line=672, offs=43)
+*/
+/*
+local: 
+global: neq_g1int_int$44$2(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4712)
+tmparg = S2Evar(tk(4712))
+tmpsub = Some(tk(4712) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__neq_g1int_int__44__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret81__2, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp82__2, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12900(line=671, offs=1) -- 12956(line=672, offs=43)
+*/
+ATSINSflab(__patsflab_neq_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12943(line=672, offs=30) -- 12954(line=672, offs=41)
+*/
+ATSINSmove(tmp82__2, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12925(line=672, offs=12) -- 12956(line=672, offs=43)
+*/
+ATSINSmove(tmpret81__2, atspre_g1int_neq_int(arg0, tmp82__2)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret81__2) ;
+} /* end of [ATSLIB_056_prelude__neq_g1int_int__44__2] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5041(line=192, offs=5) -- 5429(line=206, offs=6)
+*/
+/*
+local: witness_0$0(level=0), totient_106$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), totient_106$0(level=0), totient_sum_111$0(level=0)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+totient_sum_111(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret278, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5041(line=192, offs=5) -- 5429(line=206, offs=6)
+*/
+ATSINSflab(__patsflab_totient_sum_111):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5081(line=193, offs=3) -- 5429(line=206, offs=6)
+*/
+/*
+letpush(beg)
+*/
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5413(line=205, offs=5) -- 5423(line=205, offs=15)
+*/
+ATSINSmove(tmpret278, loop_112(ATSPMVi0nt(1), arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5081(line=193, offs=3) -- 5429(line=206, offs=6)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret278) ;
+} /* end of [totient_sum_111] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5093(line=194, offs=9) -- 5403(line=203, offs=40)
+*/
+/*
+local: witness_0$0(level=0), totient_106$0(level=0), loop_112$0(level=1)
+global: witness_0$0(level=0), totient_106$0(level=0), loop_112$0(level=1)
+local: 
+global: 
+*/
+ATSstatic()
+atstkind_type(atstype_ptrk)
+loop_112(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpret279, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp280, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmpref283, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp284, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmpref285, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp290, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp291, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp299, atstkind_t0ype(atstype_int)) ;
+ATStmpdec(tmp300, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+/*
+emit_funent_fnxdeclst:
+*/
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5093(line=194, offs=9) -- 5403(line=203, offs=40)
+*/
+ATSINSflab(__patsflab_loop_112):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5196(line=195, offs=10) -- 5205(line=195, offs=19)
+*/
+ATSINSmove(tmp280, ATSLIB_056_prelude__lt_g1int_int__22__3(arg0, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5193(line=195, offs=7) -- 5403(line=203, offs=40)
+*/
+ATSif(
+tmp280
+) ATSthen() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5219(line=196, offs=9) -- 5352(line=201, offs=12)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5237(line=197, offs=15) -- 5238(line=197, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref283) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5246(line=197, offs=24) -- 5251(line=197, offs=29)
+*/
+ATSINSmove(tmp284, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5241(line=197, offs=19) -- 5259(line=197, offs=37)
+*/
+ATSINSmove(tmpref283, loop_112(tmp284, arg1)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5274(line=198, offs=15) -- 5275(line=198, offs=16)
+*/
+/*
+ATSINStmpdec(tmpref285) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5305(line=198, offs=46) -- 5314(line=198, offs=55)
+*/
+ATSINSmove(tmp291, totient_106(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5297(line=198, offs=38) -- 5316(line=198, offs=57)
+*/
+ATSINSmove(tmp290, witness_0(tmp291)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5278(line=198, offs=19) -- 5317(line=198, offs=58)
+*/
+ATSINSmove(tmpref285, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__114__1(tmpref283, tmp290)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5339(line=200, offs=11) -- 5340(line=200, offs=12)
+*/
+ATSINSmove(tmpret279, tmpref285) ;
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5219(line=196, offs=9) -- 5352(line=201, offs=12)
+*/
+/*
+INSletpop()
+*/
+} ATSelse() {
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5372(line=203, offs=9) -- 5403(line=203, offs=40)
+*/
+ATSINSmove(tmp300, totient_106(arg0)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5372(line=203, offs=9) -- 5403(line=203, offs=40)
+*/
+ATSINSmove(tmp299, witness_0(tmp300)) ;
+
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5372(line=203, offs=9) -- 5403(line=203, offs=40)
+*/
+ATSINSmove(tmpret279, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__116__1(tmp299)) ;
+
+} /* ATSendif */
+ATSfunbody_end()
+ATSreturn(tmpret279) ;
+/*
+emit_funent_fnxbodylst:
+*/
+} /* end of [loop_112] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)
+*/
+/*
+local: 
+global: lt_g1int_int$22$3(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = tk(4697)
+tmparg = S2Evar(tk(4697))
+tmpsub = Some(tk(4697) -> S2Eextkind(atstype_int))
+*/
+atstkind_t0ype(atstype_bool)
+ATSLIB_056_prelude__lt_g1int_int__22__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret33__3, atstkind_t0ype(atstype_bool)) ;
+ATStmpdec(tmp34__3, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12505(line=649, offs=1) -- 12559(line=650, offs=42)
+*/
+ATSINSflab(__patsflab_lt_g1int_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12546(line=650, offs=29) -- 12557(line=650, offs=40)
+*/
+ATSINSmove(tmp34__3, atspre_g1int2int_int_int(arg1)) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12529(line=650, offs=12) -- 12559(line=650, offs=42)
+*/
+ATSINSmove(tmpret33__3, atspre_g1int_lt_int(arg0, tmp34__3)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret33__3) ;
+} /* end of [ATSLIB_056_prelude__lt_g1int_int__22__3] */
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5151(line=274, offs=3) -- 5217(line=279, offs=2)
+*/
+/*
+local: 
+global: add_intinf0_int$114$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__114(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret286, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp287) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5133(line=273, offs=1) -- 5217(line=279, offs=2)
+*/
+ATSINSflab(__patsflab_add_intinf0_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5184(line=277, offs=10) -- 5212(line=277, offs=38)
+*/
+ATSINSmove_void(tmp287, atscntrb_gmp_mpz_add2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5161(line=274, offs=13) -- 5162(line=274, offs=14)
+*/
+ATSINSmove(tmpret286, arg0) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret286) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__114] */
+#endif // end of [TEMPLATE]
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5151(line=274, offs=3) -- 5217(line=279, offs=2)
+*/
+/*
+local: 
+global: add_intinf0_int$114$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__114__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret286__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp287__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5133(line=273, offs=1) -- 5217(line=279, offs=2)
+*/
+ATSINSflab(__patsflab_add_intinf0_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5184(line=277, offs=10) -- 5212(line=277, offs=38)
+*/
+ATSINSmove_void(tmp287__1, atscntrb_gmp_mpz_add2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5161(line=274, offs=13) -- 5162(line=274, offs=14)
+*/
+ATSINSmove(tmpret286__1, arg0) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret286__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__114__1] */
+
+#if(0)
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$116$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+/*
+imparg = 
+tmparg = 
+tmpsub = None()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__116(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret292, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp293, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp294) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp293, PMVtmpltcst(ptr_alloc<S2Ecst(mpz_vt0ype)>)()) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp294, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp293, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret292, tmp293) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret292) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__116] */
+#endif // end of [TEMPLATE]
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)
+*/
+/*
+local: 
+global: intinf_make_int$116$1(level=2)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = 
+tmparg = 
+tmpsub = Some()
+*/
+atstkind_type(atstype_ptrk)
+ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__116__1(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret292__1, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmp293__1, atstkind_type(atstype_ptrk)) ;
+// ATStmpdec_void(tmp294__1) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2191(line=73, offs=1) -- 2301(line=80, offs=2)
+*/
+ATSINSflab(__patsflab_intinf_make_int):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+letpush(beg)
+*/
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2238(line=77, offs=9) -- 2254(line=77, offs=25)
+*/
+ATSINSmove(tmp293__1, ATSLIB_056_prelude__ptr_alloc__2__2()) ;
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2264(line=78, offs=10) -- 2296(line=78, offs=42)
+*/
+ATSINSmove_void(tmp294__1, atscntrb_gmp_mpz_init_set_int(ATSPMVrefarg1(ATSSELrecsin(tmp293__1, atstkind_type(atstype_ptrk), atslab__2)), arg0)) ;
+
+/*
+letpush(end)
+*/
+
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2216(line=74, offs=10) -- 2217(line=74, offs=11)
+*/
+ATSINSmove(tmpret292__1, tmp293__1) ;
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2215(line=74, offs=9) -- 2301(line=80, offs=2)
+*/
+/*
+INSletpop()
+*/
+ATSfunbody_end()
+ATSreturn(tmpret292__1) ;
+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__116__1] */
+
+/*
+/usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats: 3717(line=184, offs=10) -- 3749(line=184, offs=42)
+*/
+/*
+local: 
+global: ptr_alloc$2$2(level=3)
+local: 
+global: 
+*/
+ATSstatic()
+/*
+imparg = a(4806)
+tmparg = S2Evar(a(4806))
+tmpsub = Some(a(4806) -> S2Ecst(mpz_vt0ype))
+*/
+atstkind_type(atstype_ptrk)
+ATSLIB_056_prelude__ptr_alloc__2__2()
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret3__2, atstkind_type(atstype_ptrk)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3708(line=184, offs=1) -- 3749(line=184, offs=42)
+*/
+ATSINSflab(__patsflab_ptr_alloc):
+/*
+emit_instr: loc0 = /usr/local/lib/ats2-postiats-0.3.8/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 3722(line=184, offs=15) -- 3749(line=184, offs=42)
+*/
+ATSINSmove(tmpret3__2, atspre_ptr_alloc_tsz(ATSPMVsizeof(atscntrb_gmp_mpz))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret3__2) ;
+} /* end of [ATSLIB_056_prelude__ptr_alloc__2__2] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 551(line=30, offs=28) -- 573(line=31, offs=17)
+*/
+/*
+local: sum_divisors_86$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0), divisors_36$0(level=0), sum_divisors_86$0(level=0), sum_divisors_ats$119$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_int)
+sum_divisors_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret301, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 534(line=30, offs=11) -- 574(line=31, offs=18)
+*/
+ATSINSflab(__patsflab_sum_divisors_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 559(line=31, offs=3) -- 573(line=31, offs=17)
+*/
+ATSINSmove(tmpret301, sum_divisors_86(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret301) ;
+} /* end of [sum_divisors_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 605(line=33, offs=30) -- 629(line=34, offs=19)
+*/
+/*
+local: count_divisors_81$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0), divisors_36$0(level=0), count_divisors_81$0(level=0), count_divisors_ats$120$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_int)
+count_divisors_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret302, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 586(line=33, offs=11) -- 630(line=34, offs=20)
+*/
+ATSINSflab(__patsflab_count_divisors_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 613(line=34, offs=3) -- 629(line=34, offs=19)
+*/
+ATSINSmove(tmpret302, count_divisors_81(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret302) ;
+} /* end of [count_divisors_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 654(line=36, offs=23) -- 671(line=37, offs=12)
+*/
+/*
+local: totient_106$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), totient_106$0(level=0), totient_ats$121$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_int)
+totient_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret303, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 642(line=36, offs=11) -- 672(line=37, offs=13)
+*/
+ATSINSflab(__patsflab_totient_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 662(line=37, offs=3) -- 671(line=37, offs=12)
+*/
+ATSINSmove(tmpret303, totient_106(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret303) ;
+} /* end of [totient_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 701(line=39, offs=28) -- 723(line=40, offs=17)
+*/
+/*
+local: little_omega_101$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), rip_95$0(level=0), little_omega_101$0(level=0), little_omega_ats$122$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_int)
+little_omega_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret304, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 684(line=39, offs=11) -- 724(line=40, offs=18)
+*/
+ATSINSflab(__patsflab_little_omega_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 709(line=40, offs=3) -- 723(line=40, offs=17)
+*/
+ATSINSmove(tmpret304, little_omega_101(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret304) ;
+} /* end of [little_omega_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 751(line=42, offs=26) -- 771(line=43, offs=15)
+*/
+/*
+local: is_perfect_93$0(level=0)
+global: witness_0$0(level=0), sqrt_int_17$0(level=0), divisors_36$0(level=0), sum_divisors_86$0(level=0), is_perfect_93$0(level=0), is_perfect_ats$123$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_bool)
+is_perfect_ats(atstkind_t0ype(atstype_int) arg0)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret305, atstkind_t0ype(atstype_bool)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 736(line=42, offs=11) -- 772(line=43, offs=16)
+*/
+ATSINSflab(__patsflab_is_perfect_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 759(line=43, offs=3) -- 771(line=43, offs=15)
+*/
+ATSINSmove(tmpret305, is_perfect_93(arg0)) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret305) ;
+} /* end of [is_perfect_ats] */
+
+/*
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 795(line=45, offs=22) -- 828(line=46, offs=25)
+*/
+/*
+local: jacobi_72$0(level=0)
+global: witness_0$0(level=0), exp_5$0(level=0), sqrt_int_17$0(level=0), is_prime_20$0(level=0), div_gt_zero_65$0(level=0), exp_mod_prime_66$0(level=0), jacobi_72$0(level=0), jacobi_ats$124$0(level=0)
+local: 
+global: 
+*/
+ATSextern()
+atstkind_t0ype(atstype_int)
+jacobi_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
+{
+/* tmpvardeclst(beg) */
+ATStmpdec(tmpret306, atstkind_t0ype(atstype_int)) ;
+/* tmpvardeclst(end) */
+ATSfunbody_beg()
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 784(line=45, offs=11) -- 828(line=46, offs=25)
+*/
+ATSINSflab(__patsflab_jacobi_ats):
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory-ffi.dats: 806(line=46, offs=3) -- 828(line=46, offs=25)
+*/
+ATSINSmove(tmpret306, jacobi_72(arg0, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), arg1))) ;
+
+ATSfunbody_end()
+ATSreturn(tmpret306) ;
 } /* end of [jacobi_ats] */
 
 /*
diff --git a/cbits/numerics.c b/cbits/numerics.c
--- a/cbits/numerics.c
+++ b/cbits/numerics.c
@@ -1,7 +1,7 @@
 /*
 **
 ** The C code is generated by [ATS/Postiats-0-3-8]
-** The starting compilation time is: 2018-1-13: 13h:42m
+** The starting compilation time is: 2018-1-14: 18h:19m
 **
 */
 
@@ -563,7 +563,7 @@
 #endif // end of [QUALIFIED]
 
 /*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 305(line=11, offs=4) -- 360(line=12, offs=14)
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 753(line=23, offs=4) -- 808(line=24, offs=14)
 */
 /*
 local: 
@@ -580,11 +580,11 @@
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 305(line=11, offs=4) -- 360(line=12, offs=14)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 753(line=23, offs=4) -- 808(line=24, offs=14)
 */
 ATSINSflab(__patsflab_witness_0):
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 349(line=12, offs=3) -- 359(line=12, offs=13)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 797(line=24, offs=3) -- 807(line=24, offs=13)
 */
 ATSINSmove(tmpret0, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), arg0)) ;
 ATSfunbody_end()
@@ -592,7 +592,7 @@
 } /* end of [witness_0] */
 
 /*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 425(line=15, offs=5) -- 644(line=23, offs=6)
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 873(line=27, offs=5) -- 1092(line=35, offs=6)
 */
 /*
 local: 
@@ -606,58 +606,70 @@
 {
 /* tmpvardeclst(beg) */
 ATStmpdec(tmpret1, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp2, atstkind_type(atstype_ptrk)) ;
-ATStmpdec(tmp5, atstkind_t0ype(atstype_ulint)) ;
+ATStmpdec(tmpref2, atstkind_type(atstype_ptrk)) ;
+ATStmpdec(tmpref5, atstkind_t0ype(atstype_ulint)) ;
 ATStmpdec(tmp6, atstkind_t0ype(atstype_int)) ;
 // ATStmpdec_void(tmp7) ;
 // ATStmpdec_void(tmp8) ;
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 425(line=15, offs=5) -- 644(line=23, offs=6)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 873(line=27, offs=5) -- 1092(line=35, offs=6)
 */
 ATSINSflab(__patsflab_fib_gmp_1):
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 461(line=16, offs=3) -- 644(line=23, offs=6)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 909(line=28, offs=3) -- 1092(line=35, offs=6)
 */
 /*
 letpush(beg)
 */
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 477(line=17, offs=13) -- 488(line=17, offs=24)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 921(line=29, offs=9) -- 922(line=29, offs=10)
 */
-ATSINSmove(tmp2, ATSLIB_056_prelude__ptr_alloc__2__1()) ;
+/*
+ATSINStmpdec(tmpref2) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 925(line=29, offs=13) -- 936(line=29, offs=24)
+*/
+ATSINSmove(tmpref2, ATSLIB_056_prelude__ptr_alloc__2__1()) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 529(line=18, offs=41) -- 534(line=18, offs=46)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 945(line=30, offs=9) -- 946(line=30, offs=10)
 */
+/*
+ATSINStmpdec(tmpref5) ;
+*/
+/*
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 977(line=30, offs=41) -- 982(line=30, offs=46)
+*/
 ATSINSmove(tmp6, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 508(line=18, offs=20) -- 535(line=18, offs=47)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 956(line=30, offs=20) -- 983(line=30, offs=47)
 */
-ATSINSmove(tmp5, atspre_g0int2uint_int_ulint(tmp6)) ;
+ATSINSmove(tmpref5, atspre_g0int2uint_int_ulint(tmp6)) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 549(line=19, offs=14) -- 570(line=19, offs=35)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 997(line=31, offs=14) -- 1018(line=31, offs=35)
 */
-ATSINSmove_void(tmp7, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmp2, atstkind_type(atstype_ptrk), atslab__2)))) ;
+ATSINSmove_void(tmp7, atscntrb_gmp_mpz_init(ATSPMVrefarg1(ATSSELrecsin(tmpref2, atstkind_type(atstype_ptrk), atslab__2)))) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 584(line=20, offs=14) -- 612(line=20, offs=42)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1032(line=32, offs=14) -- 1060(line=32, offs=42)
 */
-ATSINSmove_void(tmp8, atscntrb_gmp_mpz_fib_uint(ATSPMVrefarg1(ATSSELrecsin(tmp2, atstkind_type(atstype_ptrk), atslab__2)), tmp5)) ;
+ATSINSmove_void(tmp8, atscntrb_gmp_mpz_fib_uint(ATSPMVrefarg1(ATSSELrecsin(tmpref2, atstkind_type(atstype_ptrk), atslab__2)), tmpref5)) ;
 
 /*
 letpush(end)
 */
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 622(line=22, offs=5) -- 637(line=22, offs=20)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1070(line=34, offs=5) -- 1085(line=34, offs=20)
 */
-ATSINSmove(tmpret1, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmp2)) ;
+ATSINSmove(tmpret1, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref2)) ;
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 461(line=16, offs=3) -- 644(line=23, offs=6)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 909(line=28, offs=3) -- 1092(line=35, offs=6)
 */
 /*
 INSletpop()
@@ -739,7 +751,7 @@
 } /* end of [ATSLIB_056_prelude__ptr_alloc__2__1] */
 
 /*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 722(line=26, offs=5) -- 1163(line=47, offs=10)
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1170(line=38, offs=5) -- 1611(line=59, offs=10)
 */
 /*
 local: exp_5$0(level=0)
@@ -766,11 +778,11 @@
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 722(line=26, offs=5) -- 1163(line=47, offs=10)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1170(line=38, offs=5) -- 1611(line=59, offs=10)
 */
 ATSINSflab(__patsflab_exp_5):
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 774(line=27, offs=3) -- 1163(line=47, offs=10)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1222(line=39, offs=3) -- 1611(line=59, offs=10)
 */
 ATScaseof_beg()
 /*
@@ -778,15 +790,15 @@
 */
 ATSbranch_beg()
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 791(line=28, offs=7) -- 792(line=28, offs=8)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1239(line=40, offs=7) -- 1240(line=40, offs=8)
 */
 ATSINSlab(__atstmplab0):
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 743(line=26, offs=26) -- 744(line=26, offs=27)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1191(line=38, offs=26) -- 1192(line=38, offs=27)
 */
 ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(0))) { ATSINSgoto(__atstmplab2) ; } ;
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 792(line=28, offs=8) -- 792(line=28, offs=8)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1240(line=40, offs=8) -- 1240(line=40, offs=8)
 */
 ATSINSlab(__atstmplab1):
 /*
@@ -796,14 +808,14 @@
 ibranch-mbody:
 */
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 796(line=28, offs=12) -- 797(line=28, offs=13)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1244(line=40, offs=12) -- 1245(line=40, offs=13)
 */
 ATSINSmove(tmpret9, ATSPMVi0nt(0)) ;
 ATSbranch_end()
 
 ATSbranch_beg()
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 805(line=29, offs=8) -- 805(line=29, offs=8)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1253(line=41, offs=8) -- 1253(line=41, offs=8)
 */
 ATSINSlab(__atstmplab2):
 /*
@@ -813,41 +825,41 @@
 ibranch-mbody:
 */
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 834(line=31, offs=12) -- 839(line=31, offs=17)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1282(line=43, offs=12) -- 1287(line=43, offs=17)
 */
 ATSINSmove(tmp10, ATSLIB_056_prelude__gt_g1int_int__6__1(arg1, ATSPMVi0nt(0))) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 831(line=31, offs=9) -- 1153(line=46, offs=12)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1279(line=43, offs=9) -- 1601(line=58, offs=12)
 */
 ATSif(
 tmp10
 ) ATSthen() {
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 855(line=32, offs=11) -- 1128(line=44, offs=14)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1303(line=44, offs=11) -- 1576(line=56, offs=14)
 */
 /*
 letpush(beg)
 */
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 875(line=33, offs=17) -- 877(line=33, offs=19)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1323(line=45, offs=17) -- 1325(line=45, offs=19)
 */
 /*
 ATSINStmpdec(tmpref15) ;
 */
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 880(line=33, offs=22) -- 886(line=33, offs=28)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1328(line=45, offs=22) -- 1334(line=45, offs=28)
 */
 ATSINSmove(tmpref15, atspre_g1int_half_int(arg1)) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 904(line=34, offs=17) -- 906(line=34, offs=19)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1352(line=46, offs=17) -- 1354(line=46, offs=19)
 */
 /*
 ATSINStmpdec(tmpref16) ;
 */
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 909(line=34, offs=22) -- 914(line=34, offs=27)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1357(line=46, offs=22) -- 1362(line=46, offs=27)
 */
 ATSINSmove(tmpref16, atspre_g0int_mod_int(arg1, ATSPMVi0nt(2))) ;
 
@@ -856,23 +868,23 @@
 */
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 943(line=36, offs=16) -- 949(line=36, offs=22)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1391(line=48, offs=16) -- 1397(line=48, offs=22)
 */
 ATSINSmove(tmp17, ATSLIB_056_prelude__eq_g0int_int__12__1(tmpref16, ATSPMVi0nt(0))) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 940(line=36, offs=13) -- 1114(line=43, offs=18)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1388(line=48, offs=13) -- 1562(line=55, offs=18)
 */
 ATSif(
 tmp17
 ) ATSthen() {
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 973(line=37, offs=19) -- 978(line=37, offs=24)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1421(line=49, offs=19) -- 1426(line=49, offs=24)
 */
 ATSINSmove(tmp22, atspre_g0int_mul_int(arg0, arg0)) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 969(line=37, offs=15) -- 983(line=37, offs=29)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1417(line=49, offs=15) -- 1431(line=49, offs=29)
 */
 ATStailcal_beg()
 ATSINSmove_tlcal(apy0, tmp22) ;
@@ -884,29 +896,29 @@
 
 } ATSelse() {
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1015(line=39, offs=15) -- 1114(line=43, offs=18)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1463(line=51, offs=15) -- 1562(line=55, offs=18)
 */
 /*
 letpush(beg)
 */
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1039(line=40, offs=21) -- 1040(line=40, offs=22)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1487(line=52, offs=21) -- 1488(line=52, offs=22)
 */
 /*
 ATSINStmpdec(tmpref23) ;
 */
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1051(line=40, offs=33) -- 1056(line=40, offs=38)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1499(line=52, offs=33) -- 1504(line=52, offs=38)
 */
 ATSINSmove(tmp25, atspre_g0int_mul_int(arg0, arg0)) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1047(line=40, offs=29) -- 1061(line=40, offs=43)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1495(line=52, offs=29) -- 1509(line=52, offs=43)
 */
 ATSINSmove(tmp24, exp_5(tmp25, tmpref15)) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1043(line=40, offs=25) -- 1061(line=40, offs=43)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1491(line=52, offs=25) -- 1509(line=52, offs=43)
 */
 ATSINSmove(tmpref23, atspre_g0int_mul_int(arg0, tmp24)) ;
 
@@ -915,25 +927,25 @@
 */
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1095(line=42, offs=17) -- 1096(line=42, offs=18)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1543(line=54, offs=17) -- 1544(line=54, offs=18)
 */
 ATSINSmove(tmpret9, tmpref23) ;
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1015(line=39, offs=15) -- 1114(line=43, offs=18)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1463(line=51, offs=15) -- 1562(line=55, offs=18)
 */
 /*
 INSletpop()
 */
 } /* ATSendif */
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 855(line=32, offs=11) -- 1128(line=44, offs=14)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1303(line=44, offs=11) -- 1576(line=56, offs=14)
 */
 /*
 INSletpop()
 */
 } ATSelse() {
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1152(line=46, offs=11) -- 1153(line=46, offs=12)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1600(line=58, offs=11) -- 1601(line=58, offs=12)
 */
 ATSINSmove(tmpret9, ATSPMVi0nt(1)) ;
 } /* ATSendif */
@@ -1117,7 +1129,7 @@
 } /* end of [ATSLIB_056_prelude__eq_g0int_int__12__1] */
 
 /*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1168(line=49, offs=4) -- 1312(line=54, offs=6)
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1616(line=61, offs=4) -- 1760(line=66, offs=6)
 */
 /*
 local: witness_0$0(level=0)
@@ -1137,33 +1149,33 @@
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1168(line=49, offs=4) -- 1312(line=54, offs=6)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1616(line=61, offs=4) -- 1760(line=66, offs=6)
 */
 ATSINSflab(__patsflab_sqrt_int_17):
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1218(line=50, offs=3) -- 1312(line=54, offs=6)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1666(line=62, offs=3) -- 1760(line=66, offs=6)
 */
 /*
 letpush(beg)
 */
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1230(line=51, offs=9) -- 1235(line=51, offs=14)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1678(line=63, offs=9) -- 1683(line=63, offs=14)
 */
 /*
 ATSINStmpdec(tmpref27) ;
 */
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1266(line=51, offs=45) -- 1279(line=51, offs=58)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1714(line=63, offs=45) -- 1727(line=63, offs=58)
 */
 ATSINSmove(tmp29, atspre_g0int2float_int_float(arg0)) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1255(line=51, offs=34) -- 1281(line=51, offs=60)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1703(line=63, offs=34) -- 1729(line=63, offs=60)
 */
 ATSINSmove(tmp28, atslib_libats_libc_sqrt_float(tmp29)) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1243(line=51, offs=22) -- 1282(line=51, offs=61)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1691(line=63, offs=22) -- 1730(line=63, offs=61)
 */
 ATSINSmove(tmpref27, atspre_g0float2int_float_int(tmp28)) ;
 
@@ -1172,12 +1184,12 @@
 */
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1292(line=53, offs=5) -- 1305(line=53, offs=18)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1740(line=65, offs=5) -- 1753(line=65, offs=18)
 */
 ATSINSmove(tmpret26, witness_0(tmpref27)) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1218(line=50, offs=3) -- 1312(line=54, offs=6)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1666(line=62, offs=3) -- 1760(line=66, offs=6)
 */
 /*
 INSletpop()
@@ -1187,7 +1199,7 @@
 } /* end of [sqrt_int_17] */
 
 /*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1348(line=57, offs=4) -- 1933(line=80, offs=10)
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1796(line=69, offs=4) -- 2381(line=92, offs=10)
 */
 /*
 local: sqrt_int_17$0(level=0)
@@ -1205,11 +1217,11 @@
 /* tmpvardeclst(end) */
 ATSfunbody_beg()
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1348(line=57, offs=4) -- 1933(line=80, offs=10)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1796(line=69, offs=4) -- 2381(line=92, offs=10)
 */
 ATSINSflab(__patsflab_is_prime_20):
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1384(line=58, offs=3) -- 1933(line=80, offs=10)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1832(line=70, offs=3) -- 2381(line=92, offs=10)
 */
 ATScaseof_beg()
 /*
@@ -1217,15 +1229,15 @@
 */
 ATSbranch_beg()
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1401(line=59, offs=7) -- 1402(line=59, offs=8)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1849(line=71, offs=7) -- 1850(line=71, offs=8)
 */
 ATSINSlab(__atstmplab3):
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1357(line=57, offs=13) -- 1358(line=57, offs=14)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1805(line=69, offs=13) -- 1806(line=69, offs=14)
 */
 ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab5) ; } ;
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1402(line=59, offs=8) -- 1402(line=59, offs=8)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1850(line=71, offs=8) -- 1850(line=71, offs=8)
 */
 ATSINSlab(__atstmplab4):
 /*
@@ -1235,14 +1247,14 @@
 ibranch-mbody:
 */
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1406(line=59, offs=12) -- 1411(line=59, offs=17)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1854(line=71, offs=12) -- 1859(line=71, offs=17)
 */
 ATSINSmove(tmpret30, ATSPMVbool_false()) ;
 ATSbranch_end()
 
 ATSbranch_beg()
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1419(line=60, offs=8) -- 1419(line=60, offs=8)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1867(line=72, offs=8) -- 1867(line=72, offs=8)
 */
 ATSINSlab(__atstmplab5):
 /*
@@ -1252,7 +1264,7 @@
 ibranch-mbody:
 */
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1444(line=62, offs=9) -- 1923(line=79, offs=12)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1892(line=74, offs=9) -- 2371(line=91, offs=12)
 */
 /*
 letpush(beg)
@@ -1262,17 +1274,17 @@
 */
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1899(line=78, offs=19) -- 1909(line=78, offs=29)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2347(line=90, offs=19) -- 2357(line=90, offs=29)
 */
 ATSINSmove(tmp51, sqrt_int_17(arg0)) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1891(line=78, offs=11) -- 1911(line=78, offs=31)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2339(line=90, offs=11) -- 2359(line=90, offs=31)
 */
 ATSINSmove(tmpret30, loop_21(arg0, ATSPMVi0nt(2), tmp51)) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1444(line=62, offs=9) -- 1923(line=79, offs=12)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1892(line=74, offs=9) -- 2371(line=91, offs=12)
 */
 /*
 INSletpop()
@@ -1289,7 +1301,7 @@
 } /* end of [is_prime_20] */
 
 /*
-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1462(line=63, offs=15) -- 1869(line=76, offs=21)
+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1910(line=75, offs=15) -- 2317(line=88, offs=21)
 */
 /*
 local: loop_21$0(level=1)
@@ -1318,48 +1330,48 @@
 */
 ATSfunbody_beg()
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1462(line=63, offs=15) -- 1869(line=76, offs=21)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1910(line=75, offs=15) -- 2317(line=88, offs=21)
 */
 ATSINSflab(__patsflab_loop_21):
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1556(line=64, offs=16) -- 1565(line=64, offs=25)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2004(line=76, offs=16) -- 2013(line=76, offs=25)
 */
 ATSINSmove(tmp32, ATSLIB_056_prelude__lt_g1int_int__22__1(arg0, arg1)) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1553(line=64, offs=13) -- 1869(line=76, offs=21)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2001(line=76, offs=13) -- 2317(line=88, offs=21)
 */
 ATSif(
 tmp32
 ) ATSthen() {
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1588(line=65, offs=18) -- 1593(line=65, offs=23)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2036(line=77, offs=18) -- 2041(line=77, offs=23)
 */
 ATSINSmove(tmp40, atspre_g0int_mod_int(env0, arg0)) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1588(line=65, offs=18) -- 1597(line=65, offs=27)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2036(line=77, offs=18) -- 2045(line=77, offs=27)
 */
 ATSINSmove(tmp37, ATSLIB_056_prelude__eq_g0int_int__12__2(tmp40, ATSPMVi0nt(0))) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1585(line=65, offs=15) -- 1678(line=68, offs=35)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2033(line=77, offs=15) -- 2126(line=80, offs=35)
 */
 ATSif(
 tmp37
 ) ATSthen() {
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1619(line=66, offs=17) -- 1624(line=66, offs=22)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2067(line=78, offs=17) -- 2072(line=78, offs=22)
 */
 ATSINSmove(tmpret31, ATSPMVbool_false()) ;
 } ATSelse() {
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1665(line=68, offs=22) -- 1670(line=68, offs=27)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2113(line=80, offs=22) -- 2118(line=80, offs=27)
 */
 ATSINSmove(tmp41, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1660(line=68, offs=17) -- 1678(line=68, offs=35)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2108(line=80, offs=17) -- 2126(line=80, offs=35)
 */
 ATStailcal_beg()
 ATSINSmove_tlcal(apy0, tmp41) ;
@@ -1372,45 +1384,45 @@
 } /* ATSendif */
 } ATSelse() {
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1713(line=70, offs=18) -- 1722(line=70, offs=27)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2161(line=82, offs=18) -- 2170(line=82, offs=27)
 */
 ATSINSmove(tmp42, ATSLIB_056_prelude__eq_g1int_int__26__1(arg0, arg1)) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1710(line=70, offs=15) -- 1869(line=76, offs=21)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2158(line=82, offs=15) -- 2317(line=88, offs=21)
 */
 ATSif(
 tmp42
 ) ATSthen() {
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1747(line=71, offs=20) -- 1752(line=71, offs=25)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2195(line=83, offs=20) -- 2200(line=83, offs=25)
 */
 ATSINSmove(tmp50, atspre_g0int_mod_int(env0, arg0)) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1747(line=71, offs=20) -- 1756(line=71, offs=29)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2195(line=83, offs=20) -- 2204(line=83, offs=29)
 */
 ATSINSmove(tmp47, ATSLIB_056_prelude__eq_g0int_int__12__3(tmp50, ATSPMVi0nt(0))) ;
 
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1744(line=71, offs=17) -- 1829(line=74, offs=23)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2192(line=83, offs=17) -- 2277(line=86, offs=23)
 */
 ATSif(
 tmp47
 ) ATSthen() {
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1780(line=72, offs=19) -- 1785(line=72, offs=24)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2228(line=84, offs=19) -- 2233(line=84, offs=24)
 */
 ATSINSmove(tmpret31, ATSPMVbool_false()) ;
 } ATSelse() {
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1825(line=74, offs=19) -- 1829(line=74, offs=23)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2273(line=86, offs=19) -- 2277(line=86, offs=23)
 */
 ATSINSmove(tmpret31, ATSPMVbool_true()) ;
 } /* ATSendif */
 } ATSelse() {
 /*
-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 1865(line=76, offs=17) -- 1869(line=76, offs=21)
+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/numerics.dats: 2313(line=88, offs=17) -- 2317(line=88, offs=21)
 */
 ATSINSmove(tmpret31, ATSPMVbool_true()) ;
 } /* ATSendif */
diff --git a/fast-arithmetic.cabal b/fast-arithmetic.cabal
--- a/fast-arithmetic.cabal
+++ b/fast-arithmetic.cabal
@@ -1,5 +1,5 @@
 name:                fast-arithmetic
-version:             0.3.0.1
+version:             0.3.0.2
 synopsis:            Fast functions on integers.
 description:         Fast functions for number theory and combinatorics with a high level of safety guaranteed by [ATS](http://www.ats-lang.org/). This package also provides a
                      'Storable' instance for GMP's @mpz@ type.
diff --git a/shake.hs b/shake.hs
--- a/shake.hs
+++ b/shake.hs
@@ -1,5 +1,5 @@
 #!/usr/bin/env stack
--- stack runghc --resolver lts-10.2 --package shake --package split --install-ghc
+-- stack runghc --resolver lts-10.3 --package shake --package split --install-ghc
 
 import           Data.List                  (intercalate)
 import           Data.List.Split            (splitOn)
@@ -24,13 +24,6 @@
          , "cbits/combinatorics.c"
          ]
 
-    "dist-newstyle/build/x86_64-linux/ghc-8.2.2/fast-arithmetic-0.3.0.0/opt/build/fast-arithmetic-bench/fast-arithmetic-bench" %> \_ -> do
-        cmd ["cabal", "new-build"]
-
-    "//*.html" %> \out -> do
-        need ["dist-newstyle/build/x86_64-linux/ghc-8.2.2/fast-arithmetic-0.3.0.0/opt/build/fast-arithmetic-bench/fast-arithmetic-bench"]
-        cmd ["dist-newstyle/build/x86_64-linux/ghc-8.2.2/fast-arithmetic-0.3.0.0/opt/build/fast-arithmetic-bench/fast-arithmetic-bench", "--output=" ++ out]
-
     "ci" ~> do
         need ["cbits/number-theory.c", "cbits/numerics.c", "cbits/combinatorics.c"]
         cmd_ ["cabal", "new-build"]
@@ -38,7 +31,7 @@
         cmd_ ["cabal", "new-build", "-w", "ghc-8.0.2"]
         cmd_ ["cabal", "new-build", "-w", "ghc-7.10.3"]
         cmd_ ["cabal", "new-build", "-w", "ghc-7.8.4"]
-        cmd_ ["hlint", "bench", "src", "test/", "Setup.hs"]
+        cmd_ ["hlint", "bench", "src", "test/", "Setup.hs", "shake.hs"]
         cmd_ ["tomlcheck", "--file", ".atsfmt.toml"]
         cmd_ ["yamllint", ".travis.yml"]
         cmd_ ["yamllint", ".hlint.yaml"]
diff --git a/src/Numeric/Integer.hs b/src/Numeric/Integer.hs
--- a/src/Numeric/Integer.hs
+++ b/src/Numeric/Integer.hs
@@ -23,8 +23,7 @@
 #endif
 foreign import ccall unsafe fib_ats :: CInt -> Ptr GMPInt
 
--- | Indexed starting at @0@. This function is slower on small values but faster
--- on large values.
+-- | Indexed starting at @0@.
 fibonacci :: Int -> IO Integer
 fibonacci = conjugateGMP fib_ats
 
