add REQUIRE
augment to check whether subexpressions depend on input