xref: /illumos-gate/usr/src/lib/libm/common/LD/_TBL_tanl.c (revision 25c28e83)
1*25c28e83SPiotr Jasiukajtis /*
2*25c28e83SPiotr Jasiukajtis  * CDDL HEADER START
3*25c28e83SPiotr Jasiukajtis  *
4*25c28e83SPiotr Jasiukajtis  * The contents of this file are subject to the terms of the
5*25c28e83SPiotr Jasiukajtis  * Common Development and Distribution License (the "License").
6*25c28e83SPiotr Jasiukajtis  * You may not use this file except in compliance with the License.
7*25c28e83SPiotr Jasiukajtis  *
8*25c28e83SPiotr Jasiukajtis  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*25c28e83SPiotr Jasiukajtis  * or http://www.opensolaris.org/os/licensing.
10*25c28e83SPiotr Jasiukajtis  * See the License for the specific language governing permissions
11*25c28e83SPiotr Jasiukajtis  * and limitations under the License.
12*25c28e83SPiotr Jasiukajtis  *
13*25c28e83SPiotr Jasiukajtis  * When distributing Covered Code, include this CDDL HEADER in each
14*25c28e83SPiotr Jasiukajtis  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*25c28e83SPiotr Jasiukajtis  * If applicable, add the following below this CDDL HEADER, with the
16*25c28e83SPiotr Jasiukajtis  * fields enclosed by brackets "[]" replaced with your own identifying
17*25c28e83SPiotr Jasiukajtis  * information: Portions Copyright [yyyy] [name of copyright owner]
18*25c28e83SPiotr Jasiukajtis  *
19*25c28e83SPiotr Jasiukajtis  * CDDL HEADER END
20*25c28e83SPiotr Jasiukajtis  */
21*25c28e83SPiotr Jasiukajtis 
22*25c28e83SPiotr Jasiukajtis /*
23*25c28e83SPiotr Jasiukajtis  * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
24*25c28e83SPiotr Jasiukajtis  */
25*25c28e83SPiotr Jasiukajtis /*
26*25c28e83SPiotr Jasiukajtis  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
27*25c28e83SPiotr Jasiukajtis  * Use is subject to license terms.
28*25c28e83SPiotr Jasiukajtis  */
29*25c28e83SPiotr Jasiukajtis 
30*25c28e83SPiotr Jasiukajtis /*
31*25c28e83SPiotr Jasiukajtis  * For i = 0L, ..., 75 let x(i) be the extended precision number
32*25c28e83SPiotr Jasiukajtis  * whose exponent is given by 0x3ffc + ((i + 8) >> 5) and whose
33*25c28e83SPiotr Jasiukajtis  * five most significant fraction bits are given by (i + 8) & 0x1f.
34*25c28e83SPiotr Jasiukajtis  * (The remaining fraction bits are zero and the integer bit is 1.)
35*25c28e83SPiotr Jasiukajtis  * Then _TBL_tanl_hi[i] := tan(x(i)) rounded to extended precisionL,
36*25c28e83SPiotr Jasiukajtis  * and _TBL_tanl_lo[i] ~ tan(x(i)) - _TBL_tanl_hi[i].
37*25c28e83SPiotr Jasiukajtis  */
38*25c28e83SPiotr Jasiukajtis 
39*25c28e83SPiotr Jasiukajtis #include "libm.h"
40*25c28e83SPiotr Jasiukajtis 
41*25c28e83SPiotr Jasiukajtis const long double _TBL_tanl_hi[] = {
42*25c28e83SPiotr Jasiukajtis 	 1.5753410732527161068790289e-01L,
43*25c28e83SPiotr Jasiukajtis 	 1.6153978404952147631388516e-01L,
44*25c28e83SPiotr Jasiukajtis 	 1.6555051927393397620861225e-01L,
45*25c28e83SPiotr Jasiukajtis 	 1.6956644521976651014845677e-01L,
46*25c28e83SPiotr Jasiukajtis 	 1.7358769476798152084980487e-01L,
47*25c28e83SPiotr Jasiukajtis 	 1.7761440147744672763405801e-01L,
48*25c28e83SPiotr Jasiukajtis 	 1.8164669960332142765752766e-01L,
49*25c28e83SPiotr Jasiukajtis 	 1.8568472411563441162006289e-01L,
50*25c28e83SPiotr Jasiukajtis 	 1.8972861071805913288790962e-01L,
51*25c28e83SPiotr Jasiukajtis 	 1.9377849586689186352228293e-01L,
52*25c28e83SPiotr Jasiukajtis 	 1.9783451679023866881187727e-01L,
53*25c28e83SPiotr Jasiukajtis 	 2.0189681150741713288741981e-01L,
54*25c28e83SPiotr Jasiukajtis 	 2.0596551884857887210688535e-01L,
55*25c28e83SPiotr Jasiukajtis 	 2.1004077847455898084587031e-01L,
56*25c28e83SPiotr Jasiukajtis 	 2.1412273089695866488913964e-01L,
57*25c28e83SPiotr Jasiukajtis 	 2.1821151749846743250413339e-01L,
58*25c28e83SPiotr Jasiukajtis 	 2.2230728055343133087249762e-01L,
59*25c28e83SPiotr Jasiukajtis 	 2.2641016324867383747423879e-01L,
60*25c28e83SPiotr Jasiukajtis 	 2.3052030970457614146129199e-01L,
61*25c28e83SPiotr Jasiukajtis 	 2.3463786499642367899603687e-01L,
62*25c28e83SPiotr Jasiukajtis 	 2.3876297517602592026663300e-01L,
63*25c28e83SPiotr Jasiukajtis 	 2.4289578729361654240565243e-01L,
64*25c28e83SPiotr Jasiukajtis 	 2.4703644942004126466383960e-01L,
65*25c28e83SPiotr Jasiukajtis 	 2.5118511066924076739260464e-01L,
66*25c28e83SPiotr Jasiukajtis 	 2.5534192122103626651019939e-01L,
67*25c28e83SPiotr Jasiukajtis 	 2.6368059641999679984405817e-01L,
68*25c28e83SPiotr Jasiukajtis 	 2.7205369865877088343545168e-01L,
69*25c28e83SPiotr Jasiukajtis 	 2.8046247014525140317325012e-01L,
70*25c28e83SPiotr Jasiukajtis 	 2.8890817244051472599780488e-01L,
71*25c28e83SPiotr Jasiukajtis 	 2.9739208726902458947518627e-01L,
72*25c28e83SPiotr Jasiukajtis 	 3.0591551735305926411887835e-01L,
73*25c28e83SPiotr Jasiukajtis 	 3.1447978727257151616261872e-01L,
74*25c28e83SPiotr Jasiukajtis 	 3.2308624435174552010563084e-01L,
75*25c28e83SPiotr Jasiukajtis 	 3.3173625957357276734381764e-01L,
76*25c28e83SPiotr Jasiukajtis 	 3.4043122852383038743446717e-01L,
77*25c28e83SPiotr Jasiukajtis 	 3.4917257236591035224446307e-01L,
78*25c28e83SPiotr Jasiukajtis 	 3.5796173884801699838350761e-01L,
79*25c28e83SPiotr Jasiukajtis 	 3.6680020334432342273152904e-01L,
80*25c28e83SPiotr Jasiukajtis 	 3.7568946993175484041940608e-01L,
81*25c28e83SPiotr Jasiukajtis 	 3.8463107250414922303567364e-01L,
82*25c28e83SPiotr Jasiukajtis 	 3.9362657592563275821902387e-01L,
83*25c28e83SPiotr Jasiukajtis 	 4.0267757722514021178576021e-01L,
84*25c28e83SPiotr Jasiukajtis 	 4.1178570683410847577655099e-01L,
85*25c28e83SPiotr Jasiukajtis 	 4.2095262986947582208789413e-01L,
86*25c28e83SPiotr Jasiukajtis 	 4.3018004746423004901363651e-01L,
87*25c28e83SPiotr Jasiukajtis 	 4.3946969814786624047050871e-01L,
88*25c28e83SPiotr Jasiukajtis 	 4.4882335927923970884728319e-01L,
89*25c28e83SPiotr Jasiukajtis 	 4.5824284853443236696884759e-01L,
90*25c28e83SPiotr Jasiukajtis 	 4.6773002545239179993303603e-01L,
91*25c28e83SPiotr Jasiukajtis 	 4.7728679304125226171028919e-01L,
92*25c28e83SPiotr Jasiukajtis 	 4.8691509944840632450355038e-01L,
93*25c28e83SPiotr Jasiukajtis 	 4.9661693969756562569970761e-01L,
94*25c28e83SPiotr Jasiukajtis 	 5.0639435749622981205141092e-01L,
95*25c28e83SPiotr Jasiukajtis 	 5.1624944711717514451250130e-01L,
96*25c28e83SPiotr Jasiukajtis 	 5.2618435535777914417981255e-01L,
97*25c28e83SPiotr Jasiukajtis 	 5.3620128358121603136601796e-01L,
98*25c28e83SPiotr Jasiukajtis 	 5.4630248984379051326943158e-01L,
99*25c28e83SPiotr Jasiukajtis 	 5.6676706558058644568054429e-01L,
100*25c28e83SPiotr Jasiukajtis 	 5.8759736759144322142123240e-01L,
101*25c28e83SPiotr Jasiukajtis 	 6.0881374032438072139072557e-01L,
102*25c28e83SPiotr Jasiukajtis 	 6.3043767383588476685765678e-01L,
103*25c28e83SPiotr Jasiukajtis 	 6.5249189792880799270563541e-01L,
104*25c28e83SPiotr Jasiukajtis 	 6.7500048514424290766085257e-01L,
105*25c28e83SPiotr Jasiukajtis 	 6.9798896362359925515245207e-01L,
106*25c28e83SPiotr Jasiukajtis 	 7.2148444099090441996918396e-01L,
107*25c28e83SPiotr Jasiukajtis 	 7.4551574055939199512374818e-01L,
108*25c28e83SPiotr Jasiukajtis 	 7.7011355134420870501661335e-01L,
109*25c28e83SPiotr Jasiukajtis 	 7.9531059356867418562312202e-01L,
110*25c28e83SPiotr Jasiukajtis 	 8.2114180158989412189243090e-01L,
111*25c28e83SPiotr Jasiukajtis 	 8.4764452644655265410892839e-01L,
112*25c28e83SPiotr Jasiukajtis 	 8.7485876055448234952464232e-01L,
113*25c28e83SPiotr Jasiukajtis 	 9.0282738745267350217570818e-01L,
114*25c28e83SPiotr Jasiukajtis 	 9.3159645994407246116005700e-01L,
115*25c28e83SPiotr Jasiukajtis 	 9.6121551049437041616208335e-01L,
116*25c28e83SPiotr Jasiukajtis 	 9.9173789836326868026407724e-01L,
117*25c28e83SPiotr Jasiukajtis };
118*25c28e83SPiotr Jasiukajtis 
119*25c28e83SPiotr Jasiukajtis const long double _TBL_tanl_lo[] = {
120*25c28e83SPiotr Jasiukajtis 	-2.6771159409105731701405510e-21L,
121*25c28e83SPiotr Jasiukajtis 	-4.6099226789741262900210606e-21L,
122*25c28e83SPiotr Jasiukajtis 	 5.3186644140375322820802458e-21L,
123*25c28e83SPiotr Jasiukajtis 	 2.5138405830938633735686839e-21L,
124*25c28e83SPiotr Jasiukajtis 	-5.1314617057806432706999694e-21L,
125*25c28e83SPiotr Jasiukajtis 	-2.3150818458524320771936317e-21L,
126*25c28e83SPiotr Jasiukajtis 	 7.4823150688409589857878346e-22L,
127*25c28e83SPiotr Jasiukajtis 	 6.5983384951777057330962451e-21L,
128*25c28e83SPiotr Jasiukajtis 	 3.1737465070309238679637904e-21L,
129*25c28e83SPiotr Jasiukajtis 	-6.2605330413009742107992404e-21L,
130*25c28e83SPiotr Jasiukajtis 	-3.4708968895421512574248288e-21L,
131*25c28e83SPiotr Jasiukajtis 	-3.3508177722855547163047103e-21L,
132*25c28e83SPiotr Jasiukajtis 	 1.8539761255947162282442845e-21L,
133*25c28e83SPiotr Jasiukajtis 	-4.3527863815358994574071238e-21L,
134*25c28e83SPiotr Jasiukajtis 	-3.0729582373746958079080308e-21L,
135*25c28e83SPiotr Jasiukajtis 	 1.7486583794617176080777995e-21L,
136*25c28e83SPiotr Jasiukajtis 	-2.0880427643688559927261666e-22L,
137*25c28e83SPiotr Jasiukajtis 	 3.4326156341633317484064051e-21L,
138*25c28e83SPiotr Jasiukajtis 	-5.8444712515543005993510667e-21L,
139*25c28e83SPiotr Jasiukajtis 	 3.3308393583864583403400180e-21L,
140*25c28e83SPiotr Jasiukajtis 	 1.5180609545016167494014088e-21L,
141*25c28e83SPiotr Jasiukajtis 	-4.5664864992230118395870971e-21L,
142*25c28e83SPiotr Jasiukajtis 	-3.4486635382887607253671356e-22L,
143*25c28e83SPiotr Jasiukajtis 	 6.4992471510018586950169590e-21L,
144*25c28e83SPiotr Jasiukajtis 	-5.7171552644357921603079772e-21L,
145*25c28e83SPiotr Jasiukajtis 	 1.0767820312749142840542796e-20L,
146*25c28e83SPiotr Jasiukajtis 	-8.8873094864264944929118678e-21L,
147*25c28e83SPiotr Jasiukajtis 	-3.6458345495736833933253427e-21L,
148*25c28e83SPiotr Jasiukajtis 	 3.7835691968285101289024150e-21L,
149*25c28e83SPiotr Jasiukajtis 	-7.9922577212991920007926665e-21L,
150*25c28e83SPiotr Jasiukajtis 	-1.1639426061963512311797196e-20L,
151*25c28e83SPiotr Jasiukajtis 	 1.0819496381458482697046145e-20L,
152*25c28e83SPiotr Jasiukajtis 	 1.2669812351932848585361942e-20L,
153*25c28e83SPiotr Jasiukajtis 	-4.3879352642165387665557942e-21L,
154*25c28e83SPiotr Jasiukajtis 	-6.2397232294970361376981025e-21L,
155*25c28e83SPiotr Jasiukajtis 	 1.0249894624181563425318369e-20L,
156*25c28e83SPiotr Jasiukajtis 	 4.8883545518509990780582976e-21L,
157*25c28e83SPiotr Jasiukajtis 	-1.0924217224719888561366811e-20L,
158*25c28e83SPiotr Jasiukajtis 	-1.0160304466598813882209781e-20L,
159*25c28e83SPiotr Jasiukajtis 	 5.1826415091471411711448075e-21L,
160*25c28e83SPiotr Jasiukajtis 	 1.0389918683332972349077236e-20L,
161*25c28e83SPiotr Jasiukajtis 	-7.1664776574714262163862363e-21L,
162*25c28e83SPiotr Jasiukajtis 	 1.2298884220333748071625466e-20L,
163*25c28e83SPiotr Jasiukajtis 	-1.3099990378137383497651040e-20L,
164*25c28e83SPiotr Jasiukajtis 	 6.6930911371536844477108605e-21L,
165*25c28e83SPiotr Jasiukajtis 	 1.3154437144468699485999317e-20L,
166*25c28e83SPiotr Jasiukajtis 	-6.7276672708135125503950130e-21L,
167*25c28e83SPiotr Jasiukajtis 	-9.6583948799780933132703713e-21L,
168*25c28e83SPiotr Jasiukajtis 	-1.1693327591353762422287158e-20L,
169*25c28e83SPiotr Jasiukajtis 	 1.2115072030396340314945014e-20L,
170*25c28e83SPiotr Jasiukajtis 	-4.8328734014430698289025015e-21L,
171*25c28e83SPiotr Jasiukajtis 	 1.0852973061445293626693228e-20L,
172*25c28e83SPiotr Jasiukajtis 	 1.9411831283588255256712679e-20L,
173*25c28e83SPiotr Jasiukajtis 	-2.0725962316575506668083850e-20L,
174*25c28e83SPiotr Jasiukajtis 	-9.1991091819589918968351350e-21L,
175*25c28e83SPiotr Jasiukajtis 	-1.8439030785497371079388971e-20L,
176*25c28e83SPiotr Jasiukajtis 	-1.4252114398617735096821730e-20L,
177*25c28e83SPiotr Jasiukajtis 	-3.6634999903039053547935623e-22L,
178*25c28e83SPiotr Jasiukajtis 	-2.7073538111310219812185487e-20L,
179*25c28e83SPiotr Jasiukajtis 	 2.1768400635771833866020006e-20L,
180*25c28e83SPiotr Jasiukajtis 	-5.0453509036808273670769239e-21L,
181*25c28e83SPiotr Jasiukajtis 	 1.8262326404957249986102613e-20L,
182*25c28e83SPiotr Jasiukajtis 	 2.3253788272891224529527726e-21L,
183*25c28e83SPiotr Jasiukajtis 	-2.6863465601726641017825874e-21L,
184*25c28e83SPiotr Jasiukajtis 	 2.0333919445169836552474035e-20L,
185*25c28e83SPiotr Jasiukajtis 	 1.2381983326738354735338055e-20L,
186*25c28e83SPiotr Jasiukajtis 	-1.0629693225258909983165405e-20L,
187*25c28e83SPiotr Jasiukajtis 	 2.2479666845586239075466463e-20L,
188*25c28e83SPiotr Jasiukajtis 	 1.8993064919061156630226362e-20L,
189*25c28e83SPiotr Jasiukajtis 	-1.8140078592138587341953739e-20L,
190*25c28e83SPiotr Jasiukajtis 	 1.5029592868184122759494625e-20L,
191*25c28e83SPiotr Jasiukajtis 	 2.0466189644006868146496769e-20L,
192*25c28e83SPiotr Jasiukajtis 	 5.1457594757697525471406575e-21L,
193*25c28e83SPiotr Jasiukajtis 	 2.3217272240793119168128789e-20L,
194*25c28e83SPiotr Jasiukajtis 	-7.2198528398134119662230907e-21L,
195*25c28e83SPiotr Jasiukajtis };
196