diff --git a/hw-rankselect.cabal b/hw-rankselect.cabal
--- a/hw-rankselect.cabal
+++ b/hw-rankselect.cabal
@@ -1,5 +1,5 @@
 name:                   hw-rankselect
-version:                0.10.0.0
+version:                0.10.0.1
 synopsis:               Rank-select
 description:            Please see README.md
 homepage:               http://github.com/haskell-works/hw-rankselect#readme
diff --git a/src/HaskellWorks/Data/RankSelect/CsPoppy.hs b/src/HaskellWorks/Data/RankSelect/CsPoppy.hs
--- a/src/HaskellWorks/Data/RankSelect/CsPoppy.hs
+++ b/src/HaskellWorks/Data/RankSelect/CsPoppy.hs
@@ -114,7 +114,7 @@
         genSample :: (Position, Position) -> Maybe (Word32, (Position, Position))
         genSample (mi, _) | mi == maxBound                                            = Nothing
         genSample (mi, _) | mi >= end layerM                                          = Just (fromIntegral (DVS.length layerM - 1), (maxBound, maxBound))
-        genSample (mi, s) | s < toPosition (getCsiTotal (CsInterleaved (mLookup mi))) = Just (fromIntegral mi - 1, (mi, s + 8192))
+        genSample (mi, s) | s < toPosition (getCsiTotal (CsInterleaved (mLookup mi))) = Just (fromIntegral mi - 1, (mi, s + 512 {- sampling -}))
         genSample (mi, s) = genSample (fromIntegral mi + 1, s)
 
 instance TestBit CsPoppy where
@@ -153,7 +153,7 @@
 instance Select1 CsPoppy where
   select1 _                             p | p == 0  = 0
   select1 (CsPoppy !v !layerM !layerS)  p           =
-    let !pi                 = toPosition $ (p - 1) `div` 8192                 in
+    let !pi                 = toPosition $ (p - 1) `div` 512 {- sampling -}   in
     let !pj                 = (pi + 1) `min` (end layerS - 1)                 in
     let !si                 = fromIntegral   (layerS !!! pi)                  in
     let !sj                 = fromIntegral $ (layerS !!! pj) + 1              in
