range_cast
r_pos = range_intersection(x_t, x_pos, range_cast(y_t, x_t, y_pos));
r_neg = range_intersection(x_t, x_neg, range_cast(y_t, x_t, y_neg));
y_cast = range_cast(y_t, x_t, y);