I am writing a rational number library for performing fast math on integer-only microcontrollers. So far, I have all the basic operations, as well as a first-step estimation function for square root. It takes a positive integer input and returns a rational number approximating the square root (accurate to roughly 4 bits of precision; to be refined further by Newton-Raphson or similar method). Obviously, inverse (reciprocal) square root comes for free since the answer is a fraction that can be trivially inverted.
I read somewhere that other functions (e.g. trigonometric functions) can be calculated in terms of inverse square root (can't find the link now), but I am having a hard time finding any algorithms since search results are almost entirely about inverse trigonometric functions (mostly high school help stuff).
Does anyone have a handy resource where I can find efficient methods for calculating sin, cos, tan, atan, etc. in terms of square root or inverse square root? Is it possible or am I imagining things?
I know this is not a "code" StackExchange but I believe this is fundamentally a math question. If you're interested in my code, it's here. The sqrt_est() function is somewhat remarkable in that it is very short, uses only shifts and adds, no looping or iteration, or even multiplies or divides! (core implementation is on lines 39-45.)