那么我们定义一个算法的转置如下:
新算法中的输出位对应原算法中的输入变量,处理与上述的一般变量相同。
首先我们证明这样定义的转置和原来的乘法、加法次数满足要求:如果原算法中一个变量在 $a$ 个指令里被作为加数($y=x+x$ 的情况算两遍),$b$ 个指令里被作为乘数,$c$ 个位置作为输出,那么在转置中,就会出现 $b$ 次乘法、以及 $a+b+c-1$ 次加法。所以若原算法中共有 $a$ 次加法指令和 $b$ 次乘法指令,那么新算法就会有 $2a+b+m-(a+b+n)=a+(m-n)$ 次加法,$b$ 次乘法。