constraintExpr constraintExpr_copy (constraintExpr expr) /*@*/;
-cstring constraintExpr_unparse (constraintExpr ex) /*@*/;
+/*@only@*/ cstring constraintExpr_unparse (/*@temp@*/ /*@observer@*/ constraintExpr ex) /*@*/;
extern cstring constraintExpr_print (constraintExpr expr) /*@*/;
bool constraintExpr_similar (constraintExpr expr1, constraintExpr expr2) /*@*/;
bool constraintExpr_same (constraintExpr expr1, constraintExpr expr2) /*@*/;
-constraintExpr constraintExpr_searchandreplace (/*@returned@*/ constraintExpr c, /*@observer@*/ constraintExpr old, /*@observer@*/ constraintExpr new ) /*@modifies c@*/;
+/*@only@*/ constraintExpr constraintExpr_searchandreplace (/*@only@*/ /*@unique@*/ constraintExpr c, /*@observer@*/ constraintExpr old, /*@observer@*/ constraintExpr new ) /*@modifies c@*/;
bool constraintExpr_canGetValue (constraintExpr expr) /*@*/;
int constraintExpr_compare (constraintExpr expr1, constraintExpr expr2) /*@*/;
/*@only@*/ constraintExpr constraintExpr_makeIntLiteral (int i);
-/*@only@*/ constraintExpr constraintExpr_makeValueExpr (exprNode expr);
+/*@only@*/ constraintExpr constraintExpr_makeValueExpr (/*@exposed@*/ exprNode expr);
-/*@only@*/ constraintExpr constraintExpr_makeMaxSetExpr (exprNode expr);
+/*@only@*/ constraintExpr constraintExpr_makeMaxSetExpr (/*@exposed@*/ exprNode expr);
-/*@only@*/ constraintExpr constraintExpr_makeMaxReadExpr (exprNode expr);
+/*@only@*/ constraintExpr constraintExpr_makeMaxReadExpr (/*@exposed@*/ exprNode expr);
/*@only@*/ constraintExpr constraintExpr_makeIncConstraintExpr (/*@only@*/ constraintExpr expr);
/*@only@*/ constraintExpr constraintExpr_makeDecConstraintExpr (/*@only@*/ constraintExpr expr);
-constraintExpr constraintExpr_simplify (/*@returned@*/ constraintExpr c) /*@modifies c@*/;
+/*@only@*/ constraintExpr constraintExpr_simplify (/*@only@*/ constraintExpr c);
-/*@only@*/ constraintExpr constraintExpr_solveBinaryExpr (constraintExpr lexpr, /*@returned@*/ constraintExpr expr) /*@modifies lexpr, expr @*/;
+/*@only@*/ constraintExpr constraintExpr_solveBinaryExpr (constraintExpr lexpr, /*@only@*/ constraintExpr expr) /*@modifies lexpr, expr @*/;
-bool constraintExpr_search (constraintExpr c, constraintExpr old) /*@*/;
+bool constraintExpr_search (/*@observer@*/ constraintExpr c, /*@observer@*/ constraintExpr old);
-fileloc constraintExpr_getFileloc (constraintExpr expr);
+/*@only@*/ fileloc constraintExpr_getFileloc (constraintExpr expr);
-/*@only@*/ constraintExpr constraintExpr_makeBinaryOpConstraintExprIntLiteral (/*@only@*/constraintExpr expr, int literal);
-/*@only@*/ constraintExpr constraintExpr_makeSRefMaxset ( /*@only@*/ sRef s);
+/*@only@*/ constraintExpr constraintExpr_makeSRefMaxset ( /*@exposed@*/ sRef s);
-/*@only@*/ constraintExpr constraintExpr_makeTermsRef (/*@only@*/ sRef s);
+/*@only@*/ constraintExpr constraintExpr_makeTermsRef (/*@exposed@*/ sRef s);
constraintExpr constraintExpr_doSRefFixBaseParam ( /*@returned@*/ constraintExpr expr, exprNodeList arglist);
-/*@only@*/ constraintExpr constraintExpr_makeExprNode (exprNode e);
+/*@only@*/ constraintExpr constraintExpr_makeExprNode (/*@exposed@*/ exprNode e);
-constraintExpr constraintExpr_doFixResult (/*@returned@*/ constraintExpr expr, exprNode fcnCall);
+/*@only@*/ constraintExpr constraintExpr_doFixResult (/*@only@*/ constraintExpr expr, /*@exposed@*/ exprNode fcnCall);
bool constraintExpr_isLit (constraintExpr expr);
-/*@only@*/ constraintExpr constraintExpr_makeAddConstraintExpr (/*@only@*/constraintExpr expr, /*@only@*/ constraintExpr add);
+/*@only@*/ constraintExpr constrainExpr_makeAddExpr (/*@only@*/constraintExpr expr, /*@only@*/ constraintExpr add);
+
+/*@only@*/ constraintExpr constraintExpr_makeSubtractExpr (/*@only@*/ constraintExpr expr, /*@only@*/ constraintExpr addent);
/*@only@*/ constraintExpr constraintExpr_parseMakeUnaryOp (lltok op,/*@only@*/ constraintExpr cexpr);
constraintExpr constraintExpr_parseMakeBinaryOp (/*@only@*/ constraintExpr expr1, lltok op, /*@only@*/ constraintExpr expr2);
-bool constraintExpr_hasMaxSet (constraintExpr expr);
-
+bool constraintExpr_hasMaxSet (/*@observer@*/ constraintExpr expr);
-/*@only@*/ constraintExpr constraintExpr_makeSRefMaxRead(/*@only@*/ sRef s);
-constraintTerm constraintTerm_doSRefFixBaseParam (/*@returned@*/ constraintTerm term, exprNodeList arglist) /*@modifies term@*/;
+/*@only@*/ constraintExpr constraintExpr_makeSRefMaxRead(/*@exposed@*/ sRef s);
/*@only@*/ constraintExpr constraintExpr_doSRefFixConstraintParam (/*@returned@*/ /*@only@*/ constraintExpr expr, exprNodeList arglist) /*@modifies expr@*/;
/*@out@*/ bool * propagate,
/*@out@*/ int *literal);
+bool constraintExpr_isBinaryExpr (/*@observer@*/ constraintExpr c);
#else
# error "Multiple include"