function f = fun(x)

f.x       = exp(sin(50*x(1,:)))+sin(60*exp(x(2,:)))+ ...
		    sin(70*sin(x(1,:)))+sin(sin(80*x(2,:)))- ...
                sin(10*(x(1,:)+x(2,:)))+(x(1,:).^2+x(2,:).^2)/4;

f.dx(1,:) = 50*cos(50*x(1,:)).*exp(sin(50*x(1,:)))+ ...
                70*cos(70*sin(x(1,:))).*cos(x(1,:))- ...
                10*cos(10*x(1,:)+10*x(2,:))+1/2*x(1,:);
            
f.dx(2,:) = 60*cos(60*exp(x(2,:))).*exp(x(2,:))+ ...
                80*cos(sin(80*x(2,:))).*cos(80*x(2,:))- ...
                10*cos(10*x(1,:)+10*x(2,:))+1/2*x(2,:);

return
