fast-arithmetic 0.6.1.1 → 0.6.2.0
raw patch · 19 files changed
+737/−427 lines, 19 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +8/−0
- ats-src/bench.dats +4/−0
- ats-src/combinatorics.dats +1/−2
- ats-src/combinatorics.sats +7/−7
- ats-src/number-theory.dats +18/−0
- ats-src/number-theory.sats +11/−8
- ats-src/numerics.dats +3/−1
- ats-src/numerics.sats +2/−2
- atspkg.dhall +3/−5
- bench.dhall +1/−2
- bench/Bench.hs +7/−0
- cbits/combinatorics.c +100/−102
- cbits/number-theory.c +552/−285
- cbits/numerics.c +10/−8
- fast-arithmetic.cabal +2/−1
- lib.dhall +1/−2
- source.dhall +1/−1
- src/Numeric/NumberTheory.hs +5/−0
- test/Spec.hs +1/−1
CHANGELOG.md view
@@ -1,5 +1,13 @@ # fast-arithmetic +## 0.6.2.0++ * Add `radical` for computing radicals of integers++## 0.6.1.2++ * Add `fast_arithmetic.h` for those wanting to use the C library.+ ## 0.6.1.1 * Add niche function for a problem of combinatorial geometry.
ats-src/bench.dats view
@@ -44,6 +44,10 @@ implement main0 () = {+ // FIXME - for some reason this is negative+ // val k = max_regions(46342) + // val () = println!(k)+ // val () = intinf_free(k) val () = print_slope("factorial", 12, factorial_delay) val () = print_slope("double factorial", 12, double_factorial_delay) val () = print_slope("choose", 13, choose_delay)
ats-src/combinatorics.dats view
@@ -150,11 +150,10 @@ // TODO stirling numbers of the second kind. // Bell numbers. These can't be called via the FFI because of the mutually // recursive functions, so we should probably think of something else.-fun bell {n:nat}(n : int(n)) : intinfGt(0) =+fnx bell {n:nat}(n : int(n)) : intinfGt(0) = case- n of | 0 => int2intinf(1) | n when n >= 0 =>> sum_loop(n, n)- and sum_loop {n:nat}{ m : nat | m >= 1 && m <= n } .<m>. (n : int(n), i : int(m)) : intinfGt(0) = case+ i of | 1 => int2intinf(1)
ats-src/combinatorics.sats view
@@ -1,22 +1,22 @@ staload "$PATSHOMELOCS/atscntrb-hx-intinf/SATS/intinf_vt.sats" fun choose_ats {n:nat}{ m : nat | m <= n } : (int(n), int(m)) -> Intinf =- "mac#"+ "ext#" fun double_factorial_ats {n:nat} : int(n) -> Intinf =- "mac#"+ "ext#" fun factorial_ats {n:nat} : int(n) -> Intinf =- "mac#"+ "ext#" fun catalan_ats {n:nat} : int(n) -> Intinf =- "mac#"+ "ext#" fun derangements_ats {n:nat} : int(n) -> Intinf =- "mac#"+ "ext#" fun permutations_ats {n:nat}{ k : nat | k <= n && k > 0 } : (int(n), int(k)) -> Intinf =- "mac#"+ "ext#" fun max_regions_ats {n:nat} : int(n) -> Intinf =- "mac#"+ "ext#"
ats-src/number-theory.dats view
@@ -245,6 +245,21 @@ loop(n, 1) end +// radical of an integer: https://oeis.org/A007947+fn radical(n : intGte(1)) : int =+ case+ n of+ | 1 => 1+ | n =>> let+ var x: stream_vt(int) = prime_factors(n)+ + fun product(ys : stream_vt(int)) : int =+ case+ !ys of+ | ~stream_vt_cons (z, zs) => z * product(zs)+ | ~stream_vt_nil() => 1+ in+ product(x)+ end+ // Euler's totient function. fn totient(n : intGte(1)) : int = case+ n of@@ -278,6 +293,9 @@ in loop(1, n) end++implement radical_ats (n) =+ radical(n) implement sum_divisors_ats (m) = sum_divisors(m)
ats-src/number-theory.sats view
@@ -1,26 +1,29 @@ staload "$PATSHOMELOCS/atscntrb-hx-intinf/SATS/intinf_vt.sats" staload "ats-src/numerics.sats" +fun radical_ats { k : nat | k >= 1 }(int(k)) : int =+ "ext#"+ fun totient_ats { k : nat | k >= 2 }(int(k)) : int =- "mac#"+ "ext#" fun count_divisors_ats { k : nat | k >= 2 }(int(k)) : int =- "mac#"+ "ext#" fun little_omega_ats { n : nat | n > 0 } : int(n) -> int =- "mac#"+ "ext#" fun sum_divisors_ats : { n : nat | n > 1 } int(n) -> int =- "mac#"+ "ext#" fun jacobi_ats : (intGte(0), Odd) -> int =- "mac#"+ "ext#" fun is_perfect_ats : intGt(1) -> bool =- "mac#"+ "ext#" fun totient_sum_ats : intGte(1) -> Intinf =- "mac#"+ "ext#" fun coprime_ats {k:nat}{n:nat} : (int(k), int(n)) -> bool =- "mac#"+ "ext#"
ats-src/numerics.dats view
@@ -7,9 +7,11 @@ staload "ats-src/numerics.sats" %{^-#define ATS_MEMALLOC_LIBC+#ifndef LIBRARY_BUILD+#define ATS_MEMALLOC_LIBC *) #include "ccomp/runtime/pats_ccomp_memalloc_libc.h" #include "ccomp/runtime/pats_ccomp_runtime_memalloc.c"+#endif %} implement is_prime_ats (n) =
ats-src/numerics.sats view
@@ -13,7 +13,7 @@ castfn witness(n : int) :<> [m:nat] int(m) fun is_prime_ats { n : nat | n > 0 } : int(n) -> bool =- "mac#"+ "ext#" fun exp_ats {m:nat} : ([n:nat] int(n), int(m)) -> int =- "mac#"+ "ext#"
atspkg.dhall view
@@ -30,7 +30,7 @@ in {- Main -}-λ(cfg : { sourceBld : Bool, withBench : Bool, icc : Bool }) →+λ(cfg : { sourceBld : Bool, withBench : Bool }) → let test = if cfg.withBench then@@ -78,10 +78,7 @@ else [ "-DLIBRARY_BUILD" ] in - let cc =- if cfg.icc- then prelude.icc- else prelude.cc+ let cc = prelude.cc in prelude.default ⫽@@ -97,5 +94,6 @@ , maintainer = "Vanessa McHale <vamchale@gmail.com>" , description = "Library for fast arithmetic in ATS" , libraries = [ "${prelude.atsProject}/libnumbertheory.a" ]+ , headers = [ "include/fast_arithmetic.h" ] }) }
bench.dhall view
@@ -1,2 +1,1 @@-λ(icc : Bool) →- { sourceBld = True, withBench = True, icc = icc }+{ sourceBld = True, withBench = True }
bench/Bench.hs view
@@ -14,6 +14,9 @@ hsIsPrime x = all ((/=0) . (x `rem`)) [2..up] where up = floor (sqrt (fromIntegral x :: Float)) +hsMaxRegions :: Int -> Integer+hsMaxRegions n = sum $ fmap (n `choose`) [0..4]+ main :: IO () main = defaultMain [ bgroup "primality check"@@ -55,5 +58,9 @@ , bgroup "permutations" [ bench "permutations" $ nf (permutations 10) 20 , bench "hsPermutations" $ nf (hsPermutations 10) (20 :: Integer)+ ]+ , bgroup "maxRegions"+ [ bench "maxRegions" $ nf maxRegions 45000+ , bench "hsMaxRegions" $ nf hsMaxRegions 45000 ] ]
cbits/combinatorics.c view
@@ -718,10 +718,6 @@ ATSstatic() atstkind_type(atstype_ptrk)-sum_loop_80(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;--ATSstatic()-atstkind_type(atstype_ptrk) ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__19(atstkind_t0ype(atstype_int)) ; ATSstatic()@@ -5597,9 +5593,28 @@ bell_79(atstkind_t0ype(atstype_int) arg0) { /* tmpvardeclst(beg) */+ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ; ATStmpdec(tmpret193, atstkind_type(atstype_ptrk)) ; ATStmpdec(tmp198, atstkind_t0ype(atstype_bool)) ; /* tmpvardeclst(end) */+/*+emit_funent_fnxdeclst:+*/+ATStmpdec(a2rg0, atstkind_t0ype(atstype_int)) ;+ATStmpdec(a2rg1, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(beg) */+ATStmpdec(a2py0, atstkind_t0ype(atstype_int)) ;+ATStmpdec(a2py1, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpret203, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmpref208, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmp209, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpref210, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmpref211, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmpref212, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmpref217, atstkind_type(atstype_ptrk)) ;+// ATStmpdec_void(tmp220) ;+// ATStmpdec_void(tmp223) ;+/* tmpvardeclst(end) */ ATSfunbody_beg() /* emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4347(line=153, offs=5) -- 4464(line=156, offs=39)@@ -5667,7 +5682,13 @@ /* emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4450(line=156, offs=25) -- 4464(line=156, offs=39) */-ATSINSmove(tmpret193, sum_loop_80(arg0, arg0)) ;+ATStailcal_beg()+ATSINSmove_tlcal(a2py0, arg0) ;+ATSINSmove_tlcal(a2py1, arg0) ;+ATSINSargmove_tlcal(a2rg0, a2py0) ;+ATSINSargmove_tlcal(a2rg1, a2py1) ;+ATSINSfgoto(__patsflab_sum_loop_80) ;+ATStailcal_end() ATSbranch_end() @@ -5678,39 +5699,16 @@ ATSfunbody_end() ATSreturn(tmpret193) ;-} /* end of [bell_79] */- /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4470(line=158, offs=5) -- 4891(line=171, offs=8)-*/-/*-local: choose_62$0(level=0), bell_79$0(level=0), sum_loop_80$0(level=0)-global: fact_ref_28$0(level=0), fact_34$0(level=0), choose_62$0(level=0), bell_79$0(level=0), sum_loop_80$0(level=0)-local: -global: +emit_funent_fnxbodylst: */-ATSstatic()-atstkind_type(atstype_ptrk)-sum_loop_80(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret203, atstkind_type(atstype_ptrk)) ;-ATStmpdec(tmpref208, atstkind_type(atstype_ptrk)) ;-ATStmpdec(tmp209, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmpref210, atstkind_type(atstype_ptrk)) ;-ATStmpdec(tmpref211, atstkind_type(atstype_ptrk)) ;-ATStmpdec(tmpref212, atstkind_type(atstype_ptrk)) ;-ATStmpdec(tmpref217, atstkind_type(atstype_ptrk)) ;-// ATStmpdec_void(tmp220) ;-// ATStmpdec_void(tmp223) ;-/* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4470(line=158, offs=5) -- 4891(line=171, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4469(line=157, offs=5) -- 4890(line=170, offs=8) */ ATSINSflab(__patsflab_sum_loop_80): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4566(line=159, offs=3) -- 4891(line=171, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4565(line=158, offs=3) -- 4890(line=170, offs=8) */ ATScaseof_beg() /*@@ -5718,15 +5716,15 @@ */ ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4583(line=160, offs=7) -- 4584(line=160, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4582(line=159, offs=7) -- 4583(line=159, offs=8) */ ATSINSlab(__atstmplab39): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4536(line=158, offs=71) -- 4537(line=158, offs=72)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4535(line=157, offs=71) -- 4536(line=157, offs=72) */-ATSifnthen(ATSCKpat_int(arg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab41) ; } ;+ATSifnthen(ATSCKpat_int(a2rg1, ATSPMVint(1))) { ATSINSgoto(__atstmplab41) ; } ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4584(line=160, offs=8) -- 4584(line=160, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4583(line=159, offs=8) -- 4583(line=159, offs=8) */ ATSINSlab(__atstmplab40): /*@@ -5736,7 +5734,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4588(line=160, offs=12) -- 4601(line=160, offs=25)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4587(line=159, offs=12) -- 4600(line=159, offs=25) */ ATSINSmove(tmpret203, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__20(ATSPMVi0nt(1))) ; @@ -5744,7 +5742,7 @@ ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4609(line=161, offs=8) -- 4609(line=161, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4608(line=160, offs=8) -- 4608(line=160, offs=8) */ ATSINSlab(__atstmplab41): /*@@ -5754,78 +5752,78 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4614(line=161, offs=13) -- 4891(line=171, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4613(line=160, offs=13) -- 4890(line=170, offs=8) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4628(line=162, offs=11) -- 4629(line=162, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4627(line=161, offs=11) -- 4628(line=161, offs=12) */ /* ATSINStmpdec(tmpref208) ; */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4644(line=162, offs=27) -- 4649(line=162, offs=32)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4643(line=161, offs=27) -- 4648(line=161, offs=32) */-ATSINSmove(tmp209, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;+ATSINSmove(tmp209, atspre_g1int_sub_int(a2rg1, ATSPMVi0nt(1))) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4632(line=162, offs=15) -- 4650(line=162, offs=33)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4631(line=161, offs=15) -- 4649(line=161, offs=33) */-ATSINSmove(tmpref208, sum_loop_80(arg0, tmp209)) ;+ATSINSmove(tmpref208, sum_loop_80(a2rg0, tmp209)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4661(line=163, offs=11) -- 4662(line=163, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4660(line=162, offs=11) -- 4661(line=162, offs=12) */ /* ATSINStmpdec(tmpref210) ; */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4665(line=163, offs=15) -- 4671(line=163, offs=21)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4664(line=162, offs=15) -- 4670(line=162, offs=21) */-ATSINSmove(tmpref210, bell_79(arg1)) ;+ATSINSmove(tmpref210, bell_79(a2rg1)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4683(line=164, offs=11) -- 4684(line=164, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4682(line=163, offs=11) -- 4683(line=163, offs=12) */ /* ATSINStmpdec(tmpref211) ; */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4687(line=164, offs=15) -- 4699(line=164, offs=27)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4686(line=163, offs=15) -- 4698(line=163, offs=27) */-ATSINSmove(tmpref211, choose_62(arg0, arg1)) ;+ATSINSmove(tmpref211, choose_62(a2rg0, a2rg1)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4710(line=165, offs=11) -- 4717(line=165, offs=18)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4709(line=164, offs=11) -- 4716(line=164, offs=18) */ /* ATSINStmpdec(tmpref212) ; */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4720(line=165, offs=21) -- 4745(line=165, offs=46)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4719(line=164, offs=21) -- 4744(line=164, offs=46) */ ATSINSmove(tmpref212, ATSCNTRB_056_HX_056_intinf_vt__mul_intinf0_intinf1__88__1(tmpref211, ATSPMVrefarg0(tmpref210))) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4756(line=166, offs=11) -- 4759(line=166, offs=14)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4755(line=165, offs=11) -- 4758(line=165, offs=14) */ /* ATSINStmpdec(tmpref217) ; */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4762(line=166, offs=17) -- 4793(line=166, offs=48)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4761(line=165, offs=17) -- 4792(line=165, offs=48) */ ATSINSmove(tmpref217, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__3(tmpref212, ATSPMVrefarg0(tmpref208))) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4808(line=167, offs=15) -- 4821(line=167, offs=28)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4807(line=166, offs=15) -- 4820(line=166, offs=28) */ ATSINSmove_void(tmp220, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__4(tmpref210)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4837(line=168, offs=15) -- 4850(line=168, offs=28)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4836(line=167, offs=15) -- 4849(line=167, offs=28) */ ATSINSmove_void(tmp223, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5(tmpref208)) ; @@ -5834,11 +5832,11 @@ */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4865(line=170, offs=7) -- 4882(line=170, offs=24)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4864(line=169, offs=7) -- 4881(line=169, offs=24) */ ATSINSmove(tmpret203, ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), tmpref217)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4614(line=161, offs=13) -- 4891(line=171, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4613(line=160, offs=13) -- 4890(line=170, offs=8) */ /* INSletpop()@@ -5852,7 +5850,7 @@ ATSfunbody_end() ATSreturn(tmpret203) ;-} /* end of [sum_loop_80] */+} /* end of [bell_79] */ /* /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)@@ -6419,7 +6417,7 @@ } /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__5] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4896(line=173, offs=4) -- 5325(line=190, offs=6)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4895(line=172, offs=4) -- 5324(line=189, offs=6) */ /* local: choose_62$0(level=0)@@ -6438,23 +6436,23 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4896(line=173, offs=4) -- 5325(line=190, offs=6)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4895(line=172, offs=4) -- 5324(line=189, offs=6) */ ATSINSflab(__patsflab_max_regions_93): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4941(line=174, offs=3) -- 5325(line=190, offs=6)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4940(line=173, offs=3) -- 5324(line=189, offs=6) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5275(line=186, offs=9) -- 5276(line=186, offs=10)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5274(line=185, offs=9) -- 5275(line=185, offs=10) */ /* ATSINStmpdec(tmpref246) ; */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5298(line=187, offs=14) -- 5308(line=187, offs=24)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5297(line=186, offs=14) -- 5307(line=186, offs=24) */ ATSINSmove_void(tmp247, loop_94(arg0, ATSPMVi0nt(4), ATSPMVrefarg1(ATSPMVptrof(tmpref246)))) ; @@ -6463,11 +6461,11 @@ */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5318(line=189, offs=5) -- 5319(line=189, offs=6)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5317(line=188, offs=5) -- 5318(line=188, offs=6) */ ATSINSmove(tmpret226, tmpref246) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4941(line=174, offs=3) -- 5325(line=190, offs=6)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4940(line=173, offs=3) -- 5324(line=189, offs=6) */ /* INSletpop()@@ -6477,7 +6475,7 @@ } /* end of [max_regions_93] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4953(line=175, offs=9) -- 5261(line=184, offs=15)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4952(line=174, offs=9) -- 5260(line=183, offs=15) */ /* local: choose_62$0(level=0), loop_94$0(level=1)@@ -6500,68 +6498,68 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4953(line=175, offs=9) -- 5261(line=184, offs=15)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 4952(line=174, offs=9) -- 5260(line=183, offs=15) */ ATSINSflab(__patsflab_loop_94): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5029(line=176, offs=10) -- 5034(line=176, offs=15)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5028(line=175, offs=10) -- 5033(line=175, offs=15) */ ATSINSmove(tmp228, ATSLIB_056_prelude__eq_g1int_int__95__1(arg0, ATSPMVi0nt(0))) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5026(line=176, offs=7) -- 5261(line=184, offs=15)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5025(line=175, offs=7) -- 5260(line=183, offs=15) */ ATSif( tmp228 ) ATSthen() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5055(line=177, offs=16) -- 5068(line=177, offs=29)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5054(line=176, offs=16) -- 5067(line=176, offs=29) */ ATSINSmove(tmp233, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__15__21(ATSPMVi0nt(1))) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5048(line=177, offs=9) -- 5068(line=177, offs=29)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5047(line=176, offs=9) -- 5067(line=176, offs=29) */ ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp233) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5048(line=177, offs=9) -- 5068(line=177, offs=29)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5047(line=176, offs=9) -- 5067(line=176, offs=29) */ ATSINSmove_void(tmpret227, ATSPMVempty()) ; } ATSelse() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5088(line=179, offs=9) -- 5261(line=184, offs=15)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5087(line=178, offs=9) -- 5260(line=183, offs=15) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5116(line=180, offs=25) -- 5121(line=180, offs=30)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5115(line=179, offs=25) -- 5120(line=179, offs=30) */ ATSINSmove(tmp239, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5111(line=180, offs=20) -- 5127(line=180, offs=36)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5110(line=179, offs=20) -- 5126(line=179, offs=36) */ ATSINSmove_void(tmp238, loop_94(env0, tmp239, ATSPMVrefarg1(arg1))) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5142(line=181, offs=15) -- 5143(line=181, offs=16)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5141(line=180, offs=15) -- 5142(line=180, offs=16) */ /* ATSINStmpdec(tmpref240) ; */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5146(line=181, offs=19) -- 5158(line=181, offs=31)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5145(line=180, offs=19) -- 5157(line=180, offs=31) */ ATSINSmove(tmpref240, choose_62(env0, arg0)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5185(line=182, offs=27) -- 5212(line=182, offs=54)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5184(line=181, offs=27) -- 5211(line=181, offs=54) */ ATSINSmove(tmp241, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_intinf1__6__4(ATSderef(arg1, atstkind_type(atstype_ptrk)), ATSPMVrefarg0(tmpref240))) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5178(line=182, offs=20) -- 5212(line=182, offs=54)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5177(line=181, offs=20) -- 5211(line=181, offs=54) */ ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp241) ; /*@@ -6569,12 +6567,12 @@ */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5232(line=183, offs=20) -- 5245(line=183, offs=33)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5231(line=182, offs=20) -- 5244(line=182, offs=33) */ ATSINSmove_void(tmpret227, ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6(tmpref240)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5088(line=179, offs=9) -- 5261(line=184, offs=15)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5087(line=178, offs=9) -- 5260(line=183, offs=15) */ /* INSletpop()@@ -6880,7 +6878,7 @@ } /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__6] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5348(line=192, offs=22) -- 5371(line=193, offs=15)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5347(line=191, offs=22) -- 5370(line=192, offs=15) */ /* local: choose_62$0(level=0)@@ -6897,11 +6895,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5337(line=192, offs=11) -- 5371(line=193, offs=15)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5336(line=191, offs=11) -- 5370(line=192, offs=15) */ ATSINSflab(__patsflab_choose_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5359(line=193, offs=3) -- 5371(line=193, offs=15)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5358(line=192, offs=3) -- 5370(line=192, offs=15) */ ATSINSmove(tmpret248, choose_62(arg0, arg1)) ; @@ -6910,7 +6908,7 @@ } /* end of [choose_ats] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5404(line=195, offs=32) -- 5419(line=196, offs=10)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5403(line=194, offs=32) -- 5418(line=195, offs=10) */ /* local: dfact_41$0(level=0)@@ -6927,11 +6925,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5383(line=195, offs=11) -- 5420(line=196, offs=11)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5382(line=194, offs=11) -- 5419(line=195, offs=11) */ ATSINSflab(__patsflab_double_factorial_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5412(line=196, offs=3) -- 5419(line=196, offs=10)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5411(line=195, offs=3) -- 5418(line=195, offs=10) */ ATSINSmove(tmpret249, dfact_41(arg0)) ; @@ -6940,7 +6938,7 @@ } /* end of [double_factorial_ats] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5446(line=198, offs=25) -- 5460(line=199, offs=9)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5445(line=197, offs=25) -- 5459(line=198, offs=9) */ /* local: fact_34$0(level=0)@@ -6957,11 +6955,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5432(line=198, offs=11) -- 5461(line=199, offs=10)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5431(line=197, offs=11) -- 5460(line=198, offs=10) */ ATSINSflab(__patsflab_factorial_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5454(line=199, offs=3) -- 5460(line=199, offs=9)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5453(line=198, offs=3) -- 5459(line=198, offs=9) */ ATSINSmove(tmpret250, fact_34(arg0)) ; @@ -6970,7 +6968,7 @@ } /* end of [factorial_ats] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5485(line=201, offs=23) -- 5502(line=202, offs=12)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5484(line=200, offs=23) -- 5501(line=201, offs=12) */ /* local: catalan_50$0(level=0)@@ -6987,11 +6985,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5473(line=201, offs=11) -- 5503(line=202, offs=13)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5472(line=200, offs=11) -- 5502(line=201, offs=13) */ ATSINSflab(__patsflab_catalan_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5493(line=202, offs=3) -- 5502(line=202, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5492(line=201, offs=3) -- 5501(line=201, offs=12) */ ATSINSmove(tmpret251, catalan_50(arg0)) ; @@ -7000,7 +6998,7 @@ } /* end of [catalan_ats] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5532(line=204, offs=28) -- 5554(line=205, offs=17)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5531(line=203, offs=28) -- 5553(line=204, offs=17) */ /* local: derangements_0$0(level=0)@@ -7017,11 +7015,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5515(line=204, offs=11) -- 5555(line=205, offs=18)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5514(line=203, offs=11) -- 5554(line=204, offs=18) */ ATSINSflab(__patsflab_derangements_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5540(line=205, offs=3) -- 5554(line=205, offs=17)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5539(line=204, offs=3) -- 5553(line=204, offs=17) */ ATSINSmove(tmpret252, derangements_0(arg0)) ; @@ -7030,7 +7028,7 @@ } /* end of [derangements_ats] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5584(line=207, offs=28) -- 5613(line=208, offs=21)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5583(line=206, offs=28) -- 5612(line=207, offs=21) */ /* local: permutations_42$0(level=0)@@ -7047,11 +7045,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5567(line=207, offs=11) -- 5613(line=208, offs=21)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5566(line=206, offs=11) -- 5612(line=207, offs=21) */ ATSINSflab(__patsflab_permutations_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5595(line=208, offs=3) -- 5613(line=208, offs=21)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5594(line=207, offs=3) -- 5612(line=207, offs=21) */ ATSINSmove(tmpret253, permutations_42(arg0, arg1)) ; @@ -7060,7 +7058,7 @@ } /* end of [permutations_ats] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5641(line=210, offs=27) -- 5662(line=211, offs=16)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5640(line=209, offs=27) -- 5661(line=210, offs=16) */ /* local: max_regions_93$0(level=0)@@ -7077,11 +7075,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5625(line=210, offs=11) -- 5663(line=211, offs=17)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5624(line=209, offs=11) -- 5662(line=210, offs=17) */ ATSINSflab(__patsflab_max_regions_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5649(line=211, offs=3) -- 5662(line=211, offs=16)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/combinatorics.dats: 5648(line=210, offs=3) -- 5661(line=210, offs=16) */ ATSINSmove(tmpret254, max_regions_93(arg0)) ;
cbits/number-theory.c view
@@ -1135,45 +1135,53 @@ ATSstatic() atstkind_t0ype(atstype_int)-totient_158(atstkind_t0ype(atstype_int)) ;+radical_158(atstkind_t0ype(atstype_int)) ; ATSstatic()+atstkind_t0ype(atstype_int)+product_159(atstkind_type(atstype_ptrk)) ;++ATSstatic()+atstkind_t0ype(atstype_int)+totient_160(atstkind_t0ype(atstype_int)) ;++ATSstatic() postiats_tyrec_0-adjust_contents_159(postiats_tyrec_0, atstkind_t0ype(atstype_int)) ;+adjust_contents_161(postiats_tyrec_0, atstkind_t0ype(atstype_int)) ; #if(0) #if(0) ATSextern() atstyvar_type(res)-ATSLIB_056_prelude__stream_vt_foldleft_cloptr__161(atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr) ;+ATSLIB_056_prelude__stream_vt_foldleft_cloptr__163(atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr) ; #endif // end of [QUALIFIED] #endif // end of [TEMPLATE] #if(0) ATSstatic() atstyvar_type(res)-loop_162__162(atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr) ;+loop_164__164(atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr) ; #endif // end of [TEMPLATE] ATSstatic() postiats_tyrec_0-ATSLIB_056_prelude__stream_vt_foldleft_cloptr__161__1(atstkind_type(atstype_ptrk), postiats_tyrec_0, atstype_cloptr) ;+ATSLIB_056_prelude__stream_vt_foldleft_cloptr__163__1(atstkind_type(atstype_ptrk), postiats_tyrec_0, atstype_cloptr) ; ATSstatic() postiats_tyrec_0-loop_162__162__1(atstkind_type(atstype_ptrk), postiats_tyrec_0, atstype_cloptr) ;+loop_164__164__1(atstkind_type(atstype_ptrk), postiats_tyrec_0, atstype_cloptr) ; ATSstatic() postiats_tyrec_0-__patsfun_165(postiats_tyrec_0, atsrefarg1_type(atstkind_t0ype(atstype_int))) ;+__patsfun_167(postiats_tyrec_0, atsrefarg1_type(atstkind_t0ype(atstype_int))) ; ATSstatic() atstkind_type(atstype_ptrk)-totient_sum_166(atstkind_t0ype(atstype_int)) ;+totient_sum_168(atstkind_t0ype(atstype_int)) ; ATSstatic() atstkind_type(atstype_ptrk)-loop_167(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;+loop_169(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ; ATSstatic() atstkind_t0ype(atstype_bool)@@ -1183,13 +1191,13 @@ #if(0) ATSextern() atstkind_type(atstype_ptrk)-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__169(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__171(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__169__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__171__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ; ATSstatic() atstkind_type(atstype_ptrk)@@ -1202,6 +1210,12 @@ #if(0) ATSextern() atstkind_t0ype(atstype_int)+radical_ats(atstkind_t0ype(atstype_int)) ;+#endif // end of [QUALIFIED]++#if(0)+ATSextern()+atstkind_t0ype(atstype_int) sum_divisors_ats(atstkind_t0ype(atstype_int)) ; #endif // end of [QUALIFIED] @@ -1891,38 +1905,38 @@ return __patsfun_152__closureinit(ATS_MALLOC(sizeof(__patsfun_152__closure_t0ype))) ; } /* end of [closurerize] */ ATSclosurerize_end()-ATSclosurerize_beg(__patsfun_165, (), (postiats_tyrec_0, atsrefarg1_type(atstkind_t0ype(atstype_int))), postiats_tyrec_0)+ATSclosurerize_beg(__patsfun_167, (), (postiats_tyrec_0, atsrefarg1_type(atstkind_t0ype(atstype_int))), postiats_tyrec_0) typedef ATSstruct { atstype_funptr cfun ;-} __patsfun_165__closure_t0ype ;+} __patsfun_167__closure_t0ype ; ATSstatic() postiats_tyrec_0-__patsfun_165__cfun+__patsfun_167__cfun (-__patsfun_165__closure_t0ype *p_cenv, postiats_tyrec_0 arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1+__patsfun_167__closure_t0ype *p_cenv, postiats_tyrec_0 arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1 ) {-ATSFCreturn(__patsfun_165(arg0, arg1)) ;+ATSFCreturn(__patsfun_167(arg0, arg1)) ; } /* end of [cfun] */ ATSstatic() atstype_cloptr-__patsfun_165__closureinit+__patsfun_167__closureinit (-__patsfun_165__closure_t0ype *p_cenv+__patsfun_167__closure_t0ype *p_cenv ) {-p_cenv->cfun = __patsfun_165__cfun ;+p_cenv->cfun = __patsfun_167__cfun ; return p_cenv ; } /* end of [closureinit] */ ATSstatic() atstype_cloptr-__patsfun_165__closurerize+__patsfun_167__closurerize ( // argumentless ) {-return __patsfun_165__closureinit(ATS_MALLOC(sizeof(__patsfun_165__closure_t0ype))) ;+return __patsfun_167__closureinit(ATS_MALLOC(sizeof(__patsfun_167__closure_t0ype))) ; } /* end of [closurerize] */ ATSclosurerize_end() /*@@ -10600,32 +10614,29 @@ } /* end of [ATSLIB_056_prelude__gt_g1int_int__6__9] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6533(line=249, offs=4) -- 7022(line=261, offs=8)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6555(line=249, offs=4) -- 6870(line=261, offs=8) */ /* local: prime_factors_142$0(level=0)-global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0), totient_158$0(level=0)+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0), radical_158$0(level=0) local: global: */ ATSstatic() atstkind_t0ype(atstype_int)-totient_158(atstkind_t0ype(atstype_int) arg0)+radical_158(atstkind_t0ype(atstype_int) arg0) { /* tmpvardeclst(beg) */ ATStmpdec(tmpret401, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmpref406, atstkind_type(atstype_ptrk)) ;-ATStmpdec(tmpref407, postiats_tyrec_0) ;-ATStmpdec(tmpref408, postiats_tyrec_0) ;-ATStmpdec(tmp426, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpref402, atstkind_type(atstype_ptrk)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6533(line=249, offs=4) -- 7022(line=261, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6555(line=249, offs=4) -- 6870(line=261, offs=8) */-ATSINSflab(__patsflab_totient_158):+ATSINSflab(__patsflab_radical_158): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6566(line=250, offs=3) -- 7022(line=261, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6588(line=250, offs=3) -- 6870(line=261, offs=8) */ ATScaseof_beg() /*@@ -10633,15 +10644,15 @@ */ ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6583(line=251, offs=7) -- 6584(line=251, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6605(line=251, offs=7) -- 6606(line=251, offs=8) */ ATSINSlab(__atstmplab37): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6541(line=249, offs=12) -- 6542(line=249, offs=13)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6563(line=249, offs=12) -- 6564(line=249, offs=13) */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab39) ; } ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6584(line=251, offs=8) -- 6584(line=251, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6606(line=251, offs=8) -- 6606(line=251, offs=8) */ ATSINSlab(__atstmplab38): /*@@ -10651,14 +10662,14 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6588(line=251, offs=12) -- 6589(line=251, offs=13)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6610(line=251, offs=12) -- 6611(line=251, offs=13) */ ATSINSmove(tmpret401, ATSPMVi0nt(1)) ; ATSbranch_end() ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6597(line=252, offs=8) -- 6597(line=252, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6619(line=252, offs=8) -- 6619(line=252, offs=8) */ ATSINSlab(__atstmplab39): /*@@ -10668,62 +10679,288 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6602(line=252, offs=13) -- 7022(line=261, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6624(line=252, offs=13) -- 6870(line=261, offs=8) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6756(line=256, offs=11) -- 6757(line=256, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6638(line=253, offs=11) -- 6639(line=253, offs=12) */ /*-ATSINStmpdec(tmpref406) ;+ATSINStmpdec(tmpref402) ; */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6776(line=256, offs=31) -- 6791(line=256, offs=46)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6658(line=253, offs=31) -- 6673(line=253, offs=46) */-ATSINSmove(tmpref406, prime_factors_142(arg0)) ;+ATSINSmove(tmpref402, prime_factors_142(arg0)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6803(line=257, offs=11) -- 6813(line=257, offs=21)+letpush(end) */+ /*-ATSINStmpdec(tmpref407) ;+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6852(line=260, offs=7) -- 6861(line=260, offs=16) */+ATSINSmove(tmpret401, product_159(tmpref402)) ;+ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6816(line=257, offs=24) -- 6842(line=257, offs=50)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6624(line=252, offs=13) -- 6870(line=261, offs=8) */+/*+INSletpop()+*/+ATSbranch_end()++/*+** ibranchlst-end+*/+ATScaseof_end()++ATSfunbody_end()+ATSreturn(tmpret401) ;+} /* end of [radical_158] */++/*+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6692(line=255, offs=11) -- 6838(line=258, offs=34)+*/+/*+local: product_159$0(level=1)+global: product_159$0(level=1)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_int)+product_159(atstkind_type(atstype_ptrk) arg0)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret403, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp404, atstype_boxed) ;+ATStmpdec(tmp405, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp406, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmp407, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6692(line=255, offs=11) -- 6838(line=258, offs=34)+*/+ATSINSflab(__patsflab_product_159):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6743(line=256, offs=15) -- 6746(line=256, offs=18)+*/+ATSINSmove_llazyeval(tmp404, atstype_boxed, arg0) ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6737(line=256, offs=9) -- 6838(line=258, offs=34)+*/+ATScaseof_beg()+/*+** ibranchlst-beg+*/+ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6762(line=257, offs=13) -- 6785(line=257, offs=36)+*/+ATSINSlab(__atstmplab40):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6743(line=256, offs=15) -- 6746(line=256, offs=18)+*/+ATSifthen(ATSCKptrisnull(tmp404)) { ATSINSgoto(__atstmplab43) ; } ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6785(line=257, offs=36) -- 6785(line=257, offs=36)+*/+ATSINSlab(__atstmplab41):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6779(line=257, offs=30) -- 6780(line=257, offs=31)+*/+ATSINSmove(tmp405, ATSSELcon(tmp404, postiats_tysum_1, atslab__0)) ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6782(line=257, offs=33) -- 6784(line=257, offs=35)+*/+ATSINSmove(tmp406, ATSSELcon(tmp404, postiats_tysum_1, atslab__1)) ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6762(line=257, offs=13) -- 6804(line=257, offs=55)+*/+ATSINSfreecon(tmp404) ;+/*+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)+*/+/*+ibranch-mbody:+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6793(line=257, offs=44) -- 6803(line=257, offs=54)+*/+ATSINSmove(tmp407, product_159(tmp406)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6789(line=257, offs=40) -- 6803(line=257, offs=54)+*/+ATSINSmove(tmpret403, atspre_g0int_mul_int(tmp405, tmp407)) ;++ATSbranch_end()++ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6817(line=258, offs=13) -- 6833(line=258, offs=29)+*/+ATSINSlab(__atstmplab42):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6743(line=256, offs=15) -- 6746(line=256, offs=18)+*/+#if(0)+ATSifthen(ATSCKptriscons(tmp404)) { ATSINSdeadcode_fail() ; } ;+#endif+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6833(line=258, offs=29) -- 6833(line=258, offs=29)+*/+ATSINSlab(__atstmplab43):+/*+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)+*/+/*+ibranch-mbody:+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6837(line=258, offs=33) -- 6838(line=258, offs=34)+*/+ATSINSmove(tmpret403, ATSPMVi0nt(1)) ;+ATSbranch_end()++/*+** ibranchlst-end+*/+ATScaseof_end()++ATSfunbody_end()+ATSreturn(tmpret403) ;+} /* end of [product_159] */++/*+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6904(line=264, offs=4) -- 7393(line=276, offs=8)+*/+/*+local: prime_factors_142$0(level=0)+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0), totient_160$0(level=0)+local: +global: +*/+ATSstatic()+atstkind_t0ype(atstype_int)+totient_160(atstkind_t0ype(atstype_int) arg0)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret408, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpref413, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmpref414, postiats_tyrec_0) ;+ATStmpdec(tmpref415, postiats_tyrec_0) ;+ATStmpdec(tmp433, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6904(line=264, offs=4) -- 7393(line=276, offs=8)+*/+ATSINSflab(__patsflab_totient_160):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6937(line=265, offs=3) -- 7393(line=276, offs=8)+*/+ATScaseof_beg()+/*+** ibranchlst-beg+*/+ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6954(line=266, offs=7) -- 6955(line=266, offs=8)+*/+ATSINSlab(__atstmplab44):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6912(line=264, offs=12) -- 6913(line=264, offs=13)+*/+ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab46) ; } ;+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6955(line=266, offs=8) -- 6955(line=266, offs=8)+*/+ATSINSlab(__atstmplab45):+/*+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)+*/+/*+ibranch-mbody:+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6959(line=266, offs=12) -- 6960(line=266, offs=13)+*/+ATSINSmove(tmpret408, ATSPMVi0nt(1)) ;+ATSbranch_end()++ATSbranch_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6968(line=267, offs=8) -- 6968(line=267, offs=8)+*/+ATSINSlab(__atstmplab46):+/*+emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)+*/+/*+ibranch-mbody:+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6973(line=267, offs=13) -- 7393(line=276, offs=8)+*/+/*+letpush(beg)+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7127(line=271, offs=11) -- 7128(line=271, offs=12)+*/+/*+ATSINStmpdec(tmpref413) ;+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7147(line=271, offs=31) -- 7162(line=271, offs=46)+*/+ATSINSmove(tmpref413, prime_factors_142(arg0)) ;++/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7174(line=272, offs=11) -- 7184(line=272, offs=21)+*/+/*+ATSINStmpdec(tmpref414) ;+*/+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7187(line=272, offs=24) -- 7213(line=272, offs=50)+*/ ATSINSmove_fltrec_beg()-ATSINSstore_fltrec_ofs(tmpref407, postiats_tyrec_0, atslab__first, ATSPMVi0nt(1)) ;-ATSINSstore_fltrec_ofs(tmpref407, postiats_tyrec_0, atslab__second, ATSPMVi0nt(1)) ;+ATSINSstore_fltrec_ofs(tmpref414, postiats_tyrec_0, atslab__first, ATSPMVi0nt(1)) ;+ATSINSstore_fltrec_ofs(tmpref414, postiats_tyrec_0, atslab__second, ATSPMVi0nt(1)) ; ATSINSmove_fltrec_end() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6860(line=258, offs=11) -- 6861(line=258, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7231(line=273, offs=11) -- 7232(line=273, offs=12) */ /*-ATSINStmpdec(tmpref408) ;+ATSINStmpdec(tmpref415) ; */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6864(line=258, offs=15) -- 6951(line=258, offs=102)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7235(line=273, offs=15) -- 7322(line=273, offs=102) */-ATSINSmove(tmpref408, ATSLIB_056_prelude__stream_vt_foldleft_cloptr__161__1(tmpref406, tmpref407, ATSPMVcfunlab(1, __patsfun_165, ()))) ;+ATSINSmove(tmpref415, ATSLIB_056_prelude__stream_vt_foldleft_cloptr__163__1(tmpref413, tmpref414, ATSPMVcfunlab(1, __patsfun_167, ()))) ; /* letpush(end) */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6982(line=260, offs=17) -- 7003(line=260, offs=38)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7353(line=275, offs=17) -- 7374(line=275, offs=38) */-ATSINSmove(tmp426, atspre_g0int_mul_int(arg0, ATSSELfltrec(tmpref408, postiats_tyrec_0, atslab__first))) ;+ATSINSmove(tmp433, atspre_g0int_mul_int(arg0, ATSSELfltrec(tmpref415, postiats_tyrec_0, atslab__first))) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6972(line=260, offs=7) -- 7014(line=260, offs=49)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7343(line=275, offs=7) -- 7385(line=275, offs=49) */-ATSINSmove(tmpret401, atspre_g0int_div_int(tmp426, ATSSELfltrec(tmpref408, postiats_tyrec_0, atslab__second))) ;+ATSINSmove(tmpret408, atspre_g0int_div_int(tmp433, ATSSELfltrec(tmpref415, postiats_tyrec_0, atslab__second))) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6602(line=252, offs=13) -- 7022(line=261, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6973(line=267, offs=13) -- 7393(line=276, offs=8) */ /* INSletpop()@@ -10736,58 +10973,58 @@ ATScaseof_end() ATSfunbody_end()-ATSreturn(tmpret401) ;-} /* end of [totient_158] */+ATSreturn(tmpret408) ;+} /* end of [totient_160] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6615(line=253, offs=10) -- 6738(line=254, offs=80)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6986(line=268, offs=10) -- 7109(line=269, offs=80) */ /* local: -global: adjust_contents_159$0(level=1)+global: adjust_contents_161$0(level=1) local: global: */ ATSstatic() postiats_tyrec_0-adjust_contents_159(postiats_tyrec_0 arg0, atstkind_t0ype(atstype_int) arg1)+adjust_contents_161(postiats_tyrec_0 arg0, atstkind_t0ype(atstype_int) arg1) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret402, postiats_tyrec_0) ;-ATStmpdec(tmp403, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmp404, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmp405, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpret409, postiats_tyrec_0) ;+ATStmpdec(tmp410, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp411, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp412, atstkind_t0ype(atstype_int)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6615(line=253, offs=10) -- 6738(line=254, offs=80)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6986(line=268, offs=10) -- 7109(line=269, offs=80) */-ATSINSflab(__patsflab_adjust_contents_159):+ATSINSflab(__patsflab_adjust_contents_161): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6697(line=254, offs=39) -- 6702(line=254, offs=44)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7068(line=269, offs=39) -- 7073(line=269, offs=44) */-ATSINSmove(tmp404, atspre_g0int_sub_int(arg1, ATSPMVi0nt(1))) ;+ATSINSmove(tmp411, atspre_g0int_sub_int(arg1, ATSPMVi0nt(1))) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6678(line=254, offs=20) -- 6703(line=254, offs=45)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7049(line=269, offs=20) -- 7074(line=269, offs=45) */-ATSINSmove(tmp403, atspre_g0int_mul_int(ATSSELfltrec(arg0, postiats_tyrec_0, atslab__first), tmp404)) ;+ATSINSmove(tmp410, atspre_g0int_mul_int(ATSSELfltrec(arg0, postiats_tyrec_0, atslab__first), tmp411)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6714(line=254, offs=56) -- 6736(line=254, offs=78)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7085(line=269, offs=56) -- 7107(line=269, offs=78) */-ATSINSmove(tmp405, atspre_g0int_mul_int(ATSSELfltrec(arg0, postiats_tyrec_0, atslab__second), arg1)) ;+ATSINSmove(tmp412, atspre_g0int_mul_int(ATSSELfltrec(arg0, postiats_tyrec_0, atslab__second), arg1)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6667(line=254, offs=9) -- 6738(line=254, offs=80)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7038(line=269, offs=9) -- 7109(line=269, offs=80) */ ATSINSmove_fltrec_beg()-ATSINSstore_fltrec_ofs(tmpret402, postiats_tyrec_0, atslab__first, tmp403) ;-ATSINSstore_fltrec_ofs(tmpret402, postiats_tyrec_0, atslab__second, tmp405) ;+ATSINSstore_fltrec_ofs(tmpret409, postiats_tyrec_0, atslab__first, tmp410) ;+ATSINSstore_fltrec_ofs(tmpret409, postiats_tyrec_0, atslab__second, tmp412) ; ATSINSmove_fltrec_end() ATSfunbody_end()-ATSreturn(tmpret402) ;-} /* end of [adjust_contents_159] */+ATSreturn(tmpret409) ;+} /* end of [adjust_contents_161] */ #if(0) /*@@ -10795,7 +11032,7 @@ */ /* local: -global: stream_vt_foldleft_cloptr$161$0(level=0)+global: stream_vt_foldleft_cloptr$163$0(level=0) local: global: */@@ -10806,10 +11043,10 @@ tmpsub = None() */ atstyvar_type(res)-ATSLIB_056_prelude__stream_vt_foldleft_cloptr__161(atstkind_type(atstype_ptrk) arg0, atstyvar_type(res) arg1, atstype_cloptr arg2)+ATSLIB_056_prelude__stream_vt_foldleft_cloptr__163(atstkind_type(atstype_ptrk) arg0, atstyvar_type(res) arg1, atstype_cloptr arg2) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret409, atstyvar_type(res)) ;+ATStmpdec(tmpret416, atstyvar_type(res)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*@@ -10829,7 +11066,7 @@ /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 29984(line=1865, offs=23) */-ATSINSmove(tmpret409, ATSfunclo_fun(PMVd2vfunlab(d2v=loop$4479(1), flab=loop_162$0(level=1)), (atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr), atstyvar_type(res))(arg0, arg1, arg2)) ;+ATSINSmove(tmpret416, ATSfunclo_fun(PMVd2vfunlab(d2v=loop$4479(1), flab=loop_164$0(level=1)), (atstkind_type(atstype_ptrk), atstyvar_type(res), atstype_cloptr), atstyvar_type(res))(arg0, arg1, arg2)) ; /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 30423(line=1895, offs=2)@@ -10838,8 +11075,8 @@ INSletpop() */ ATSfunbody_end()-ATSreturn(tmpret409) ;-} /* end of [ATSLIB_056_prelude__stream_vt_foldleft_cloptr__161] */+ATSreturn(tmpret416) ;+} /* end of [ATSLIB_056_prelude__stream_vt_foldleft_cloptr__163] */ #endif // end of [TEMPLATE] #if(0)@@ -10847,31 +11084,31 @@ /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 30000(line=1869, offs=1) -- 30401(line=1893, offs=4) */ /*-local: loop_162$0(level=1)-global: loop_162$0(level=1)+local: loop_164$0(level=1)+global: loop_164$0(level=1) local: global: */ ATSstatic() atstyvar_type(res)-loop_162__162(atstkind_type(atstype_ptrk) arg0, atstyvar_type(res) arg1, atstype_cloptr arg2)+loop_164__164(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(tmpret410, atstyvar_type(res)) ;-ATStmpdec(tmpref411, atstkind_type(atstype_ptrk)) ;-ATStmpdec(tmp412, atstype_boxed) ;-// ATStmpdec_void(tmp415) ;-ATStmpdec(tmp416, atstyvar_type(res)) ;-ATStmpdec(tmp417, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmpret417, atstyvar_type(res)) ;+ATStmpdec(tmpref418, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmp419, atstype_boxed) ;+// ATStmpdec_void(tmp422) ;+ATStmpdec(tmp423, atstyvar_type(res)) ;+ATStmpdec(tmp424, atstkind_type(atstype_ptrk)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30000(line=1869, offs=1) -- 30401(line=1893, offs=4) */-ATSINSflab(__patsflab_loop_162):+ATSINSflab(__patsflab_loop_164): /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30078(line=1875, offs=6) -- 30401(line=1893, offs=4) */@@ -10882,12 +11119,12 @@ emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30088(line=1876, offs=7) -- 30094(line=1876, offs=13) */ /*-ATSINStmpdec(tmpref411) ;+ATSINStmpdec(tmpref418) ; */ /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30097(line=1876, offs=16) -- 30100(line=1876, offs=19) */-ATSINSmove_llazyeval(tmpref411, atstype_boxed, arg0) ;+ATSINSmove_llazyeval(tmpref418, atstype_boxed, arg0) ; /* letpush(end) */@@ -10895,7 +11132,7 @@ /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7) */-ATSINSmove(tmp412, tmpref411) ;+ATSINSmove(tmp419, tmpref418) ; /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30107(line=1879, offs=1) -- 30367(line=1891, offs=6) */@@ -10907,15 +11144,15 @@ /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30134(line=1882, offs=3) -- 30155(line=1883, offs=7) */-ATSINSlab(__atstmplab40):+ATSINSlab(__atstmplab47): /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7) */-ATSifthen(ATSCKptriscons(tmp412)) { ATSINSgoto(__atstmplab43) ; } ;+ATSifthen(ATSCKptriscons(tmp419)) { ATSINSgoto(__atstmplab50) ; } ; /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30155(line=1883, offs=7) -- 30155(line=1883, offs=7) */-ATSINSlab(__atstmplab41):+ATSINSlab(__atstmplab48): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */@@ -10925,29 +11162,29 @@ /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30167(line=1885, offs=5) -- 30199(line=1885, offs=37) */-ATSINSmove_void(tmp415, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg2))) ;+ATSINSmove_void(tmp422, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg2))) ; /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30201(line=1885, offs=39) -- 30204(line=1885, offs=42) */-ATSINSmove(tmpret410, arg1) ;+ATSINSmove(tmpret417, arg1) ; ATSbranch_end() ATSbranch_beg() /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30240(line=1887, offs=3) -- 30269(line=1888, offs=14) */-ATSINSlab(__atstmplab42):+ATSINSlab(__atstmplab49): /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7) */ #if(0)-ATSifthen(ATSCKptrisnull(tmp412)) { ATSINSdeadcode_fail() ; } ;+ATSifthen(ATSCKptrisnull(tmp419)) { ATSINSdeadcode_fail() ; } ; #endif /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30269(line=1888, offs=14) -- 30269(line=1888, offs=14) */-ATSINSlab(__atstmplab43):+ATSINSlab(__atstmplab50): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */@@ -10963,12 +11200,12 @@ /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30291(line=1889, offs=15) -- 30304(line=1889, offs=28) */-ATSINSmove(tmp416, ATSfunclo_clo(ATSPMVrefarg0(arg2), (atstype_cloptr, atstyvar_type(res), atsrefarg1_type(atstyvar_type(a))), atstyvar_type(res))(ATSPMVrefarg0(arg2), arg1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp412, postiats_tysum_4, atslab__0))))) ;+ATSINSmove(tmp423, ATSfunclo_clo(ATSPMVrefarg0(arg2), (atstype_cloptr, atstyvar_type(res), atsrefarg1_type(atstyvar_type(a))), atstyvar_type(res))(ATSPMVrefarg0(arg2), arg1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp419, postiats_tysum_4, atslab__0))))) ; /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30319(line=1890, offs=15) -- 30322(line=1890, offs=18) */-ATSINSmove(tmp417, ATSSELcon(tmp412, postiats_tysum_4, atslab__1)) ;+ATSINSmove(tmp424, ATSSELcon(tmp419, postiats_tysum_4, atslab__1)) ; /* letpush(end) */@@ -10976,18 +11213,18 @@ /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30326(line=1890, offs=22) -- 30338(line=1890, offs=34) */-ATSINSfreecon(tmpref411) ;+ATSINSfreecon(tmpref418) ; /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30341(line=1890, offs=37) -- 30361(line=1890, offs=57) */ ATStailcal_beg()-ATSINSmove_tlcal(apy0, tmp417) ;-ATSINSmove_tlcal(apy1, tmp416) ;+ATSINSmove_tlcal(apy0, tmp424) ;+ATSINSmove_tlcal(apy1, tmp423) ; ATSINSmove_tlcal(apy2, arg2) ; ATSINSargmove_tlcal(arg0, apy0) ; ATSINSargmove_tlcal(arg1, apy1) ; ATSINSargmove_tlcal(arg2, apy2) ;-ATSINSfgoto(__patsflab_loop_162) ;+ATSINSfgoto(__patsflab_loop_164) ; ATStailcal_end() /*@@ -11010,8 +11247,8 @@ INSletpop() */ ATSfunbody_end()-ATSreturn(tmpret410) ;-} /* end of [loop_162__162] */+ATSreturn(tmpret417) ;+} /* end of [loop_164__164] */ #endif // end of [TEMPLATE] /*@@ -11019,7 +11256,7 @@ */ /* local: -global: stream_vt_foldleft_cloptr$161$1(level=1)+global: stream_vt_foldleft_cloptr$163$1(level=1) local: global: */@@ -11027,13 +11264,13 @@ /* imparg = res(8326), a(8327) tmparg = S2Evar(res(8326)); S2Evar(a(8327))-tmpsub = Some(res(8326) -> S2EVar(5933); a(8327) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))+tmpsub = Some(res(8326) -> S2EVar(5935); a(8327) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))) */ postiats_tyrec_0-ATSLIB_056_prelude__stream_vt_foldleft_cloptr__161__1(atstkind_type(atstype_ptrk) arg0, postiats_tyrec_0 arg1, atstype_cloptr arg2)+ATSLIB_056_prelude__stream_vt_foldleft_cloptr__163__1(atstkind_type(atstype_ptrk) arg0, postiats_tyrec_0 arg1, atstype_cloptr arg2) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret409__1, postiats_tyrec_0) ;+ATStmpdec(tmpret416__1, postiats_tyrec_0) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*@@ -11053,7 +11290,7 @@ /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 29984(line=1865, offs=23) */-ATSINSmove(tmpret409__1, loop_162__162__1(arg0, arg1, arg2)) ;+ATSINSmove(tmpret416__1, loop_164__164__1(arg0, arg1, arg2)) ; /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 29964(line=1865, offs=3) -- 30423(line=1895, offs=2)@@ -11062,38 +11299,38 @@ INSletpop() */ ATSfunbody_end()-ATSreturn(tmpret409__1) ;-} /* end of [ATSLIB_056_prelude__stream_vt_foldleft_cloptr__161__1] */+ATSreturn(tmpret416__1) ;+} /* end of [ATSLIB_056_prelude__stream_vt_foldleft_cloptr__163__1] */ /* /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats: 30000(line=1869, offs=1) -- 30401(line=1893, offs=4) */ /*-local: loop_162$1(level=2)-global: loop_162$1(level=2)+local: loop_164$1(level=2)+global: loop_164$1(level=2) local: global: */ ATSstatic() postiats_tyrec_0-loop_162__162__1(atstkind_type(atstype_ptrk) arg0, postiats_tyrec_0 arg1, atstype_cloptr arg2)+loop_164__164__1(atstkind_type(atstype_ptrk) arg0, postiats_tyrec_0 arg1, atstype_cloptr arg2) { /* tmpvardeclst(beg) */ ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ; ATStmpdec(apy1, postiats_tyrec_0) ; ATStmpdec(apy2, atstype_cloptr) ;-ATStmpdec(tmpret410__1, postiats_tyrec_0) ;-ATStmpdec(tmpref411__1, atstkind_type(atstype_ptrk)) ;-ATStmpdec(tmp412__1, atstype_boxed) ;-// ATStmpdec_void(tmp415__1) ;-ATStmpdec(tmp416__1, postiats_tyrec_0) ;-ATStmpdec(tmp417__1, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmpret417__1, postiats_tyrec_0) ;+ATStmpdec(tmpref418__1, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmp419__1, atstype_boxed) ;+// ATStmpdec_void(tmp422__1) ;+ATStmpdec(tmp423__1, postiats_tyrec_0) ;+ATStmpdec(tmp424__1, atstkind_type(atstype_ptrk)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30000(line=1869, offs=1) -- 30401(line=1893, offs=4) */-ATSINSflab(__patsflab_loop_162):+ATSINSflab(__patsflab_loop_164): /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30078(line=1875, offs=6) -- 30401(line=1893, offs=4) */@@ -11104,12 +11341,12 @@ emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30088(line=1876, offs=7) -- 30094(line=1876, offs=13) */ /*-ATSINStmpdec(tmpref411) ;+ATSINStmpdec(tmpref418) ; */ /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30097(line=1876, offs=16) -- 30100(line=1876, offs=19) */-ATSINSmove_llazyeval(tmpref411__1, atstype_boxed, arg0) ;+ATSINSmove_llazyeval(tmpref418__1, atstype_boxed, arg0) ; /* letpush(end) */@@ -11117,7 +11354,7 @@ /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7) */-ATSINSmove(tmp412__1, tmpref411__1) ;+ATSINSmove(tmp419__1, tmpref418__1) ; /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30107(line=1879, offs=1) -- 30367(line=1891, offs=6) */@@ -11129,15 +11366,15 @@ /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30134(line=1882, offs=3) -- 30155(line=1883, offs=7) */-ATSINSlab(__atstmplab40):+ATSINSlab(__atstmplab47): /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7) */-ATSifthen(ATSCKptriscons(tmp412__1)) { ATSINSgoto(__atstmplab43) ; } ;+ATSifthen(ATSCKptriscons(tmp419__1)) { ATSINSgoto(__atstmplab50) ; } ; /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30155(line=1883, offs=7) -- 30155(line=1883, offs=7) */-ATSINSlab(__atstmplab41):+ATSINSlab(__atstmplab48): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */@@ -11147,29 +11384,29 @@ /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30167(line=1885, offs=5) -- 30199(line=1885, offs=37) */-ATSINSmove_void(tmp415__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg2))) ;+ATSINSmove_void(tmp422__1, atspre_cloptr_free(ATSPMVcastfn(castvwtp0, atstkind_type(atstype_ptrk), arg2))) ; /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30201(line=1885, offs=39) -- 30204(line=1885, offs=42) */-ATSINSmove(tmpret410__1, arg1) ;+ATSINSmove(tmpret417__1, arg1) ; ATSbranch_end() ATSbranch_beg() /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30240(line=1887, offs=3) -- 30269(line=1888, offs=14) */-ATSINSlab(__atstmplab42):+ATSINSlab(__atstmplab49): /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30113(line=1880, offs=1) -- 30119(line=1880, offs=7) */ #if(0)-ATSifthen(ATSCKptrisnull(tmp412__1)) { ATSINSdeadcode_fail() ; } ;+ATSifthen(ATSCKptrisnull(tmp419__1)) { ATSINSdeadcode_fail() ; } ; #endif /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30269(line=1888, offs=14) -- 30269(line=1888, offs=14) */-ATSINSlab(__atstmplab43):+ATSINSlab(__atstmplab50): /* emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0) */@@ -11185,12 +11422,12 @@ /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30291(line=1889, offs=15) -- 30304(line=1889, offs=28) */-ATSINSmove(tmp416__1, ATSfunclo_clo(ATSPMVrefarg0(arg2), (atstype_cloptr, postiats_tyrec_0, atsrefarg1_type(atstkind_t0ype(atstype_int))), postiats_tyrec_0)(ATSPMVrefarg0(arg2), arg1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp412__1, postiats_tysum_1, atslab__0))))) ;+ATSINSmove(tmp423__1, ATSfunclo_clo(ATSPMVrefarg0(arg2), (atstype_cloptr, postiats_tyrec_0, atsrefarg1_type(atstkind_t0ype(atstype_int))), postiats_tyrec_0)(ATSPMVrefarg0(arg2), arg1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp419__1, postiats_tysum_1, atslab__0))))) ; /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30319(line=1890, offs=15) -- 30322(line=1890, offs=18) */-ATSINSmove(tmp417__1, ATSSELcon(tmp412__1, postiats_tysum_1, atslab__1)) ;+ATSINSmove(tmp424__1, ATSSELcon(tmp419__1, postiats_tysum_1, atslab__1)) ; /* letpush(end) */@@ -11198,18 +11435,18 @@ /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30326(line=1890, offs=22) -- 30338(line=1890, offs=34) */-ATSINSfreecon(tmpref411__1) ;+ATSINSfreecon(tmpref418__1) ; /* emit_instr: loc0 = /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/stream_vt.dats({$PATSPRE}/DATS/stream_vt.dats): 30341(line=1890, offs=37) -- 30361(line=1890, offs=57) */ ATStailcal_beg()-ATSINSmove_tlcal(apy0, tmp417__1) ;-ATSINSmove_tlcal(apy1, tmp416__1) ;+ATSINSmove_tlcal(apy0, tmp424__1) ;+ATSINSmove_tlcal(apy1, tmp423__1) ; ATSINSmove_tlcal(apy2, arg2) ; ATSINSargmove_tlcal(arg0, apy0) ; ATSINSargmove_tlcal(arg1, apy1) ; ATSINSargmove_tlcal(arg2, apy2) ;-ATSINSfgoto(__patsflab_loop_162) ;+ATSINSfgoto(__patsflab_loop_164) ; ATStailcal_end() /*@@ -11232,62 +11469,62 @@ INSletpop() */ ATSfunbody_end()-ATSreturn(tmpret410__1) ;-} /* end of [loop_162__162__1] */+ATSreturn(tmpret417__1) ;+} /* end of [loop_164__164__1] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6905(line=258, offs=56) -- 6950(line=258, offs=101)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7276(line=273, offs=56) -- 7321(line=273, offs=101) */ /*-local: adjust_contents_159$0(level=1)-global: adjust_contents_159$0(level=1), __patsfun_165$0(level=1)+local: adjust_contents_161$0(level=1)+global: adjust_contents_161$0(level=1), __patsfun_167$0(level=1) local: global: */ ATSstatic() postiats_tyrec_0-__patsfun_165(postiats_tyrec_0 arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1)+__patsfun_167(postiats_tyrec_0 arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret425, postiats_tyrec_0) ;+ATStmpdec(tmpret432, postiats_tyrec_0) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6905(line=258, offs=56) -- 6950(line=258, offs=101)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7276(line=273, offs=56) -- 7321(line=273, offs=101) */-ATSINSflab(__patsflab___patsfun_165):+ATSINSflab(__patsflab___patsfun_167): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 6924(line=258, offs=75) -- 6950(line=258, offs=101)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7295(line=273, offs=75) -- 7321(line=273, offs=101) */-ATSINSmove(tmpret425, adjust_contents_159(arg0, ATSderef(arg1, atstkind_t0ype(atstype_int)))) ;+ATSINSmove(tmpret432, adjust_contents_161(arg0, ATSderef(arg1, atstkind_t0ype(atstype_int)))) ; ATSfunbody_end()-ATSreturn(tmpret425) ;-} /* end of [__patsfun_165] */+ATSreturn(tmpret432) ;+} /* end of [__patsfun_167] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7253(line=266, offs=4) -- 7641(line=280, offs=6)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7624(line=281, offs=4) -- 8012(line=295, offs=6) */ /*-local: totient_158$0(level=0)-global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0), totient_158$0(level=0), totient_sum_166$0(level=0)+local: totient_160$0(level=0)+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0), totient_160$0(level=0), totient_sum_168$0(level=0) local: global: */ ATSstatic() atstkind_type(atstype_ptrk)-totient_sum_166(atstkind_t0ype(atstype_int) arg0)+totient_sum_168(atstkind_t0ype(atstype_int) arg0) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret427, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmpret434, atstkind_type(atstype_ptrk)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7253(line=266, offs=4) -- 7641(line=280, offs=6)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7624(line=281, offs=4) -- 8012(line=295, offs=6) */-ATSINSflab(__patsflab_totient_sum_166):+ATSINSflab(__patsflab_totient_sum_168): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7293(line=267, offs=3) -- 7641(line=280, offs=6)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7664(line=282, offs=3) -- 8012(line=295, offs=6) */ /* letpush(beg)@@ -11297,125 +11534,125 @@ */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7625(line=279, offs=5) -- 7635(line=279, offs=15)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7996(line=294, offs=5) -- 8006(line=294, offs=15) */-ATSINSmove(tmpret427, loop_167(ATSPMVi0nt(1), arg0)) ;+ATSINSmove(tmpret434, loop_169(ATSPMVi0nt(1), arg0)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7293(line=267, offs=3) -- 7641(line=280, offs=6)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7664(line=282, offs=3) -- 8012(line=295, offs=6) */ /* INSletpop() */ ATSfunbody_end()-ATSreturn(tmpret427) ;-} /* end of [totient_sum_166] */+ATSreturn(tmpret434) ;+} /* end of [totient_sum_168] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7305(line=268, offs=9) -- 7615(line=277, offs=40)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7676(line=283, offs=9) -- 7986(line=292, offs=40) */ /*-local: totient_158$0(level=0), loop_167$0(level=1)-global: totient_158$0(level=0), loop_167$0(level=1)+local: totient_160$0(level=0), loop_169$0(level=1)+global: totient_160$0(level=0), loop_169$0(level=1) local: global: */ ATSstatic() atstkind_type(atstype_ptrk)-loop_167(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)+loop_169(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret428, atstkind_type(atstype_ptrk)) ;-ATStmpdec(tmp429, atstkind_t0ype(atstype_bool)) ;-ATStmpdec(tmpref432, atstkind_type(atstype_ptrk)) ;-ATStmpdec(tmp433, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmpref434, atstkind_type(atstype_ptrk)) ;-ATStmpdec(tmp439, atstkind_t0ype(atstype_int)) ;-ATStmpdec(tmp444, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpret435, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmp436, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmpref439, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmp440, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpref441, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmp446, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmp451, atstkind_t0ype(atstype_int)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7305(line=268, offs=9) -- 7615(line=277, offs=40)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7676(line=283, offs=9) -- 7986(line=292, offs=40) */-ATSINSflab(__patsflab_loop_167):+ATSINSflab(__patsflab_loop_169): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7408(line=269, offs=10) -- 7417(line=269, offs=19)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7779(line=284, offs=10) -- 7788(line=284, offs=19) */-ATSINSmove(tmp429, ATSLIB_056_prelude__lt_g1int_int__53__3(arg0, arg1)) ;+ATSINSmove(tmp436, ATSLIB_056_prelude__lt_g1int_int__53__3(arg0, arg1)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7405(line=269, offs=7) -- 7615(line=277, offs=40)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7776(line=284, offs=7) -- 7986(line=292, offs=40) */ ATSif(-tmp429+tmp436 ) ATSthen() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7431(line=270, offs=9) -- 7564(line=275, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7802(line=285, offs=9) -- 7935(line=290, offs=12) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7449(line=271, offs=15) -- 7450(line=271, offs=16)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7820(line=286, offs=15) -- 7821(line=286, offs=16) */ /*-ATSINStmpdec(tmpref432) ;+ATSINStmpdec(tmpref439) ; */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7458(line=271, offs=24) -- 7463(line=271, offs=29)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7829(line=286, offs=24) -- 7834(line=286, offs=29) */-ATSINSmove(tmp433, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;+ATSINSmove(tmp440, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7453(line=271, offs=19) -- 7471(line=271, offs=37)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7824(line=286, offs=19) -- 7842(line=286, offs=37) */-ATSINSmove(tmpref432, loop_167(tmp433, arg1)) ;+ATSINSmove(tmpref439, loop_169(tmp440, arg1)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7486(line=272, offs=15) -- 7487(line=272, offs=16)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7857(line=287, offs=15) -- 7858(line=287, offs=16) */ /*-ATSINStmpdec(tmpref434) ;+ATSINStmpdec(tmpref441) ; */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7517(line=272, offs=46) -- 7526(line=272, offs=55)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7888(line=287, offs=46) -- 7897(line=287, offs=55) */-ATSINSmove(tmp439, totient_158(arg0)) ;+ATSINSmove(tmp446, totient_160(arg0)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7490(line=272, offs=19) -- 7529(line=272, offs=58)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7861(line=287, offs=19) -- 7900(line=287, offs=58) */-ATSINSmove(tmpref434, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__169__1(tmpref432, ATSPMVcastfn(witness, atstkind_t0ype(atstype_int), tmp439))) ;+ATSINSmove(tmpref441, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__171__1(tmpref439, ATSPMVcastfn(witness, atstkind_t0ype(atstype_int), tmp446))) ; /* letpush(end) */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7551(line=274, offs=11) -- 7552(line=274, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7922(line=289, offs=11) -- 7923(line=289, offs=12) */-ATSINSmove(tmpret428, tmpref434) ;+ATSINSmove(tmpret435, tmpref441) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7431(line=270, offs=9) -- 7564(line=275, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7802(line=285, offs=9) -- 7935(line=290, offs=12) */ /* INSletpop() */ } ATSelse() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7584(line=277, offs=9) -- 7615(line=277, offs=40)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7955(line=292, offs=9) -- 7986(line=292, offs=40) */-ATSINSmove(tmp444, totient_158(arg0)) ;+ATSINSmove(tmp451, totient_160(arg0)) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7584(line=277, offs=9) -- 7615(line=277, offs=40)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7955(line=292, offs=9) -- 7986(line=292, offs=40) */-ATSINSmove(tmpret428, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45__2(ATSPMVcastfn(witness, atstkind_t0ype(atstype_int), tmp444))) ;+ATSINSmove(tmpret435, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__45__2(ATSPMVcastfn(witness, atstkind_t0ype(atstype_int), tmp451))) ; } /* ATSendif */ ATSfunbody_end()-ATSreturn(tmpret428) ;-} /* end of [loop_167] */+ATSreturn(tmpret435) ;+} /* end of [loop_169] */ /* /home/vanessa/.atspkg/0.3.11/lib/ats2-postiats-0.3.11/prelude/DATS/integer.dats: 12520(line=650, offs=3) -- 12559(line=650, offs=42)@@ -11464,7 +11701,7 @@ */ /* local: -global: add_intinf0_int$169$0(level=0)+global: add_intinf0_int$171$0(level=0) local: global: */@@ -11475,11 +11712,11 @@ tmpsub = None() */ atstkind_type(atstype_ptrk)-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__169(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__171(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret435, atstkind_type(atstype_ptrk)) ;-// ATStmpdec_void(tmp436) ;+ATStmpdec(tmpret442, atstkind_type(atstype_ptrk)) ;+// ATStmpdec_void(tmp443) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*@@ -11495,7 +11732,7 @@ /* emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5184(line=277, offs=10) -- 5212(line=277, offs=38) */-ATSINSmove_void(tmp436, atscntrb_gmp_mpz_add2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;+ATSINSmove_void(tmp443, atscntrb_gmp_mpz_add2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ; /* letpush(end)@@ -11504,7 +11741,7 @@ /* emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5161(line=274, offs=13) -- 5162(line=274, offs=14) */-ATSINSmove(tmpret435, arg0) ;+ATSINSmove(tmpret442, arg0) ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2) */@@ -11512,8 +11749,8 @@ INSletpop() */ ATSfunbody_end()-ATSreturn(tmpret435) ;-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__169] */+ATSreturn(tmpret442) ;+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__171] */ #endif // end of [TEMPLATE] /*@@ -11521,7 +11758,7 @@ */ /* local: -global: add_intinf0_int$169$1(level=2)+global: add_intinf0_int$171$1(level=2) local: global: */@@ -11532,11 +11769,11 @@ tmpsub = Some() */ atstkind_type(atstype_ptrk)-ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__169__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)+ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__171__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret435__1, atstkind_type(atstype_ptrk)) ;-// ATStmpdec_void(tmp436__1) ;+ATStmpdec(tmpret442__1, atstkind_type(atstype_ptrk)) ;+// ATStmpdec_void(tmp443__1) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*@@ -11552,7 +11789,7 @@ /* emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5184(line=277, offs=10) -- 5212(line=277, offs=38) */-ATSINSmove_void(tmp436__1, atscntrb_gmp_mpz_add2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ;+ATSINSmove_void(tmp443__1, atscntrb_gmp_mpz_add2_int(ATSPMVrefarg1(ATSSELrecsin(arg0, atstkind_type(atstype_ptrk), atslab__2)), arg1)) ; /* letpush(end)@@ -11561,7 +11798,7 @@ /* emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5161(line=274, offs=13) -- 5162(line=274, offs=14) */-ATSINSmove(tmpret435__1, arg0) ;+ATSINSmove(tmpret442__1, arg0) ; /* emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 5160(line=274, offs=12) -- 5217(line=279, offs=2) */@@ -11569,8 +11806,8 @@ INSletpop() */ ATSfunbody_end()-ATSreturn(tmpret435__1) ;-} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__169__1] */+ATSreturn(tmpret442__1) ;+} /* end of [ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__171__1] */ /* /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/.atspkg/contrib/atscntrb-hx-intinf/DATS/intinf_vt.dats: 2209(line=74, offs=3) -- 2301(line=80, offs=2)@@ -11670,11 +11907,41 @@ } /* end of [ATSLIB_056_prelude__ptr_alloc__1__5] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7670(line=282, offs=28) -- 7692(line=283, offs=17)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8036(line=297, offs=23) -- 8053(line=298, offs=12) */ /*+local: radical_158$0(level=0)+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0), radical_158$0(level=0), radical_ats$175$0(level=0)+local: +global: +*/+ATSextern()+atstkind_t0ype(atstype_int)+radical_ats(atstkind_t0ype(atstype_int) arg0)+{+/* tmpvardeclst(beg) */+ATStmpdec(tmpret452, atstkind_t0ype(atstype_int)) ;+/* tmpvardeclst(end) */+ATSfunbody_beg()+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8024(line=297, offs=11) -- 8054(line=298, offs=13)+*/+ATSINSflab(__patsflab_radical_ats):+/*+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8044(line=298, offs=3) -- 8053(line=298, offs=12)+*/+ATSINSmove(tmpret452, radical_158(arg0)) ;++ATSfunbody_end()+ATSreturn(tmpret452) ;+} /* end of [radical_ats] */++/*+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8083(line=300, offs=28) -- 8105(line=301, offs=17)+*/+/* local: sum_divisors_127$0(level=0)-global: sqrt_int_48$0(level=0), sum_divisors_127$0(level=0), sum_divisors_ats$173$0(level=0)+global: sqrt_int_48$0(level=0), sum_divisors_127$0(level=0), sum_divisors_ats$176$0(level=0) local: global: */@@ -11683,28 +11950,28 @@ sum_divisors_ats(atstkind_t0ype(atstype_int) arg0) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret445, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpret453, atstkind_t0ype(atstype_int)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7653(line=282, offs=11) -- 7693(line=283, offs=18)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8066(line=300, offs=11) -- 8106(line=301, offs=18) */ ATSINSflab(__patsflab_sum_divisors_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7678(line=283, offs=3) -- 7692(line=283, offs=17)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8091(line=301, offs=3) -- 8105(line=301, offs=17) */-ATSINSmove(tmpret445, sum_divisors_127(arg0)) ;+ATSINSmove(tmpret453, sum_divisors_127(arg0)) ; ATSfunbody_end()-ATSreturn(tmpret445) ;+ATSreturn(tmpret453) ; } /* end of [sum_divisors_ats] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7724(line=285, offs=30) -- 7748(line=286, offs=19)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8137(line=303, offs=30) -- 8161(line=304, offs=19) */ /* local: count_divisors_122$0(level=0)-global: sqrt_int_48$0(level=0), divisors_67$0(level=0), count_divisors_122$0(level=0), count_divisors_ats$174$0(level=0)+global: sqrt_int_48$0(level=0), divisors_67$0(level=0), count_divisors_122$0(level=0), count_divisors_ats$177$0(level=0) local: global: */@@ -11713,28 +11980,28 @@ count_divisors_ats(atstkind_t0ype(atstype_int) arg0) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret446, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpret454, atstkind_t0ype(atstype_int)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7705(line=285, offs=11) -- 7749(line=286, offs=20)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8118(line=303, offs=11) -- 8162(line=304, offs=20) */ ATSINSflab(__patsflab_count_divisors_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7732(line=286, offs=3) -- 7748(line=286, offs=19)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8145(line=304, offs=3) -- 8161(line=304, offs=19) */-ATSINSmove(tmpret446, count_divisors_122(arg0)) ;+ATSINSmove(tmpret454, count_divisors_122(arg0)) ; ATSfunbody_end()-ATSreturn(tmpret446) ;+ATSreturn(tmpret454) ; } /* end of [count_divisors_ats] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7773(line=288, offs=23) -- 7790(line=289, offs=12)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8186(line=306, offs=23) -- 8203(line=307, offs=12) */ /*-local: totient_158$0(level=0)-global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0), totient_158$0(level=0), totient_ats$175$0(level=0)+local: totient_160$0(level=0)+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0), totient_160$0(level=0), totient_ats$178$0(level=0) local: global: */@@ -11743,28 +12010,28 @@ totient_ats(atstkind_t0ype(atstype_int) arg0) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret447, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpret455, atstkind_t0ype(atstype_int)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7761(line=288, offs=11) -- 7791(line=289, offs=13)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8174(line=306, offs=11) -- 8204(line=307, offs=13) */ ATSINSflab(__patsflab_totient_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7781(line=289, offs=3) -- 7790(line=289, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8194(line=307, offs=3) -- 8203(line=307, offs=12) */-ATSINSmove(tmpret447, totient_158(arg0)) ;+ATSINSmove(tmpret455, totient_160(arg0)) ; ATSfunbody_end()-ATSreturn(tmpret447) ;+ATSreturn(tmpret455) ; } /* end of [totient_ats] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7820(line=291, offs=28) -- 7842(line=292, offs=17)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8233(line=309, offs=28) -- 8255(line=310, offs=17) */ /* local: little_omega_153$0(level=0)-global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), little_omega_153$0(level=0), little_omega_ats$176$0(level=0)+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), little_omega_153$0(level=0), little_omega_ats$179$0(level=0) local: global: */@@ -11773,28 +12040,28 @@ little_omega_ats(atstkind_t0ype(atstype_int) arg0) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret448, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpret456, atstkind_t0ype(atstype_int)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7803(line=291, offs=11) -- 7843(line=292, offs=18)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8216(line=309, offs=11) -- 8256(line=310, offs=18) */ ATSINSflab(__patsflab_little_omega_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7828(line=292, offs=3) -- 7842(line=292, offs=17)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8241(line=310, offs=3) -- 8255(line=310, offs=17) */-ATSINSmove(tmpret448, little_omega_153(arg0)) ;+ATSINSmove(tmpret456, little_omega_153(arg0)) ; ATSfunbody_end()-ATSreturn(tmpret448) ;+ATSreturn(tmpret456) ; } /* end of [little_omega_ats] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7870(line=294, offs=26) -- 7890(line=295, offs=15)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8283(line=312, offs=26) -- 8303(line=313, offs=15) */ /* local: is_perfect_134$0(level=0)-global: sqrt_int_48$0(level=0), sum_divisors_127$0(level=0), is_perfect_134$0(level=0), is_perfect_ats$177$0(level=0)+global: sqrt_int_48$0(level=0), sum_divisors_127$0(level=0), is_perfect_134$0(level=0), is_perfect_ats$180$0(level=0) local: global: */@@ -11803,28 +12070,28 @@ is_perfect_ats(atstkind_t0ype(atstype_int) arg0) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret449, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmpret457, atstkind_t0ype(atstype_bool)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7855(line=294, offs=11) -- 7891(line=295, offs=16)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8268(line=312, offs=11) -- 8304(line=313, offs=16) */ ATSINSflab(__patsflab_is_perfect_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7878(line=295, offs=3) -- 7890(line=295, offs=15)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8291(line=313, offs=3) -- 8303(line=313, offs=15) */-ATSINSmove(tmpret449, is_perfect_134(arg0)) ;+ATSINSmove(tmpret457, is_perfect_134(arg0)) ; ATSfunbody_end()-ATSreturn(tmpret449) ;+ATSreturn(tmpret457) ; } /* end of [is_perfect_ats] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7914(line=297, offs=22) -- 7947(line=298, offs=25)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8327(line=315, offs=22) -- 8360(line=316, offs=25) */ /* local: jacobi_105$0(level=0)-global: exp_5$0(level=0), sqrt_int_48$0(level=0), is_prime_51$0(level=0), div_gt_zero_98$0(level=0), exp_mod_prime_99$0(level=0), jacobi_105$0(level=0), jacobi_ats$178$0(level=0)+global: exp_5$0(level=0), sqrt_int_48$0(level=0), is_prime_51$0(level=0), div_gt_zero_98$0(level=0), exp_mod_prime_99$0(level=0), jacobi_105$0(level=0), jacobi_ats$181$0(level=0) local: global: */@@ -11833,28 +12100,28 @@ jacobi_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret450, atstkind_t0ype(atstype_int)) ;+ATStmpdec(tmpret458, atstkind_t0ype(atstype_int)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7903(line=297, offs=11) -- 7947(line=298, offs=25)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8316(line=315, offs=11) -- 8360(line=316, offs=25) */ ATSINSflab(__patsflab_jacobi_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7925(line=298, offs=3) -- 7947(line=298, offs=25)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8338(line=316, offs=3) -- 8360(line=316, offs=25) */-ATSINSmove(tmpret450, jacobi_105(arg0, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), arg1))) ;+ATSINSmove(tmpret458, jacobi_105(arg0, ATSPMVcastfn(cast, atstkind_t0ype(atstype_int), arg1))) ; ATSfunbody_end()-ATSreturn(tmpret450) ;+ATSreturn(tmpret458) ; } /* end of [jacobi_ats] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7975(line=300, offs=27) -- 7996(line=301, offs=16)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8388(line=318, offs=27) -- 8409(line=319, offs=16) */ /*-local: totient_sum_166$0(level=0)-global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0), totient_158$0(level=0), totient_sum_166$0(level=0), totient_sum_ats$179$0(level=0)+local: totient_sum_168$0(level=0)+global: sqrt_int_48$0(level=0), is_prime_51$0(level=0), rip_136$0(level=0), prime_factors_142$0(level=0), totient_160$0(level=0), totient_sum_168$0(level=0), totient_sum_ats$182$0(level=0) local: global: */@@ -11863,28 +12130,28 @@ totient_sum_ats(atstkind_t0ype(atstype_int) arg0) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret451, atstkind_type(atstype_ptrk)) ;+ATStmpdec(tmpret459, atstkind_type(atstype_ptrk)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7959(line=300, offs=11) -- 7997(line=301, offs=17)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8372(line=318, offs=11) -- 8410(line=319, offs=17) */ ATSINSflab(__patsflab_totient_sum_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 7983(line=301, offs=3) -- 7996(line=301, offs=16)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8396(line=319, offs=3) -- 8409(line=319, offs=16) */-ATSINSmove(tmpret451, totient_sum_166(arg0)) ;+ATSINSmove(tmpret459, totient_sum_168(arg0)) ; ATSfunbody_end()-ATSreturn(tmpret451) ;+ATSreturn(tmpret459) ; } /* end of [totient_sum_ats] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8021(line=303, offs=23) -- 8048(line=304, offs=19)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8434(line=321, offs=23) -- 8461(line=322, offs=19) */ /* local: is_coprime_65$0(level=0)-global: gcd_61$0(level=0), is_coprime_65$0(level=0), coprime_ats$180$0(level=0)+global: gcd_61$0(level=0), is_coprime_65$0(level=0), coprime_ats$183$0(level=0) local: global: */@@ -11893,20 +12160,20 @@ coprime_ats(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1) { /* tmpvardeclst(beg) */-ATStmpdec(tmpret452, atstkind_t0ype(atstype_bool)) ;+ATStmpdec(tmpret460, atstkind_t0ype(atstype_bool)) ; /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8009(line=303, offs=11) -- 8048(line=304, offs=19)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8422(line=321, offs=11) -- 8461(line=322, offs=19) */ ATSINSflab(__patsflab_coprime_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8032(line=304, offs=3) -- 8048(line=304, offs=19)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/number-theory.dats: 8445(line=322, offs=3) -- 8461(line=322, offs=19) */-ATSINSmove(tmpret452, is_coprime_65(arg0, arg1)) ;+ATSINSmove(tmpret460, is_coprime_65(arg0, arg1)) ; ATSfunbody_end()-ATSreturn(tmpret452) ;+ATSreturn(tmpret460) ; } /* end of [coprime_ats] */ /*
cbits/numerics.c view
@@ -324,12 +324,14 @@ staload-prologues(end) */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 204(line=9, offs=1) -- 343(line=13, offs=3)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 204(line=9, offs=1) -- 375(line=15, offs=3) */ ATSextcode_beg()-#define ATS_MEMALLOC_LIBC+#ifndef LIBRARY_BUILD+#define ATS_MEMALLOC_LIBC *) #include "ccomp/runtime/pats_ccomp_memalloc_libc.h" #include "ccomp/runtime/pats_ccomp_runtime_memalloc.c"+#endif ATSextcode_end() /* typedefs-for-tyrecs-and-tysums(beg)@@ -3363,7 +3365,7 @@ } /* end of [ATSLIB_056_prelude__eq_g0int_int__12__4] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 368(line=15, offs=24) -- 386(line=16, offs=13)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 400(line=17, offs=24) -- 418(line=18, offs=13) */ /* local: is_prime_51$0(level=0)@@ -3380,11 +3382,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 355(line=15, offs=11) -- 387(line=16, offs=14)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 387(line=17, offs=11) -- 419(line=18, offs=14) */ ATSINSflab(__patsflab_is_prime_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 376(line=16, offs=3) -- 386(line=16, offs=13)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 408(line=18, offs=3) -- 418(line=18, offs=13) */ ATSINSmove(tmpret127, is_prime_51(arg0)) ; @@ -3393,7 +3395,7 @@ } /* end of [is_prime_ats] */ /*-/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 407(line=18, offs=19) -- 427(line=19, offs=12)+/home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 439(line=20, offs=19) -- 459(line=21, offs=12) */ /* local: exp_5$0(level=0)@@ -3410,11 +3412,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 399(line=18, offs=11) -- 427(line=19, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 431(line=20, offs=11) -- 459(line=21, offs=12) */ ATSINSflab(__patsflab_exp_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 418(line=19, offs=3) -- 427(line=19, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/hs-ats/fast-arithmetic/ats-src/numerics.dats: 450(line=21, offs=3) -- 459(line=21, offs=12) */ ATSINSmove(tmpret128, exp_5(arg0, arg1)) ;
fast-arithmetic.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: fast-arithmetic-version: 0.6.1.1+version: 0.6.2.0 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018 Vanessa McHale@@ -8,6 +8,7 @@ author: Vanessa McHale tested-with: ghc ==7.0.4 ghc ==7.2.2 ghc ==7.4.2 ghc ==7.6.3 ghc ==7.8.4 ghc ==7.10.3 ghc ==8.0.2 ghc ==8.2.2 ghc ==8.4.3+ ghc ==8.6.1 bug-reports: https://github.com/vmchale/hs-ats/issues synopsis: Fast functions on integers. description:
lib.dhall view
@@ -1,2 +1,1 @@-λ(icc : Bool) →- { sourceBld = False, withBench = True, icc = icc }+{ sourceBld = False, withBench = True }
source.dhall view
@@ -1,1 +1,1 @@-{ sourceBld = True, withBench = False, icc = False }+{ sourceBld = True, withBench = False }
src/Numeric/NumberTheory.hs view
@@ -22,6 +22,11 @@ foreign import ccall unsafe little_omega_ats :: CInt -> CInt foreign import ccall unsafe is_perfect_ats :: CInt -> CUChar foreign import ccall unsafe is_prime_ats :: CInt -> CUChar+foreign import ccall unsafe radical_ats :: CInt -> CInt++-- | Radical of an integer+radical :: Int -> Int+radical = conjugate radical_ats -- | \( O(\sqrt(n)) \) isPrime :: Int -> Bool
test/Spec.hs view
@@ -29,7 +29,7 @@ tooBig x y = go x y >= 2 ^ (16 :: Integer) where go :: Int -> Int -> Integer- go m n = fromIntegral m ^ (fromIntegral n :: Integer)+ go m n = fromIntegral m ^ n agreeL :: (Eq a, Show b, Integral b, Arbitrary b) => b -> String -> (b -> a) -> (b -> a) -> SpecWith () agreeL lower s f g = describe s $