Refactor s_c{,a}sin{,h}{f,,l} into a single templated macro.
This patch has no function changes, except to ensure the git history correctly tracks the changes to convert the double version of these functions into a templated version.