DavidPearce Abstract: Java provides two real number representations: float and double. Use of these operators leads to imprecision in the computations performed (see e.g. http://en.wikipedia.org/wiki/IEEE_754-2008). There are a large number of existing Java programs which use float and double. You will develop a tool which automatically extends them to use an arbitrary precision number representation (see e.g. http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic). This tool will be built upon JKit --- an extensible Java compiler developed here at VUW (see http://homepages.ecs.vuw.ac.nz/~djp/jkit/).