Во-первых, если числа настолько велики, что точность не распространяется до десятичной точки, то вы получите только целые числа, но они не верны, поэтому я полагаю, вам не важен этот случай .
Относительно точных результатов: это должно быть довольно легко проверить, если у вас есть плавающие IEE754. Просто возьмите двойное число, представляющее собой идеальный целочисленный квадрат, увеличьте или уменьшите его двоичное представление на один бит, а затем проверьте, является ли квадратный корень точным целым числом. Я полагаю, что стандартные операции с плавающей запятой должны быть точными с точностью до 0,5 единиц в последнем месте, поэтому вполне возможно, что целое число на самом деле является правильным ближайшим представимым квадратным корнем.