Question: Why won't this procedure compile?

Why won't this procedure Compile? All I get is a cryptic and ungrammatical error message.

    step:= proc(
          n::integer[4],
          XYZ::Matrix(datatype= float[8]),
          E::Vector(datatype=integer[4]), F::Vector(datatype=integer[4]),
          W::Matrix(datatype= float[8]), #3x2 scratch matrix
          mu::integer[4]
     )
     option autocompile;
     local
          i::integer[4], j::integer[4],
          ed::float[8],
          fd::float[8],
          p::float[8], t::float[8]       
     ;
          to mu do
               for i to n do
                    ed:= 0;  fd:= 0;
                    for j to 3 do
                          p:= XYZ[i,j];
                          t:= XYZ[E[i],j] - p;
                          ed:= ed+t^2;
                          W[j,1]:= t;
                          t:= XYZ[F[i],j] - p;
                          fd:= fd+t^2;
                          W[j,2]:= t
                    od;
                    ed:= sqrt(ed) + .01;  fd:= sqrt(fd) + .01;
                    for j to 3 do
                         XYZ[i,j]:= 0.995*XYZ[i,j] - 0.01*W[j,1]/ed + 0.02*W[j,2]/fd
                    od
               od
          od
     end proc;
Compiler:-Compile(step);

Error, (in Compiler:-Compile1) In memory compilation failed

Please Wait...