In this program some registers have two names. For example,
the labels \m i and \mm ii stand for one register.
The program uses \m i to represent a value of the array $X$
and \mm ii for an index to this array.

The program needs $(5N+A)\mems + (16N+3A+7)\oops$.
For the test data the procedure has the statistics:
{\tt 117 instructions, 40 mems, 133 oops; 14 good guesses, 8 bad}.
As in this case $N=6$ and $A=10$ the formula gives
$30+10=40\mems$ and $96+30+7=133\oops$.
