44constexpr auto sqrt(F x) -> F {
46 return std::numeric_limits<F>::quiet_NaN();
48 if ((x > std::numeric_limits<F>::max()) ||
49 (x < std::numeric_limits<F>::min())) {
53 constexpr int max_loops = 1000;
55 for (
int i = 0; i < max_loops; ++i) {
56 F next_value =
half<F> * (value + x / value);
57 if (value == next_value) {