function [fval,grval,hessval] = fungradhess(x)

fval =
log((x1 - 4/3)^2 + 3*(- x1^3 + x1 + x2)^2 + 1);
grval =
[ -(6*(3*x1^2 - 1)*(- x1^3 + x1 + x2) - 2*x1 + 8/3)/((x1 - 4/3)^2 + 3*(- x1^3 + x1 + x2)^2 + 1),...
    (- 6*x1^3 + 6*x1 + 6*x2)/((x1 - 4/3)^2 + 3*(- x1^3 + x1 + x2)^2 + 1)];
hessval =
[ (6*(3*x1^2 - 1)^2 - 36*x1*(- x1^3 + x1 + x2) + 2)/((x1 - 4/3)^2 + 3*(- x1^3 + x1 + x2)^2 + 1) -...
    (6*(3*x1^2 - 1)*(- x1^3 + x1 + x2) - 2*x1 + 8/3)^2/((x1 - 4/3)^2 + 3*(- x1^3 + x1 + x2)^2 + 1)^2, ...
    ((- 6*x1^3 + 6*x1 + 6*x2)*(6*(3*x1^2 - 1)*(- x1^3 + x1 + x2) - 2*x1 + 8/3))/((x1 - 4/3)^2 +...
    3*(- x1^3 + x1 + x2)^2 + 1)^2 - (18*x1^2 - 6)/((x1 - 4/3)^2 + 3*(- x1^3 + x1 + x2)^2 + 1)]
[            ((- 6*x1^3 + 6*x1 + 6*x2)*(6*(3*x1^2 - 1)*(- x1^3 + x1 + x2) - 2*x1 + 8/3))/((x1 - 4/3)^2 +...
    3*(- x1^3 + x1 + x2)^2 + 1)^2 - (18*x1^2 - 6)/((x1 - 4/3)^2 + 3*(- x1^3 + x1 + x2)^2 + 1),                                                              6/((x1 - 4/3)^2 + 3*(- x1^3 + x1 + x2)^2 + 1) - (- 6*x1^3 + 6*x1 + 6*x2)^2/((x1 - 4/3)^2 + 3*(- x1^3 + x1 + x2)^2 + 1)^2]