fxopt is a plugin for GCC that converts floating-point functions to fixed-point arithmetic, primarily for implementation in embedded, real-time systems without floating-point hardware. The conversion is performed in GCC's "middle-end", after the source code has been converted to GCC's intermediate representation but before any target-specific optimizations are done. Several optimization options are available to improve the accuracy of the fixed-point arithmetic, including affine range estimation, rounding, and double-precision multiplications. Fixed-point code produced by fxopt can be significantly more accurate than typical fixed-point implementations with comparable execution time and code size. In many cases the fixed-point code produced by fxopt provides accuracy comparable to single-precision floating-point arithmetic with a factor of 10 faster execution.
garith is a game similar in spirit to BSD's "arithmetic" or TuxMath. The game asks you to perform a simple arithmetic operation within a certain time frame. It improves your skills by stressing the operations you get more frequently wrong or that longer to answer. The statistics are saved/restored across games, so that each game is tuned for your current arithmetic abilities.