/* 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. */ /* overflow threshold */ expd n vn x 40862e42 fefa39ef 7fefffff ffffff2a expd z vn x 40862e42 fefa39ef 7fefffff ffffff2a expd p vn x 40862e42 fefa39ef 7fefffff ffffff2a expd m vn x 40862e42 fefa39ef 7fefffff ffffff2a expd n eq ox 40862e42 fefa39f0 7ff00000 0 expd z eq ox 40862e42 fefa39f0 7fefffff ffffffff expd p eq ox 40862e42 fefa39f0 7ff00000 0 expd m eq ox 40862e42 fefa39f0 7fefffff ffffffff expd n eq ox 7fefffff 0 7ff00000 0 expd z eq ox 7fefffff 0 7fefffff ffffffff expd p eq ox 7fefffff 0 7ff00000 0 expd m eq ox 7fefffff 0 7fefffff ffffffff expd n eq - 7ff00000 0 7ff00000 0 /* expd(0 or tiny) = 1 */ expd n eq - 0 0 3ff00000 0 expd n eq - 80000000 0 3ff00000 0 expd n eq x 0 1 3ff00000 0 expd n eq x 80000000 1 3ff00000 0 expd n eq x 00100000 0 3ff00000 0 expd n eq x 80100000 0 3ff00000 0 /* underflow */ expd n vn x c086232b dd7abcd2 00100000 0000007c expd z nb x c086232b dd7abcd2 00100000 0000007c expd p nb x c086232b dd7abcd2 00100000 0000007c expd m nb x c086232b dd7abcd2 00100000 0000007c expd n vn ux c086232b dd7abcd3 000fffff fffffe7c expd n eq ux c0874910 d52d3051 0 1 expd n eq ux c0874910 d52d3052 0 0 expd n eq ux ffefffff 0 0 0 expd z eq ux ffefffff 0 0 0 expd p eq ux ffefffff 0 0 1 expd m eq ux ffefffff 0 0 0 expd n eq - fff00000 0 0 0 /* random arguments between -20 20 */ expd n eq x c0157f25 b2b5006d 3f72fbea 6a01cab9 expd n eq x 402c7d30 fb825911 41376eee d45a0634 expd n eq x 40319be7 09de7505 41852d3e b7be6844 expd n eq x c02ab6d6 fba96889 3eba88ae 12f985d6 expd n eq x c015ac18 e27084dd 3f722b32 7da9cca6 expd n eq x bfe92598 1b093c41 3fdd2acc 046b55f7 expd n eq x 4027221c d18455f5 40f9c2cd e8699cfb expd n eq x 40311a0d 4a51b239 417980ef 612ff182 expd n eq x c00ae41a 1079de4d 3fa1c28d 16bb3222 expd n eq x c0332915 3103b871 3e347efa 6ddd0d22 /* expd(nan) is nan */ expd n uo v 7ff00000 1 0 0 expd n uo - fff80000 0 0 0 expd m eq - 7ff00000 00000000 7ff00000 00000000 expd m eq - 80000000 00000000 3ff00000 00000000 expd m eq - fff00000 00000000 00000000 00000000 expd m eq x 00000000 00000001 3ff00000 00000000 expd m eq x 00000000 00000002 3ff00000 00000000 expd m eq x 00000000 00000003 3ff00000 00000000 expd m eq x 00040000 00000000 3ff00000 00000000 expd m eq x 00080000 00000000 3ff00000 00000000 expd m eq x 000fffff fffffffe 3ff00000 00000000 expd m eq x 000fffff ffffffff 3ff00000 00000000 expd m eq x 00100000 00000000 3ff00000 00000000 expd m eq x 00100000 00000001 3ff00000 00000000 expd m eq x 00100000 00000002 3ff00000 00000000 expd m eq x 001fffff fffffffd 3ff00000 00000000 expd m eq x 001fffff ffffffff 3ff00000 00000000 expd m eq x 00200000 00000000 3ff00000 00000000 expd m eq x 00300000 00000000 3ff00000 00000000 expd m eq x 3b600000 00000000 3ff00000 00000000 expd m eq x 3bd00000 00000000 3ff00000 00000000 expd m eq x 3be00000 00000000 3ff00000 00000000 expd m eq xo 40862e42 fefa39f0 7fefffff ffffffff expd m eq xo 40863000 00000000 7fefffff ffffffff expd m eq xo 40cc9c80 00000000 7fefffff ffffffff expd m eq xo 40d00000 00000000 7fefffff ffffffff expd m eq xo 41100000 00000000 7fefffff ffffffff expd m eq xo 7f600000 00000000 7fefffff ffffffff expd m eq xo 7fc00000 00000000 7fefffff ffffffff expd m eq xo 7fd00000 00000000 7fefffff ffffffff expd m eq xo 7fe00000 00000000 7fefffff ffffffff expd m eq xo 7fefffff 00000000 7fefffff ffffffff expd m eq xo 7fefffff fffffff7 7fefffff ffffffff expd m eq xo 7fefffff fffffffc 7fefffff ffffffff expd m eq xo 7fefffff fffffffd 7fefffff ffffffff expd m eq xo 7fefffff fffffffe 7fefffff ffffffff expd m eq xo 7fefffff ffffffff 7fefffff ffffffff expd m eq xu c0875000 00000000 00000000 00000000 expd m eq xu c0cc9c80 00000000 00000000 00000000 expd m eq xu c1100000 00000000 00000000 00000000 expd m eq xu ffa00000 00000000 00000000 00000000 expd m eq xu ffb00000 00000000 00000000 00000000 expd m eq xu ffc00000 00000000 00000000 00000000 expd m eq xu ffd00000 00000000 00000000 00000000 expd m eq xu ffe00000 00000000 00000000 00000000 expd m eq xu ffefffff 00000000 00000000 00000000 expd m eq xu ffefffff fffffff7 00000000 00000000 expd m eq xu ffefffff fffffffc 00000000 00000000 expd m eq xu ffefffff fffffffd 00000000 00000000 expd m eq xu ffefffff fffffffe 00000000 00000000 expd m eq xu ffefffff ffffffff 00000000 00000000 expd m uo - 7fffe000 00000000 7fffe000 00000000 expd m uo - ffffe000 00000000 ffffe000 00000000 expd m uo v 7ff02000 00000000 7fffe000 00000000 expd m uo v fff02000 00000000 ffffe000 00000000 expd m vn x 3cafffff ffffffff 3ff00000 00000001 expd m vn x 3cbfffff fffffffc 3ff00000 00000002 expd m vn x 3ccfffff fffffffc 3ff00000 00000004 expd m vn x 80000000 00000001 3ff00000 00000000 expd m vn x 80000000 00000002 3ff00000 00000000 expd m vn x 80040000 00000000 3ff00000 00000000 expd m vn x 80080000 00000000 3ff00000 00000000 expd m vn x 800fffff fffffffe 3ff00000 00000000 expd m vn x 800fffff ffffffff 3ff00000 00000000 expd m vn x 80100000 00000000 3ff00000 00000000 expd m vn x 80100000 00000001 3ff00000 00000000 expd m vn x 80100000 00000002 3ff00000 00000000 expd m vn x 80200000 00000000 3ff00000 00000000 expd m vn x 80300000 00000000 3ff00000 00000000 expd m vn x bb600000 00000000 3ff00000 00000000 expd m vn x bbd00000 00000000 3ff00000 00000000 expd m vn x bcc00000 00000001 3fefffff fffffffc expd m vn x bcc80000 00000004 3fefffff fffffffa expd n eq x 00000000 00000002 3ff00000 00000000 expd n eq x 00000000 00000003 3ff00000 00000000 expd n eq x 00040000 00000000 3ff00000 00000000 expd n eq x 00080000 00000000 3ff00000 00000000 expd n eq x 000fffff fffffffe 3ff00000 00000000 expd n eq x 000fffff ffffffff 3ff00000 00000000 expd n eq x 00100000 00000001 3ff00000 00000000 expd n eq x 00100000 00000002 3ff00000 00000000 expd n eq x 001fffff fffffffd 3ff00000 00000000 expd n eq x 001fffff ffffffff 3ff00000 00000000 expd n eq x 00200000 00000000 3ff00000 00000000 expd n eq x 00300000 00000000 3ff00000 00000000 expd n eq x 3b600000 00000000 3ff00000 00000000 expd n eq x 3bd00000 00000000 3ff00000 00000000 expd n eq x 3be00000 00000000 3ff00000 00000000 expd n eq x 3cafffff ffffffff 3ff00000 00000001 expd n eq x 3cbfffff fffffffc 3ff00000 00000002 expd n eq x 3ccfffff fffffffc 3ff00000 00000004 expd n eq x 80000000 00000002 3ff00000 00000000 expd n eq x 80040000 00000000 3ff00000 00000000 expd n eq x 80080000 00000000 3ff00000 00000000 expd n eq x 800fffff fffffffe 3ff00000 00000000 expd n eq x 800fffff ffffffff 3ff00000 00000000 expd n eq x 80100000 00000001 3ff00000 00000000 expd n eq x 80100000 00000002 3ff00000 00000000 expd n eq x 80200000 00000000 3ff00000 00000000 expd n eq x 80300000 00000000 3ff00000 00000000 expd n eq x bb600000 00000000 3ff00000 00000000 expd n eq x bbd00000 00000000 3ff00000 00000000 expd n eq x bcc00000 00000001 3fefffff fffffffc expd n eq x bcc80000 00000004 3fefffff fffffffa expd n eq xo 40862e42 fefa39f0 7ff00000 00000000 expd n eq xo 40863000 00000000 7ff00000 00000000 expd n eq xo 40cc9c80 00000000 7ff00000 00000000 expd n eq xo 40d00000 00000000 7ff00000 00000000 expd n eq xo 41100000 00000000 7ff00000 00000000 expd n eq xo 7f600000 00000000 7ff00000 00000000 expd n eq xo 7fc00000 00000000 7ff00000 00000000 expd n eq xo 7fd00000 00000000 7ff00000 00000000 expd n eq xo 7fe00000 00000000 7ff00000 00000000 expd n eq xo 7fefffff 00000000 7ff00000 00000000 expd n eq xo 7fefffff fffffff7 7ff00000 00000000 expd n eq xo 7fefffff fffffffc 7ff00000 00000000 expd n eq xo 7fefffff fffffffd 7ff00000 00000000 expd n eq xo 7fefffff fffffffe 7ff00000 00000000 expd n eq xo 7fefffff ffffffff 7ff00000 00000000 expd n eq xu c0874910 d52d3051 00000000 00000001 expd n eq xu c0874910 d52d3052 00000000 00000000 expd n eq xu c0875000 00000000 00000000 00000000 expd n eq xu c0cc9c80 00000000 00000000 00000000 expd n eq xu c1100000 00000000 00000000 00000000 expd n eq xu ffa00000 00000000 00000000 00000000 expd n eq xu ffb00000 00000000 00000000 00000000 expd n eq xu ffc00000 00000000 00000000 00000000 expd n eq xu ffd00000 00000000 00000000 00000000 expd n eq xu ffe00000 00000000 00000000 00000000 expd n eq xu ffefffff 00000000 00000000 00000000 expd n eq xu ffefffff fffffff7 00000000 00000000 expd n eq xu ffefffff fffffffc 00000000 00000000 expd n eq xu ffefffff fffffffd 00000000 00000000 expd n eq xu ffefffff fffffffe 00000000 00000000 expd n eq xu ffefffff ffffffff 00000000 00000000 expd n uo - 7fffe000 00000000 7fffe000 00000000 expd n uo - fff80000 00000000 00000000 00000000 expd n uo - ffffe000 00000000 ffffe000 00000000 expd n uo v 7ff00000 00000001 00000000 00000000 expd n uo v 7ff02000 00000000 7fffe000 00000000 expd n uo v fff02000 00000000 ffffe000 00000000 expd n vn xu c086232b dd7abcd3 000fffff fffffe7c expd p eq - 00000000 00000000 3ff00000 00000000 expd p eq - 7ff00000 00000000 7ff00000 00000000 expd p eq - 80000000 00000000 3ff00000 00000000 expd p eq - fff00000 00000000 00000000 00000000 expd p eq x 80000000 00000001 3ff00000 00000000 expd p eq x 80000000 00000002 3ff00000 00000000 expd p eq x 80040000 00000000 3ff00000 00000000 expd p eq x 80080000 00000000 3ff00000 00000000 expd p eq x 800fffff fffffffe 3ff00000 00000000 expd p eq x 800fffff ffffffff 3ff00000 00000000 expd p eq x 80100000 00000000 3ff00000 00000000 expd p eq x 80100000 00000001 3ff00000 00000000 expd p eq x 80100000 00000002 3ff00000 00000000 expd p eq x 80200000 00000000 3ff00000 00000000 expd p eq x 80300000 00000000 3ff00000 00000000 expd p eq x bb600000 00000000 3ff00000 00000000 expd p eq x bbd00000 00000000 3ff00000 00000000 expd p eq xo 40862e42 fefa39f0 7ff00000 00000000 expd p eq xo 40863000 00000000 7ff00000 00000000 expd p eq xo 40cc9c80 00000000 7ff00000 00000000 expd p eq xo 40d00000 00000000 7ff00000 00000000 expd p eq xo 41100000 00000000 7ff00000 00000000 expd p eq xo 7f600000 00000000 7ff00000 00000000 expd p eq xo 7fc00000 00000000 7ff00000 00000000 expd p eq xo 7fd00000 00000000 7ff00000 00000000 expd p eq xo 7fe00000 00000000 7ff00000 00000000 expd p eq xo 7fefffff 00000000 7ff00000 00000000 expd p eq xo 7fefffff fffffff7 7ff00000 00000000 expd p eq xo 7fefffff fffffffc 7ff00000 00000000 expd p eq xo 7fefffff fffffffd 7ff00000 00000000 expd p eq xo 7fefffff fffffffe 7ff00000 00000000 expd p eq xo 7fefffff ffffffff 7ff00000 00000000 expd p eq xu c1100000 00000000 00000000 00000001 expd p eq xu ffa00000 00000000 00000000 00000001 expd p eq xu ffb00000 00000000 00000000 00000001 expd p eq xu ffc00000 00000000 00000000 00000001 expd p eq xu ffd00000 00000000 00000000 00000001 expd p eq xu ffe00000 00000000 00000000 00000001 expd p eq xu ffefffff 00000000 00000000 00000001 expd p eq xu ffefffff fffffff7 00000000 00000001 expd p eq xu ffefffff fffffffc 00000000 00000001 expd p eq xu ffefffff fffffffd 00000000 00000001 expd p eq xu ffefffff fffffffe 00000000 00000001 expd p eq xu ffefffff ffffffff 00000000 00000001 expd p uo - 7fffe000 00000000 7fffe000 00000000 expd p uo - ffffe000 00000000 ffffe000 00000000 expd p uo v 7ff02000 00000000 7fffe000 00000000 expd p uo v fff02000 00000000 ffffe000 00000000 expd p vn x 00000000 00000001 3ff00000 00000000 expd p vn x 00000000 00000002 3ff00000 00000000 expd p vn x 00000000 00000003 3ff00000 00000000 expd p vn x 00040000 00000000 3ff00000 00000000 expd p vn x 00080000 00000000 3ff00000 00000000 expd p vn x 000fffff fffffffe 3ff00000 00000000 expd p vn x 000fffff ffffffff 3ff00000 00000000 expd p vn x 00100000 00000000 3ff00000 00000000 expd p vn x 00100000 00000001 3ff00000 00000000 expd p vn x 00100000 00000002 3ff00000 00000000 expd p vn x 001fffff fffffffd 3ff00000 00000000 expd p vn x 001fffff ffffffff 3ff00000 00000000 expd p vn x 00200000 00000000 3ff00000 00000000 expd p vn x 00300000 00000000 3ff00000 00000000 expd p vn x 3b600000 00000000 3ff00000 00000000 expd p vn x 3bd00000 00000000 3ff00000 00000000 expd p vn x 3be00000 00000000 3ff00000 00000000 expd p vn x 3cafffff ffffffff 3ff00000 00000001 expd p vn x 3cbfffff fffffffc 3ff00000 00000002 expd p vn x 3ccfffff fffffffc 3ff00000 00000004 expd p vn x bcc00000 00000001 3fefffff fffffffc expd p vn x bcc80000 00000004 3fefffff fffffffa expd p vn xu c0875000 00000000 00000000 00000000 expd p vn xu c0cc9c80 00000000 00000000 00000000 expd z eq - 00000000 00000000 3ff00000 00000000 expd z eq - 7ff00000 00000000 7ff00000 00000000 expd z eq - 80000000 00000000 3ff00000 00000000 expd z eq - fff00000 00000000 00000000 00000000 expd z eq x 00000000 00000001 3ff00000 00000000 expd z eq x 00000000 00000002 3ff00000 00000000 expd z eq x 00000000 00000003 3ff00000 00000000 expd z eq x 00040000 00000000 3ff00000 00000000 expd z eq x 00080000 00000000 3ff00000 00000000 expd z eq x 000fffff fffffffe 3ff00000 00000000 expd z eq x 000fffff ffffffff 3ff00000 00000000 expd z eq x 00100000 00000000 3ff00000 00000000 expd z eq x 00100000 00000001 3ff00000 00000000 expd z eq x 00100000 00000002 3ff00000 00000000 expd z eq x 001fffff fffffffd 3ff00000 00000000 expd z eq x 001fffff ffffffff 3ff00000 00000000 expd z eq x 00200000 00000000 3ff00000 00000000 expd z eq x 00300000 00000000 3ff00000 00000000 expd z eq x 3b600000 00000000 3ff00000 00000000 expd z eq x 3bd00000 00000000 3ff00000 00000000 expd z eq x 3be00000 00000000 3ff00000 00000000 expd z eq xo 40862e42 fefa39f0 7fefffff ffffffff expd z eq xo 40863000 00000000 7fefffff ffffffff expd z eq xo 40cc9c80 00000000 7fefffff ffffffff expd z eq xo 40d00000 00000000 7fefffff ffffffff expd z eq xo 41100000 00000000 7fefffff ffffffff expd z eq xo 7f600000 00000000 7fefffff ffffffff expd z eq xo 7fc00000 00000000 7fefffff ffffffff expd z eq xo 7fd00000 00000000 7fefffff ffffffff expd z eq xo 7fe00000 00000000 7fefffff ffffffff expd z eq xo 7fefffff 00000000 7fefffff ffffffff expd z eq xo 7fefffff fffffff7 7fefffff ffffffff expd z eq xo 7fefffff fffffffc 7fefffff ffffffff expd z eq xo 7fefffff fffffffd 7fefffff ffffffff expd z eq xo 7fefffff fffffffe 7fefffff ffffffff expd z eq xo 7fefffff ffffffff 7fefffff ffffffff expd z eq xu c0875000 00000000 00000000 00000000 expd z eq xu c0cc9c80 00000000 00000000 00000000 expd z eq xu c1100000 00000000 00000000 00000000 expd z eq xu ffa00000 00000000 00000000 00000000 expd z eq xu ffb00000 00000000 00000000 00000000 expd z eq xu ffc00000 00000000 00000000 00000000 expd z eq xu ffd00000 00000000 00000000 00000000 expd z eq xu ffe00000 00000000 00000000 00000000 expd z eq xu ffefffff 00000000 00000000 00000000 expd z eq xu ffefffff fffffff7 00000000 00000000 expd z eq xu ffefffff fffffffc 00000000 00000000 expd z eq xu ffefffff fffffffd 00000000 00000000 expd z eq xu ffefffff fffffffe 00000000 00000000 expd z eq xu ffefffff ffffffff 00000000 00000000 expd z uo - 7fffe000 00000000 7fffe000 00000000 expd z uo - ffffe000 00000000 ffffe000 00000000 expd z uo v 7ff02000 00000000 7fffe000 00000000 expd z uo v fff02000 00000000 ffffe000 00000000 expd z vn x 3cafffff ffffffff 3ff00000 00000001 expd z vn x 3cbfffff fffffffc 3ff00000 00000002 expd z vn x 3ccfffff fffffffc 3ff00000 00000004 expd z vn x 80000000 00000001 3ff00000 00000000 expd z vn x 80000000 00000002 3ff00000 00000000 expd z vn x 80040000 00000000 3ff00000 00000000 expd z vn x 80080000 00000000 3ff00000 00000000 expd z vn x 800fffff fffffffe 3ff00000 00000000 expd z vn x 800fffff ffffffff 3ff00000 00000000 expd z vn x 80100000 00000000 3ff00000 00000000 expd z vn x 80100000 00000001 3ff00000 00000000 expd z vn x 80100000 00000002 3ff00000 00000000 expd z vn x 80200000 00000000 3ff00000 00000000 expd z vn x 80300000 00000000 3ff00000 00000000 expd z vn x bb600000 00000000 3ff00000 00000000 expd z vn x bbd00000 00000000 3ff00000 00000000 expd z vn x bcc00000 00000001 3fefffff fffffffc expd z vn x bcc80000 00000004 3fefffff fffffffa