It is possible to use rounded arithmetic to evaluate the exact value of a function with a discrete domain and range. For example, if we know that an integer "n" is a perfect square, we can compute its square root by converting "n" to a floating-point value "x", computing the approximate square root "y" of "x" with floating point, and then rounding "y" to the nearest integer "q". If "n" is not too big, the floating-point roundoff error in "y" will be less than 0.5, so the rounded value "q" will be the exact square root of "n". In most modern computers, this method may be much faster than computing the square root of "n" by an all-integer algorithm.