anchor.diff:                                              plaintext-start plaintext-end
                                               ciphertext-start handle-final-block)
                   (declare (type simple-octet-vector plaintext ciphertext))
  +                (declare (type index plaintext-start plaintext-end ciphertext-start))
                   (declare (ignorable handle-final-block))
                   (let ,block-length-binding
                     (loop with iv of-type (simple-octet-vector ,(if (constantp `,block-length-expr)
  
positive.code:                                                                          `,block-length-expr
                                                                           '*)) = (encrypted-iv mode)
                       with encrypt-function of-type function = (encrypt-function cipher)
                       for i from ciphertext-start below ciphertext-end
                       for j from plaintext-start
                       do (when (zerop iv-position)
                            (funcall encrypt-function cipher iv 0 encrypted-iv 0)
                            (increment-counter-block iv))
  
negative.code:                                             ciphertext-start ciphertext-end
                                              plaintext-start handle-final-block)
                  (declare (type simple-octet-vector plaintext ciphertext))
                  (declare (type index ciphertext-start ciphertext-end plaintext-start))
                  (declare (ignorable handle-final-block))
                  (let ,block-length-binding
                    (loop with iv of-type (simple-octet-vector ,(if (constantp `,block-length-expr)
  