diff --git a/src/DataTree.cc b/src/DataTree.cc index 7a60c67d..84b0faaf 100644 --- a/src/DataTree.cc +++ b/src/DataTree.cc @@ -336,6 +336,9 @@ DataTree::AddPowerDeriv(expr_t iArg1, expr_t iArg2, int powerDerivOrder) expr_t DataTree::AddDiff(expr_t iArg1) { + if (iArg1->maxLead() > 0) + // Issue #21: always substitute diffs with lags + return AddMinus(iArg1, iArg1->decreaseLeadsLags(1)); return AddUnaryOp(UnaryOpcode::diff, iArg1); }