public int decodePredictedValue(final int predictor) {
        int p = predictor < 0 ? -predictor : predictor;
        int noisybits = 0;
        while (p > 1023) {
            noisybits++;
            p >>= 1;
        }
        return predictor + decodeNoisyDiff(noisybits + noisy_bits[p]);
    }
decode a signed integer with the typical range and median taken from the
predicted value

@see #encodePredictedValue
main/src/main/java/cgeo/geocaching/brouter/codec/StatCoderContext.java