ray_sphere_intersect()
by doing the subtraction first and then take the dot product. This offers higher precision than taking the dot product first and then subtract the result, especially in the cases where the ray origin is very far away from the sphere center.