anchor.diff:        ((< h* 5.0f0) (values x     0.0f0 1.0f0))
         ((< h* 6.0f0) (values 1.0f0 0.0f0 x)))))
   
  -(defun m (cr ci iterations)
  +(defun m (cr ci zr zi iterations)
     (declare (optimize (speed 3) (safety 0))
  -           (type single-float cr ci)
  +           (type single-float cr ci zr zi)
              (type fixnum iterations))
  -  (let ((zr 0.0f0) (zi 0.0f0))
  -    (declare (type single-float zr zi))
  -    (dotimes (i iterations nil)
  -      (declare (type fixnum i))
  -      (let ((zr2 (* zr zr))
  -            (zi2 (* zi zi)))
  -        (declare (type single-float zr2 zi2))
  -        (psetf zr (+ cr (- zr2 zi2))
  -               zi (+ ci (* zi zr) (* zr zi)))
  -        (when (> (+ zr2 zi2) 4.0f0)
  -          (return (* (/ (float i 0.0f0) (float iterations 0.0f0)) 360.0f0)))))))
  +  (dotimes (i iterations nil)
  +    (declare (type fixnum i))
  +    (let ((zr2 (* zr zr))
  +          (zi2 (* zi zi)))
  +      (declare (type single-float zr2 zi2))
  +      (psetf zr (+ cr (- zr2 zi2))
  +             zi (+ ci (* zi zr) (* zr zi)))
  +      (when (> (+ zr2 zi2) 4.0f0)
  +        (return (* (/ (float i 0.0f0) (float iterations 0.0f0)) 360.0f0))))))
   
  -(defun render-mandelbrot (x y width height hue-offset)
  +(defun render-mandelbrot (x y width height hue-offset julia)
     "Render one pixel."
     (declare (optimize (speed 3) (safety 0))
              (type single-float x y width height hue-offset))
  
positive.code: (defmethod dispatch-event (app (event mezzano.gui.compositor:resize-event))
    (signal 'must-redraw))
  
  (defun benchmark (&optional (width 500) (height width))
    (let ((framebuffer (mezzano.gui:make-surface width height))
          (hue-offset (rem (get-universal-time) 360)))
      (dotimes (y height)
        (dotimes (x width)
          (setf (mezzano.gui:surface-pixel framebuffer x y)
                (render-mandelbrot (float x) (float y) (float width) (float height) (float hue-offset)))))
      framebuffer))
  
  (defun mandelbrot-main (width height)
  
negative.code:                    (dotimes (y height)
                       (dotimes (x width)
                         (setf (mezzano.gui:surface-pixel framebuffer (+ left x) (+ top y))
                               (render-mandelbrot (float x) (float y)
                                                  (float width) (float height)
                                                  (float hue-offset)
                                                  (juliap app))))
                       (mezzano.gui.compositor:damage-window window left (+ top y) width 1)
                       (loop
                          (let ((evt (mezzano.supervisor:fifo-pop fifo nil)))
  