+;; gorilla-repl.fileformat = 1
+
+;; @@
 (ns clojush.pushgp.genetic-operators
   (:use [clojush util random individual globals interpreter translate pushstate]
         clojush.instructions.tag

                       (produce-child-genome-by-autoconstruction 
                         parent1-genome parent2-genome false argmap)
                       parent1-genome)
        child-errors (if autoconstructive-improve-or-diversify
                       (do
                         (swap! evaluations-count inc)
                         (error-function (translate-plush-genome-to-push-program 
                                           {:genome child-genome} 
                                           argmap)))
                       nil)
        variant (diversifying? child-genome argmap)
        use-child (or variant
                      (and autoconstructive-improve-or-diversify
                           (some (fn [[child-error parent1-error parent2-error]]
                                   (< child-error (min parent1-error parent2-error)))
                                 (mapv vector child-errors (:errors parent1) (:errors parent2)))))
        new-genome (if use-child
                     child-genome
                     (random-plush-genome max-genome-size-in-initial-program atom-generators argmap))]

                                           (:ancestors parent1)))
        :is-random-replacement
        (if use-child false true))))

;; @@
