added support for hard floating point operations