Let's look at Equation~\ref{eq:2x1Plusx2}.  In freshman calculus
you'd just probably just do this: 
\begin{eqnarray*}
f(x_1,x_2) & = & (2 x_1 + x_2)^2 = 4 x_1^2 + 4 x_1 x_2 + x_2^2 \\
\deriv{f}{x_1} & = & 8 x_1 + 4 x_2 \\
\deriv{f}{x_2} & = & 4 x_1 + 2 x_2 \\
\end{eqnarray*}

\begin{table}
\begin{tabular}{l|l}
Derivation Step & Reason \\
\hline
\( \deriv{f}{x_1}  =  \deriv{z_2^2}{z_2} \cdot \deriv{z_2}{x_1} \)
         & $f=z_2^2$ \\
& \\
\( \deriv{f}{x_1}  =  2 z_2 \cdot \deriv{z_2}{x_1} \)
         & $\deriv{(a^2)}{a} = 2a$ \\
& \\
\( \deriv{f}{x_1}  =  2 z_2 \cdot \deriv{(z_1 + x_2)}{x_1} \)
         & $z_2 = z_1 + x_2$ \\
& \\
\( \deriv{f}{x_1}  =  2 z_2 \cdot \left( 1 \cdot \deriv{z_1}{x_1} + 1 \cdot \deriv{x_2}{x_1} \right) \)
         & $\deriv{(a+b)}{a} = \deriv{(a+b)}{b} = 1$ \\
& \\
\( \deriv{f}{x_1}  =  2 z_2 \cdot \left( 1 \cdot \deriv{(x_1 + x_1)}{x_1} + 1 \cdot \deriv{x_2}{x_1} \right) \)
         & $z_1 = x_1 + x_1$ \\
& \\
\( \deriv{f}{x_1}  =  2 z_2 \cdot \left( 1 \cdot \left( 1 \cdot \deriv{x_1}{x_1} + 1 \cdot \deriv{x_1}{x_1} \right) + 1 \cdot \deriv{x_2}{x_1} \right) \)
         & $\deriv{(a+b)}{a} = \deriv{(a+b)}{b} = 1$ \\
& \\
\( \deriv{f}{x_1}  =  2 z_2 \cdot \left( 1 \cdot \left( 1 \cdot 1 + 1 \cdot 1 \right) + 1 \cdot 0 \right) \)
         & $\deriv{a}{a}=1$ and $\deriv{a}{b}=0$ for inputs $a,b$ \\
& \\
\( \deriv{f}{x_1}  =  2 z_2 \cdot 2 = 8 x_1 + 4 x_2 \) 
         & simplify\\
\hline
\end{tabular}
\caption{A detailed derivation of $\deriv{f}{x_1}$}
\label{dx1:2x1Plusx2}
\end{table}

Here we'll use the Wengert list, in reverse, and the chain rule.  This
list is
\begin{eqnarray*}
z_1 & = & \cd{add}(x_1,x_1) \\
z_2 & = & \cd{add}(z_1,x_2) \\
f & = & \cd{square}(z_2)
\end{eqnarray*}
Table~\ref{dx1:2x1Plusx2} contains a detailed derivation of
$\deriv{f}{x_1}$, where in each step we either plug in a definition of
a variable in the list, or use the derivative of one of the operators
(\cd{square} or \cd{add}). Table~\ref{dx2:2x1Plusx2} contains an
analogous derivation of $\deriv{f}{x_1}$.  Notice that these
derivations are nearly identical.  In fact, they are very analogous to
the computations carried out by the \cd{backprop} algorithm: can you
see how?

\begin{table}
\begin{tabular}{l|l}
Derivation Step & Reason \\
\hline
\( \deriv{f}{x_2}  =  \deriv{z_2^2}{z_2} \cdot \deriv{z_2}{x_2} \)
         & $f=z_2^2$ \\
& \\
\( \deriv{f}{x_2}  =  2 z_2 \cdot \deriv{z_2}{x_2} \)
         & $\deriv{(a^2)}{a} = 2a$ \\
& \\
\( \deriv{f}{x_2}  =  2 z_2 \cdot \deriv{(z_1 + x_2)}{x_2} \)
         & $z_2 = z_1 + x_2$ \\
& \\
\( \deriv{f}{x_2}  =  2 z_2 \cdot \left( 1 \cdot \deriv{z_1}{x_2} + 1 \cdot \deriv{x_2}{x_2} \right) \)
         & $\deriv{(a+b)}{a} = \deriv{(a+b)}{b} = 1$ \\
& \\
\( \deriv{f}{x_2}  =  2 z_2 \cdot \left( 1 \cdot \deriv{(x_1 + x_1)}{x_2} + 1 \cdot \deriv{x_2}{x_2} \right) \)
         & $z_1 = x_1 + x_1$ \\
& \\
\( \deriv{f}{x_2}  =  2 z_2 \cdot \left( 1 \cdot \left( 1 \cdot \deriv{x_2}{x_2} + 1 \cdot \deriv{x_1}{x_2} \right) + 1 \cdot \deriv{x_2}{x_2} \right) \)
         & $\deriv{(a+b)}{a} = \deriv{(a+b)}{b} = 1$ \\
& \\
\( \deriv{f}{x_1}  =  2 z_2 \cdot \left( 1 \cdot \left( 1 \cdot 1 + 1 \cdot 0 \right) + 1 \cdot 1 \right) \)
         & $\deriv{a}{a}=1$ and $\deriv{a}{b}=0$ for inputs $a,b$ \\
& \\
\( \deriv{f}{x_1}  =  2 z_2 \cdot 2 = 4 x_1 + 2 x_2 \) 
         & simplify\\
\hline
\end{tabular}
\caption{A detailed derivation of $\deriv{f}{x_2}$}
\label{dx2:2x1Plusx2}
\end{table}

\yy{the other example}
