I did a quick search on google and found that arcsin(x) = pi/2 - sqrt(1 - x)(a0 + a1*x + a2*x^2 + a3*x^3),
where
a0 = 1.5707288
a1 = -0.2121144
a2 = 0.0742610
a3 = -0.0187293
============
I tested this for x = 1/2:
Expected result: pi/6 = 0.523599 rads
Result using above equation: 0.523645 rads
a difference of
0.000046 rads (0.0026 degrees)
and again for x = sqrt(3)/2:
Expected result: pi/3 = 1.047198 rads
Result using above equation: 1.047174 rads
a difference of
0.000024 rads (0.0014 degrees)
============
then I rounded all of the a values to the nearest thousanth
a0 = 1.571
a1 = -0.212
a2 = 0.074
a3 = -0.019
and did it again
============
x = 1/2:
Expected result: pi/6 = 0.523599 rads
Result using above equation: 0.523483 rads
a difference of
0.000116 rads (0.0066 degrees)
x = sqrt(3)/2:
Expected result: pi/3 = 1.047198 rads
Result using above equation: 1.047174 rads
a difference of
0.000023 rads (0.0013 degrees)
============
Even the one rounded to the thousandths seems accurate enough for me. However, the equation still seems fairly proccessor intensive. I'm not sure how long it would take to calculate it using this method. Maybe someone could test both this method and the other method to see which one is faster.
BTW, you might even be able to round to the hundredths. I'm too lazy to do that right now
