As mentioned in the PR, the originally GORI terminated calculation if the LHS was varying as it could not provide any additional useful information on an outgoing edge beyond what folding would give. The original patch  introduced relations, and aloowed GORI to keep going with the hope that the relation might provide new info.  This PR trips over a case where there are a lot of relations, and GORI is unbounded in the path query with is already quadratic. This patch first checks if the relation can have an effect on the outgoing calculation, and if not, terminates the calculation like we use to.  This prevents a lot of excessive checking.  there are 2 cases where the relation is considered relevant:  1- both argument to the relation are in the defchain of the operand currently being calculated: b_2 = x_3 < y_5 c_3 = b_2 != 0 if (c_3 &&  x_3 < y_5) on te true side, we will ge the relation x_3 < y_5,  both of which are in the defchain for c_3.  THis will enable use to evaluate that on the true side, c_3 must be [1,1], and therefore b_2 must be[1, 1], and the relation can be applied to the calculation [1,1] = x_3 < y_5    to establish that c_3 will indeed be [1,1] always if x_3