The IEEE Standard for Floating-Point
Arithmetic section "9.2 Recommended correctly rounded functions" lists functions that are recommended (but not required) by a language standard to provide, among them an exp2
function as a particular example.
If a language provides exp2
, does the standard require it to be correctly rounded?
As a particular example, I took the exp2
function from the openlibm library, and found it to be correctly rounded in 99.96% of cases. However, in the rest of the cases (e.g., 37 cases from 100,000), it produced an answer that was off by 1 ulp. It's obviously very accurate, but it nevertheless was not correctly rounded in those 37 cases. Does this mean that the exp2
function in openlibm
is not IEEE-754 compliant?