    :final-report-simplifications 5000
    :max-error 5000
    :use-single-thread false
+   :reuse-errors false
    })
  (let [behavior (atom '())
        errors (doall
                 (for [[[str1 str2] distance] @levenshtein-cases]
                   (let [state (run-push program 
                                         (push-item str2 :input 
                                                    (push-item str1 :input 
                                                               (make-push-state))))
                         top-int (top-item :integer state)]
                     (when @global-print-behavioral-diversity
                       (swap! behavior conj [top-int]))

;; levenshtein.clj
;; Lee Spector, lspector@hampshire.edu
;;
;; Given two string inputs, return the Levenshtein distance between them.
;; The input strings will not have tabs or newlines, but may have multiple 
;; spaces in a row. They will have maximum length of 100 characters. 
;;
;; This problem is defined to be solved with a different small set of test
;; cases each generation, so errors will change from generation to generation
;; even for the same program.
;;
;; input stack has the two input strings


(ns clojush.problems.software.levenshtein
  (:use clojush.pushgp.pushgp
        [clojush pushstate interpreter random util globals]
