anchor.diff:  ;	    (setf (ldb (byte 1 i) (car chromosome-place))
   ;		  (lognot (ldb (byte 1 i) chromosome)))))
   ;    (car chromosome-place))
  -chromosome
  +  chromosome
   )
   
   ;;;; helpers
  -(defun make-chromosome (range straight-prob)
  +(defun make-chromosome (min-value max-value straight-prob)
     (loop for k below (* 3 2)
        collect (cond ((and (or (= k 2) (= k 3))
   			 (<= (random 1.0) straight-prob))
   		    0)
   		   (T
  -		    (* (random 1.0) range)))))
  +		    (random-range min-value max-value)))))
   
   (defun coords-distance (candidate start ctrl end)
     (let ((score 0))
  
positive.code: (defun get-max-coords-value (start end)
    (float (max (zpb-ttf:x start) (zpb-ttf:y start)
  	      (zpb-ttf:x end) (zpb-ttf:y end))))
  
negative.code: 	(max-generations 400)
  	(mutation-probability 0.1)
  	(max-coordinate-value (get-max-coords-value start end))
  	(min-coordinate-value (get-min-coords-value start end))
  	(straight-line-probability (if control 0.0 1.0))
  	(best-candidate)
  	(best-score))
  
      ;; initialization
      (setf population (initialize-population population-size min-coordinate-value max-coordinate-value straight-line-probability))
  
      (loop repeat max-generations
         ;; evaluation
  