anchor.diff:  			      recip-sin-angle)))
                   ;; angle is close to 180 degrees
                   (list (cl:- pos 1.0) pos))))
  -    (+ (* start-quat start-mult)
  -       (* end-quat end-mult))))
  +    (+ (*s start-quat start-mult)
  +       (*s end-quat end-mult))))
   
   (defun approx-slerp (start-quat end-quat pos)
     (let* ((cos-angle (v4:dot start-quat end-quat))
  
positive.code:     ;; if angle is less than 90 degrees
      (if (> cos-angle 0f0)
          ;; use standard interp
          (+ (* end-quat pos)
  	   (* start-quat (cl:- 1.0 pos)))
          ;; take shorter path
          (+ (* end-quat pos)
  	   (* start-quat (cl:- pos 1.0))))))
  
negative.code:   ;; get cos of 'angle' between quaternions
    (let ((cos-angle (v4:dot start-quat end-quat)))
      (if (>= cos-angle 0f0)
          (+ (*s end-quat pos)
  	   (*s start-quat (cl:- 1.0 pos)))
          (+ (*s end-quat pos)
  	   (*s start-quat (cl:- pos 1.0))))))
  
  (defun slerp (start-quat end-quat pos)
    "Spherically interpolate between two quaternions. Note that this
  