Great but...please a double precison solution

Relying on wheter something is 4.669256687 or 4.669257164 isn’t the best idea.
Generally, the assumption that floating-point type represents exactly the number we want is dangerous.