%
% Status : main Dynare file
%
% Warning : this file is generated automatically by Dynare
%           from model file (.mod)

tic0 = tic;
% Save empty dates and dseries objects in memory.
dates('initialize');
dseries('initialize');
% Define global variables.
global M_ options_ oo_ estim_params_ bayestopt_ dataset_ dataset_info estimation_info ys0_ ex0_
options_ = [];
M_.fname = 'ey_zlb';
M_.dynare_version = '4.5.4';
oo_.dynare_version = '4.5.4';
options_.dynare_version = '4.5.4';
%
% Some global variables initialization
%
global_initialization;
diary off;
M_.exo_names = 'eps_u';
M_.exo_names_tex = 'eps\_u';
M_.exo_names_long = 'eps_u';
M_.exo_names = char(M_.exo_names, 'eps_rn');
M_.exo_names_tex = char(M_.exo_names_tex, 'eps\_rn');
M_.exo_names_long = char(M_.exo_names_long, 'eps_rn');
M_.endo_names = 'Epi';
M_.endo_names_tex = 'Epi';
M_.endo_names_long = 'Epi';
M_.endo_names = char(M_.endo_names, 'pi');
M_.endo_names_tex = char(M_.endo_names_tex, 'pi');
M_.endo_names_long = char(M_.endo_names_long, 'pi');
M_.endo_names = char(M_.endo_names, 'y');
M_.endo_names_tex = char(M_.endo_names_tex, 'y');
M_.endo_names_long = char(M_.endo_names_long, 'y');
M_.endo_names = char(M_.endo_names, 'r');
M_.endo_names_tex = char(M_.endo_names_tex, 'r');
M_.endo_names_long = char(M_.endo_names_long, 'r');
M_.endo_names = char(M_.endo_names, 'rn');
M_.endo_names_tex = char(M_.endo_names_tex, 'rn');
M_.endo_names_long = char(M_.endo_names_long, 'rn');
M_.endo_names = char(M_.endo_names, 'u');
M_.endo_names_tex = char(M_.endo_names_tex, 'u');
M_.endo_names_long = char(M_.endo_names_long, 'u');
M_.endo_names = char(M_.endo_names, 'yre');
M_.endo_names_tex = char(M_.endo_names_tex, 'yre');
M_.endo_names_long = char(M_.endo_names_long, 'yre');
M_.endo_names = char(M_.endo_names, 'pire');
M_.endo_names_tex = char(M_.endo_names_tex, 'pire');
M_.endo_names_long = char(M_.endo_names_long, 'pire');
M_.endo_names = char(M_.endo_names, 'rre');
M_.endo_names_tex = char(M_.endo_names_tex, 'rre');
M_.endo_names_long = char(M_.endo_names_long, 'rre');
M_.endo_names = char(M_.endo_names, 'pireexp');
M_.endo_names_tex = char(M_.endo_names_tex, 'pireexp');
M_.endo_names_long = char(M_.endo_names_long, 'pireexp');
M_.endo_names = char(M_.endo_names, 'i');
M_.endo_names_tex = char(M_.endo_names_tex, 'i');
M_.endo_names_long = char(M_.endo_names_long, 'i');
M_.endo_names = char(M_.endo_names, 'ire');
M_.endo_names_tex = char(M_.endo_names_tex, 'ire');
M_.endo_names_long = char(M_.endo_names_long, 'ire');
M_.endo_names = char(M_.endo_names, 'piexp');
M_.endo_names_tex = char(M_.endo_names_tex, 'piexp');
M_.endo_names_long = char(M_.endo_names_long, 'piexp');
M_.endo_names = char(M_.endo_names, 'yexp');
M_.endo_names_tex = char(M_.endo_names_tex, 'yexp');
M_.endo_names_long = char(M_.endo_names_long, 'yexp');
M_.endo_names = char(M_.endo_names, 'ferr');
M_.endo_names_tex = char(M_.endo_names_tex, 'ferr');
M_.endo_names_long = char(M_.endo_names_long, 'ferr');
M_.endo_names = char(M_.endo_names, 'ppi');
M_.endo_names_tex = char(M_.endo_names_tex, 'ppi');
M_.endo_names_long = char(M_.endo_names_long, 'ppi');
M_.endo_names = char(M_.endo_names, 'Ey');
M_.endo_names_tex = char(M_.endo_names_tex, 'Ey');
M_.endo_names_long = char(M_.endo_names_long, 'Ey');
M_.endo_partitions = struct();
M_.param_names = 'beta';
M_.param_names_tex = 'beta';
M_.param_names_long = 'beta';
M_.param_names = char(M_.param_names, 'psi');
M_.param_names_tex = char(M_.param_names_tex, 'psi');
M_.param_names_long = char(M_.param_names_long, 'psi');
M_.param_names = char(M_.param_names, 'phi_pi');
M_.param_names_tex = char(M_.param_names_tex, 'phi\_pi');
M_.param_names_long = char(M_.param_names_long, 'phi_pi');
M_.param_names = char(M_.param_names, 'phi_y');
M_.param_names_tex = char(M_.param_names_tex, 'phi\_y');
M_.param_names_long = char(M_.param_names_long, 'phi_y');
M_.param_names = char(M_.param_names, 'sig_rn');
M_.param_names_tex = char(M_.param_names_tex, 'sig\_rn');
M_.param_names_long = char(M_.param_names_long, 'sig_rn');
M_.param_names = char(M_.param_names, 'sig_u');
M_.param_names_tex = char(M_.param_names_tex, 'sig\_u');
M_.param_names_long = char(M_.param_names_long, 'sig_u');
M_.param_names = char(M_.param_names, 'rho_u');
M_.param_names_tex = char(M_.param_names_tex, 'rho\_u');
M_.param_names_long = char(M_.param_names_long, 'rho_u');
M_.param_names = char(M_.param_names, 'rho_rn');
M_.param_names_tex = char(M_.param_names_tex, 'rho\_rn');
M_.param_names_long = char(M_.param_names_long, 'rho_rn');
M_.param_names = char(M_.param_names, 'rho');
M_.param_names_tex = char(M_.param_names_tex, 'rho');
M_.param_names_long = char(M_.param_names_long, 'rho');
M_.param_names = char(M_.param_names, 'gamma');
M_.param_names_tex = char(M_.param_names_tex, 'gamma');
M_.param_names_long = char(M_.param_names_long, 'gamma');
M_.param_names = char(M_.param_names, 'k');
M_.param_names_tex = char(M_.param_names_tex, 'k');
M_.param_names_long = char(M_.param_names_long, 'k');
M_.param_names = char(M_.param_names, 'lb');
M_.param_names_tex = char(M_.param_names_tex, 'lb');
M_.param_names_long = char(M_.param_names_long, 'lb');
M_.param_names = char(M_.param_names, 'rn_steady');
M_.param_names_tex = char(M_.param_names_tex, 'rn\_steady');
M_.param_names_long = char(M_.param_names_long, 'rn_steady');
M_.param_names = char(M_.param_names, 'rho_i');
M_.param_names_tex = char(M_.param_names_tex, 'rho\_i');
M_.param_names_long = char(M_.param_names_long, 'rho_i');
M_.param_names = char(M_.param_names, 'rho_pi');
M_.param_names_tex = char(M_.param_names_tex, 'rho\_pi');
M_.param_names_long = char(M_.param_names_long, 'rho_pi');
M_.param_names = char(M_.param_names, 'gammay');
M_.param_names_tex = char(M_.param_names_tex, 'gammay');
M_.param_names_long = char(M_.param_names_long, 'gammay');
M_.param_partitions = struct();
M_.exo_det_nbr = 0;
M_.exo_nbr = 2;
M_.endo_nbr = 17;
M_.param_nbr = 16;
M_.orig_endo_nbr = 17;
M_.aux_vars = [];
M_.Sigma_e = zeros(2, 2);
M_.Correlation_matrix = eye(2, 2);
M_.H = 0;
M_.Correlation_matrix_ME = 1;
M_.sigma_e_is_diagonal = 1;
M_.det_shocks = [];
options_.linear = 1;
options_.block=0;
options_.bytecode=0;
options_.use_dll=0;
M_.hessian_eq_zero = 1;
erase_compiled_function('ey_zlb_static');
erase_compiled_function('ey_zlb_dynamic');
M_.orig_eq_nbr = 17;
M_.eq_nbr = 17;
M_.ramsey_eq_nbr = 0;
M_.set_auxiliary_variables = exist(['./' M_.fname '_set_auxiliary_variables.m'], 'file') == 2;
M_.lead_lag_incidence = [
 1 4 0;
 0 5 21;
 0 6 22;
 0 7 0;
 2 8 0;
 0 9 0;
 0 10 23;
 0 11 24;
 0 12 0;
 0 13 0;
 0 14 0;
 0 15 0;
 0 16 0;
 0 17 0;
 0 18 0;
 0 19 0;
 3 20 0;]';
