Anyone knows whats wrong with this VP on a GF3 ?

gzGFXProgram theVertexBlendShader;

const gzString GZ_VP_VERTEXBLEND=

“!!ARBvp1.0

PARAM mvp[4]={state.matrix.mvp};

PARAM mv0[4]={state.matrix.modelview[0]};

PARAM mv1[4]={state.matrix.modelview[1]};

PARAM mp[4]={state.matrix.projection};

PARAM one=1;

OUTPUT oPos=result.position;

ALIAS iPos=vertex.position;

ALIAS weight=vertex.attrib[1].x;

TEMP v1,v,temp;

DP4 v1.x , mv0[0],iPos;

DP4 v1.y , mv0[1],iPos;

DP4 v1.z , mv0[2],iPos;

DP4 v1.w , mv0[3],iPos;

RCP temp.w,v1.w;

MUL v1,v1,temp.w;

MUL v,v1,weight;

DP4 v1.x , mv1[0],iPos;

DP4 v1.y , mv1[1],iPos;

DP4 v1.z , mv1[2],iPos;

DP4 v1.w , mv1[3],iPos;

RCP temp.w,v1.w;

MUL v1,v1,temp.w;

MAD temp.w,-one,weight,one;

MUL v1,v1,temp.w;

ADD v,v1,v;

DP4 oPos.x, mp[0], v;

DP4 oPos.y, mp[1], v;

DP4 oPos.z, mp[2], v;

DP4 oPos.w, mp[3], v;

END”;