lots of improvements to c floating point operations