1. A method of generating a floating point implementation of a polynomial, the method comprising: determining, in an assessment module, whether the polynomial has an allowable variety defined by one or more sub-varieties; in response to determining that the polynomial has an allowable variety, partitioning, in an assessment module, an input domain of the polynomial into a plurality of sub-domains about the plurality of sub-varieties, each sub-domain being associated with one of the plurality of sub-varieties; for each sub-domain, identifying, in an assessment module, a precision of floating point components for each possible input point of the polynomial falling within that sub-domain based on a location of the possible input point within that sub-domain; and generating a floating point implementation comprising hardware logic configured to evaluate the polynomial for any received input point using floating point components having the precision identified for the received input point.