But this is more simple than root finding in every time collision occurs. Next step of collision response optimalization is to find more than one colliding point. From state Vertex-Face test all edges leading from vertex against face of collision and test the angle of normal of face and directional vector of each edge. If more than one edge has angle with face less than constant, than face between edges lies on other face. In that way you obtain complete set of collision points of object and others.
Exception is when other collision throw object back and collision occurs again.
Then you don t need to recount collisions with objects that object lies on. Realize that object has a center of mass and kinetic energy. Now it is problem to make convex cover from set of points and determine if center of mass lies inside this convex cover. All these methods are used only as extension of dynamic system and can very faster impulse based simulation, so it can become real-time. But there is more work to do.