Post Reply 
Arcsin in Valentin Albillo's HP-12C Tried & Tricky Trigonometrics
11-27-2019, 06:31 PM
Post: #6
RE: Arcsin in Valentin Albillo's HP-12C Tried & Tricky Trigonometrics
(11-25-2019 06:56 AM)jklsadf Wrote:  initial scaling does seem to be using the half angle formula somehow sin(x/2) = +/- sqrt((1 - cos(x)) / 2).

Above half-angle formula, 1 - cos(x) might introduce big subtraction cancellation errors:

Example, using HP-12C

asin(x) = 2 sign(x) asin(√((1 - √(1-x²)) / 2))

→ asin(0.123) = 2 asin(0.06161708083) = 4 asin(0.03082318608) = 8 asin(0.01541342434)

If there is enough room, this is more accurate, and avoided code to fix sign.

sin(θ/2) = sin(θ) / √(2 + 2 cos(θ)), where -pi/2 ≤ θ ≤ pi/2

asin(x) = 2 asin(x / √(2 + 2 √(1-x²)))

→ asin(0.123) = 2 asin(0.06161708093) = 4 asin(0.03082318602) = 8 asin(0.01541342403)

If there is still room for 2 steps, we can skip 1 asin reduction loop.

asin(x) = atan(x / √(1-x²)) = 2 atan(x / (1 + √(1-x²)))

→ 4 asin(0.03082318602) = 8 atan(0.01541525527)
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Arcsin in Valentin Albillo's HP-12C Tried & Tricky Trigonometrics - Albert Chan - 11-27-2019 06:31 PM



User(s) browsing this thread: 4 Guest(s)