What can be done to programming languages to avoid floating point pitfalls?