Jump nodes are equal if and only if they jump into the same target continuation and they're sending the same arguments.
Notice that, since procedure calls usually take return continuations as parameters, this does not eliminate subexpressions which are only equal in a syntactic sense.
For instance, printf("hi") + printf("hi") is not transformed to (t = printf("hi")), t + t, since the continuation of each printf call is different.
Equivalence check.
Jump nodes are equal if and only if they jump into the same target continuation and they're sending the same arguments. Notice that, since procedure calls usually take return continuations as parameters, this does not eliminate subexpressions which are only equal in a syntactic sense. For instance, printf("hi") + printf("hi") is not transformed to (t = printf("hi")), t + t, since the continuation of each printf call is different.