M_.nstatic = 10;
M_.nfwrd   = 4;
M_.npred   = 3;
M_.nboth   = 0;
M_.nsfwrd   = 4;
M_.nspred   = 3;
M_.ndynamic   = 7;
M_.equations_tags = {
};
M_.static_and_dynamic_models_differ = 0;
M_.exo_names_orig_ord = [1:2];
M_.maximum_lag = 1;
M_.maximum_lead = 1;
M_.maximum_endo_lag = 1;
M_.maximum_endo_lead = 1;
oo_.steady_state = zeros(17, 1);
M_.maximum_exo_lag = 0;
M_.maximum_exo_lead = 0;
oo_.exo_steady_state = zeros(2, 1);
M_.params = NaN(16, 1);
M_.NNZDerivatives = [48; 0; -1];
save('ey_zlb_results.mat', 'oo_', 'M_', 'options_');
if exist('estim_params_', 'var') == 1
  save('ey_zlb_results.mat', 'estim_params_', '-append');
end
if exist('bayestopt_', 'var') == 1
  save('ey_zlb_results.mat', 'bayestopt_', '-append');
end
if exist('dataset_', 'var') == 1
  save('ey_zlb_results.mat', 'dataset_', '-append');
end
if exist('estimation_info', 'var') == 1
  save('ey_zlb_results.mat', 'estimation_info', '-append');
end
if exist('dataset_info', 'var') == 1
  save('ey_zlb_results.mat', 'dataset_info', '-append');
end
if exist('oo_recursive_', 'var') == 1
  save('ey_zlb_results.mat', 'oo_recursive_', '-append');
end


disp(['Total computing time : ' dynsec2hms(toc(tic0)) ]);
if ~isempty(lastwarn)
  disp('Note: warning(s) encountered in MATLAB/Octave code')
end
