Fix precision bug and overzealous change in sinc/sincpi

Tests show that onyl 0 requrie to be treated specially in sinc/sincpi
to be sure it returns 1 and not NaN. For sincpi, denormals usage
conditino the orderign of the main computation so a small macro
based changes have been introduced to take this into account.