anchor.diff:  					(secondnum (progn (reader-position bitreader (1- second-half))
   							  (restore-sync bitreader streaminfo))))
   
  -				   (if (< needed-num firstnum)
  -                                       (error 'flac-error :format-control "Seek error"))
  +				   (when (< needed-num firstnum)
  +                                     (error 'flac-error :format-control "Seek error"))
   
   				   (cond 
   				    ((< secondnum needed-num)
  
positive.code:                     end-pos (+ start-pos upperpoint))))))
  
      ;; Check implementation limitations
      (if (and streaminfo
               (/= (streaminfo-minblocksize streaminfo)
                   (streaminfo-maxblocksize streaminfo)))
  	(error 'flac-bad-metadata
  	       :format-control "Cannot seek with variable blocksize"))
  
      (multiple-value-bind (needed-num remainder)
  	(floor sample (if streaminfo
  
negative.code:     
      (let ((precision (1+ (read-bits 4 bit-reader))))
        (declare (type (integer 1 16) precision))
        (when (= #b10000 precision)
  	(error 'flac-bad-frame
  	       :format-control "lpc coefficients precision cannot be 16"))
        (setf (subframe-lpc-precision subframe) precision
              (subframe-lpc-coeff-shift subframe)
  	    (unsigned-to-signed (read-bits 5 bit-reader) 5)
              (subframe-lpc-predictor-coeff subframe)
  	    (read-bits-array bit-reader
  			     coeff-buf precision :signed t)))
      (read-residual bit-reader subframe frame out-buf)))
  
  (defmethod read-subframe-body (bit-reader (subframe subframe-fixed) frame)
    (let ((bps (subframe-actual-bps subframe))
  	(warm-up-samples (subframe-order subframe))
  	(out-buf (subframe-out-buf subframe)))
      (read-bits-array bit-reader out-buf bps :signed t :len warm-up-samples)
      (read-residual bit-reader subframe frame out-buf)))
  
  (defmethod read-subframe-body (bit-reader (subframe subframe-constant) frame)
  