From patchwork Fri May 1 20:33:49 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 467136 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 10749140320 for ; Sat, 2 May 2015 06:34:05 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass reason="1024-bit key; unprotected key" header.d=sourceware.org header.i=@sourceware.org header.b=BGg0qaxr; dkim-adsp=none (unprotected policy); dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:mime-version :content-type; q=dns; s=default; b=EryVD6K3n4QsOekvBiPVQ3H8vmPIs upL8wd/3gxNWkLZlz1kYoACQ5x7z+AQRaHgdMZkvpuDMqofgjvKIfYiWxVfGbOSV SQQB2M7Knee0irlNQ4PdwyohgRCrcswQnQeh2/2X/9si5sZzJc43cY4ta5pBsrG5 rPDq1igkcFACTw= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:mime-version :content-type; s=default; bh=pR2TUcyyT3HqAW6VAP6MEmgspLU=; b=BGg 0qaxrt92JoNCAZ6p4kNkY6sEgOYGpzLWS5uUC6JW67Ct7k/+Qd8itVK2zHbCTj5V hT5QgChig7p56XCfRWTt1QiZOLLGInI5gX7/ikOil6b1mgoHW/pTh/tSgtZSALoW 4PHTwV44eFUNyn6wK8m9jRBMSh8iBS4TecXeLy3c= Received: (qmail 27346 invoked by alias); 1 May 2015 20:33:59 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 27330 invoked by uid 89); 1 May 2015 20:33:58 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=AWL, BAYES_50, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Date: Fri, 1 May 2015 20:33:49 +0000 From: Joseph Myers To: Subject: Add more tests of exp, exp10, exp2, expm1 [committed] Message-ID: User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 This patch adds some randomly-generated tests of exp, exp10, exp2 and expm1 that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. Committed. (auto-libm-test-out diffs omitted below.) 2015-05-01 Joseph Myers * math/auto-libm-test-in: Add more tests of exp, exp10, exp2 and expm1. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise. diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index e60a68d..051c068 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -1165,6 +1165,9 @@ exp -min exp min_subnorm exp -min_subnorm +exp -0x1.760cd14774bd9p+0 +exp 0x1.4bed28p+0 + exp10 0 exp10 -0 exp10 3 @@ -1208,6 +1211,10 @@ exp10 -min exp10 min_subnorm exp10 -min_subnorm +exp10 0xd.f73d6p-4 +exp10 0x1.cc6776p+0 +exp10 0x5.b00bcd891ffe56fp+0 + exp2 0 exp2 -0 exp2 10 @@ -1244,6 +1251,13 @@ exp2 -min exp2 min_subnorm exp2 -min_subnorm +exp2 0xb.71754p-4 +exp2 0xd.d77dp+0 +exp2 0xc.122c4p-4 +exp2 -0x1.567cc8p+0 +exp2 -0x1.bbbd76p+0 +exp2 -0x1.3045fep+8 + expm1 0 expm1 -0 expm1 1 @@ -1297,6 +1311,7 @@ expm1 0xe.4152ac57cd1ea7ap-60 expm1 0x6.660247486aed8p-4 expm1 0x6.289a78p-4 expm1 0x6.1b4d318238d4a2a8p-4 +expm1 0x5.fb8dc64e91a74p-4 # Bug 16353: underflow exception may be missing expm1 0x4.0000000000000028p-16384 missing-underflow diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index 4d8054f..91e5c63 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -1339,6 +1339,10 @@ ifloat: 2 ildouble: 4 ldouble: 4 +Function: "exp": +ildouble: 1 +ldouble: 1 + Function: "exp10": ildouble: 1 ldouble: 1 @@ -1356,24 +1360,46 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 +ildouble: 2 +ldouble: 2 Function: "exp10_upward": double: 1 float: 1 idouble: 1 ifloat: 1 +ildouble: 2 +ldouble: 2 + +Function: "exp2": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 + +Function: "exp2_downward": +ildouble: 1 +ldouble: 1 + +Function: "exp2_towardzero": +ildouble: 1 +ldouble: 1 + +Function: "exp2_upward": ildouble: 1 ldouble: 1 Function: "exp_downward": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Function: "exp_towardzero": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Function: "exp_upward": ildouble: 1 @@ -1404,8 +1430,8 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 3 -ldouble: 3 +ildouble: 4 +ldouble: 4 Function: "gamma": double: 1 @@ -1682,16 +1708,16 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 +ildouble: 2 +ldouble: 2 Function: "pow10_upward": double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 1 -ldouble: 1 +ildouble: 2 +ldouble: 2 Function: "pow_downward": double: 1 diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 2a7cc4d..8b4cdd4 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1429,21 +1429,41 @@ ifloat: 5 ildouble: 4 ldouble: 4 +Function: "exp": +ildouble: 1 +ldouble: 1 + Function: "exp10": -double: 1 -idouble: 1 +double: 2 +idouble: 2 ildouble: 1 ldouble: 1 Function: "exp10_downward": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 ildouble: 2 ldouble: 2 Function: "exp10_towardzero": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 + +Function: "exp10_upward": +double: 2 +float: 1 +idouble: 2 +ifloat: 1 +ildouble: 2 +ldouble: 2 + +Function: "exp2": double: 1 float: 1 idouble: 1 @@ -1451,10 +1471,16 @@ ifloat: 1 ildouble: 1 ldouble: 1 -Function: "exp10_upward": -double: 1 +Function: "exp2_downward": +ildouble: 1 +ldouble: 1 + +Function: "exp2_towardzero": +ildouble: 1 +ldouble: 1 + +Function: "exp2_upward": float: 1 -idouble: 1 ifloat: 1 ildouble: 1 ldouble: 1 @@ -1462,10 +1488,14 @@ ldouble: 1 Function: "exp_downward": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Function: "exp_towardzero": double: 1 idouble: 1 +ildouble: 1 +ldouble: 1 Function: "exp_upward": double: 1 @@ -1502,8 +1532,8 @@ double: 1 float: 1 idouble: 1 ifloat: 1 -ildouble: 3 -ldouble: 3 +ildouble: 4 +ldouble: 4 Function: "gamma": double: 1 @@ -1788,34 +1818,34 @@ ildouble: 1 ldouble: 1 Function: "pow10": -double: 1 -idouble: 1 +double: 2 +idouble: 2 ildouble: 1 ldouble: 1 Function: "pow10_downward": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 ildouble: 2 ldouble: 2 Function: "pow10_towardzero": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 -ildouble: 1 -ldouble: 1 +ildouble: 2 +ldouble: 2 Function: "pow10_upward": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 -ildouble: 1 -ldouble: 1 +ildouble: 2 +ldouble: 2 Function: "pow_downward": double: 1