xref: /third_party/musl/libc-test/src/math/ucb/acosf.h (revision 570af302)
1// Copyright (C) 1988-1994 Sun Microsystems, Inc. 2550 Garcia Avenue
2// Mountain View, California  94043 All rights reserved.
3//
4// Any person is hereby authorized to download, copy, use, create bug fixes,
5// and distribute, subject to the following conditions:
6//
7// 	1.  the software may not be redistributed for a fee except as
8// 	    reasonable to cover media costs;
9// 	2.  any copy of the software must include this notice, as well as
10// 	    any other embedded copyright notices; and
11// 	3.  any distribution of this software or derivative works thereof
12// 	    must comply with all applicable U.S. export control laws.
13//
14// THE SOFTWARE IS MADE AVAILABLE "AS IS" AND WITHOUT EXPRESS OR IMPLIED
15// WARRANTY OF ANY KIND, INCLUDING BUT NOT LIMITED TO THE IMPLIED
16// WARRANTIES OF DESIGN, MERCHANTIBILITY, FITNESS FOR A PARTICULAR
17// PURPOSE, NON-INFRINGEMENT, PERFORMANCE OR CONFORMANCE TO
18// SPECIFICATIONS.
19//
20// BY DOWNLOADING AND/OR USING THIS SOFTWARE, THE USER WAIVES ALL CLAIMS
21// AGAINST SUN MICROSYSTEMS, INC. AND ITS AFFILIATED COMPANIES IN ANY
22// JURISDICTION, INCLUDING BUT NOT LIMITED TO CLAIMS FOR DAMAGES OR
23// EQUITABLE RELIEF BASED ON LOSS OF DATA, AND SPECIFICALLY WAIVES EVEN
24// UNKNOWN OR UNANTICIPATED CLAIMS OR LOSSES, PRESENT AND FUTURE.
25//
26// IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR ANY OF ITS AFFILIATED
27// COMPANIES BE LIABLE FOR ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL,
28// INDIRECT AND CONSEQUENTIAL DAMAGES, EVEN IF IT HAS BEEN ADVISED OF THE
29// POSSIBILITY OF SUCH DAMAGES.
30//
31// This file is provided with no support and without any obligation on the
32// part of Sun Microsystems, Inc. ("Sun") or any of its affiliated
33// companies to assist in its use, correction, modification or
34// enhancement.  Nevertheless, and without creating any obligation on its
35// part, Sun welcomes your comments concerning the software and requests
36// that they be sent to fdlibm-comments@sunpro.sun.com.
37// acoss(+-1) is 0,pi
38T(RN,          0x1p+0,          0x0p+0,          0x0p+0, 0)
39T(RN,         -0x1p+0,   0x1.921fb6p+1,   0x1.777a5cp-2, INEXACT)
40// acoss(+-(1 - tiny)) :=:  sqrt(2*tiny) or pi-sqrt(2*tiny)
41T(RN,   0x1.fffffcp-1,         0x1p-11,  -0x1.555556p-4, INEXACT)
42T(RZ,   0x1.fffffcp-1,         0x1p-11,  -0x1.555556p-4, INEXACT)
43T(RU,   0x1.fffffcp-1,  0x1.000002p-11,   0x1.d55556p-1, INEXACT)
44T(RD,   0x1.fffffcp-1,         0x1p-11,  -0x1.555556p-4, INEXACT)
45T(RN,  -0x1.fffffcp-1,   0x1.920fb6p+1,   0x1.777fb2p-2, INEXACT)
46T(RZ,  -0x1.fffffcp-1,   0x1.920fb4p+1,  -0x1.444026p-1, INEXACT)
47T(RU,  -0x1.fffffcp-1,   0x1.920fb6p+1,   0x1.777fb2p-2, INEXACT)
48T(RD,  -0x1.fffffcp-1,   0x1.920fb4p+1,  -0x1.444026p-1, INEXACT)
49// acoss(tiny) = pi/2-tiny
50T(RN,         0x1p-15,   0x1.921db6p+0,    0x1.777a6p-2, INEXACT)
51T(RN,        -0x1p-15,   0x1.9221b6p+0,   0x1.777a5ap-2, INEXACT)
52T(RN,         0x1p-29,   0x1.921fb6p+0,   0x1.877a5cp-2, INEXACT)
53T(RN,        -0x1p-29,   0x1.921fb6p+0,   0x1.677a5cp-2, INEXACT)
54T(RN,        0x1p-126,   0x1.921fb6p+0,   0x1.777a5cp-2, INEXACT)
55T(RN,       -0x1p-126,   0x1.921fb6p+0,   0x1.777a5cp-2, INEXACT)
56T(RN,          0x0p+0,   0x1.921fb6p+0,   0x1.777a5cp-2, INEXACT)
57// some random number between -1 and 1
58T(RN,  -0x1.13284cp-2,   0x1.d7c4e6p+0,  -0x1.1d5134p-3, INEXACT)
59T(RN,    0x1.6ca8ep-1,   0x1.8e6756p-1,  -0x1.f07dd8p-3, INEXACT)
60T(RN,    0x1.c2ca6p-1,   0x1.f9d74cp-2,   0x1.ebd7f8p-3, INEXACT)
61T(RN,   -0x1.55f12p-1,   0x1.26abdcp+1,  -0x1.004222p-2, INEXACT)
62T(RN,  -0x1.15679ep-2,   0x1.d85a44p+0,  -0x1.c043c2p-2, INEXACT)
63T(RN,  -0x1.41e132p-5,   0x1.9c2f68p+0,  -0x1.22d4d4p-2, INEXACT)
64T(RN,   0x1.281b0ep-1,    0x1.e881bp-1,  -0x1.71bc6ep-2, INEXACT)
65T(RN,   0x1.b5ce34p-1,   0x1.1713f6p-1,  -0x1.4c3306p-2, INEXACT)
66T(RN,  -0x1.583482p-3,   0x1.bd5accp+0,   -0x1.0f775p-6, INEXACT)
67T(RN,  -0x1.ea8224p-1,   0x1.6ce7d8p+1,   0x1.7f0fbcp-2, INEXACT)
68// exception cases
69T(RN,   0x1.000002p+0,             nan,          0x0p+0, INVALID)
70T(RZ,   0x1.000002p+0,             nan,          0x0p+0, INVALID)
71T(RU,   0x1.000002p+0,             nan,          0x0p+0, INVALID)
72T(RD,   0x1.000002p+0,             nan,          0x0p+0, INVALID)
73T(RN,  -0x1.000002p+0,             nan,          0x0p+0, INVALID)
74T(RN,          0x1p+1,             nan,          0x0p+0, INVALID)
75T(RN,   0x1.e00002p+2,             nan,          0x0p+0, INVALID)
76T(RN,  -0x1.fffffep+2,             nan,          0x0p+0, INVALID)
77T(RN,             nan,             nan,          0x0p+0, 0)
78T(RN,             nan,             nan,          0x0p+0, 0)
79T(RZ,             nan,             nan,          0x0p+0, 0)
80T(RU,             nan,             nan,          0x0p+0, 0)
81T(RD,             nan,             nan,          0x0p+0, 0)
82T(RZ,             nan,             nan,          0x0p+0, 0)
83T(RU,             nan,             nan,          0x0p+0, 0)
84T(RD,             nan,             nan,          0x0p+0, 0)
85T(RD,          0x1p+0,          0x0p+0,          0x0p+0, 0)
86T(RD,   0x1.000004p+0,             nan,          0x0p+0, INVALID)
87T(RD,          0x1p+1,             nan,          0x0p+0, INVALID)
88T(RD,          0x1p+2,             nan,          0x0p+0, INVALID)
89T(RD,        0x1p+126,             nan,          0x0p+0, INVALID)
90T(RD,        0x1p+127,             nan,          0x0p+0, INVALID)
91T(RD, 0x1.fffffcp+127,             nan,          0x0p+0, INVALID)
92T(RD, 0x1.fffffep+127,             nan,          0x0p+0, INVALID)
93T(RD,             inf,             nan,          0x0p+0, INVALID)
94T(RD,  -0x1.000002p+0,             nan,          0x0p+0, INVALID)
95T(RD,  -0x1.000004p+0,             nan,          0x0p+0, INVALID)
96T(RD,         -0x1p+1,             nan,          0x0p+0, INVALID)
97T(RD,         -0x1p+2,             nan,          0x0p+0, INVALID)
98T(RD,       -0x1p+126,             nan,          0x0p+0, INVALID)
99T(RD,       -0x1p+127,             nan,          0x0p+0, INVALID)
100T(RD,-0x1.fffffcp+127,             nan,          0x0p+0, INVALID)
101T(RD,-0x1.fffffep+127,             nan,          0x0p+0, INVALID)
102T(RD,            -inf,             nan,          0x0p+0, INVALID)
103T(RN,   0x1.000004p+0,             nan,          0x0p+0, INVALID)
104T(RN,          0x1p+2,             nan,          0x0p+0, INVALID)
105T(RN,        0x1p+126,             nan,          0x0p+0, INVALID)
106T(RN,        0x1p+127,             nan,          0x0p+0, INVALID)
107T(RN, 0x1.fffffcp+127,             nan,          0x0p+0, INVALID)
108T(RN, 0x1.fffffep+127,             nan,          0x0p+0, INVALID)
109T(RN,             inf,             nan,          0x0p+0, INVALID)
110T(RN,  -0x1.000004p+0,             nan,          0x0p+0, INVALID)
111T(RN,         -0x1p+1,             nan,          0x0p+0, INVALID)
112T(RN,         -0x1p+2,             nan,          0x0p+0, INVALID)
113T(RN,       -0x1p+126,             nan,          0x0p+0, INVALID)
114T(RN,       -0x1p+127,             nan,          0x0p+0, INVALID)
115T(RN,-0x1.fffffcp+127,             nan,          0x0p+0, INVALID)
116T(RN,-0x1.fffffep+127,             nan,          0x0p+0, INVALID)
117T(RN,            -inf,             nan,          0x0p+0, INVALID)
118T(RU,          0x1p+0,          0x0p+0,          0x0p+0, 0)
119T(RU,   0x1.000004p+0,             nan,          0x0p+0, INVALID)
120T(RU,          0x1p+1,             nan,          0x0p+0, INVALID)
121T(RU,          0x1p+2,             nan,          0x0p+0, INVALID)
122T(RU,        0x1p+126,             nan,          0x0p+0, INVALID)
123T(RU,        0x1p+127,             nan,          0x0p+0, INVALID)
124T(RU, 0x1.fffffcp+127,             nan,          0x0p+0, INVALID)
125T(RU, 0x1.fffffep+127,             nan,          0x0p+0, INVALID)
126T(RU,             inf,             nan,          0x0p+0, INVALID)
127T(RU,  -0x1.000002p+0,             nan,          0x0p+0, INVALID)
128T(RU,  -0x1.000004p+0,             nan,          0x0p+0, INVALID)
129T(RU,         -0x1p+1,             nan,          0x0p+0, INVALID)
130T(RU,         -0x1p+2,             nan,          0x0p+0, INVALID)
131T(RU,       -0x1p+126,             nan,          0x0p+0, INVALID)
132T(RU,       -0x1p+127,             nan,          0x0p+0, INVALID)
133T(RU,-0x1.fffffcp+127,             nan,          0x0p+0, INVALID)
134T(RU,-0x1.fffffep+127,             nan,          0x0p+0, INVALID)
135T(RU,            -inf,             nan,          0x0p+0, INVALID)
136T(RU,    0x1.fffffp-1,  0x1.000002p-10,   0x1.555554p-1, INEXACT)
137T(RZ,          0x1p+0,          0x0p+0,          0x0p+0, 0)
138T(RZ,   0x1.000004p+0,             nan,          0x0p+0, INVALID)
139T(RZ,          0x1p+1,             nan,          0x0p+0, INVALID)
140T(RZ,          0x1p+2,             nan,          0x0p+0, INVALID)
141T(RZ,        0x1p+126,             nan,          0x0p+0, INVALID)
142T(RZ,        0x1p+127,             nan,          0x0p+0, INVALID)
143T(RZ, 0x1.fffffcp+127,             nan,          0x0p+0, INVALID)
144T(RZ, 0x1.fffffep+127,             nan,          0x0p+0, INVALID)
145T(RZ,             inf,             nan,          0x0p+0, INVALID)
146T(RZ,  -0x1.000002p+0,             nan,          0x0p+0, INVALID)
147T(RZ,  -0x1.000004p+0,             nan,          0x0p+0, INVALID)
148T(RZ,         -0x1p+1,             nan,          0x0p+0, INVALID)
149T(RZ,         -0x1p+2,             nan,          0x0p+0, INVALID)
150T(RZ,       -0x1p+126,             nan,          0x0p+0, INVALID)
151T(RZ,       -0x1p+127,             nan,          0x0p+0, INVALID)
152T(RZ,-0x1.fffffcp+127,             nan,          0x0p+0, INVALID)
153T(RZ,-0x1.fffffep+127,             nan,          0x0p+0, INVALID)
154T(RZ,            -inf,             nan,          0x0p+0, INVALID)
155T(RZ,    0x1.fffffp-1,         0x1p-10,  -0x1.555558p-2, INEXACT)
156