I'm really peeved that I cannot seem to find an algorithm for computing arcsine that works like what I have. This algorithm is based on my work from years ago to compute sine and I have no idea why I never reversed it before now. Anyways, the algorithm:

**ArcSine(x)**,

##x\in[-1,1]##` x=2x`

s=z=sign(x)

iterate n times

x=x*x-2

if x<0

s=-s

z=2z+s

return pi*z*2^(-n-2)

This algorithm extracts one bit each iteration, so for 16 bit of accuracy, you would iterate 16 times. I think it is a pretty cute and compact algorithm, so where is it? @

[email protected]As a note, at the endpoints {-1,1} it may not give the expected answer. In both cases, if allowed to run infinitely, it would return (in binary):

##\frac{\pi}{2}.1111111111111..._{2}## which of course is equivalent to

##\frac{\pi}{2}##.