From 0f0299bc1c796b489da7fd485266a66f58c92236 Mon Sep 17 00:00:00 2001
From: Houtan Bastani <houtan@dynare.org>
Date: Thu, 7 Nov 2019 14:18:47 -0500
Subject: [PATCH] fix to allow for diffs of unary ops to go through variable
 mapping

---
 src/DynamicModel.cc | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc
index cf12da47..32110a3b 100644
--- a/src/DynamicModel.cc
+++ b/src/DynamicModel.cc
@@ -5502,9 +5502,9 @@ DynamicModel::createVariableMapping(int orig_eq_nbr)
       equations[ii]->collectVariables(SymbolType::exogenous, eqvars);
       for (auto eqvar : eqvars)
         {
-          while (symbol_table.isAuxiliaryVariable(eqvar))
-            eqvar = symbol_table.getOrigSymbIdForAuxVar(eqvar);
-          variableMapping[eqvar].emplace(ii);
+          eqvar = symbol_table.getUltimateOrigSymbID(eqvar);
+          if (eqvar >= 0 && !symbol_table.isAuxiliaryVariable(eqvar))
+            variableMapping[eqvar].emplace(ii);
         }
     }
 }
-- 
GitLab