Here is the heart of the Martin fractal code for those interested

//------------------------------------------------------------------
// InitSaver()
//------------------------------------------------------------------

void InitSaver(HWND hWnd)
{
    a = double(random(100) - 50);
    b = double(random(100) - 50);
    c = double(random(100) - 50);
    s = (abs(a) + abs(b) + abs(c)) / 3.0;
    s = 6.0 - (abs(s/10.0));

    ClearScreen(hWnd);

    tc = 0;
    xold = 0.0;
    yold = 0.0;

};


//------------------------------------------------------------------
// Martin()
//------------------------------------------------------------------

void Martin(HWND hWnd)
{
  static int t   = 0;
  static int clr = random(NumColor);

  double xnew, ynew ;

  if (t > tMax)
  {
    tc++;
    t = 0;
    clr = (clr+1) % NumColor;
  };

  Plot(hWnd, xold*s, yold*s, clr);

  xnew = yold - Sign(xold)*sqrt(abs(b*xold-c));
  ynew = a - xold;
  xold = xnew ;
  yold = ynew ;

  t++;

}

//------------------------------------------------------------------
// SaverStep()
//------------------------------------------------------------------

void SaverStep(HWND hWnd)
{
  if (tc > tcMax) InitSaver(hWnd);

  Martin(hWnd);
};

