### Author Topic: Computing Arcsine  (Read 3121 times)

0 Members and 1 Guest are viewing this topic.

#### Xeda112358

• they/them
• Moderator
• LV12 Extreme Poster (Next: 5000)
• Posts: 4704
• Rating: +719/-6
• Calc-u-lator, do doo doo do do do.
##### Computing Arcsine
« on: March 30, 2015, 01:48:30 pm »
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]$
Code: [Select]
    x=2x    s=z=sign(x)iterate n times    x=x*x-2    if x<0        s=-s    z=2z+sreturn 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? @_@

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}$.