Chapter 3 gave a number of possible representations for exact real number computation, chapters 4, chapter 5 gave algorithms for useful operations using these representations, and chapter 6 discussed how the algorithms have been implemented using a functional language.
In this chapter, the performance of the algorithms is analysed. The fact that we are using several different representations means that there is often more than one way of performing a given operation, and these different approaches are compared. For example, to average several numbers using the dyadic representation requires fewer input digits from the numbers being averaged than performing the same operation using the signed binary representation, and hence less individual operations are performed. Unfortunately, the size of the dyadic digits can swell enormously during such calculations, making the dyadic operations themselves much slower than signed binary operations.
The implementation shows exact real arithmetic to be noticeably slower than floating point arithmetic. This is not entirely unexpected, but we show why this may be to an extent unavoidable.
By performing a theoretical analysis of the algorithms, we highlight some potential areas of interest. The implementation is then used as a tool to experiment with the algorithms and confirm the predictions, and show how their properties affect real performance.