If you consider the basic functions of a processor it can only add, subtract and compare. So whilst square root may not exist as a function it’s not too hard to replicate. Basically multiply two numbers that are the same and compare the result to the number you need the square root of. If the answer is to large reduce the starting number, if to small increase the starting number. How quickly you arrive at your answer depends on feedback, how much you adjust your starting value each time you calculate.
You have an advantage in that if you are working in degrees you know the maximum and minimum values, so you can produce a guessing table starting in the middle @180 deg. Then guesses at 90 deg higher or lower dependant on the previous answer. So the guesses would go:
90, 45, 22, 11, 6, 3, 1.5, 0.7 you could get to just better than 1 deg in 8 attempts (which basically all a processor function does).
And yes I said it could only add, subtract and compare so how can it multiply;
For (x - x; x = x; x++); {
x+=x;
}
or something like that with some bit shifting thrown in – its late , but it works for whole numbers & you get the idea.