class_docstr: Attempts to find a smaller integer. Guaranteed things to try ``0``,
  
  ``1``, ``initial - 1``, ``initial - 2``. Plenty of optimisations beyond
  that but those are the guaranteed ones.
class_docstr_tok: ["Attempts","to","find","a","smaller","integer",".","Guaranteed","things","to","try","``","0","``",",","``","1","``",",","``","initial","-","1","``",",","``","initial","-","2","``",".","Plenty","of","optimisations","beyond","that","but","those","are","the","guaranteed","ones","."]
code: def mask_high_bits(self):
      base = self.current
      n = base.bit_length()
  
      @find_integer
      def try_mask(k):
          if k >= n:
              return False
          mask = (1 << (n - k)) - 1
          return self.consider(mask & base)
  
file_path: catboost/contrib/python/hypothesis/py2/hypothesis/internal/conjecture/shrinking/integer.py
imports: from __future__ import absolute_import, division, print_function
  from hypothesis.internal.compat import hrange
  from hypothesis.internal.conjecture.shrinking.common import Shrinker, find_integer
label_desc: Use image node_id 6 for calling the Integer obj's underlying member method code with example usage: obj.mask_high_bits() and returns: self, False