
\resetsteps      % Reset all the commands to create a blank worksheet  

% Define the operation to be computed

\renewcommand{\routinename}{ \left[ b \right] := \mbox{op}( A, b ) }

% Step 3: Loop-guard 

\renewcommand{\guard}{
  m( A_{TL} ) < m( A )
}

% Step 4: Define Initialize 

\renewcommand{\partitionings}{
  $
  A \rightarrow
  \FlaTwoByTwo{A_{TL}}{A_{TR}}
              {A_{BL}}{A_{BR}}
  $
,
  $
  b \rightarrow
  \FlaTwoByOne{b_{T}}
              {b_{B}}
  $
}

\renewcommand{\partitionsizes}{
$ A_{TL} $ is $ 0 \times 0 $,
$ b_{T} $ has $ 0 $ rows
}

% Step 5a: Repartition the operands 

\renewcommand{\repartitionings}{
$
  \FlaTwoByTwo{A_{TL}}{A_{TR}}
              {A_{BL}}{A_{BR}}
  \rightarrow
  \FlaThreeByThreeBR{A_{00}}{a_{01}}{A_{02}}
                    {a_{10}^T}{\alpha_{11}}{a_{12}^T}
                    {A_{20}}{a_{21}}{A_{22}}
$,
$
  \FlaTwoByOne{ b_T }
              { b_B }
\rightarrow
  \FlaThreeByOneB{b_0}
                 {\beta_1}
                 {b_2}
$
}

\renewcommand{\repartitionsizes}{
  $ \alpha_{11} $ is $ 1 \times 1 $
,
$ \beta_1 $ has $ 1 $ row}

% Step 5b: Move the double lines 

\renewcommand{\moveboundaries}{
$
  \FlaTwoByTwo{A_{TL}}{A_{TR}}
              {A_{BL}}{A_{BR}}
  \leftarrow
  \FlaThreeByThreeTL{A_{00}}{a_{01}}{A_{02}}
                    {a_{10}^T}{\alpha_{11}}{a_{12}^T}
                    {A_{20}}{a_{21}}{A_{22}}
$,
$
  \FlaTwoByOne{ b_T }
              { b_B }
\leftarrow
  \FlaThreeByOneT{b_0}
                 {\beta_1}
                 {b_2}
$
}

% Step 8: Insert the updates required to change the 
%         state from that given in Step 6 to that given in Step 7
% Note: The below needs editing!!!

\renewcommand{\update}{
$
  \begin{array}{l}
    \mbox{update line 1} \\ 
    \mbox{\ \ \ \ :} \\ 
    \mbox{update line n} \\ 
  \end{array}
$
}



