function report = white(program,x0,hess)
global T;
nn = size(x0,1);

I = eye(nn,nn);b=0.00001;

for i=1:nn  
%S_Iop(i,:) = 1/(b*x0(i))*(feval(program, x0+b*I(:,i).*x0)- feval(program, x0));
S_Iop(i,:) = 1/(b)*(feval(program, x0+b*I(:,i))- feval(program, x0));
end

for t=1:T
M_Iop(:,:,t) = S_Iop(:,t)*S_Iop(:,t)';
end
Iop = (1/T)*sum(M_Iop,3);

I2d=-(1/T)*hess;
%WSEM_hess = (1/T)*inv(I2d*inv(Iop)*I2d');
WSEM_hess = (1/T)*inv(I2d)*Iop*inv(I2d);
%WSEM_hess = (1/T)*inv(I2d);

for i=1:nn
WSEV_hess(i,1) = [sqrt(WSEM_hess(i,i))];
end
 
report = [x0,WSEV_hess(:,1),x0./WSEV_hess(:,1)];
end
