/* Copyright (C) 1988-1994 Sun Microsystems, Inc. 2550 Garcia Avenue */ /* Mountain View, California 94043 All rights reserved. */ /* */ /* Any person is hereby authorized to download, copy, use, create bug fixes, */ /* and distribute, subject to the following conditions: */ /* */ /* 1. the software may not be redistributed for a fee except as */ /* reasonable to cover media costs; */ /* 2. any copy of the software must include this notice, as well as */ /* any other embedded copyright notices; and */ /* 3. any distribution of this software or derivative works thereof */ /* must comply with all applicable U.S. export control laws. */ /* */ /* THE SOFTWARE IS MADE AVAILABLE "AS IS" AND WITHOUT EXPRESS OR IMPLIED */ /* WARRANTY OF ANY KIND, INCLUDING BUT NOT LIMITED TO THE IMPLIED */ /* WARRANTIES OF DESIGN, MERCHANTIBILITY, FITNESS FOR A PARTICULAR */ /* PURPOSE, NON-INFRINGEMENT, PERFORMANCE OR CONFORMANCE TO */ /* SPECIFICATIONS. */ /* */ /* BY DOWNLOADING AND/OR USING THIS SOFTWARE, THE USER WAIVES ALL CLAIMS */ /* AGAINST SUN MICROSYSTEMS, INC. AND ITS AFFILIATED COMPANIES IN ANY */ /* JURISDICTION, INCLUDING BUT NOT LIMITED TO CLAIMS FOR DAMAGES OR */ /* EQUITABLE RELIEF BASED ON LOSS OF DATA, AND SPECIFICALLY WAIVES EVEN */ /* UNKNOWN OR UNANTICIPATED CLAIMS OR LOSSES, PRESENT AND FUTURE. */ /* */ /* IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR ANY OF ITS AFFILIATED */ /* COMPANIES BE LIABLE FOR ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, */ /* INDIRECT AND CONSEQUENTIAL DAMAGES, EVEN IF IT HAS BEEN ADVISED OF THE */ /* POSSIBILITY OF SUCH DAMAGES. */ /* */ /* This file is provided with no support and without any obligation on the */ /* part of Sun Microsystems, Inc. ("Sun") or any of its affiliated */ /* companies to assist in its use, correction, modification or */ /* enhancement. Nevertheless, and without creating any obligation on its */ /* part, Sun welcomes your comments concerning the software and requests */ /* that they be sent to fdlibm-comments@sunpro.sun.com. */ /* asins(+-1) is +-pi/2 */ asins n eq x 3f800000 3fc90fdb asins n eq x bf800000 bfc90fdb /* asins(+-(1 - tiny)) :=: +-(pi/2-sqrt(2*tiny)) */ asins n nb x 3f7fffff 3fc9048a asins n nb x bf7fffff bfc9048a asins z nb x 3f7fffff 3fc9048a asins z nb x bf7fffff bfc9048a asins p nb x 3f7fffff 3fc9048a asins p nb x bf7fffff bfc9048a asins m nb x 3f7fffff 3fc9048a asins m nb x bf7fffff bfc9048a /* asins(tiny) is tiny (only in nearest mode) */ asins n eq x 37ffd173 37ffd173 asins n eq x b7ffd173 b7ffd173 asins n eq x 00800000 00800000 asins n eq x 80800000 80800000 /* asins(+-0) is +-0 */ asins n eq - 0 0 asins n eq - 80000000 80000000 asins z eq - 0 0 asins z eq - 80000000 80000000 asins p eq - 0 0 asins p eq - 80000000 80000000 asins m eq - 0 0 asins m eq - 80000000 80000000 /* random arguments between -1 and 1 */ asins n nb x be899426 be8b4a62 asins n nb x 3f365470 3f4aec0a asins n nb x 3f616530 3f89d4f1 asins n nb x bf2af890 bf3b3804 asins n nb x be8ab3cf be8c751f asins n nb x bd20f099 bd20fb35 asins n nb x 3f140d87 3f1ddedd asins n nb x 3f5ae71a 3f834add asins n nb x be2c1a41 be2cec5b asins n nb x bf754112 bfa3d7fd /* exception cases */ asins n uo v 3f800001 0 asins z uo v 3f800001 0 asins p uo v 3f800001 0 asins m uo v 3f800001 0 asins n uo v bf800001 0 asins n uo v 40000000 0 asins n uo v 40f00001 0 asins n uo v c0ffffff 0 asins n uo v 7f800001 0 asins n uo v ff800001 0 asins z uo v ff800001 0 asins p uo v ff800001 0 asins m uo v ff800001 0 asins n uo - 7fc00000 0 asins z uo - 7fc00000 0 asins p uo - 7fc00000 0 asins m uo - 7fc00000 0 asins n uo - ffc00000 0 asins m eq x 00800001 00800001 asins m eq x 00800002 00800002 asins m eq x 01000000 01000000 asins m eq x 01800000 01800000 asins m eq x 80800001 80800001 asins m eq x 80800002 80800002 asins m eq x 81000000 81000000 asins m eq x 81800000 81800000 asins m eq x?u 00000001 00000001 asins m eq x?u 00000002 00000002 asins m eq x?u 00200000 00200000 asins m eq x?u 00400000 00400000 asins m eq x?u 007ffffe 007ffffe asins m eq x?u 007fffff 007fffff asins m eq x?u 00800000 00800000 asins m eq x?u 80000001 80000001 asins m eq x?u 80000002 80000002 asins m eq x?u 80200000 80200000 asins m eq x?u 80400000 80400000 asins m eq x?u 807ffffe 807ffffe asins m eq x?u 807fffff 807fffff asins m eq x?u 80800000 80800000 asins m uo - 7fc00000 00000000 asins m uo - 7fff0000 7fff0000 asins m uo - ffff0000 ffff0000 asins m uo v 3f800001 7fff0000 asins m uo v 3f800002 7fff0000 asins m uo v 40000000 7fff0000 asins m uo v 40800000 7fff0000 asins m uo v 7e800000 7fff0000 asins m uo v 7f000000 7fff0000 asins m uo v 7f7ffffe 7fff0000 asins m uo v 7f7fffff 7fff0000 asins m uo v 7f800000 7fff0000 asins m uo v 7f810000 7fff0000 asins m uo v bf800001 ffff0000 asins m uo v bf800002 ffff0000 asins m uo v c0000000 ffff0000 asins m uo v c0800000 ffff0000 asins m uo v fe800000 ffff0000 asins m uo v ff000000 ffff0000 asins m uo v ff7ffffe ffff0000 asins m uo v ff7fffff ffff0000 asins m uo v ff800000 ffff0000 asins m uo v ff800001 00000000 asins m uo v ff810000 ffff0000 asins m vn x 32400000 32400000 asins m vn x 32800000 32800000 asins m vn x 39800000 39800000 asins m vn x 39c00000 39c00000 asins m vn x b2400000 b2400000 asins m vn x b2800000 b2800000 asins m vn x b9800000 b9800000 asins m vn x b9c00000 b9c00000 asins n eq x 00800001 00800001 asins n eq x 00800002 00800002 asins n eq x 01000000 01000000 asins n eq x 01800000 01800000 asins n eq x 32400000 32400000 asins n eq x 32800000 32800000 asins n eq x 39800000 39800000 asins n eq x 39c00000 39c00000 asins n eq x 80800001 80800001 asins n eq x 80800002 80800002 asins n eq x 81000000 81000000 asins n eq x 81800000 81800000 asins n eq x b2400000 b2400000 asins n eq x b2800000 b2800000 asins n eq x b9800000 b9800000 asins n eq x b9c00000 b9c00000 asins n eq x?u 00000001 00000001 asins n eq x?u 00000002 00000002 asins n eq x?u 00200000 00200000 asins n eq x?u 00400000 00400000 asins n eq x?u 007ffffe 007ffffe asins n eq x?u 007fffff 007fffff asins n eq x?u 80000001 80000001 asins n eq x?u 80000002 80000002 asins n eq x?u 80200000 80200000 asins n eq x?u 80400000 80400000 asins n eq x?u 807ffffe 807ffffe asins n eq x?u 807fffff 807fffff asins n uo - 7fc00000 00000000 asins n uo - 7fff0000 7fff0000 asins n uo - ffc00000 00000000 asins n uo - ffff0000 ffff0000 asins n uo v 3f800001 7fff0000 asins n uo v 3f800002 7fff0000 asins n uo v 40000000 7fff0000 asins n uo v 40800000 7fff0000 asins n uo v 40f00001 00000000 asins n uo v 7e800000 7fff0000 asins n uo v 7f000000 7fff0000 asins n uo v 7f7ffffe 7fff0000 asins n uo v 7f7fffff 7fff0000 asins n uo v 7f800000 7fff0000 asins n uo v 7f800001 00000000 asins n uo v 7f810000 7fff0000 asins n uo v bf800001 ffff0000 asins n uo v bf800002 ffff0000 asins n uo v c0000000 ffff0000 asins n uo v c0800000 ffff0000 asins n uo v c0ffffff 00000000 asins n uo v fe800000 ffff0000 asins n uo v ff000000 ffff0000 asins n uo v ff7ffffe ffff0000 asins n uo v ff7fffff ffff0000 asins n uo v ff800000 ffff0000 asins n uo v ff800001 00000000 asins n uo v ff810000 ffff0000 asins p eq x 00800001 00800001 asins p eq x 00800002 00800002 asins p eq x 01000000 01000000 asins p eq x 01800000 01800000 asins p eq x 80800001 80800001 asins p eq x 80800002 80800002 asins p eq x 81000000 81000000 asins p eq x 81800000 81800000 asins p eq x?u 00000001 00000001 asins p eq x?u 00000002 00000002 asins p eq x?u 00200000 00200000 asins p eq x?u 00400000 00400000 asins p eq x?u 007ffffe 007ffffe asins p eq x?u 007fffff 007fffff asins p eq x?u 00800000 00800000 asins p eq x?u 80000001 80000001 asins p eq x?u 80000002 80000002 asins p eq x?u 80200000 80200000 asins p eq x?u 80400000 80400000 asins p eq x?u 807ffffe 807ffffe asins p eq x?u 807fffff 807fffff asins p eq x?u 80800000 80800000 asins p uo - 7fc00000 00000000 asins p uo - 7fff0000 7fff0000 asins p uo - ffff0000 ffff0000 asins p uo v 3f800001 7fff0000 asins p uo v 3f800002 7fff0000 asins p uo v 40000000 7fff0000 asins p uo v 40800000 7fff0000 asins p uo v 7e800000 7fff0000 asins p uo v 7f000000 7fff0000 asins p uo v 7f7ffffe 7fff0000 asins p uo v 7f7fffff 7fff0000 asins p uo v 7f800000 7fff0000 asins p uo v 7f810000 7fff0000 asins p uo v bf800001 ffff0000 asins p uo v bf800002 ffff0000 asins p uo v c0000000 ffff0000 asins p uo v c0800000 ffff0000 asins p uo v fe800000 ffff0000 asins p uo v ff000000 ffff0000 asins p uo v ff7ffffe ffff0000 asins p uo v ff7fffff ffff0000 asins p uo v ff800000 ffff0000 asins p uo v ff800001 00000000 asins p uo v ff810000 ffff0000 asins p vn x 32400000 32400000 asins p vn x 32800000 32800000 asins p vn x 39800000 39800000 asins p vn x 39c00000 39c00000 asins p vn x b2400000 b2400000 asins p vn x b2800000 b2800000 asins p vn x b9800000 b9800000 asins p vn x b9c00000 b9c00000 asins z eq x 00800001 00800001 asins z eq x 00800002 00800002 asins z eq x 01000000 01000000 asins z eq x 01800000 01800000 asins z eq x 80800001 80800001 asins z eq x 80800002 80800002 asins z eq x 81000000 81000000 asins z eq x 81800000 81800000 asins z eq x?u 00000001 00000001 asins z eq x?u 00000002 00000002 asins z eq x?u 00200000 00200000 asins z eq x?u 00400000 00400000 asins z eq x?u 007ffffe 007ffffe asins z eq x?u 007fffff 007fffff asins z eq x?u 00800000 00800000 asins z eq x?u 80000001 80000001 asins z eq x?u 80000002 80000002 asins z eq x?u 80200000 80200000 asins z eq x?u 80400000 80400000 asins z eq x?u 807ffffe 807ffffe asins z eq x?u 807fffff 807fffff asins z eq x?u 80800000 80800000 asins z uo - 7fc00000 00000000 asins z uo - 7fff0000 7fff0000 asins z uo - ffff0000 ffff0000 asins z uo v 3f800001 7fff0000 asins z uo v 3f800002 7fff0000 asins z uo v 40000000 7fff0000 asins z uo v 40800000 7fff0000 asins z uo v 7e800000 7fff0000 asins z uo v 7f000000 7fff0000 asins z uo v 7f7ffffe 7fff0000 asins z uo v 7f7fffff 7fff0000 asins z uo v 7f800000 7fff0000 asins z uo v 7f810000 7fff0000 asins z uo v bf800001 ffff0000 asins z uo v bf800002 ffff0000 asins z uo v c0000000 ffff0000 asins z uo v c0800000 ffff0000 asins z uo v fe800000 ffff0000 asins z uo v ff000000 ffff0000 asins z uo v ff7ffffe ffff0000 asins z uo v ff7fffff ffff0000 asins z uo v ff800000 ffff0000 asins z uo v ff800001 00000000 asins z uo v ff810000 ffff0000 asins z vn x 32400000 32400000 asins z vn x 32800000 32800000 asins z vn x 39800000 39800000 asins z vn x 39c00000 39c00000 asins z vn x b2400000 b2400000 asins z vn x b2800000 b2800000 asins z vn x b9800000 b9800000 asins z vn x b9c00000 b9c00000