this my code and after I run it I got this error message: 
  
ERROR: Overflow error in NLPQN. 
operation : NLPQN at line 5279 column 1 
operands  : *LIT1222, k, optn, , , , , , *LIT1223 
*LIT1222      1 row       1 col     (character, size 3) 
fun 
k      1 row       2 cols    (numeric) 
         0         0 
optn      1 row      11 cols    (numeric) 
*LIT1223      1 row       1 col     (character, size 3) 
con 
statement : CALL at line 5279 column 1 
***************************************** 
  
where  l and g are vectors 
  
the code is :
proc
iml;
start
fun(K) global
(l,e,g,p);
 
 
sumf=0;
 
 
do
i = 1to
p;
 
 
sumf
= sumf + (((e*l)+ ( k**2
* g**2 )) /(l+ 
k)**2);
 
 
end;
 
 
return
(sumf);
 
 
finish     
fun;
 
 
 
 
start
con(k) global
(l,lg,e1,n,ny,p,g2,z,g);
 
 
 
 
c=j(5,1,0);
 
 
 
 
sumc1=0;
 
 
do
i = 1to
p;
 
 
sumc1
= sumc1 + ( 
(g2*l**2)
/(l+k)**2  );
 
 
end;
 
 
 
 
sumc3=0;
 
 
do
i = 1to
p;
 
 
sumc3
= sumc3 + (((e1*l)+ ( k**2
* g**2 )) /(l+ 
k)**2);
 
 
end;
 
 
 
 
 
 
sumc41=0;
 
 
do
i = 1to
n;
 
 
sumc41
= sumc41 +( 
(ny-((z[i,1]*g[1]*l[1])/(la[1]+k[1]))-((z[i,2]*g[2]*l[2])/(l[2]+k[2]))
)**2  );
 
 
end;
 
 
 
 
 
 
sumc42=0;
 
 
do
i=1to
n;
 
 
sumc42=sumc42+(1-((z[i,1]**2)/(l[1]+k[1]))-((z[i,2]**2)/(l[2]+k[2]))
);
 
 
end;
 
 
 
 
sumc4=(n*sumc41)/(sumc42)**2;
 
 
 
 
c[1]=
lg-sumc1;
 
 
c[2]=k[1];
 
 
c[3]=k[2];
 
 
c[4]=3-sumc3;
 
 
c[5]=4-sumc4;
 
 
return
(c);
 
 
finish
con;
 
 
k=j(1,2,0);
 
 
optn=j(1,11,.);
optn[11]=0;
optn[10]=5;
 
 
call nlpqn (rc, kres, "fun", k, optn)
nlc="con";