function residual = static_resid(T, y, x, params, T_flag)
% function residual = static_resid(T, y, x, params, T_flag)
%
% File created by Dynare Preprocessor from .mod file
%
% Inputs:
%   T         [#temp variables by 1]  double   vector of temporary terms to be filled by function
%   y         [M_.endo_nbr by 1]      double   vector of endogenous variables in declaration order
%   x         [M_.exo_nbr by 1]       double   vector of exogenous variables in declaration order
%   params    [M_.param_nbr by 1]     double   vector of parameter values in declaration order
%                                              to evaluate the model
%   T_flag    boolean                 boolean  flag saying whether or not to calculate temporary terms
%
% Output:
%   residual
%

if T_flag
    T = FiscalRE16022017_correct_tax.static_resid_tt(T, y, x, params);
end
residual = zeros(15, 1);
residual(1) = y(7)-(params(1)-(params(2)-1)/params(2)*params(3))*y(3)-y(2);
lhs = y(7);
rhs = y(1)-y(3);
residual(2) = lhs - rhs;
lhs = y(14);
rhs = y(13)-y(1);
residual(3) = lhs - rhs;
lhs = y(15);
rhs = y(12)-y(1);
residual(4) = lhs - rhs;
lhs = y(6);
rhs = y(1)+x(1)-y(4)-y(10);
residual(5) = lhs - rhs;
lhs = y(1);
rhs = y(2)*params(4)+params(5)*y(5)+y(13)*params(6);
residual(6) = lhs - rhs;
lhs = y(1);
rhs = y(4)*params(7)+y(3)*(1-params(7))-x(1)*params(7)+y(10)*params(7);
residual(7) = lhs - rhs;
residual(8) = y(10)*(-params(8))*params(9)/params(10)-y(4)+y(5)*params(11)-x(1)*(1-params(8))/params(10)+y(4)*(1-params(8))/params(10);
residual(9) = y(10)+(-y(6))/(params(9)-1);
lhs = y(8);
rhs = y(1)-y(3);
residual(10) = lhs - rhs;
lhs = y(2)*(-params(2))-y(3)*params(3)*(1-params(2));
rhs = y(2)*(-params(2))-y(3)*params(3)*(1-params(2))+y(6)*T(1);
residual(11) = lhs - rhs;
lhs = y(9);
rhs = y(6)*(1-params(16))*params(8)*params(9)/params(13);
residual(12) = lhs - rhs;
residual(13) = params(14)*y(11)-y(12)*params(15)-y(4)*params(17);
residual(14) = y(13)*params(6)+T(2)*(y(12)+y(9))-y(4)*T(3)-y(6)*params(8)*params(9)*params(17)*params(16)/params(10)-(1-params(7))*params(18)*(y(7)+y(3))+x(1)*(T(3)-T(2))-y(12)*params(15)-y(2)*params(4)*params(19);
residual(15) = y(1)*(params(6)+params(20)-params(15)*params(21)/params(10))+params(15)*params(21)/params(10)*(y(12)-x(1))+x(2)-y(13)*params(6);
if ~isreal(residual)
  residual = real(residual)+imag(residual).^2;
end
end
