In general, no. And even applying a lot of knowledge about what could be going on, it is still (probably) no. Let me show you an example from your example. Adding knowledge of the "black box" that the output is discrete values and that they are derived based on thresholds of other values, a classification tree should be able to recover the criteria. So:
library("party")
tmp <- ctree(factor(newvar) ~ ., data=x,
controls=ctree_control(mincriterion=0, minsplit=2, minbucket=1))
I've set the control values to completely unreasonable values to force the algorithm to drive each bucket into containing only a single value. And even then it is not what you started with:
So with a simple example and adding more knowledge about the transformation, it can not be done, there is not really hope to be able to do it in the general case.