(12-06-2024 02:58 PM)Commie Wrote: I have used the Pade algorithm in a hp45 clone and it works well. The sine approx., I provided has a range greater than what you specify i.e., [-pi/2, pi/2], pi/2 is worst case approx., the equation I showed/derived becomes more accurate as you get closer to zero, maximum accuracy for the given equation.
Also, due to the symmetry of sine waves, one can double the dynamic range by including an if/then/else construct preceeding the main equation whose range then extends to [-pi,pi] which is a complete wave of 360 deg. or 2.pi. The first step in calculating sine is to remove all the sine circles first.
Minimax Polynomials are another technique for approximating mathematical functions. I have used them to implement all the basic trigonometric functions and their inverses on the HP 12c Platinum:
(12c Platinum) Fast & Accurate Trigonometric Functions
There is an excellent paper on this and other methods, Faster Math Functions, by Robin Green of Sony Computer Entertainment America, but I can't find a link to it right now. His slide presentantions might give an idea, though:
Faster Math Functions - Part 2
Faster Math Functions - Part 1
Apparently that is the same method used by Microsoft in their first 8-bit BASIC interpreters, like the
MSX computer BASIC implementation.
From "The MSX Red Book":
(Avalon Software. The MSX Red Book. Pangbourne: Kuma Computers, [c.1985].)
Quote:... The function is then computed by polynomial
approximation (2C88H) using the list of coefficients at 2DEFH.
These are the first eight terms in the Taylor series X-
(X^3/3!)+(X^5/5!)-(X^7/7!) ... with the coefficients multiplied
by successive factors of 2*PI to compensate for the initial
scaling.
...
... The function (ATN) is computed by polynomial approximation (2C88H)
using the list of coefficients at 2E30H. These are the first
eight terms in the Taylor series X-(x^3/3)+(X^5/5)-(X^7/7) ...
with the coefficients modified slightly to telescope the
series.
...
2DEFH 8 SIN
2DF0H -.69215692291809
2DF8H 3.8172886385771
2E00H -15.094499474801
2E08H 42.058689667355
2E10H -76.705859683291
2E18H 81.605249275513
2E20H -41.341702240398
2E28H 6.2831853071796
2E30H 8 ATN
2E31H -.05208693904000
2E39H .07530714913480
2E41H -.09081343224705
2E49H .11110794184029
2E51H -.14285708554884
2E59H .19999999948967
2E61H -.33333333333160
2E69H 1.0000000000000
these imply
sin(x) ~ x - x^3/6.000000000000256 + x^5/120.0000000008265 - x^7/5040.000004584301 + x^9/362880.0369065691 - x^11/39917178.42757230 + x^13/6231366410.303893 - x^15/1356730094045.503
(Maximum absolute error in the range [-π/6..π/6]: 2e-16)
and
atan(x) ~ x - x^3/3.000000000015600 + x^5/5.000000012758250 - x^7/7.000002808107966 + x^9/9.000256718258997 - x^11/11.01158689035767 + x^13/13.27895175277446 - x^15/19.19867088430851
(Maximum absolute error in the range [-(2-√3)..(2-√3)]: 5e-16)
The following Pascal code more or less replicates the algorithm used in the RPN program for the HP 12c Platinum.
Code:
Program Trigs;
{ Gerson Wasicki Barbosa - Dec/2007 }
{ Trigonometric and inverse trigonometric functions (17-digit accuracy) }
{ To be compiled in TurboBCD (TurboPascal v3.02 }
{ Running times: Sin, Cos: 160.5 us; Tan: 321.0 us @ 500 MHz }
{ All angles in DEGREES }
var x: Real;
txt: Text;
function Sqrt(x: Real): real;
var sq, t: Real;
begin
if x<>0 then
begin
sq:=x/2;
repeat
t:=sq;
sq:=(sq+x/sq)/2
until sq=t;
Sqrt:=sq
end
else
Sqrt:=0
end;
function Intg(x: Real): Real;
var r: Real;
begin
r:=Int(x);
if x<0 then r:=r-1;
Intg:=r
end;
function Mdl (x, y: Real): Real;
begin
Mdl:=x-y*Intg(x/y)
end;
function Sign(x: Real): Integer;
begin
if x<>0 then
Sign:=Trunc((x)/Abs(x))
else
Sign:=0
end;
function Sin(x: Real): Real;
const A = 5.81776417331443192E-03;
B = -3.28183761370851117E-08;
C = 5.55391614470475312E-14;
D = -4.47571324262354212E-20;
E = 2.10398182046943194E-26;
F = -6.47383342002944734E-33;
G = 1.40457976326925111E-39;
H = -2.25584840859272218E-46;
var sn,x2: Real;
begin
x:=Mdl(x,360);
if x>90
then
if x<270
then
x:=180-x
else
x:=x-360;
x2:=x*x;
sn:=x*(A+x2*(B+x2*(C+x2*(D+x2*(E+x2*(F+x2*(G+H*x2)))))));
Sin:=sn*(3-4*sn*sn)
end;
function Cos(x: Real): Real;
begin
Cos:=Sin(90-x)
end;
function Tan(x: Real): Real;
begin
if Mdl(x,180)<>90
then
Tan:=Sin(x)/Cos(x)
else
Tan:=Sign(x)*9.99999999999999999E+49
end;
function ArcTan(x: real): Real;
const PI_2 = 1.57079632679489662E+00; { pi/2 }
PI_6 = 0.52359877559829887E+00; { pi/6 }
SQR3 = 1.73205080756887729E+00; { sqrt(3) }
TMS3 = 2.67949192431122706E-01; { 2 - sqrt(3) }
R2D = 5.72957795130823209E+01; { 180/pi }
A = 1.00000000000000000E+00;
B = -3.33333333333333320E-01;
C = 1.99999999999969080E-01;
D = -1.42857142845613967E-01;
E = 1.11111109453593870E-01;
F = -9.09089712757808854E-02;
G = 7.69182100185790154E-02;
H = -6.65496746226271243E-02;
I = 5.71652168403095978E-02;
J = -3.95856057285009705E-02;
var at, k1, k2, x2: real;
s1, s2: integer;
begin
s1:=Sign(x);
x:=Abs(x);
if x<1 then
begin
s2:=1;
k1:=0
end
else
begin
x:=1/x;
s2:=-1;
k1:=PI_2
end;
if x>TMS3
then
begin
x:=(x*SQR3-1)/(x+SQR3);
k2:=PI_6
end
else
k2:=0;
x2:=x*x;
at:=x*(A+x2*(B+x2*(C+x2*(D+x2*(E+x2*(F+x2*(G+x2*(H+x2*(I+J*x2)))))))));
ArcTan:=(k1+s2*(k2+at))*s1*R2D
end;
function ArcSin(x: real): real;
begin
if Abs(x)<=1
then
if Abs(x)<1
then
ArcSin:=ArcTan(x/(Sqrt(1-x*x)))
else
ArcSin:=Sign(x)*90
else
begin
Write(^G);
WriteLn('ArcSin Error')
end;
end;
function ArcCos(x: real): real;
begin
if Abs(x)<=1
then
if Abs(x)<1
then
ArcCos:=2*ArcTan(Sqrt((1-x)/(1+x)))
else
ArcCos:=90*(1-x)
else
begin
Write(^G);
WriteLn('ArcCos Error')
end;
end;
begin
ClrScr;
Assign(txt,'OUTPUT.TXT');
Rewrite(txt);
x:=-180;
repeat
if Trunc(x) Mod 60 = 0 then
begin
WriteLn(txt);
WriteLn(txt,' x',' ':11,'Sin(x)',' ':18,'Cos(x)',' ':18,'Tan(x)');
WriteLn(txt)
end;
WriteLn(txt,x:4:0,' ',Sin(x):21:18,' ',Cos(x):21:18,' ',Tan(x));
x:=x+1
until x=180;
WriteLn(txt);
x:=-1;
WriteLn(txt,' x',' ':9,'ArcSin(x)',' ':16,'ArcCos(x)',' ':16,'ArcTan(x)');
WriteLn(txt);
repeat
WriteLn(txt,x:6:1,' ',ArcSin(x):22:18,' ',ArcCos(x):22:18,' ',ArcTan(x):22:18);
x:=x+0.1
until x>1;
x:=-150;
repeat
if x<>0 then WriteLn(txt,x:6:1,' ------------ ------------ ',ArcTan(x):22:18);
x:=x+10
until x>150;
WriteLn(txt);
WriteLn(txt,' ArcSin(ArcCos(ArcTan(Tan(Cos(Sin(9)))))) = ',ArcSin(ArcCos(ArcTan(Tan(Cos(Sin(9)))))):20:18);
Close(txt)
end.
-----------------------------------------------------------------------------------------------------
x Sin(x) Cos(x) Tan(x)
-180 0.000000000000000000 -1.000000000000000000 0.00000000000000000E+00
-179 -0.017452406437283513 -0.999847695156391238 1.74550649282175858E-02
-178 -0.034899496702500972 -0.999390827019095730 3.49207694917477305E-02
-177 -0.052335956242943833 -0.998629534754573875 5.24077792830412040E-02
-176 -0.069756473744125301 -0.997564050259824247 6.99268119435104134E-02
-175 -0.087155742747658174 -0.996194698091745533 8.74886635259240053E-02
-174 -0.104528463267653471 -0.994521895368273335 1.05104235265676462E-01
-173 -0.121869343405147481 -0.992546151641322033 1.22784560902904591E-01
-172 -0.139173100960065444 -0.990268068741570314 1.40540834702391447E-01
-171 -0.156434465040230869 -0.987688340595137728 1.58384440324536294E-01
-170 -0.173648177666930349 -0.984807753012208060 1.76326980708464974E-01
-169 -0.190808995376544813 -0.981627183447663955 1.94380309137718485E-01
-168 -0.207911690817759337 -0.978147600733805637 2.12556561670022125E-01
-167 -0.224951054343864998 -0.974370064785235228 2.30868191125563112E-01
-166 -0.241921895599667722 -0.970295726275996473 2.49328002843180691E-01
-165 -0.258819045102520762 -0.965925826289068289 2.67949192431122705E-01
-164 -0.275637355816999186 -0.961261695938318863 2.86745385758807940E-01
-163 -0.292371704722736728 -0.956304755963035483 3.05730681458660355E-01
-162 -0.309016994374947423 -0.951056516295153574 3.24919696232906324E-01
-161 -0.325568154457156668 -0.945518575599316810 3.44327613289665241E-01
-160 -0.342020143325668734 -0.939692620785908382 3.63970234266202363E-01
-159 -0.358367949545300273 -0.933580426497201748 3.83864035035415796E-01
-158 -0.374606593415912035 -0.927183854566787401 4.04026225835156811E-01
-157 -0.390731128489273753 -0.920504853452440329 4.24474816209604739E-01
-156 -0.406736643075800207 -0.913545457642600895 4.45228685308536163E-01
-155 -0.422618261740699438 -0.906307787036649962 4.66307658154998595E-01
-154 -0.438371146789077419 -0.898794046299166993 4.87732588565861424E-01
-153 -0.453990499739546791 -0.891006524188367861 5.09525449494428811E-01
-152 -0.469471562785890776 -0.882947592858926941 5.31709431661478749E-01
-151 -0.484809620246337029 -0.874619707139395801 5.54309051452768917E-01
-150 -0.500000000000000001 -0.866025403784438647 5.77350269189625766E-01
-149 -0.515038074910054210 -0.857167300702112288 6.00860619027560414E-01
-148 -0.529919264233204955 -0.848048096156425969 6.24869351909327512E-01
-147 -0.544639035015027081 -0.838670567945424029 6.49407593197510576E-01
-146 -0.559192903470746829 -0.829037572555041693 6.74508516842426630E-01
-145 -0.573576436351046096 -0.819152044288991790 7.00207538209709779E-01
-144 -0.587785252292473129 -0.809016994374947424 7.26542528005360886E-01
-143 -0.601815023152048278 -0.798635510047292846 7.53554050102794155E-01
-142 -0.615661475325658280 -0.788010753606721956 7.81285626506717398E-01
-141 -0.629320391049837454 -0.777145961456970881 8.09784033195007149E-01
-140 -0.642787609686539326 -0.766044443118978035 8.39099631177280012E-01
-139 -0.656059028990507285 -0.754709580222771999 8.69286737816226661E-01
-138 -0.669130606358858214 -0.743144825477394236 9.00404044297839944E-01
-137 -0.681998360062498501 -0.731353701619170482 9.32515086137661708E-01
-136 -0.694658370458997285 -0.719339800338651138 9.65688774807074045E-01
-135 -0.707106781186547523 -0.707106781186547523 1.00000000000000000E+00
-134 -0.719339800338651138 -0.694658370458997285 1.03553031379056951E+00
-133 -0.731353701619170482 -0.681998360062498501 1.07236871002468253E+00
-132 -0.743144825477394236 -0.669130606358858214 1.11061251482919287E+00
-131 -0.754709580222771999 -0.656059028990507285 1.15036840722100956E+00
-130 -0.766044443118978035 -0.642787609686539326 1.19175359259420996E+00
-129 -0.777145961456970881 -0.629320391049837454 1.23489715653505140E+00
-128 -0.788010753606721956 -0.615661475325658280 1.27994163219307878E+00
-127 -0.798635510047292846 -0.601815023152048278 1.32704482162041004E+00
-126 -0.809016994374947424 -0.587785252292473129 1.37638192047117354E+00
-125 -0.819152044288991790 -0.573576436351046096 1.42814800674211450E+00
-124 -0.829037572555041693 -0.559192903470746829 1.48256096851274026E+00
-123 -0.838670567945424029 -0.544639035015027081 1.53986496381458291E+00
-122 -0.848048096156425969 -0.529919264233204955 1.60033452904105035E+00
-121 -0.857167300702112288 -0.515038074910054210 1.66427948235051791E+00
x Sin(x) Cos(x) Tan(x)
-120 -0.866025403784438647 -0.500000000000000001 1.73205080756887729E+00
-119 -0.874619707139395801 -0.484809620246337029 1.80404775527142394E+00
-118 -0.882947592858926941 -0.469471562785890776 1.88072646534633201E+00
-117 -0.891006524188367861 -0.453990499739546791 1.96261050550515058E+00
-116 -0.898794046299166993 -0.438371146789077419 2.05030384157929621E+00
-115 -0.906307787036649962 -0.422618261740699438 2.14450692050955860E+00
-114 -0.913545457642600895 -0.406736643075800207 2.24603677390421606E+00
-113 -0.920504853452440329 -0.390731128489273753 2.35585236582375285E+00
-112 -0.927183854566787401 -0.374606593415912035 2.47508685341629583E+00
-111 -0.933580426497201748 -0.358367949545300273 2.60508906469380154E+00
-110 -0.939692620785908382 -0.342020143325668734 2.74747741945462227E+00
-109 -0.945518575599316810 -0.325568154457156668 2.90421087767582281E+00
-108 -0.951056516295153574 -0.309016994374947423 3.07768353717525342E+00
-107 -0.956304755963035483 -0.292371704722736728 3.27085261848414087E+00
-106 -0.961261695938318863 -0.275637355816999186 3.48741444384090865E+00
-105 -0.965925826289068289 -0.258819045102520762 3.73205080756887731E+00
-104 -0.970295726275996473 -0.241921895599667722 4.01078093353584473E+00
-103 -0.974370064785235228 -0.224951054343864998 4.33147587428415554E+00
-102 -0.978147600733805637 -0.207911690817759337 4.70463010947845423E+00
-101 -0.981627183447663955 -0.190808995376544813 5.14455401597031013E+00
-100 -0.984807753012208060 -0.173648177666930349 5.67128181961770953E+00
-99 -0.987688340595137728 -0.156434465040230869 6.31375151467504311E+00
-98 -0.990268068741570314 -0.139173100960065444 7.11536972238420875E+00
-97 -0.992546151641322033 -0.121869343405147481 8.14434642797459402E+00
-96 -0.994521895368273335 -0.104528463267653471 9.51436445422258495E+00
-95 -0.996194698091745533 -0.087155742747658174 1.14300523027613431E+01
-94 -0.997564050259824247 -0.069756473744125301 1.43006662567119280E+01
-93 -0.998629534754573875 -0.052335956242943833 1.90811366877282111E+01
-92 -0.999390827019095730 -0.034899496702500972 2.86362532829156036E+01
-91 -0.999847695156391238 -0.017452406437283513 5.72899616307594247E+01
-90 -1.000000000000000000 0.000000000000000000 -9.99999999999999999E+49
-89 -0.999847695156391238 0.017452406437283513 -5.72899616307594247E+01
-88 -0.999390827019095730 0.034899496702500972 -2.86362532829156036E+01
-87 -0.998629534754573875 0.052335956242943833 -1.90811366877282111E+01
-86 -0.997564050259824247 0.069756473744125301 -1.43006662567119280E+01
-85 -0.996194698091745533 0.087155742747658174 -1.14300523027613431E+01
-84 -0.994521895368273335 0.104528463267653471 -9.51436445422258495E+00
-83 -0.992546151641322033 0.121869343405147481 -8.14434642797459402E+00
-82 -0.990268068741570314 0.139173100960065444 -7.11536972238420875E+00
-81 -0.987688340595137728 0.156434465040230869 -6.31375151467504311E+00
-80 -0.984807753012208060 0.173648177666930349 -5.67128181961770953E+00
-79 -0.981627183447663955 0.190808995376544813 -5.14455401597031013E+00
-78 -0.978147600733805637 0.207911690817759337 -4.70463010947845423E+00
-77 -0.974370064785235228 0.224951054343864998 -4.33147587428415554E+00
-76 -0.970295726275996473 0.241921895599667722 -4.01078093353584473E+00
-75 -0.965925826289068289 0.258819045102520762 -3.73205080756887731E+00
-74 -0.961261695938318863 0.275637355816999186 -3.48741444384090865E+00
-73 -0.956304755963035483 0.292371704722736728 -3.27085261848414087E+00
-72 -0.951056516295153574 0.309016994374947423 -3.07768353717525342E+00
-71 -0.945518575599316810 0.325568154457156668 -2.90421087767582281E+00
-70 -0.939692620785908382 0.342020143325668734 -2.74747741945462227E+00
-69 -0.933580426497201748 0.358367949545300273 -2.60508906469380154E+00
-68 -0.927183854566787401 0.374606593415912035 -2.47508685341629583E+00
-67 -0.920504853452440329 0.390731128489273753 -2.35585236582375285E+00
-66 -0.913545457642600895 0.406736643075800207 -2.24603677390421606E+00
-65 -0.906307787036649962 0.422618261740699438 -2.14450692050955860E+00
-64 -0.898794046299166993 0.438371146789077419 -2.05030384157929621E+00
-63 -0.891006524188367861 0.453990499739546791 -1.96261050550515058E+00
-62 -0.882947592858926941 0.469471562785890776 -1.88072646534633201E+00
-61 -0.874619707139395801 0.484809620246337029 -1.80404775527142394E+00
x Sin(x) Cos(x) Tan(x)
-60 -0.866025403784438647 0.500000000000000001 -1.73205080756887729E+00
-59 -0.857167300702112288 0.515038074910054210 -1.66427948235051791E+00
-58 -0.848048096156425969 0.529919264233204955 -1.60033452904105035E+00
-57 -0.838670567945424029 0.544639035015027081 -1.53986496381458291E+00
-56 -0.829037572555041693 0.559192903470746829 -1.48256096851274026E+00
-55 -0.819152044288991790 0.573576436351046096 -1.42814800674211450E+00
-54 -0.809016994374947424 0.587785252292473129 -1.37638192047117354E+00
-53 -0.798635510047292846 0.601815023152048278 -1.32704482162041004E+00
-52 -0.788010753606721956 0.615661475325658280 -1.27994163219307878E+00
-51 -0.777145961456970881 0.629320391049837454 -1.23489715653505140E+00
-50 -0.766044443118978035 0.642787609686539326 -1.19175359259420996E+00
-49 -0.754709580222771999 0.656059028990507285 -1.15036840722100956E+00
-48 -0.743144825477394236 0.669130606358858214 -1.11061251482919287E+00
-47 -0.731353701619170482 0.681998360062498501 -1.07236871002468253E+00
-46 -0.719339800338651138 0.694658370458997285 -1.03553031379056951E+00
-45 -0.707106781186547523 0.707106781186547523 -1.00000000000000000E+00
-44 -0.694658370458997285 0.719339800338651138 -9.65688774807074045E-01
-43 -0.681998360062498501 0.731353701619170482 -9.32515086137661708E-01
-42 -0.669130606358858214 0.743144825477394236 -9.00404044297839944E-01
-41 -0.656059028990507285 0.754709580222771999 -8.69286737816226661E-01
-40 -0.642787609686539326 0.766044443118978035 -8.39099631177280012E-01
-39 -0.629320391049837454 0.777145961456970881 -8.09784033195007149E-01
-38 -0.615661475325658280 0.788010753606721956 -7.81285626506717398E-01
-37 -0.601815023152048278 0.798635510047292846 -7.53554050102794155E-01
-36 -0.587785252292473129 0.809016994374947424 -7.26542528005360886E-01
-35 -0.573576436351046096 0.819152044288991790 -7.00207538209709779E-01
-34 -0.559192903470746829 0.829037572555041693 -6.74508516842426630E-01
-33 -0.544639035015027081 0.838670567945424029 -6.49407593197510576E-01
-32 -0.529919264233204955 0.848048096156425969 -6.24869351909327512E-01
-31 -0.515038074910054210 0.857167300702112288 -6.00860619027560414E-01
-30 -0.500000000000000001 0.866025403784438647 -5.77350269189625766E-01
-29 -0.484809620246337029 0.874619707139395801 -5.54309051452768917E-01
-28 -0.469471562785890776 0.882947592858926941 -5.31709431661478749E-01
-27 -0.453990499739546791 0.891006524188367861 -5.09525449494428811E-01
-26 -0.438371146789077419 0.898794046299166993 -4.87732588565861424E-01
-25 -0.422618261740699438 0.906307787036649962 -4.66307658154998595E-01
-24 -0.406736643075800207 0.913545457642600895 -4.45228685308536163E-01
-23 -0.390731128489273753 0.920504853452440329 -4.24474816209604739E-01
-22 -0.374606593415912035 0.927183854566787401 -4.04026225835156811E-01
-21 -0.358367949545300273 0.933580426497201748 -3.83864035035415796E-01
-20 -0.342020143325668734 0.939692620785908382 -3.63970234266202363E-01
-19 -0.325568154457156668 0.945518575599316810 -3.44327613289665241E-01
-18 -0.309016994374947423 0.951056516295153574 -3.24919696232906324E-01
-17 -0.292371704722736728 0.956304755963035483 -3.05730681458660355E-01
-16 -0.275637355816999186 0.961261695938318863 -2.86745385758807940E-01
-15 -0.258819045102520762 0.965925826289068289 -2.67949192431122705E-01
-14 -0.241921895599667722 0.970295726275996473 -2.49328002843180691E-01
-13 -0.224951054343864998 0.974370064785235228 -2.30868191125563112E-01
-12 -0.207911690817759337 0.978147600733805637 -2.12556561670022125E-01
-11 -0.190808995376544813 0.981627183447663955 -1.94380309137718485E-01
-10 -0.173648177666930349 0.984807753012208060 -1.76326980708464974E-01
-9 -0.156434465040230869 0.987688340595137728 -1.58384440324536294E-01
-8 -0.139173100960065444 0.990268068741570314 -1.40540834702391447E-01
-7 -0.121869343405147481 0.992546151641322033 -1.22784560902904591E-01
-6 -0.104528463267653471 0.994521895368273335 -1.05104235265676462E-01
-5 -0.087155742747658174 0.996194698091745533 -8.74886635259240053E-02
-4 -0.069756473744125301 0.997564050259824247 -6.99268119435104134E-02
-3 -0.052335956242943833 0.998629534754573875 -5.24077792830412040E-02
-2 -0.034899496702500972 0.999390827019095730 -3.49207694917477305E-02
-1 -0.017452406437283513 0.999847695156391238 -1.74550649282175858E-02
x Sin(x) Cos(x) Tan(x)
0 0.000000000000000000 1.000000000000000000 0.00000000000000000E+00
1 0.017452406437283513 0.999847695156391238 1.74550649282175858E-02
2 0.034899496702500972 0.999390827019095730 3.49207694917477305E-02
3 0.052335956242943833 0.998629534754573875 5.24077792830412040E-02
4 0.069756473744125301 0.997564050259824247 6.99268119435104134E-02
5 0.087155742747658174 0.996194698091745533 8.74886635259240053E-02
6 0.104528463267653471 0.994521895368273335 1.05104235265676462E-01
7 0.121869343405147481 0.992546151641322033 1.22784560902904591E-01
8 0.139173100960065444 0.990268068741570314 1.40540834702391447E-01
9 0.156434465040230869 0.987688340595137728 1.58384440324536294E-01
10 0.173648177666930349 0.984807753012208060 1.76326980708464974E-01
11 0.190808995376544813 0.981627183447663955 1.94380309137718485E-01
12 0.207911690817759337 0.978147600733805637 2.12556561670022125E-01
13 0.224951054343864998 0.974370064785235228 2.30868191125563112E-01
14 0.241921895599667722 0.970295726275996473 2.49328002843180691E-01
15 0.258819045102520762 0.965925826289068289 2.67949192431122705E-01
16 0.275637355816999186 0.961261695938318863 2.86745385758807940E-01
17 0.292371704722736728 0.956304755963035483 3.05730681458660355E-01
18 0.309016994374947423 0.951056516295153574 3.24919696232906324E-01
19 0.325568154457156668 0.945518575599316810 3.44327613289665241E-01
20 0.342020143325668734 0.939692620785908382 3.63970234266202363E-01
21 0.358367949545300273 0.933580426497201748 3.83864035035415796E-01
22 0.374606593415912035 0.927183854566787401 4.04026225835156811E-01
23 0.390731128489273753 0.920504853452440329 4.24474816209604739E-01
24 0.406736643075800207 0.913545457642600895 4.45228685308536163E-01
25 0.422618261740699438 0.906307787036649962 4.66307658154998595E-01
26 0.438371146789077419 0.898794046299166993 4.87732588565861424E-01
27 0.453990499739546791 0.891006524188367861 5.09525449494428811E-01
28 0.469471562785890776 0.882947592858926941 5.31709431661478749E-01
29 0.484809620246337029 0.874619707139395801 5.54309051452768917E-01
30 0.500000000000000001 0.866025403784438647 5.77350269189625766E-01
31 0.515038074910054210 0.857167300702112288 6.00860619027560414E-01
32 0.529919264233204955 0.848048096156425969 6.24869351909327512E-01
33 0.544639035015027081 0.838670567945424029 6.49407593197510576E-01
34 0.559192903470746829 0.829037572555041693 6.74508516842426630E-01
35 0.573576436351046096 0.819152044288991790 7.00207538209709779E-01
36 0.587785252292473129 0.809016994374947424 7.26542528005360886E-01
37 0.601815023152048278 0.798635510047292846 7.53554050102794155E-01
38 0.615661475325658280 0.788010753606721956 7.81285626506717398E-01
39 0.629320391049837454 0.777145961456970881 8.09784033195007149E-01
40 0.642787609686539326 0.766044443118978035 8.39099631177280012E-01
41 0.656059028990507285 0.754709580222771999 8.69286737816226661E-01
42 0.669130606358858214 0.743144825477394236 9.00404044297839944E-01
43 0.681998360062498501 0.731353701619170482 9.32515086137661708E-01
44 0.694658370458997285 0.719339800338651138 9.65688774807074045E-01
45 0.707106781186547523 0.707106781186547523 1.00000000000000000E+00
46 0.719339800338651138 0.694658370458997285 1.03553031379056951E+00
47 0.731353701619170482 0.681998360062498501 1.07236871002468253E+00
48 0.743144825477394236 0.669130606358858214 1.11061251482919287E+00
49 0.754709580222771999 0.656059028990507285 1.15036840722100956E+00
50 0.766044443118978035 0.642787609686539326 1.19175359259420996E+00
51 0.777145961456970881 0.629320391049837454 1.23489715653505140E+00
52 0.788010753606721956 0.615661475325658280 1.27994163219307878E+00
53 0.798635510047292846 0.601815023152048278 1.32704482162041004E+00
54 0.809016994374947424 0.587785252292473129 1.37638192047117354E+00
55 0.819152044288991790 0.573576436351046096 1.42814800674211450E+00
56 0.829037572555041693 0.559192903470746829 1.48256096851274026E+00
57 0.838670567945424029 0.544639035015027081 1.53986496381458291E+00
58 0.848048096156425969 0.529919264233204955 1.60033452904105035E+00
59 0.857167300702112288 0.515038074910054210 1.66427948235051791E+00
x Sin(x) Cos(x) Tan(x)
60 0.866025403784438647 0.500000000000000001 1.73205080756887729E+00
61 0.874619707139395801 0.484809620246337029 1.80404775527142394E+00
62 0.882947592858926941 0.469471562785890776 1.88072646534633201E+00
63 0.891006524188367861 0.453990499739546791 1.96261050550515058E+00
64 0.898794046299166993 0.438371146789077419 2.05030384157929621E+00
65 0.906307787036649962 0.422618261740699438 2.14450692050955860E+00
66 0.913545457642600895 0.406736643075800207 2.24603677390421606E+00
67 0.920504853452440329 0.390731128489273753 2.35585236582375285E+00
68 0.927183854566787401 0.374606593415912035 2.47508685341629583E+00
69 0.933580426497201748 0.358367949545300273 2.60508906469380154E+00
70 0.939692620785908382 0.342020143325668734 2.74747741945462227E+00
71 0.945518575599316810 0.325568154457156668 2.90421087767582281E+00
72 0.951056516295153574 0.309016994374947423 3.07768353717525342E+00
73 0.956304755963035483 0.292371704722736728 3.27085261848414087E+00
74 0.961261695938318863 0.275637355816999186 3.48741444384090865E+00
75 0.965925826289068289 0.258819045102520762 3.73205080756887731E+00
76 0.970295726275996473 0.241921895599667722 4.01078093353584473E+00
77 0.974370064785235228 0.224951054343864998 4.33147587428415554E+00
78 0.978147600733805637 0.207911690817759337 4.70463010947845423E+00
79 0.981627183447663955 0.190808995376544813 5.14455401597031013E+00
80 0.984807753012208060 0.173648177666930349 5.67128181961770953E+00
81 0.987688340595137728 0.156434465040230869 6.31375151467504311E+00
82 0.990268068741570314 0.139173100960065444 7.11536972238420875E+00
83 0.992546151641322033 0.121869343405147481 8.14434642797459402E+00
84 0.994521895368273335 0.104528463267653471 9.51436445422258495E+00
85 0.996194698091745533 0.087155742747658174 1.14300523027613431E+01
86 0.997564050259824247 0.069756473744125301 1.43006662567119280E+01
87 0.998629534754573875 0.052335956242943833 1.90811366877282111E+01
88 0.999390827019095730 0.034899496702500972 2.86362532829156036E+01
89 0.999847695156391238 0.017452406437283513 5.72899616307594247E+01
90 1.000000000000000000 0.000000000000000000 9.99999999999999999E+49
91 0.999847695156391238 -0.017452406437283513 -5.72899616307594247E+01
92 0.999390827019095730 -0.034899496702500972 -2.86362532829156036E+01
93 0.998629534754573875 -0.052335956242943833 -1.90811366877282111E+01
94 0.997564050259824247 -0.069756473744125301 -1.43006662567119280E+01
95 0.996194698091745533 -0.087155742747658174 -1.14300523027613431E+01
96 0.994521895368273335 -0.104528463267653471 -9.51436445422258495E+00
97 0.992546151641322033 -0.121869343405147481 -8.14434642797459402E+00
98 0.990268068741570314 -0.139173100960065444 -7.11536972238420875E+00
99 0.987688340595137728 -0.156434465040230869 -6.31375151467504311E+00
100 0.984807753012208060 -0.173648177666930349 -5.67128181961770953E+00
101 0.981627183447663955 -0.190808995376544813 -5.14455401597031013E+00
102 0.978147600733805637 -0.207911690817759337 -4.70463010947845423E+00
103 0.974370064785235228 -0.224951054343864998 -4.33147587428415554E+00
104 0.970295726275996473 -0.241921895599667722 -4.01078093353584473E+00
105 0.965925826289068289 -0.258819045102520762 -3.73205080756887731E+00
106 0.961261695938318863 -0.275637355816999186 -3.48741444384090865E+00
107 0.956304755963035483 -0.292371704722736728 -3.27085261848414087E+00
108 0.951056516295153574 -0.309016994374947423 -3.07768353717525342E+00
109 0.945518575599316810 -0.325568154457156668 -2.90421087767582281E+00
110 0.939692620785908382 -0.342020143325668734 -2.74747741945462227E+00
111 0.933580426497201748 -0.358367949545300273 -2.60508906469380154E+00
112 0.927183854566787401 -0.374606593415912035 -2.47508685341629583E+00
113 0.920504853452440329 -0.390731128489273753 -2.35585236582375285E+00
114 0.913545457642600895 -0.406736643075800207 -2.24603677390421606E+00
115 0.906307787036649962 -0.422618261740699438 -2.14450692050955860E+00
116 0.898794046299166993 -0.438371146789077419 -2.05030384157929621E+00
117 0.891006524188367861 -0.453990499739546791 -1.96261050550515058E+00
118 0.882947592858926941 -0.469471562785890776 -1.88072646534633201E+00
119 0.874619707139395801 -0.484809620246337029 -1.80404775527142394E+00
x Sin(x) Cos(x) Tan(x)
120 0.866025403784438647 -0.500000000000000001 -1.73205080756887729E+00
121 0.857167300702112288 -0.515038074910054210 -1.66427948235051791E+00
122 0.848048096156425969 -0.529919264233204955 -1.60033452904105035E+00
123 0.838670567945424029 -0.544639035015027081 -1.53986496381458291E+00
124 0.829037572555041693 -0.559192903470746829 -1.48256096851274026E+00
125 0.819152044288991790 -0.573576436351046096 -1.42814800674211450E+00
126 0.809016994374947424 -0.587785252292473129 -1.37638192047117354E+00
127 0.798635510047292846 -0.601815023152048278 -1.32704482162041004E+00
128 0.788010753606721956 -0.615661475325658280 -1.27994163219307878E+00
129 0.777145961456970881 -0.629320391049837454 -1.23489715653505140E+00
130 0.766044443118978035 -0.642787609686539326 -1.19175359259420996E+00
131 0.754709580222771999 -0.656059028990507285 -1.15036840722100956E+00
132 0.743144825477394236 -0.669130606358858214 -1.11061251482919287E+00
133 0.731353701619170482 -0.681998360062498501 -1.07236871002468253E+00
134 0.719339800338651138 -0.694658370458997285 -1.03553031379056951E+00
135 0.707106781186547523 -0.707106781186547523 -1.00000000000000000E+00
136 0.694658370458997285 -0.719339800338651138 -9.65688774807074045E-01
137 0.681998360062498501 -0.731353701619170482 -9.32515086137661708E-01
138 0.669130606358858214 -0.743144825477394236 -9.00404044297839944E-01
139 0.656059028990507285 -0.754709580222771999 -8.69286737816226661E-01
140 0.642787609686539326 -0.766044443118978035 -8.39099631177280012E-01
141 0.629320391049837454 -0.777145961456970881 -8.09784033195007149E-01
142 0.615661475325658280 -0.788010753606721956 -7.81285626506717398E-01
143 0.601815023152048278 -0.798635510047292846 -7.53554050102794155E-01
144 0.587785252292473129 -0.809016994374947424 -7.26542528005360886E-01
145 0.573576436351046096 -0.819152044288991790 -7.00207538209709779E-01
146 0.559192903470746829 -0.829037572555041693 -6.74508516842426630E-01
147 0.544639035015027081 -0.838670567945424029 -6.49407593197510576E-01
148 0.529919264233204955 -0.848048096156425969 -6.24869351909327512E-01
149 0.515038074910054210 -0.857167300702112288 -6.00860619027560414E-01
150 0.500000000000000001 -0.866025403784438647 -5.77350269189625766E-01
151 0.484809620246337029 -0.874619707139395801 -5.54309051452768917E-01
152 0.469471562785890776 -0.882947592858926941 -5.31709431661478749E-01
153 0.453990499739546791 -0.891006524188367861 -5.09525449494428811E-01
154 0.438371146789077419 -0.898794046299166993 -4.87732588565861424E-01
155 0.422618261740699438 -0.906307787036649962 -4.66307658154998595E-01
156 0.406736643075800207 -0.913545457642600895 -4.45228685308536163E-01
157 0.390731128489273753 -0.920504853452440329 -4.24474816209604739E-01
158 0.374606593415912035 -0.927183854566787401 -4.04026225835156811E-01
159 0.358367949545300273 -0.933580426497201748 -3.83864035035415796E-01
160 0.342020143325668734 -0.939692620785908382 -3.63970234266202363E-01
161 0.325568154457156668 -0.945518575599316810 -3.44327613289665241E-01
162 0.309016994374947423 -0.951056516295153574 -3.24919696232906324E-01
163 0.292371704722736728 -0.956304755963035483 -3.05730681458660355E-01
164 0.275637355816999186 -0.961261695938318863 -2.86745385758807940E-01
165 0.258819045102520762 -0.965925826289068289 -2.67949192431122705E-01
166 0.241921895599667722 -0.970295726275996473 -2.49328002843180691E-01
167 0.224951054343864998 -0.974370064785235228 -2.30868191125563112E-01
168 0.207911690817759337 -0.978147600733805637 -2.12556561670022125E-01
169 0.190808995376544813 -0.981627183447663955 -1.94380309137718485E-01
170 0.173648177666930349 -0.984807753012208060 -1.76326980708464974E-01
171 0.156434465040230869 -0.987688340595137728 -1.58384440324536294E-01
172 0.139173100960065444 -0.990268068741570314 -1.40540834702391447E-01
173 0.121869343405147481 -0.992546151641322033 -1.22784560902904591E-01
174 0.104528463267653471 -0.994521895368273335 -1.05104235265676462E-01
175 0.087155742747658174 -0.996194698091745533 -8.74886635259240053E-02
176 0.069756473744125301 -0.997564050259824247 -6.99268119435104134E-02
177 0.052335956242943833 -0.998629534754573875 -5.24077792830412040E-02
178 0.034899496702500972 -0.999390827019095730 -3.49207694917477305E-02
179 0.017452406437283513 -0.999847695156391238 -1.74550649282175858E-02
x ArcSin(x) ArcCos(x) ArcTan(x)
-1.0 -90.000000000000000000 180.000000000000000000 -45.000000000000000300
-0.9 -64.158067236832871500 154.158067236832871000 -41.987212495816659900
-0.8 -53.130102354155979000 143.130102354155979000 -38.659808254090090300
-0.7 -44.427004000805703500 134.427004000805705000 -34.992020198558661800
-0.6 -36.869897645844021100 126.869897645844022000 -30.963756532073521100
-0.5 -29.999999999999999800 120.000000000000000000 -26.565051177077989100
-0.4 -23.578178478201830900 113.578178478201832000 -21.801409486351811500
-0.3 -17.457603123722092100 107.457603123722093000 -16.699244233993621600
-0.2 -11.536959032815487700 101.536959032815488000 -11.309932474020213100
-0.1 -5.739170477266786350 95.739170477266787000 -5.710593137499642520
0.0 0.000000000000000000 90.000000000000000600 0.000000000000000000
0.1 5.739170477266786350 84.260829522733213200 5.710593137499642520
0.2 11.536959032815487700 78.463040967184512000 11.309932474020213100
0.3 17.457603123722092100 72.542396876277907400 16.699244233993621600
0.4 23.578178478201830900 66.421821521798168400 21.801409486351811500
0.5 29.999999999999999800 59.999999999999999600 26.565051177077989100
0.6 36.869897645844021100 53.130102354155978200 30.963756532073521100
0.7 44.427004000805703500 45.572995999194296000 34.992020198558661800
0.8 53.130102354155979000 36.869897645844020800 38.659808254090090300
0.9 64.158067236832871500 25.841932763167128800 41.987212495816659900
1.0 90.000000000000000000 0.000000000000000000 45.000000000000000300
-150.0 ------------ ------------ -89.618033795270974600
-140.0 ------------ ------------ -89.590751391965061500
-130.0 ------------ ------------ -89.559271927238986100
-120.0 ------------ ------------ -89.522546222690422600
-110.0 ------------ ------------ -89.479143625498041400
-100.0 ------------ ------------ -89.427061302316514100
-90.0 ------------ ------------ -89.363406424036513800
-80.0 ------------ ------------ -89.283840054529591500
-70.0 ------------ ------------ -89.181544538311385700
-60.0 ------------ ------------ -89.045158746127811300
-50.0 ------------ ------------ -88.854237161824896900
-40.0 ------------ ------------ -88.567903815835353700
-30.0 ------------ ------------ -88.090847567003623700
-20.0 ------------ ------------ -87.137594773888252600
-10.0 ------------ ------------ -84.289406862500357400
10.0 ------------ ------------ 84.289406862500357400
20.0 ------------ ------------ 87.137594773888252600
30.0 ------------ ------------ 88.090847567003623700
40.0 ------------ ------------ 88.567903815835353700
50.0 ------------ ------------ 88.854237161824896900
60.0 ------------ ------------ 89.045158746127811300
70.0 ------------ ------------ 89.181544538311385700
80.0 ------------ ------------ 89.283840054529591500
90.0 ------------ ------------ 89.363406424036513800
100.0 ------------ ------------ 89.427061302316514100
110.0 ------------ ------------ 89.479143625498041400
120.0 ------------ ------------ 89.522546222690422600
130.0 ------------ ------------ 89.559271927238986100
140.0 ------------ ------------ 89.590751391965061500
150.0 ------------ ------------ 89.618033795270974600
ArcSin(ArcCos(ArcTan(Tan(Cos(Sin(9)))))) = 8.999999999996491040
-----------------------------------------------------------------------------------------------------