void circleFractal( float x, float y, float r )
{
  ellipse( x, y, 2*r, 2*r );
  // ellipse( x - r, y, r, r );
  // ellipse( x + r, y, r, r );
  if ( r > 1 ) {
    circleFractal( x - r, y, 0.5*r );
    circleFractal( x + r, y, 0.5*r );
  }
}

void setup()
{
  size( 1200, 600 );
}

void draw()
{
  background( 100 );
  fill( 255, 20 );
  stroke( 255 );
  strokeWeight( 2 );
  circleFractal( width/2, height/2, 250 );
}