Ray tracing in One weeked: issue with metal reflection Problem 

I am following the book Ray tracing in one weekend , and I got stuck after the implementation of the material Metal. I checked my code many times, and it looks exactly like the code implemented by Peter Shirley.
The problem is that, at this point, my code would need to generate this image:



Instead, my implementation results in this:



There is no reflection on the left and right sphere, even if the code looks fine. I am not posting the code here since many classes are involved, and I implemented it following strictly the book. Did someone have a similar problem? I can post relevant parts of code that can help. 

 Possible solution 

The function of the reflection is not the problem, since it is very simple and it is exactly like the one proposed in the book. Also, when I set the sphere below (the floor) as Metal instead of Lambertian, it shows the reflections correctly:



This suggests that the problem is not the reflection function, nor the material.
The problem was in the way I was calculating the function bool Sphere::hit(). The author eliminates some redundant 2's that cancel each other without explicitly showing it, and if you don't pay attention to this detail the code the hit function will not work as it is supposed to. In case someone else is stuck, that might be the problem.