anchor.diff:  (defvar player-dir (vec 0 1))
   (defvar new-pos (vec 0 0))
   (defvar cam-pos (vec 0 50))
  -(defvar cam-size (vec 100 100))
  +(defvar cam-size (vec 50 50))
   (defvar circles (cast null (ptr vec3)))
   (defvar circle-cnt (cast 0 u64))
  +(add-to-list+ circles circle-cnt (vec 10 40 0.5))
  +(add-to-list+ circles circle-cnt (vec 10 40 1))
  +(add-to-list+ circles circle-cnt (vec 10 40 2))
  +(add-to-list+ circles circle-cnt (vec 10 40 3))
  +(add-to-list+ circles circle-cnt (vec 10 40 4))
  +(add-to-list+ circles circle-cnt (vec 10 40 5))
  +(add-to-list+ circles circle-cnt (vec 10 40 6))
  +(add-to-list+ circles circle-cnt (vec 10 40 7))
  +(add-to-list+ circles circle-cnt (vec 10 40 8))
  +(add-to-list+ circles circle-cnt (vec 10 40 9))
   (add-to-list+ circles circle-cnt (vec 10 40 10))
   (add-to-list+ circles circle-cnt (vec 10 50 20))
   (add-to-list+ circles circle-cnt (vec 10 60 30))
  
positive.code:   (vec2-length (- a b)))
  
  (let ((iteration 0)
        (speed 1.0))
    (while (< iteration 40000)
      (let ((ts (timestamp)))
        (let ((lastpt (deref (ptr+ points (cast (- points-cnt 1) i64)))))
  
negative.code:       (setf iteration (+ iteration 1))
        
        (gl:clear gl:color-buffer-bit)
        
        (gl:uniform color-loc (cast (- 1.0 speed) f32) (cast speed f32) (cast speed f32) 1)      
        (range it 0 (cast circle-cnt i64)
  	     (let ((circle (deref (ptr+ circles it))))
  	       (let ((dist (pt-dist cam-pos (vec (member circle x) (member circle y)))))
  		 (when (< dist (member circle z))
  		   (setf speed (* 0.998 speed))))
  	       (gl:bind-buffer gl:array-buffer vbo-circle)
  	       (gl:vertex-attrib-pointer 0 2 gl:float gl:false 0 null) 
  	       (gl:uniform offset-loc (vec (member circle x) (member circle y)))
  	       (gl:uniform size-loc (vec (member circle z) (member circle z)))
  	       (gl:draw-arrays gl:line-strip 0 (cast circ-pts u32))))
  
  
        (gl:bind-buffer gl:array-buffer vbo)
        (gl:vertex-attrib-pointer 0 2 gl:float gl:false 0 null) 
        (gl:uniform offset-loc player-pos)
        (gl:uniform size-loc (vec 1 1))
        (gl:uniform color-loc 0.5 0.6 0.7 1)
        (gl:draw-arrays gl:line-strip 0 (cast points-cnt u32))
  
        
        (glfw:swap-buffers win)
        (print (- (timestamp) ts) " µs cnt:" points-cnt newline))
  
  