'Compute a lower bound for the adjusted exponent of self.log10().
In other words, find r such that self.log10() >= 10**r.
Assumes that self is finite and positive and that self != 1.'

def _log10_exp_bound(self):

    adj = ((self._exp + len(self._int)) - 1)
    if (adj >= 1):
        return (len(str(adj)) - 1)
    if (adj <= (-2)):
        return (len(str(((-1) - adj))) - 1)
    op = _WorkRep(self)
    (c, e) = (op.int, op.exp)
    if (adj == 0):
        num = str((c - (10 ** (- e))))
        den = str((231 * c))
        return (((len(num) - len(den)) - (num < den)) + 2)
    num = str(((10 ** (- e)) - c))
    return (((len(num) + e) - (num < '231')) - 1)
