I rewrote the main trig functions in Javascript to help with cross browser determinism. They run as quickly as the native math routines while compromising accuracy to around 10 significant digits.
For anyone interested in this sort of thing you'd probably also be interested in John Gustafson's work on unums/posits. Here's a nice introductory presentation https://www.youtube.com/watch?v=aP0Y1uAA-2Y
I’m glad it pointed to the article of the terrible accuracy of the x87 trig functions - the OS X and I assume GCC software implementations are ostensibly correctly accurate, which I think is done by using witchcraft. (More precisely I think they do it using infinite precision Pi?)
Correctly rounded trig functions requires great care, and some way of knowing how much precision you need for the calculations. Doing all of the calculations at the maximum needed precision would be hugely inefficient. A high-precision version of Pi is just one of the things needed.
https://github.com/strainer/trigfills