                          (range (+ i cb) ca)))}))))
 
 (defn- half-match* [long short i]
-  (let [target (subsequence long i (+ i (/ (count long) 4)))]
+  (let [target (subsequence long i (+ i (quot (count long) 4)))]
     (loop [j (index-of short target 0)
            result []]
       (if (= j -1)

  use the expensive diff algorithm for this."
  [a b ca cb]
  (let [[short long] (if (> ca cb) [b a] [a b])
        i (index-of long short)]
    (if (= i -1)
      nil
      (if (= short a)

                    (.substring b 0 (- b-length i))]))
  (index-of ([^String a ^String b]
               (.indexOf a b))
            ([^String a ^String b ^Integer start]
               (.indexOf a b start)))
  (subsequence ([^String a ^Integer start]
                  (.substring a start))
               ([^String a ^Integer start ^Integer end]
                  (.substring a start end)))
  (concatinate [^String a ^String b]
               (str a b)))

(defn- short-within-long
