function gamma_dot = fcn(p,phi_phi_t)
%#codegen
R1 = 1000;
R2 = 1000;
R3 = 1000;
R4 = 5000;
beta = 0.1;

gamma_d = eye(4);
if abs(p(1,1)) > R1
    gamma_d(1,1) = 0;
else
    gamma_d(1,1) = beta*p(1,1)-(p(1,1)*phi_phi_t(1,1)*p(1,1))/(1+phi_phi_t(1,1));
end

if abs(p(2,2)) > R2 
    gamma_d(2,2) = 0;
else
    gamma_d(2,2) = beta*p(2,2)-(p(2,2)*phi_phi_t(2,2)*p(2,2))/(1+phi_phi_t(2,2));
end

if abs(p(3,3)) > R3
    gamma_d(3,3) = 0;
else
    gamma_d(3,3) = beta*p(3,3)-(p(3,3)*phi_phi_t(3,3)*p(3,3))/(1+phi_phi_t(3,3));
end

if abs(p(4,4)) > R4
    gamma_d(4,4) = 0;
else
    gamma_d(4,4) = beta*p(4,4)-(p(4,4)*phi_phi_t(4,4)*p(4,4))/(1+phi_phi_t(4,4));
end

gamma_dot = diag([gamma_d(1,1) gamma_d(2,2) gamma_d(3,3) gamma_d(4,4)]);