anchor.diff:           (move-matr (translate-matrix (- (x (start target-edge)))
                                         (- (y (start target-edge)))))
            (rot-matr (rotate-edge-to-x-matrix target-edge)))
  -    (mult-tr-matrix rot-matr move-matr)))
  +    (when rot-matr
  +      (mult-tr-matrix rot-matr move-matr))))
   
   (defun test-edge-pair-tr-matrix ()
     (labels ((%test (&key coords expected)
  
positive.code: 
  (defun polygons-right-matrices (polygons)
    (let ((edge-pairs (detect-right-angles polygons)))
      (mapcar #'edge-pair-tr-matrix edge-pairs)))
  
  (defun polygons-right-adjusted (polygons)
    (let ((matrs (polygons-right-matrices polygons)))
  
negative.code:                    iteration (field-score state))
             (when log-dir
               (let ((file (make-pathname
                            :name (format nil "~A~A" iteration
                                          (if (= iteration 1)
                                              "-adjusted"
                                              ""))
                            :type "svg"
                            :defaults log-dir)))
                 (draw-polygons-to-svg (if (= iteration 1)
                                           (target-field state)
                                           (field state)) :filename file)))))
      (format t "Selected state with score ~,3F~%" (field-score best-state))
      (let* ((path (pathname solution-file))
             (name (pathname-name path))
  