open window 640,480

minx=0
maxx=640
miny=0
maxy=512

limit=4
maxit=16
colscale=200/maxit
colbase=55

xinc=4/(maxx-minx)
xx=-3
yinc=4/(maxy-miny)
yy=-2

for y=miny to maxy
 xx=-3
 for x=minx to maxx
  a1=xx
  b1=yy
  lp=0

  repeat
   lp=lp+1
   a2=a1*a1-b1*b1+xx
   b2=2*a1*b1+yy
   a1=a2
   b1=b2
  until ((lp>maxit) or ((a1*a1)+(b1*b1)>limit))

  if lp>maxit then lp=0 fi

  t=mod(lp,3)
  lp=colbase+lp*colscale

  if (t=1) then
   setrgb 1,lp,0,0
  elseif (t=2) then
   setrgb 1,0,lp,0
  else
   setrgb 1,0,0,lp
  fi

  dot x,y
  xx=xx+xinc
 next x

 yy=yy+yinc
next y
