From patchwork Fri Oct 25 18:21:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 838376 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp442881wri; Fri, 25 Oct 2024 11:26:55 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVdfHiw+pZTFW6ZPQEcLxpuzib6pXSO8ZG6heQbGCR8RRTbgWOWHJwTtCHNmg6mdlpBkdZ0BQ==@linaro.org X-Google-Smtp-Source: AGHT+IFzB9O79tOlvrIwbpsjrhn/CN7pSZRLKUFiRKKWkb4UaDLMDJxbgrW8XF7o7yi41sb2yO71 X-Received: by 2002:a05:6214:3f8b:b0:6cb:e3ec:18c1 with SMTP id 6a1803df08f44-6d18570b647mr4541546d6.15.1729880815089; Fri, 25 Oct 2024 11:26:55 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729880815; cv=pass; d=google.com; s=arc-20240605; b=QpKKHid8lysMq6eL5THa69XN8wQLySOjmrhipzwLF1whAgezjZmHJBil5gFvq2nl6j CCSmzoa6r86RbyECKmPCYEmxfFyscdT720nrtp+wY/7R2r407Md2hqAJqDPBDPwCBkYG y3n/CUtstvZn/VOh4v64Rygb9V9RC/R/66RG4MptpieYFqqCAOp3/ClnpFGBPYxye9wZ faHsZ6UPBGDvmM2a5ZXUpgaJbrZsWUOnaxjUvivqyYWcW70XZALVeNJUzlrKG50Ne1+A BJ8O55GysJG30Ts/2HG55NGu8qkhVG0dsN0vU6dwEWJL8Y5E6p++sKGf5WsHtzrXcxFw RsQw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=qC+B9ZD/JWyWHwXjehnL/2uKtcoBMvUbW08CMg7HjJs=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=e/8K/EZF9y+1KQti+YMuZBblJD6XqwuJeGfSU1fS/+Q3WBrJVT03TPF0d3QyaJ4PvO N/JhU3VY0wvk2yQiW8UsenJulU+CkyOxnSw2Nz8EQ5WN7gIBnZM6ptonv5gn4tPEOt1M AjMePPrccBKKZoJPiIw5nqMT13K0cBNJ87C0JFzx9XGhREaahnc+A5ivAKlLwTxXpE7e mYtkFGNVUkJ+kik2jeEx7lLEl3/chhkuZqaT+4+ut2ZzXY5RCfJZHbFLzxzARM2G2fkf 5Ps9WuzMkaF3/LCouLOiJID4MqVJwyrMBmfcVJvneG6UMN2mUQfnasMy9Uw1zZ1r8cPo th8A==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=z4OZH5XN; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id 6a1803df08f44-6d179a4c773si21354076d6.415.2024.10.25.11.26.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:26:55 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=z4OZH5XN; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id AA4303858CD1 for ; Fri, 25 Oct 2024 18:26:54 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) by sourceware.org (Postfix) with ESMTPS id 7F1423858D29 for ; Fri, 25 Oct 2024 18:26:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7F1423858D29 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7F1423858D29 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::632 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880800; cv=none; b=SJBjx4tYwSWDDcj77ImZiXCK4l/PfSJtRcxoGuE0cOdoyfbuM1lbt/Or+Nz4ti9AmeoN27TzUjz1HyZpY1RO8n/8bPIpoY/K8vaa9TQHMprzlnaTdme73XqShRFO6sV5BD/kSyM7E6VWWBXn7CNfnmfFKjoRN3/snHG2iPKGtFk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880800; c=relaxed/simple; bh=oRS6lUdlHnQvGnFAVcf/qeLt3HxV47QVKsjDp1O0vSg=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=E1Xdvq9Rq4nwFbljuusiSsjbXFA9gc8k2pPvYH5he9Fo9YuJXekChI7ZbIl/gOv7npstJDfbYZcN1foopd3jKZ1k+zEmZMe8SOt0jpKPmpk8N1emY7THRh/EVf1dHvlyC3T4ulY4HTBQGf2mKmRtGeMsXWN+o4thm98OkCAJIAk= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-20bb39d97d1so19004315ad.2 for ; Fri, 25 Oct 2024 11:26:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880784; x=1730485584; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qC+B9ZD/JWyWHwXjehnL/2uKtcoBMvUbW08CMg7HjJs=; b=z4OZH5XNwtyMF7Vfdh97abfYAenYdiY9n9xSGbpgoAkpUxdD7DPqD4lgpgY9WX9/YA br0D9z38K/aLhKJ4QGCgN8Ou7GJ8V7tKeN8zg6NcYGNJvf8S1juJFU+FlKuDTlLRYlNs hKYCtSlm23rm8ewyvzb57neNs2osJuySFGWxQjjaP7WNvwN88EOdXD/3/obAcIV+m24D m5QhiTZvMJcaXh50YN9ASd7eD6bCietODgVqJNi2Nt0/9Aei/GYhympb4FMhdpjSmIGV ecgljmHqb7M+Pk2ypiv7AUQSK3zxaMiPfj3iJNLRiu5th0uDRMQC9T9rANPFrpzGw6fd m7Qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880784; x=1730485584; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qC+B9ZD/JWyWHwXjehnL/2uKtcoBMvUbW08CMg7HjJs=; b=AEyeIhSvdaPGCyTow8JSgZDptJv7BHD64KGDf8qry+P142GGJl4L/oO8SxRxmp9wXk QkX8z7yWUEtsvH94jR4Vyp4oHjYQ/kwq41JYdxhWg4eTp8VdwBb18R3NtWu3bX+izTGX B1LxVS6g2Uq/Wa6EAcex/LfIzTIOilZwEy43bCmATG06UjF98VBRrBwk32bd7B14GGsz QOZYD5kaBurWOHA4rexbV54a9Wjk1wt/QeTctFj/U5C7otaFDhRkHG+lD3Cs6mvqhAWq RDYMHkga6iLljqBnqXn3gd9vefxazyG6ka9M9vGkey7M+D6W7TfQURnqg8rlfYuxTlLL MfZA== X-Gm-Message-State: AOJu0Yw1EkcnDmdyD46bgA5oaxaLlL7QI8hw53Nwjzr9MXxkghUOEfKz aql/jqyLea1wlmv09nafPnCZPW/5D7ZqTygJqcUqJK6beovy4lNIn7Asd2Jybm+U/yvxqvfHgWd S X-Received: by 2002:a17:902:e746:b0:20b:4f95:932d with SMTP id d9443c01a7336-210c686a10fmr888685ad.3.1729880784304; Fri, 25 Oct 2024 11:26:24 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.26.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:26:22 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 01/17] math: Add e_gammaf_r to glibc code and style Date: Fri, 25 Oct 2024 15:21:39 -0300 Message-ID: <20241025182614.2022697-2-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org Also remove the use of builtins in favor of standard names, compiler already inline them (if supported) with current compiler options. It also fixes and issue where __builtin_roundeven is not support on gcc older than version 10. Checked on x86_64-linux-gnu and i686-linux_gnu. Signed-off-by: Adhemerval Zanella --- sysdeps/ieee754/flt-32/e_gammaf_r.c | 178 ++++++++++++++++------------ sysdeps/m68k/m680x0/fpu/math_errf.c | 1 - 2 files changed, 101 insertions(+), 78 deletions(-) delete mode 100644 sysdeps/m68k/m680x0/fpu/math_errf.c diff --git a/sysdeps/ieee754/flt-32/e_gammaf_r.c b/sysdeps/ieee754/flt-32/e_gammaf_r.c index 90ed3b4890..8c32d9bf5d 100644 --- a/sysdeps/ieee754/flt-32/e_gammaf_r.c +++ b/sysdeps/ieee754/flt-32/e_gammaf_r.c @@ -37,9 +37,7 @@ SOFTWARE. #include #include #include - -typedef union {float f; uint32_t u;} b32u32_u; -typedef union {double f; uint64_t u;} b64u64_u; +#include "math_config.h" float __ieee754_gammaf_r (float x, int *signgamp) @@ -54,97 +52,123 @@ __ieee754_gammaf_r (float x, int *signgamp) /* List of exceptional cases. Each entry contains the 32-bit encoding u of x, a binary32 approximation f of gamma(x), and a correction term df. */ - static const struct {uint32_t u; float f, df;} tb[] = { - {0x27de86a9u, 0x1.268266p+47f, 0x1p22f}, // x = 0x1.bd0d52p-48 - {0x27e05475u, 0x1.242422p+47f, 0x1p22f}, // x = 0x1.c0a8eap-48 - {0xb63befb3u, -0x1.5cb6e4p+18f, 0x1p-7f}, // x = -0x1.77df66p-19 - {0x3c7bb570u, 0x1.021d9p+6f, 0x1p-19f}, // x = 0x1.f76aep-7 - {0x41e886d1u, 0x1.33136ap+98f, 0x1p73f}, // x = 0x1.d10da2p+4 - {0xc067d177u, 0x1.f6850cp-3f, 0x1p-28f}, // x = -0x1.cfa2eep+1 - {0xbd99da31u, -0x1.befe66p+3, -0x1p-22f}, // x = -0x1.33b462p-4 - {0xbf54c45au, -0x1.a6b4ecp+2, +0x1p-23f}, // x = -0x1.a988b4p-1 - {0x41ee77feu, 0x1.d3631cp+101, -0x1p-76f}, // x = 0x1.dceffcp+4 - {0x3f843a64u, 0x1.f6c638p-1, 0x1p-26f}, // x = 0x1.0874c8p+0 + static const struct + { + uint32_t u; + float f, df; + } tb[] = { + { 0x27de86a9u, 0x1.268266p+47f, 0x1p22f }, /* x = 0x1.bd0d52p-48 */ + { 0x27e05475u, 0x1.242422p+47f, 0x1p22f }, /* x = 0x1.c0a8eap-48 */ + { 0xb63befb3u, -0x1.5cb6e4p+18f, 0x1p-7f }, /* x = -0x1.77df66p-19 */ + { 0x3c7bb570u, 0x1.021d9p+6f, 0x1p-19f }, /* x = 0x1.f76aep-7 */ + { 0x41e886d1u, 0x1.33136ap+98f, 0x1p73f }, /* x = 0x1.d10da2p+4 */ + { 0xc067d177u, 0x1.f6850cp-3f, 0x1p-28f }, /* x = -0x1.cfa2eep+1 */ + { 0xbd99da31u, -0x1.befe66p+3, -0x1p-22f }, /* x = -0x1.33b462p-4 */ + { 0xbf54c45au, -0x1.a6b4ecp+2, +0x1p-23f }, /* x = -0x1.a988b4p-1 */ + { 0x41ee77feu, 0x1.d3631cp+101, -0x1p-76f }, /* x = 0x1.dceffcp+4 */ + { 0x3f843a64u, 0x1.f6c638p-1, 0x1p-26f }, /* x = 0x1.0874c8p+0 */ }; - b32u32_u t = {.f = x}; - uint32_t ax = t.u<<1; - if(__builtin_expect(ax>=(0xffu<<24), 0)){ /* x=NaN or +/-Inf */ - if(ax==(0xffu<<24)){ /* x=+/-Inf */ - if(t.u>>31){ /* x=-Inf */ - return x / x; /* will raise the "Invalid operation" exception */ - } - return x; /* x=+Inf */ + uint32_t t = asuint (x); + uint32_t ax = t << 1; + if (__glibc_unlikely (ax >= (0xffu << 24))) + { /* x=NaN or +/-Inf */ + if (ax == (0xffu << 24)) + { /* x=+/-Inf */ + if (t >> 31) /* x=-Inf */ + return __math_invalidf (x); + return x; /* x=+Inf */ + } + return x + x; /* x=NaN, where x+x ensures the "Invalid operation" + exception is set if x is sNaN */ } - return x + x; /* x=NaN, where x+x ensures the "Invalid operation" - exception is set if x is sNaN */ - } double z = x; - if(__builtin_expect(ax<0x6d000000u, 0)){ /* |x| < 0x1p-18 */ - volatile double d = (0x1.fa658c23b1578p-1 - 0x1.d0a118f324b63p-1*z)*z - 0x1.2788cfc6fb619p-1; - double f = 1.0/z + d; - float r = f; - b64u64_u rt = {.f = f}; - if(((rt.u+2)&0xfffffff) < 4){ - for(unsigned i=0;i= 0x1.18522p+5f)) + { + /* Overflow case. The original CORE-MATH code returns 0x1p127f * + 0x1p127f, but apparently some compilers replace this by +Inf. */ + return math_narrow_eval (x * 0x1p127f); } - return r; - } - float fx = __builtin_floorf(x); - if(__builtin_expect(x >= 0x1.18522p+5f, 0)){ - /* Overflow case. The original CORE-MATH code returns 0x1p127f * 0x1p127f, - but apparently some compilers replace this by +Inf. */ - return math_narrow_eval (x * 0x1p127f); - } /* compute k only after the overflow check, otherwise the case to integer might overflow */ int k = fx; - if(__builtin_expect(fx==x, 0)){ /* x is integer */ - if(x == 0.0f){ - return 1.0f/x; + if (__glibc_unlikely (fx == x)) + { /* x is integer */ + if (x == 0.0f) + return 1.0f / x; + if (x < 0.0f) + return __math_invalidf (0.0f); + double t0 = 1, x0 = 1; + for (int i = 1; i < k; i++, x0 += 1.0) + t0 *= x0; + return t0; } - if(x < 0.0f){ - return 0.0f / 0.0f; /* should raise the "Invalid operation" exception */ + if (__glibc_unlikely (x < -42.0f)) + { /* negative non-integer */ + /* For x < -42, x non-integer, |gamma(x)| < 2^-151. */ + static const float sgn[2] = { 0x1p-127f, -0x1p-127f }; + /* Underflows always happens */ + return math_narrow_eval (0x1p-127f * sgn[k & 1]); } - double t0 = 1, x0 = 1; - for(int i=1; i X-Patchwork-Id: 838377 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp442895wri; Fri, 25 Oct 2024 11:26:57 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUYz31PueQ7olbttzJrCCDCsOpNFaDZanbFFz4Hbd85zmtkNy5WDQSgnkfUkp+J5Fnx5AtUcA==@linaro.org X-Google-Smtp-Source: AGHT+IFSInwfsm4Vc7fGFJBtKeQvksCZy0iqTrC5UZOW1/f1lF8ajD7GQfV8JF33sUJQwnrUaO88 X-Received: by 2002:a05:6214:3d9e:b0:6cb:c85c:5654 with SMTP id 6a1803df08f44-6d185674305mr6052556d6.4.1729880817682; Fri, 25 Oct 2024 11:26:57 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729880817; cv=pass; d=google.com; s=arc-20240605; b=P94JSPeL2QWjIuIbyhJtnJVuo0EBcE1paAsDXNmF/Z43jma687rJyYuJZw0fKzsRNl LFIStqaBmjLYbYcmRglk3wO0Zwe/rpOCFvCEhd5aoA0nGkzh3L7NfXOp94Idq/qRk+WQ tLb76G6MB/CV0c1idVQIRePv68Jjo3izDIe4VCob9M6VCp5u3Q8KPf8DCeIAj2aL5AdC BXLHYrGt2skxGXZW88l9dFC6Jys1NBHwuFa3gIpY/xIPEd89nKxf/3Wo54FbucBofjga k8rycAOby4cjytulBsBfrVt7EtS4DrMJls44zz0/sL9Ofu9kIyuuiBeti+Y2tUu/rlJE xYXw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=QyKn8fwir+2iZ4cftWbyeEaiK2sRmPyuVM3Iuz89z9o=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=fKF+JDT+Y+lfQkvYAn2MLGGwsnUNoQ1v8IoqJ3VLpG5jI04CmR1X+B69sIc01+YcB7 T4CSeYkLZKuJ5T/HD+Ud81lxzERO/QAgH8jCuxXSs3/SXmJQme7cmvj2vIse/974Qpsf antRlHQqnVEWAYb+fTmfEte5WGzNVXAnLfcbg6zFL0m18xSU/Hc4YbNBS8thGyqGSFZP tW2Red/QD3J6X+JxoE4oVM0DwHSpeykAs79ptJchlGXma29JBp6FpqVsofnxIXUd9lsV zhnrbAezLXBQgAHcAC2oPS1ujIXVb/MMJTA235y/OTDu/8ckLv0qkWdm4cOaDy0FJ756 Mvyw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Rw2nc1uv; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id 6a1803df08f44-6d179adf625si21196796d6.603.2024.10.25.11.26.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:26:57 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Rw2nc1uv; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4F21F385842D for ; Fri, 25 Oct 2024 18:26:57 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by sourceware.org (Postfix) with ESMTPS id F3FC53858D34 for ; Fri, 25 Oct 2024 18:26:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F3FC53858D34 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org F3FC53858D34 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::629 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880804; cv=none; b=B5ZBG/unNmZg7G6Ez2gUQ+dsvplh8+mtgCHTBajEW0IaJxl9iYulSgULOvUJbf5HngdgTPu7wJ6POgOLQggFVvD6HmxxT7/C4oYIMLb3Pv4ROHkP4fXXPfqgsyTKUh3LwTldjIWIDuOAjfAZIZIpuazJ+5m3kebMU9R3MtbVeTQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880804; c=relaxed/simple; bh=z+sHTK6JDFrtwNEOojw5euwIYq3W82/3MfHaMUBOLTM=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=O6V07A/zKIe2dH/Fz4VzkDQPBaFeoX14eoKwyxLZ8K83FPilZ6rqukZ7Wtafd31jYZ72Da8kVLYjlA1B86+GpN9HGbPH2lkVmlySuwkpf424h6VG1kKkpkUiRFmtVWuF/QFtO4y938vQMN6EW7AU98hl1K13s2npeD7a6L8NxE0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-20c9978a221so23953325ad.1 for ; Fri, 25 Oct 2024 11:26:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880789; x=1730485589; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QyKn8fwir+2iZ4cftWbyeEaiK2sRmPyuVM3Iuz89z9o=; b=Rw2nc1uvUiPMUYBYv2tnSpoJCabUEnmDiy/F3nGpwsKd+XESimzKTdMf2nY2vql91p OPgIzU0BcsA9DJfgJHE7Fnxfc0DgUCPGwnjsBohCRrVcTA1snmnXgpwLVORpQQMq58FJ FpO2kIB1IeMy+PnW+i++ulKc7O5JUAAPKyLpes1IoBEqZ+9HswZFJ3NFGMQPam1Y7PRU Uvxd2jiF9tM4ZBn2o/6Ln8KuS1kjaxUAutQU/phxkVS8mJtCfcjNy8GsBkX11oMRRL/M UM/jfW05Q0p8By2Xu8vtwRhlYapIhq1kPsW8m1WVygjNT5V8Hc6nYQdMRMPJNkjzVIiJ VtEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880789; x=1730485589; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QyKn8fwir+2iZ4cftWbyeEaiK2sRmPyuVM3Iuz89z9o=; b=nJ5X4xYzkr7+J2cQzTRRbpRHiv+QbL7fdjv8MZsrZVxLlJgfbcqpDryaESmR4J3HtK ByG0z7+8DxpDAWPYXYARt3nt1sSP2v1py1zTH1yKohB+9W+2Z0Ebas4HNSIqTerEuiUS fXaHlKpDYE+xn4NVoAiD+iSu3MdohuUhqVFdhQ8+4t4iTpgWOumBRpISaETUSoLFDPnJ COaRatO91lUSoAxVo7DLm24Ld62z+wNZXYK4ReaOOahfvHkFM6gXweQ/zk0y8PBt9Co5 3aiG6p8fCr3Ria9x1U4kxaAXd0q2iI3ikCvCW0NGxupvkqBbvdsvNpBXbDCwlEk/67sj fC8w== X-Gm-Message-State: AOJu0YwMtuyJDAFjMIcMV+02AnBbO36f6wb8BaYReJkbxGDYPprs+nC2 4Jurcl3Dq43NjpOr+cXHFuyNS6tBfZ2PbV8UC2roM1XfJTj9bKMMRmK4WtfhY23ed3Hl9eZp77R m X-Received: by 2002:a17:903:234b:b0:20c:7409:bd00 with SMTP id d9443c01a7336-210c68a9bf7mr1163525ad.5.1729880787391; Fri, 25 Oct 2024 11:26:27 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.26.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:26:26 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 02/17] benchtests: Add exp10m1f benchmark Date: Fri, 25 Oct 2024 15:21:40 -0300 Message-ID: <20241025182614.2022697-3-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org The input is based on exp10f benchmark. --- benchtests/Makefile | 1 + benchtests/exp10m1f-inputs | 2389 ++++++++++++++++++++++++++++++++++++ 2 files changed, 2390 insertions(+) create mode 100644 benchtests/exp10m1f-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index 79d802aaf0..6d57155437 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -42,6 +42,7 @@ bench-math := \ exp \ exp10 \ exp10f \ + exp10m1f \ exp2 \ exp2f \ expf \ diff --git a/benchtests/exp10m1f-inputs b/benchtests/exp10m1f-inputs new file mode 100644 index 0000000000..7eb6a1e415 --- /dev/null +++ b/benchtests/exp10m1f-inputs @@ -0,0 +1,2389 @@ +# These values are copied from exp10f-inputt +## args: float +## ret: float +## includes: math.h +## name: workload-spec2017.wrf-adapted +0x0p+0 +-0x1.cca64ap+0 +-0x1.570ef6p-2 +0x1.1aa2d2p+2 +0x1.0f756cp+2 +0x1.0f4c5p+2 +-0x1.4e5cbap-1 +-0x1.10efc8p+0 +-0x1.ca213p-2 +0x1.12c966p+2 +0x1.acffep+1 +-0x1.8118a2p-3 +-0x1.d5e3a2p+3 +-0x1.480aep+3 +0x1.f608d6p+1 +-0x1.32fc0cp+2 +-0x1.4b229ap-1 +0x1.d0b80ep-2 +0x1.19a5b6p+2 +0x1.a42b5ep+1 +0x1.1a21dep+2 +0x1.92e89p+1 +-0x1.7b9ac4p+0 +0x1.66ce46p+0 +0x1.5f4bbcp+1 +0x1.668d4ap-1 +-0x1.a295e4p-1 +-0x1.1bdf4cp-4 +0x1.5d9048p-3 +-0x1.97a6e8p+0 +0x1.5d5c2cp-1 +0x1.3b3926p+1 +0x1.5df8b6p-2 +-0x1.701c4ep+1 +-0x1.831428p+1 +-0x1.091166p+0 +0x1.7bb7dep+0 +-0x1.71320ap+1 +-0x1.000146p+1 +-0x1.31ed22p-4 +-0x1.4b926ap+2 +-0x1.429b84p-2 +-0x1.447decp+1 +-0x1.9c76f6p-2 +0x1.7a8d26p+1 +-0x1.abdd4cp+0 +-0x1.de3accp-2 +0x1.8a5286p+0 +0x1.fda316p-5 +-0x1.06p+5 +-0x1.4be122p-1 +0x1.9bac1ap+1 +-0x1.44cfb2p+1 +0x1.14b2d2p+2 +-0x1.322fb6p-4 +0x1.7c65bap+1 +0x1.9a5056p-1 +0x1.16f75p+2 +-0x1.14c492p+0 +-0x1.179386p+1 +-0x1.f7543ep-4 +-0x1.282e94p+1 +-0x1.32391ep-4 +-0x1.52f73ap+1 +0x1.75bdb6p+1 +-0x1.77763p-1 +0x1.a5d2d6p+0 +0x1.827938p-1 +0x1.12d21cp-1 +-0x1.11a162p-1 +-0x1.3be4d8p+1 +0x1.49d97ep+1 +0x1.19b118p+2 +0x1.19c026p+2 +0x1.e3963cp-2 +0x1.96eb86p+1 +-0x1.180652p+0 +-0x1.59b81cp+1 +0x1.d6e006p-2 +-0x1.15d164p+1 +0x1.233a6ep+0 +-0x1.27864ep+2 +-0x1.30e92cp-4 +-0x1.2e7c2p+1 +-0x1.4fe7c8p+1 +-0x1.35eadap-4 +0x1.484e6p+1 +0x1.7938eap+1 +-0x1.18e616p+2 +-0x1.36859ep-1 +0x1.f4b8dp-2 +-0x1.863916p-2 +0x1.643824p+0 +-0x1.7568e8p+0 +0x1.9c885ep+1 +-0x1.34527cp-2 +-0x1.481836p-1 +-0x1.0f8e4ap-1 +-0x1.9fbb48p+1 +-0x1.af4f5ep+0 +0x1.a88166p-2 +-0x1.9fcf5ap-1 +0x1.821a5p+1 +0x1.ab25cep+1 +-0x1.224cb8p+2 +0x1.96a544p+1 +0x1.a19cb2p-4 +-0x1.4c92f2p-3 +0x1.a0b7c8p+1 +-0x1.499ed8p+1 +-0x1.2c6602p+1 +-0x1.e6132ap-2 +-0x1.7198ccp+1 +0x1.a93194p+1 +-0x1.aadde2p+1 +0x1.d4c3b2p-3 +-0x1.c22fb6p-1 +0x1.703a62p+0 +-0x1.b82142p+0 +0x1.735e98p+1 +0x1.6b8af8p+1 +0x1.de7796p-6 +-0x1.aa786cp-1 +-0x1.6e4dap+3 +-0x1.f6e0fap-2 +-0x1.25239p-2 +-0x1.25dd98p+1 +0x1.1fab24p-2 +-0x1.308cdp-4 +-0x1.7f6a14p+1 +-0x1.fadcf8p-1 +0x1.f166e6p-4 +-0x1.b37p-3 +0x1.6735dcp-1 +0x1.864b22p+1 +0x1.893d72p+1 +-0x1.2c9ddcp+1 +0x1.9a36acp+1 +0x1.1947d2p+2 +-0x1.2a6352p+0 +-0x1.d8751ap+1 +-0x1.b64acap-4 +0x1.40f61cp+1 +0x1.70676ep+1 +-0x1.1680eap-1 +-0x1.f6604ep+0 +0x1.116176p-1 +0x1.6549cp-1 +-0x1.f7aa4ap+1 +-0x1.2bdf2ep-2 +0x1.69eed8p+1 +0x1.f2dc02p-2 +0x1.a145e6p+0 +0x1.8083d6p+1 +0x1.1b9a32p+0 +-0x1.3c9fp+1 +0x1.626386p+1 +-0x1.457912p-2 +0x1.138216p+2 +0x1.639d8cp+1 +0x1.12117cp+2 +-0x1.4970bcp-3 +-0x1.f0c518p-3 +-0x1.9c45b8p+1 +0x1.8fee74p+0 +0x1.4143acp-1 +-0x1.3c5f9ap-1 +0x1.5cf878p-2 +-0x1.122a6ep-4 +-0x1.de549ap-6 +-0x1.f3800ap+0 +0x1.721f64p+1 +0x1.902a2ep+1 +0x1.901aaep+1 +-0x1.816496p-4 +-0x1.a83cb4p+0 +0x1.271acep-2 +0x1.0d212p+2 +0x1.1cdf14p-1 +0x1.6269e2p-2 +-0x1.b93846p+1 +-0x1.6024c2p+0 +-0x1.582c58p+1 +-0x1.712d54p+1 +-0x1.479afcp+0 +-0x1.2e518p-8 +0x1.1b4d6p-2 +0x1.08ea6ap+0 +-0x1.725e56p+3 +-0x1.36a72cp-3 +0x1.376aeap-1 +0x1.2a1632p-3 +-0x1.28c472p+1 +-0x1.de1874p-1 +0x1.10e30ap+1 +0x1.e61a4p-3 +0x1.86d724p+0 +0x1.d9e3eap+1 +-0x1.797188p+0 +-0x1.75478ap-2 +-0x1.41b4ccp+1 +-0x1.30429ep-3 +0x1.6d356p+1 +-0x1.092c4ep-4 +-0x1.4f37dp+1 +-0x1.6c4f8ap+1 +-0x1.9a40eap-2 +-0x1.24069ap+4 +0x1.1a824cp+2 +-0x1.d0719ap-2 +-0x1.84f73cp+1 +0x1.1d4d62p+2 +-0x1.1dce7cp+3 +0x1.3102f4p-4 +-0x1.d5e8b8p-2 +-0x1.215e3p+4 +-0x1.e07cc8p+0 +-0x1.6ce266p-2 +0x1.d555d2p-1 +0x1.f67854p-6 +0x1.15a992p-1 +0x1.ab4f76p-2 +-0x1.2b9d0ap+1 +-0x1.a4c9fcp-2 +0x1.17645p+2 +-0x1.338ea4p+0 +-0x1.fbcf2cp-2 +-0x1.03e628p+1 +-0x1.fc0ad6p+0 +0x1.8f8294p+1 +0x1.8b8c84p-2 +0x1.d34d66p-3 +0x1.0d402cp+2 +0x1.158cep+2 +-0x1.35a2e6p-4 +-0x1.2e08acp-4 +-0x1.48242ep+1 +-0x1.29ed7ap-4 +-0x1.c7b494p+0 +-0x1.193bacp-1 +0x1.578c62p-1 +0x1.53c52p-1 +-0x1.493442p-4 +-0x1.da613cp-4 +-0x1.2f2194p-4 +-0x1.2fb2b6p-4 +0x1.d9e34p+1 +0x1.75d608p+1 +0x1.126b06p+2 +0x1.0142d4p+1 +-0x1.644758p+1 +-0x1.2e3b98p-4 +-0x1.be8ddep+1 +0x1.49824cp-3 +-0x1.35b23ap-1 +-0x1.2356b4p-1 +0x1.18b5acp+2 +0x1.47077cp+1 +-0x1.173db8p+1 +-0x1.665c4ap+1 +-0x1.1c6faap+1 +-0x1.310e3ap-4 +0x1.0e699cp+1 +-0x1.9aab7p+1 +-0x1.cc23acp-2 +0x1.5437c6p-1 +-0x1.0a05d2p+0 +0x1.085f18p-1 +-0x1.35b786p-4 +-0x1.6baad6p-3 +-0x1.3231dap-4 +-0x1.32939ep-4 +0x1.482856p-2 +-0x1.35a4a8p-4 +0x1.706bap-1 +-0x1.4acaf8p-1 +0x1.19de58p+2 +0x1.d143f2p-2 +-0x1.7a380ap-1 +-0x1.784deap+1 +0x1.4feed4p-2 +-0x1.261576p+4 +-0x1.ea0ce6p-5 +0x1.97c84ep+1 +0x1.08b326p+1 +-0x1.19f4ap+2 +-0x1.299982p-4 +-0x1.e70ce6p+2 +0x1.a64db8p-3 +-0x1.7423acp-2 +0x1.1b4bap+2 +-0x1.348e26p-4 +0x1.68ebc4p+1 +-0x1.9cfd68p-2 +-0x1.3bad8ep+1 +-0x1.c3cc6cp-1 +0x1.3bc00ap-1 +0x1.0eb82cp+2 +0x1.44cd7ap+2 +-0x1.4e79aep+0 +0x1.17402ep+2 +-0x1.b0636p-3 +0x1.0d71b4p+2 +0x1.bbe7bcp+0 +0x1.5bfe3ep+1 +-0x1.8edcf2p+0 +-0x1.36303p-4 +0x1.4e3ca8p+2 +0x1.319214p-1 +-0x1.09180ap+4 +0x1.726b38p+1 +0x1.9d1a86p-1 +-0x1.25fb1cp+2 +0x1.d9a272p-2 +0x1.8e93aep+1 +0x1.8aef1ep-2 +-0x1.9131eep+0 +-0x1.5e9edcp+0 +-0x1.dc1ef2p+0 +-0x1.661d22p-1 +-0x1.9ad2d6p-1 +0x1.2f195ap+1 +-0x1.5bba84p+1 +0x1.7cbff8p+1 +-0x1.300c18p-4 +0x1.d9e494p+1 +-0x1.36921cp-4 +0x1.195306p-1 +-0x1.81fda2p+1 +0x1.373e84p-2 +-0x1.dba4c6p-3 +0x1.e5196cp-2 +-0x1.223552p+1 +0x1.439eb6p+0 +-0x1.00184p+3 +-0x1.0c2daap+0 +0x1.52b014p+0 +0x1.6ff002p+0 +-0x1.33ea92p-4 +0x1.b682fp-4 +0x1.51e056p-3 +0x1.2da342p-3 +-0x1.2b40b8p-4 +-0x1.0ec358p+1 +-0x1.3648f2p-2 +0x1.410ccep-3 +-0x1.06b8f4p+0 +0x1.3716c8p+1 +0x1.9d24d2p+1 +-0x1.744f56p+1 +0x1.79f3ccp+1 +-0x1.faab38p+0 +-0x1.7c307p+1 +0x1.ecaf74p-4 +-0x1.46013cp-3 +0x1.304aa4p+1 +-0x1.2d2e0ap+0 +0x1.9ec978p+1 +-0x1.7ace0ap+0 +-0x1.36a862p-5 +0x1.1037bp+2 +-0x1.4ecc52p+1 +0x1.7b09bcp-2 +-0x1.725004p+1 +0x1.0eb17ep+2 +0x1.a3874ap-5 +0x1.621192p-2 +0x1.0aeaeap-1 +0x1.5c0f0ep-4 +0x1.d43cb6p-1 +0x1.33a642p+1 +-0x1.32e16p-1 +0x1.0c5826p-1 +-0x1.3d5f08p+0 +0x1.80616cp+1 +-0x1.151ff8p+2 +0x1.7734a4p-5 +0x1.c6bb7cp-1 +0x1.165c08p-2 +-0x1.25e9e2p-1 +0x1.824d56p+1 +-0x1.1db7f6p+1 +0x1.1550c4p-1 +0x1.abfabep-5 +0x1.5be644p-3 +-0x1.9736dp+1 +-0x1.337be6p-4 +0x1.1d50fp+2 +0x1.12f136p-3 +-0x1.4fd9b6p+1 +0x1.b48b8p-1 +0x1.928bcp+1 +-0x1.358bcep-4 +-0x1.4e92eap+0 +-0x1.4b13b4p+1 +0x1.ab4ee6p+1 +0x1.8176a4p+1 +-0x1.b9c5b6p+0 +-0x1.739fbep-2 +-0x1.e699p-3 +-0x1.0e7c3p-4 +0x1.07b746p+1 +0x1.6d05ccp+1 +0x1.d9e82ep+1 +0x1.0aae92p-8 +0x1.66466ap-3 +-0x1.ef3d28p+2 +0x1.c3e356p+0 +-0x1.ee3f16p-6 +0x1.c39f2ap-3 +-0x1.66a4cap-3 +-0x1.bfee84p-1 +0x1.81f6ep-4 +-0x1.7e7f5cp+1 +-0x1.31852cp-4 +0x1.6bed6cp-2 +-0x1.b628e2p-3 +0x1.bc7314p-2 +0x1.1e193ap-1 +-0x1.502deap+1 +-0x1.c5789cp-4 +-0x1.267a3ap-1 +0x1.44f054p-1 +-0x1.2fc60ap-4 +0x1.6d2b4ap+0 +-0x1.35983ap+4 +-0x1.73498p+0 +-0x1.7e7b2cp-7 +0x1.015cp-1 +-0x1.342c98p-4 +0x1.8d1564p+1 +0x1.168e4ap-3 +-0x1.42a24cp+1 +0x1.112dc6p-2 +0x1.e20982p-1 +-0x1.6ad56p+3 +0x1.b33ed2p+1 +0x1.7ae86cp+1 +0x1.dfb8dcp+0 +-0x1.0589dep+1 +0x1.24d3c8p-3 +0x1.499b44p+1 +-0x1.2ab0d4p+0 +-0x1.f305b4p-1 +-0x1.8424bap+0 +-0x1.c56a9cp+0 +0x1.8cc9f4p+1 +-0x1.43400ap+4 +-0x1.e3ca3ep-3 +0x1.4f4cf4p-4 +-0x1.af6c6ep+0 +0x1.544da4p+1 +0x1.3eb6d4p+0 +-0x1.6c4318p+1 +0x1.57004cp-1 +-0x1.01ccacp+0 +0x1.144bc6p-1 +0x1.2476ccp+1 +0x1.0deaecp+2 +-0x1.bdfe9cp-1 +-0x1.ceea0cp+1 +0x1.13232p-1 +0x1.58349cp-2 +-0x1.d430ccp-1 +0x1.91c14p+1 +0x1.436bccp+0 +0x1.0dd524p+2 +-0x1.eab124p-1 +-0x1.5307ap-2 +0x1.1cacb4p+2 +-0x1.d6441ap-2 +-0x1.32b6a8p-4 +0x1.1bd4ep+2 +-0x1.a591d2p-11 +-0x1.301e24p-4 +-0x1.329332p-2 +-0x1.1e6754p+1 +0x1.35b7a6p+0 +0x1.542d52p-5 +-0x1.48e368p+1 +0x1.58ceep-5 +0x1.82cdep+1 +0x1.58be32p-1 +-0x1.3c2a3p-2 +0x1.9409bap+1 +0x1.4b97bap+1 +0x1.17ca0ep+2 +-0x1.366acap-4 +-0x1.f3ace4p-1 +0x1.a0c9f8p+1 +-0x1.a2ea86p-2 +-0x1.cbde64p-2 +-0x1.7a887cp+1 +-0x1.2dd12ap-4 +0x1.a3c1ap+1 +-0x1.2b8f2ap+1 +-0x1.d42268p+1 +0x1.706948p-4 +-0x1.285f8p+1 +-0x1.7f58bcp+0 +-0x1.25ebeap+0 +-0x1.1946b8p-2 +-0x1.902626p+2 +-0x1.b2ce32p-2 +-0x1.124bc4p-3 +-0x1.075acap+1 +-0x1.32c68ap-4 +-0x1.a030bap-2 +0x1.308c56p+1 +0x1.933c64p-5 +0x1.17dafep+2 +-0x1.722dep+1 +-0x1.b2262ep-1 +-0x1.4ee21ep-3 +0x1.0a7eeep+1 +-0x1.87e73cp-1 +0x1.9dc436p-1 +0x1.ee2428p-3 +-0x1.117f16p-2 +0x1.daa778p-2 +-0x1.2dbecap-4 +0x1.0d7dd6p+2 +0x1.81440ap+1 +-0x1.88f954p+0 +-0x1.8abfd8p-2 +0x1.12f78ep+2 +0x1.1d307p+2 +0x1.b631eap-2 +-0x1.8469c6p-1 +-0x1.9091c2p+1 +0x1.4fcf6p-2 +-0x1.71764p+1 +0x1.709448p-1 +-0x1.c2300cp+0 +-0x1.530c38p-2 +0x1.247446p-1 +0x1.984faep+1 +0x1.571c4ep-6 +-0x1.939a94p+0 +-0x1.657dd4p+1 +-0x1.2bf2ccp-4 +0x1.7d061p-3 +0x1.e446b2p-4 +0x1.903e9ep+0 +-0x1.36822ap+0 +0x1.728a0cp+1 +-0x1.b795acp+0 +-0x1.dd215ep+0 +-0x1.5cb27ep+1 +0x1.66108p-4 +0x1.a783b4p-1 +0x1.e6a6bcp-5 +-0x1.182e36p-5 +-0x1.344ffep-4 +0x1.4174a4p+1 +0x1.8eeb4ap+1 +-0x1.1e29bep+1 +-0x1.0c7b16p+0 +-0x1.d5069ap+0 +0x1.12761ap-1 +-0x1.1082d6p-7 +-0x1.10d2c8p+0 +-0x1.502f0ep+1 +0x1.7a4a04p-6 +-0x1.2747bp+1 +-0x1.313d6cp-4 +-0x1.22d6fep+0 +-0x1.288d02p+1 +0x1.6193a8p+0 +0x1.d178acp-2 +-0x1.74beb8p+1 +-0x1.768aaep+0 +-0x1.45a396p+1 +-0x1.366bd6p+0 +0x1.51322ep-3 +0x1.0f4488p+2 +-0x1.1c98d2p-1 +0x1.b2dc9cp+1 +-0x1.4adad4p+1 +-0x1.0b063ap-1 +-0x1.1d91f8p+0 +0x1.1dff62p+2 +-0x1.e888cap+3 +0x1.0cccfp+1 +-0x1.352b56p-4 +-0x1.28e938p-5 +0x1.9a6954p-2 +-0x1.4164fcp-1 +0x1.9d36e8p+1 +-0x1.3067aap-4 +-0x1.f60dfap-1 +0x1.c7d7acp+0 +-0x1.358ea8p-4 +0x1.c3579cp+0 +0x1.d9e3d6p+1 +-0x1.3a0566p+0 +-0x1.b89bacp-1 +0x1.d58a28p-1 +-0x1.7601aep+1 +-0x1.4ec9f8p-10 +-0x1.6d5776p+0 +0x1.b2bfd8p-3 +0x1.88677p-1 +0x1.2db776p+1 +-0x1.a7cb9cp+0 +-0x1.31ba78p-4 +-0x1.ebd996p+1 +-0x1.410194p+0 +-0x1.2ddc58p-4 +0x1.d943a6p+0 +0x1.14a0d2p-5 +0x1.0dd346p+2 +0x1.f1b254p-2 +-0x1.3cc36ep+1 +0x1.5d021ep-2 +-0x1.0c30f4p+0 +-0x1.2beac4p+1 +0x1.9e81ap+1 +0x1.af36ap+1 +0x1.922238p+1 +-0x1.80886p-3 +-0x1.c29136p-2 +0x1.3d44b6p-3 +-0x1.edd8eap+0 +-0x1.a847acp+0 +0x1.0f79f6p+2 +0x1.53f778p+0 +-0x1.309952p-4 +-0x1.35d438p-4 +-0x1.c10eeep-3 +-0x1.806394p+0 +0x1.ff7b88p+0 +0x1.69316ep+1 +-0x1.6d0674p+0 +0x1.472c1ep+0 +0x1.0e8cbp+2 +-0x1.5ef1a4p+0 +-0x1.bab7dcp-1 +-0x1.36adb6p-4 +0x1.6dca62p+2 +-0x1.1c474ep+2 +-0x1.868c8ep-2 +-0x1.4ced6ap+2 +0x1.159d72p+2 +0x1.3c9656p+1 +0x1.4fae6p-2 +-0x1.4f8a48p+1 +0x1.bba5eap-3 +0x1.a5b6b8p+1 +-0x1.2a69f2p+2 +0x1.d2f84p-4 +-0x1.33012cp-1 +-0x1.b514e2p-1 +0x1.b23606p+1 +0x1.18a2ap+2 +-0x1.d75522p-1 +-0x1.a5bb52p-6 +0x1.9547f8p+1 +0x1.8c7182p+1 +0x1.1ac8bap+2 +-0x1.2864p-4 +-0x1.c6baa8p-2 +0x1.19c122p+1 +0x1.65acd6p-5 +0x1.c76bd8p-2 +0x1.194a94p+2 +0x1.288ad8p+1 +0x1.b2ebfp+0 +-0x1.1b7bdp+0 +-0x1.32e204p-4 +-0x1.7bc0dep-4 +0x1.68c198p-1 +0x1.1a8ef8p+2 +-0x1.b8ed5p+0 +-0x1.3109d4p-4 +0x1.3cfa08p-1 +0x1.2aebdep+1 +0x1.7cf2b2p+0 +0x1.40ea82p+2 +-0x1.6d1d98p-2 +-0x1.5fbf82p-1 +-0x1.83ed44p+1 +0x1.2e3f04p-1 +0x1.d9e37cp+1 +-0x1.432864p+1 +-0x1.cda79ep-1 +0x1.0da60ap+2 +0x1.840bf6p+1 +-0x1.3496e2p+1 +0x1.82c98p+1 +0x1.50037ep-2 +-0x1.4f6732p+1 +0x1.f7da28p-4 +-0x1.a228a8p-2 +-0x1.0cd8p-2 +0x1.a1db86p-3 +-0x1.594874p-1 +0x1.20835cp+0 +0x1.0f6acp+1 +0x1.59515ep-2 +0x1.8bea1p+1 +0x0p+0 +0x1.0fcd7p+2 +-0x1.086928p+1 +-0x1.2c535cp-4 +0x1.3d6cccp-1 +-0x1.92a8ecp+1 +-0x1.2fb916p-4 +0x1.747f3cp+1 +-0x1.a4386ep+0 +-0x1.d30c56p-2 +0x1.0fde5ep+1 +-0x1.36136ap+1 +-0x1.501534p+1 +-0x1.14c224p+2 +-0x1.d05bb6p-1 +0x1.be78dap-7 +-0x1.0451c2p-3 +0x1.bcd7d4p-2 +-0x1.4912bp-2 +0x1.a572dcp+1 +-0x1.35b01p-4 +0x1.a817fep+1 +-0x1.347608p-1 +-0x1.ceacd6p+1 +0x1.dc80d2p-4 +0x1.815a7ap+1 +0x1.1a75e6p+2 +0x1.ed45ccp-2 +0x1.3d0098p+0 +-0x1.c25928p+0 +0x1.189d3ap+2 +-0x1.4537dep-4 +0x1.4fb96ep+1 +0x1.14734ep+2 +-0x1.4d5efcp-3 +-0x1.18b74cp-2 +-0x1.5d6d18p+0 +-0x1.3590a8p+1 +-0x1.557742p-1 +-0x1.04313cp-1 +0x1.23ec9p-6 +0x1.246ef4p+0 +0x1.a35876p+1 +0x1.8770aap-2 +-0x1.32ca5p-4 +-0x1.4a9294p+0 +-0x1.79031ep-1 +0x1.40b186p-3 +0x1.b3b1a8p-3 +0x1.ca4534p+0 +-0x1.1b979cp-3 +-0x1.c0221ep-4 +0x1.278df4p-3 +-0x1.90e686p-2 +0x1.1983f2p+2 +-0x1.707a4p+1 +0x1.3a91a8p-1 +-0x1.0ae4ep-2 +0x1.93d88ep+1 +-0x1.36804ep-4 +-0x1.1664eep+1 +-0x1.bf6116p-1 +0x1.bb1f2ap-5 +0x1.5d6f24p-1 +-0x1.2f3ap-3 +0x1.8bea1cp+1 +0x1.933a2p+1 +0x1.d04b8cp-2 +-0x1.a2d34ap+0 +-0x1.807b86p-2 +0x1.44a46ep+1 +0x1.08b1p-1 +-0x1.5ac2fap+1 +0x1.93af92p+1 +-0x1.360d0cp-4 +-0x1.a9d00ep+0 +-0x1.c5730cp+0 +0x1.388076p-3 +0x1.ec991ap+0 +-0x1.eba70cp+1 +0x1.1a5e26p+2 +0x1.456762p-2 +-0x1.f6b70ep+2 +-0x1.4c4d6ap-5 +-0x1.773adap+1 +0x1.b08eacp-8 +-0x1.584bd8p+4 +0x1.aece5ep+1 +0x1.9484eep+1 +0x1.2f03cap-1 +0x1.857dc8p-2 +-0x1.7a09c2p-3 +0x1.413dcap-1 +-0x1.35e0a4p-4 +-0x1.14c224p+2 +-0x1.4b6036p+1 +0x1.72638ep+1 +-0x1.aca576p-5 +-0x1.a8005ap+1 +-0x1.7596e2p+1 +-0x1.48f8c6p+1 +0x1.17df42p+2 +-0x1.86feeep-3 +0x1.32ae9cp+0 +-0x1.3294e8p-4 +-0x1.cd56fap-2 +0x1.ed6752p-2 +0x1.52ca7ap-3 +0x1.88bd5ep+2 +-0x1.0bc4c4p-6 +-0x1.9c9c7ep+2 +-0x1.3dba0ap+1 +-0x1.22c518p-3 +0x1.1ae9bcp+2 +0x1.15e838p-2 +-0x1.828332p+1 +-0x1.54c63p+1 +-0x1.6a32f6p-1 +0x1.c55e1cp-3 +-0x1.08a5fp-3 +0x1.165574p+2 +-0x1.480b04p+1 +0x1.f8983p-3 +0x1.0d3bdap+2 +-0x1.0d26d8p+1 +-0x1.32a25p-4 +-0x1.354c2ep-4 +-0x1.36b518p-4 +0x1.d956p-2 +0x1.56d7bap+1 +0x1.0eea1ap+2 +0x1.18f428p+2 +0x1.62ad3p+1 +0x1.a35124p+1 +0x1.2745c2p-2 +-0x1.d21364p-1 +-0x1.27e588p+1 +0x1.519fc8p+2 +0x1.6f9af6p-1 +0x1.60654ap+1 +-0x1.acc2fp+0 +0x1.68b8a8p+1 +0x1.bc0924p-2 +0x1.19a1dep+2 +0x1.46286ap-2 +-0x1.611fcap+0 +0x1.3704ecp+1 +0x1.498faap+1 +-0x1.2ded8cp-4 +0x1.5329a6p-2 +0x1.1aa978p+2 +-0x1.7a949ap-2 +0x1.6638f6p+0 +0x1.60e3dcp-1 +-0x1.4eac8ep+1 +-0x1.3db95cp+1 +0x1.da4e46p-4 +-0x1.f3703p-1 +-0x1.a625fap+0 +0x1.3c17a4p+0 +0x1.f75f9p-3 +-0x1.9369bp+1 +-0x1.03c062p-2 +-0x1.ac914ep+0 +0x1.27711cp-5 +0x1.193a5ep+0 +0x1.0aeda2p-1 +-0x1.284b2cp-4 +-0x1.47ca52p+1 +-0x1.d8dcd4p+0 +0x1.340c62p-5 +0x1.966712p+1 +-0x1.8a04dap+0 +-0x1.06p+5 +0x1.693188p-1 +-0x1.33051ap+1 +0x1.4adfaep-4 +0x1.8699fep-2 +-0x1.c528a2p+3 +-0x1.87449ep-1 +-0x1.376054p+1 +-0x1.3faeb2p+1 +0x1.bf3f86p-2 +-0x1.a29252p-2 +0x1.a5e514p+1 +0x1.47e23p+1 +-0x1.04187p-1 +-0x1.dfdd0ap+1 +0x1.18fad4p+2 +0x1.5f067cp-5 +-0x1.c72628p-1 +-0x1.a7323cp+1 +0x1.0dcc54p+2 +-0x1.3ed8b4p+1 +0x1.f9b94ap+0 +-0x1.b551cp-1 +-0x1.397f1ep-1 +-0x1.51b1e2p+3 +-0x1.a692f2p-3 +0x1.69fdacp+1 +-0x1.4e1826p-1 +0x1.91c0fep-3 +-0x1.a6e1b2p+0 +0x1.8189fp-6 +0x1.d6b1bp+0 +-0x1.3138f6p-2 +-0x1.63dcc6p+1 +0x1.1e25a8p+2 +-0x1.615f82p+1 +-0x1.06116ep-6 +-0x1.2dbf32p-4 +0x1.30efb2p+1 +0x1.90d4fep+1 +-0x1.2e8768p+1 +0x1.52c482p-1 +0x1.139014p+2 +0x1.f188e6p+0 +0x1.489bap-3 +-0x1.30b51p-1 +0x1.26bebcp+1 +-0x1.473cfap-2 +0x1.189b68p+2 +-0x1.fff626p-4 +-0x1.4f04f6p+1 +-0x1.47b56cp-1 +-0x1.2b0338p-4 +0x1.5f00a4p-1 +-0x1.2453d8p+1 +0x1.63f072p-3 +-0x1.5f2a8ap-4 +0x1.0de616p+2 +0x1.04227p-1 +-0x1.11fb4ap+1 +0x1.e7937ep-4 +-0x1.b1bb1p-1 +-0x1.59229ap-3 +0x1.e54bb8p-3 +-0x1.49ced2p+1 +-0x1.3c8558p-1 +-0x1.365d0ap-4 +-0x1.d95314p-4 +-0x1.faa6a2p-1 +-0x1.4a931ep+1 +-0x1.35baf2p-4 +0x1.40e5c4p+0 +-0x1.d9ae8p+1 +0x1.1121fap-1 +0x1.3e6be4p-2 +0x1.7e0ef2p-3 +-0x1.880112p+0 +-0x1.652642p+1 +0x1.3612bep+0 +-0x1.cae1d2p-2 +-0x1.5c0edp+0 +-0x1.c4600ep-2 +0x1.c07a82p-4 +0x1.09a756p+1 +-0x1.e84cfap+0 +-0x1.c91046p+3 +0x1.2ad4eap+1 +-0x1.d5d568p-1 +0x1.3d84aap-1 +0x1.77039ep+1 +-0x1.d2310cp+0 +-0x1.cfd498p+0 +-0x1.715682p+1 +-0x1.0f89b2p-5 +-0x1.67af76p-1 +0x1.020d18p+1 +0x1.1a5e44p-1 +-0x1.2b8602p-4 +-0x1.59004ep-2 +0x1.66a0b4p+2 +0x1.44cf1p-2 +0x1.731836p-1 +-0x1.444264p+2 +0x1.7ab92p+0 +0x1.747564p-1 +-0x1.35aa9ep-4 +0x1.7c9424p+1 +0x1.cee034p+1 +-0x1.5b10fp-1 +-0x1.364912p-4 +-0x1.69bbfcp+1 +-0x1.50a1cp+1 +-0x1.f3f57p-3 +0x1.158cf8p+2 +-0x1.a72588p+1 +0x1.26afa8p-4 +-0x1.f7580ap-3 +0x1.1c73b8p-1 +-0x1.f2e3ecp-3 +0x1.363ffap-1 +0x1.1955bp+2 +-0x1.85807ap-1 +0x1.7a0e24p-1 +-0x1.2d6f04p-3 +-0x1.076d68p+1 +-0x1.0cd796p+1 +-0x1.955e58p+1 +-0x1.e74dfp+0 +0x1.94e14p+1 +-0x1.0d0d0cp+0 +-0x1.57b626p+2 +-0x1.ef69a6p+1 +-0x1.31c994p-4 +-0x1.ee21eep+1 +-0x1.357044p+1 +0x1.687e62p+1 +0x1.58074cp+1 +0x1.0d13b8p+2 +0x1.4e4534p+1 +-0x1.2b7b6ep-3 +0x1.1b4bb4p-3 +-0x1.00f538p-1 +0x1.0f0c76p+2 +0x1.5213a6p+1 +-0x1.29df0ep+0 +-0x1.ae06f2p-2 +-0x1.5221c8p+1 +0x1.e1d62ep+2 +-0x1.272b88p-4 +-0x1.6649b8p+1 +0x1.98b39cp+1 +-0x1.27c198p-4 +-0x1.434cfep-3 +0x1.3cbb2p-2 +-0x1.3c9292p-2 +0x1.0efaf4p+2 +-0x1.633b78p+0 +0x1.ec1532p-2 +-0x1.0a31f4p-2 +0x1.d473a6p-4 +0x1.6636a4p+1 +-0x1.8901dp+1 +0x1.6c011cp-5 +0x1.4159ccp-2 +-0x1.f98358p-1 +0x1.0e5a1p+2 +0x1.7c455p+0 +-0x1.2d9d62p-4 +-0x1.29249cp-4 +-0x1.07ef22p+3 +-0x1.2bf514p+1 +-0x1.45d45cp+0 +-0x1.2cabd8p-4 +0x1.f64b9ep+0 +0x1.960a98p+1 +0x1.45767cp-4 +0x1.bd19cep-2 +-0x1.0d64aep+1 +0x1.1a629ep+2 +-0x1.c7da8ap-1 +0x1.f676d2p-2 +-0x1.3ed448p+1 +-0x1.abed62p-7 +0x1.7f6afp+1 +-0x1.350bfp-4 +0x1.0da06ap+0 +0x1.097cc6p-1 +-0x1.8b5294p-6 +-0x1.3ea218p-7 +0x1.fc6b92p-5 +-0x1.1c957ep-2 +0x1.5fd2ecp+1 +-0x1.2acb2ap-4 +0x1.8d9becp-1 +0x1.99c11ap+1 +-0x1.012c68p-1 +-0x1.3294aap-4 +-0x1.340894p-4 +0x1.9a0ee2p-2 +0x1.4584d6p-4 +-0x1.2ddb48p+1 +-0x1.98374cp+1 +0x1.3383eap+1 +0x1.7d2846p+1 +-0x1.1f83bep-1 +-0x1.69b974p-2 +-0x1.0062e4p-2 +-0x1.e0c96ap-3 +-0x1.9b2cdcp-2 +0x1.b10d8ap-2 +0x1.462c08p+0 +0x1.801c0ep-4 +-0x1.91fe4ep+1 +-0x1.def94ep-7 +0x1.97541p+1 +0x1.7a346ap+1 +0x1.23d8e2p-2 +-0x1.c5295ep-1 +-0x1.308504p+1 +-0x1.7f607ap-7 +-0x1.92dcbp+0 +0x1.361d6p-1 +-0x1.279b06p+2 +-0x1.dadd1p-2 +-0x1.63de3ep+1 +-0x1.a9d38ep-3 +-0x1.330efcp-3 +0x1.5cd4cep+1 +-0x1.2d6346p-4 +0x1.aa19fcp-3 +-0x1.be1354p-1 +-0x1.1f2d94p+1 +0x1.541a54p-4 +0x1.e7e51ap-6 +0x1.327a8ap+0 +0x1.a8d34ep-2 +0x1.47e02p-1 +0x1.f0499ep-2 +-0x1.6338f4p-2 +0x1.758f7p+1 +-0x1.8dd02ep-5 +0x1.1335e4p-1 +-0x1.29400ap-4 +0x1.19e52ap+2 +0x1.7c685cp+1 +-0x1.010042p+1 +0x1.183edep+2 +-0x1.647b8cp+1 +0x1.0df434p+2 +0x1.a9173cp+0 +0x1.605c96p+1 +-0x1.375146p-1 +-0x1.96f0e4p-1 +0x1.99d6f6p+0 +0x1.475f9cp+0 +0x1.6ce1e6p-3 +-0x1.0c4ec2p-2 +0x1.979a3ep+1 +0x1.4c02b2p-3 +-0x1.5d643cp+1 +0x1.1981b4p+2 +-0x1.450f54p+2 +-0x1.daf71cp+1 +0x1.5b84f2p+1 +-0x1.4e39p-3 +0x1.2e338cp-1 +-0x1.4ac494p-1 +0x1.1a2ee4p+2 +-0x1.00c2dap+1 +-0x1.05797cp-2 +0x1.810c4cp+0 +0x1.8371f6p-2 +-0x1.2e5d5ep-4 +0x1.20568cp+1 +0x1.7533fap+1 +-0x1.2eff36p-1 +-0x1.095fc4p+1 +0x1.14268ap-5 +-0x1.a4098cp-2 +-0x1.a826c6p+1 +-0x1.2d9248p+1 +0x1.0d08ccp+2 +-0x1.caa236p+3 +0x1.bab198p-3 +-0x1.e2136ap-3 +-0x1.24ef2cp+2 +0x1.e120f8p-1 +-0x1.6f5d06p-2 +-0x1.351596p-4 +-0x1.f8c01ap+0 +0x1.24cb0cp-2 +-0x1.8772c8p+1 +-0x1.3139e4p+1 +-0x1.552332p+1 +0x1.1f01ep-1 +0x1.93975p+1 +-0x1.860b12p+0 +-0x1.325f32p+4 +-0x1.157d7cp+2 +0x1.b04adp+0 +-0x1.162d22p+1 +0x1.66397ap-3 +0x1.229e52p-5 +0x1.ef5bbcp+0 +-0x1.0ede58p+1 +0x1.4c9bf8p+2 +0x1.89aa3p+1 +0x1.5c7128p+1 +0x1.6658cp+1 +0x1.839efp-3 +-0x1.2ac61ap-5 +0x1.18cf9cp+2 +0x1.057f2cp-2 +-0x1.80098ep+0 +0x1.117f5p+2 +-0x1.602f22p+1 +-0x1.8aa62p+0 +0x1.fab3e8p-1 +-0x1.faf368p+0 +-0x1.803ab2p-1 +-0x1.93715ap-4 +0x1.24106ap-3 +0x1.301864p-1 +0x1.608766p+1 +0x1.55c9aap+1 +-0x1.297edap-1 +0x1.65432ap+1 +0x1.c27718p+2 +-0x1.3ae348p-1 +0x1.aa80a8p+1 +-0x1.3b9fa2p-1 +0x1.414f82p-2 +0x1.bdd05p+0 +0x1.6ed8ep-1 +0x1.b0fc5p+1 +-0x1.38dd7cp-1 +-0x1.3dd132p-1 +-0x1.b000dap+1 +-0x1.fa8046p+0 +0x1.ada91ep+1 +-0x1.bbacc8p-1 +-0x1.f9f426p+2 +-0x1.bc74fcp-1 +-0x1.5b356ap-2 +-0x1.ff6d66p-3 +0x1.d9dec2p+1 +-0x1.4d683p-3 +-0x1.c94956p+1 +-0x1.34e83cp+0 +0x1.4eab1cp-3 +0x1.36cf66p-2 +-0x1.35e6ecp-4 +0x1.9b228ap+1 +-0x1.3296aap-4 +-0x1.361d6p-4 +0x1.1cfa22p+2 +0x1.a1a75cp+1 +-0x1.3f464ep+0 +-0x1.ed46cep-2 +0x1.b2adeap-2 +0x1.8bb406p+1 +-0x1.25e534p-2 +-0x1.343002p-4 +-0x1.aac09ep-3 +-0x1.cdbeaep-2 +0x1.14729p+2 +0x1.0821ecp-2 +-0x1.108176p+1 +-0x1.8c30c6p+1 +-0x1.084082p+3 +0x1.5ad252p+1 +0x1.c292c2p-4 +-0x1.31a53ap-4 +0x1.c3afp-7 +0x1.967b8cp+1 +0x1.185164p-2 +-0x1.9137acp-1 +-0x1.43fc64p+1 +0x1.4b91c2p-1 +-0x1.b317f6p+1 +0x1.4a4e98p-7 +0x1.449a4ap-3 +0x1.5949e4p+1 +0x1.2e1846p-1 +-0x1.a2118p-1 +-0x1.24f4d8p-3 +0x1.85ec84p+1 +-0x1.6b47dep+1 +-0x1.bea2f6p-2 +-0x1.9f1a1ep+3 +-0x1.9bb644p-1 +-0x1.773ffep-5 +0x1.192ad2p+2 +0x1.534a58p+0 +-0x1.b68d7cp-1 +-0x1.2836d6p+0 +-0x1.de7844p+0 +-0x1.c2bbf6p+1 +0x1.b46346p-4 +0x1.e65288p-2 +0x1.7355b6p-2 +-0x1.26aeb4p+3 +-0x1.351a9cp-4 +-0x1.ef0e14p-2 +0x1.2a4abap-1 +-0x1.19c2cap+1 +-0x1.36a336p-4 +0x1.784352p-3 +0x1.96f24p+1 +-0x1.c19ae8p-1 +-0x1.3297f8p-4 +-0x1.e48354p-3 +0x1.7b33dep-1 +-0x1.6d82dcp+1 +0x1.e95628p-1 +0x1.4c4672p+1 +-0x1.02603p+0 +-0x1.2111p+0 +0x1.e3b636p-2 +-0x1.35a41ep+0 +0x1.f0b27p-1 +-0x1.229a2p-4 +0x1.544d02p-1 +-0x1.14c224p+2 +0x1.55c23p-1 +0x1.3c8eeep-1 +-0x1.2db0bep-4 +-0x1.08b4d6p+0 +-0x1.34e21ep-4 +-0x1.209ab8p+1 +-0x1.3e751p+0 +0x1.5a36f6p+1 +-0x1.4e6874p+1 +0x1.ef9c56p+2 +-0x1.abd05ep-2 +-0x1.240f5cp+1 +0x1.a5b1dap+1 +-0x1.2fe2ep-2 +0x1.190e9cp+2 +-0x1.1f19cep+1 +-0x1.5e8984p+1 +-0x1.13e68cp-5 +-0x1.2b7158p+1 +-0x1.14ca8p+2 +-0x1.72a042p+1 +-0x1.4a5f58p-2 +0x1.8487aep+1 +0x1.d9e78p+1 +0x1.b782ecp-2 +-0x1.8e3d8cp-5 +0x1.55972ap+1 +0x1.1993a6p+2 +0x1.0e317p+2 +-0x1.60a1e2p-2 +0x1.947566p+1 +0x1.455f28p-1 +0x1.2270bep-2 +-0x1.2a9576p+0 +-0x1.995a66p-1 +-0x1.14c224p+2 +-0x1.51fbcap+1 +0x1.fc0e86p+0 +0x1.15172p+0 +-0x1.34c418p-3 +0x1.176bc2p+2 +-0x1.c54b18p-5 +-0x1.548d3p+1 +-0x1.7983cap+1 +0x1.27f4bap+2 +-0x1.69b152p-1 +-0x1.299848p-1 +0x1.0324cap+3 +-0x1.32a1d6p-4 +-0x1.4fd9cp+0 +0x1.6cf24p+1 +-0x1.57b3fcp-1 +-0x1.33e9a6p-4 +0x1.781074p-10 +-0x1.1ba9bcp+0 +0x1.1a5178p+2 +-0x1.535882p+1 +0x1.9bef5cp+1 +-0x1.adc8a6p-2 +-0x1.c3536p-1 +-0x1.f85feep+2 +-0x1.2544bp+1 +0x1.fc9ef4p-2 +0x1.49aa9p+1 +-0x1.e5f78ap-4 +0x1.73cdc8p-4 +-0x1.501f9ap+1 +-0x1.3050c6p-2 +-0x1.4ddd24p+1 +-0x1.31c498p-4 +-0x1.54e8b2p-4 +-0x1.32eb68p-4 +-0x1.49c4c2p+3 +0x1.b437eap-5 +-0x1.a149a4p+1 +-0x1.31867p-4 +0x1.729434p+1 +-0x1.4ecf7cp+1 +0x1.2f09p-1 +0x1.792de6p-2 +-0x1.760a02p-1 +-0x1.00044ap+1 +-0x1.2ca72ap+1 +-0x1.28bb78p-4 +0x1.0c6ef6p+2 +-0x1.6541ep+0 +0x1.a17bbp+1 +-0x1.43fa36p+1 +-0x1.f01772p-1 +-0x1.2fb4fep-2 +-0x1.090966p+0 +-0x1.3429bp-4 +-0x1.8663d2p-2 +-0x1.687992p-2 +-0x1.201236p+1 +0x1.8eea1p+1 +-0x1.4ca762p-2 +0x1.1accb4p+2 +-0x1.2e1a5ap-4 +0x1.885802p-4 +-0x1.8f22eep-4 +-0x1.013a28p-2 +-0x1.6c4176p+1 +-0x1.5467dap+1 +-0x1.3965aep-2 +-0x1.7af334p+1 +-0x1.20fc2ep+1 +-0x1.c65aacp-4 +-0x1.31be86p-4 +0x1.9a0464p-3 +0x1.808ff4p-1 +0x1.83ebcep+1 +0x1.bf2bap-4 +-0x1.6ea6eep+1 +0x1.3c0614p+1 +-0x1.67be1p-3 +-0x1.5e68cep+1 +-0x1.0fe648p-1 +-0x1.8d5ae2p-1 +0x1.239e2ep-3 +-0x1.3204eep-4 +0x1.be1176p-4 +-0x1.36bd38p-4 +0x1.6f607cp+1 +0x1.d7ce82p-3 +-0x1.6eeff6p+0 +0x1.0d7c94p+2 +0x1.f4c93cp+0 +0x1.9c2fccp-2 +-0x1.1a65cap+1 +-0x1.89d558p+1 +0x1.89e702p-1 +-0x1.dc78b6p-3 +-0x1.114834p-7 +0x1.8a616ep+0 +-0x1.359ecep-4 +-0x1.3bf01p+1 +-0x1.4c0a78p+0 +-0x1.b84bfp-4 +0x1.7f4842p-5 +0x1.1eeabcp-1 +0x1.720f42p-2 +-0x1.497d2ep+1 +-0x1.2c5a1ep+1 +0x1.1cd364p+2 +-0x1.32f838p-4 +0x1.11ebbp-1 +0x1.08e6dep-1 +-0x1.4bbf28p-3 +0x1.765a02p+0 +0x1.a5db9p+1 +-0x1.635d1cp+0 +-0x1.16d85cp+0 +0x1.48e082p+0 +0x1.31a8d4p+1 +-0x1.ca1c54p-2 +0x1.58fc9cp-2 +-0x1.2fd26ep-4 +0x1.22db18p-6 +-0x1.2ced4ep-5 +-0x1.2842a8p-4 +0x1.181b6ap+2 +0x1.97c4dep+1 +-0x1.7161a8p-1 +0x1.012b68p-1 +-0x1.cfb272p+0 +0x1.18976ap+2 +0x1.3fde66p-1 +-0x1.330cap-4 +0x1.62cb5p+1 +-0x1.2eb88cp-4 +-0x1.6a2b6ep+1 +-0x1.35072ep-4 +0x1.2ecd0ep+1 +0x1.93a21ep-1 +0x1.9e53bp+1 +0x1.087e3cp-5 +0x1.af8516p-2 +0x1.0e74ap+2 +-0x1.ec4bc8p+2 +-0x1.8a5d82p+1 +0x1.5ea982p-1 +-0x1.3541cp-4 +-0x1.74371p-1 +-0x1.e06d5cp+0 +-0x1.3280bcp-4 +-0x1.32f774p-4 +-0x1.70ac58p+1 +-0x1.2f25aep+2 +-0x1.0dc2d8p-2 +0x1.ac224ep-4 +-0x1.bfcde4p-2 +0x1.83ce48p+1 +-0x1.0d8bb4p-4 +0x1.4ba414p-2 +0x1.5fbf6p-1 +0x1.a05ff8p+1 +-0x1.01cd14p-1 +-0x1.365478p-4 +-0x1.8f732ap-5 +-0x1.fb09ecp-1 +-0x1.043ec6p+1 +0x1.01f7cep-1 +-0x1.30f7dep-4 +-0x1.76a19p-3 +-0x1.feec72p+0 +-0x1.5eeaeep-1 +-0x1.723032p-2 +-0x1.e591b6p-2 +-0x1.6a82acp+0 +0x1.520614p+1 +-0x1.efe32p-3 +0x1.13cecap+2 +0x1.a002aep+1 +0x1.122dbep-1 +-0x1.3182d6p-1 +0x1.2904c2p-3 +-0x1.940cd6p+0 +-0x1.2bc316p-4 +-0x1.af4b52p-2 +-0x1.97f2a2p+1 +0x1.99bbe4p+1 +0x1.17c292p+2 +-0x1.268ae2p+2 +-0x1.46e27ap+1 +0x1.8e6e42p+1 +0x1.1d204ap+2 +0x1.ba4234p-6 +-0x1.354224p-4 +0x1.1a24ap-1 +-0x1.205ce8p-2 +0x1.1dc96ap+2 +-0x1.43b982p+2 +0x1.4cedfep+0 +0x1.28bdf8p+0 +0x1.07dcc6p-1 +-0x1.4e5178p-1 +-0x1.069086p+3 +-0x1.561432p+0 +0x1.4d9a08p-1 +-0x1.3628c8p-4 +-0x1.4fdecep+1 +0x1.b049bep-2 +0x1.01e4a6p+0 +-0x1.a1647ep-1 +0x1.d9e2p+1 +-0x1.35f696p-4 +0x1.92dbaap+1 +-0x1.360078p+1 +0x1.bfc58ep-3 +-0x1.d32e94p+0 +0x1.37975p-3 +-0x1.1ca94ap+4 +0x1.902da4p+1 +0x1.95e31cp+1 +0x1.2aee2ap-1 +-0x1.65d58ap+1 +-0x1.00451cp+1 +0x1.19be14p+2 +-0x1.87759ep+1 +0x1.42e32p-2 +-0x1.2f5a58p-4 +-0x1.27fb92p+2 +0x1.78136cp+1 +0x1.27ad7p+1 +0x1.0d92bep-2 +0x1.4eca7p+0 +-0x1.35f8c8p-4 +0x1.573b4cp-3 +0x1.a78904p+1 +-0x1.477fcp+1 +-0x1.d5d7fap+3 +-0x1.492ee2p+1 +0x1.813bf6p+1 +-0x1.785124p+0 +-0x1.539ccep+1 +0x1.c7229ep+2 +-0x1.52da9ap-1 +0x1.3eaceep-1 +-0x1.efcbf2p-3 +0x1.00ef8ep-4 +0x1.f4ba56p-1 +-0x1.5ef02ap+0 +-0x1.345798p-4 +-0x1.fe005ap+2 +0x1.a79bf6p+1 +-0x1.4c5ebep-4 +-0x1.14c224p+2 +-0x1.0182a6p+1 +-0x1.72f084p+1 +0x1.9714b8p+1 +0x1.63ea48p-4 +0x1.006dfp-1 +0x1.d9e87p+1 +0x1.584fecp-2 +0x1.479bp-2 +0x1.83c21cp+1 +-0x1.bd177cp+0 +0x1.ae7256p-4 +-0x1.31ad44p-1 +-0x1.154218p+1 +0x1.55e3f6p-1 +-0x1.0a097cp+1 +0x1.a4aa2cp+1 +-0x1.2c0b1ep-4 +0x1.03afbp-1 +-0x1.4457b4p+0 +0x1.768e52p-5 +0x1.4e0458p-1 +-0x1.591124p+1 +0x1.1b53d2p+2 +0x1.117152p-1 +0x1.ac1a62p+1 +0x1.036db4p-4 +-0x1.99fccp-3 +0x1.aefd9cp+1 +0x1.67622p+1 +-0x1.7b603ap-7 +-0x1.369f8cp-4 +-0x1.47ef54p+0 +0x1.8ccf44p+1 +-0x1.1c9e86p-7 +-0x1.f1b734p+0 +-0x1.2f5b3ap-4 +0x1.df5724p+0 +-0x1.32bc2cp-4 +-0x1.b1437p+0 +-0x1.273b8p-4 +-0x1.dc6104p-1 +-0x1.5944d6p+1 +-0x1.2b1dccp+1 +-0x1.5cad7cp+0 +0x1.71a4fp-2 +-0x1.5e61e8p-2 +0x1.17f392p+2 +0x1.301478p-2 +-0x1.32d82ap-4 +-0x1.6e3d4ep+1 +0x1.15097ep+2 +-0x1.d498a2p-6 +0x1.c33044p-4 +-0x1.5c56e8p+2 +-0x1.07d544p-1 +-0x1.2c81fcp-4 +0x1.4add72p+0 +0x1.eda0dap-2 +-0x1.9f8208p+1 +0x1.44f78p-1 +-0x1.632352p+0 +-0x1.f30448p-1 +0x1.756074p+1 +0x1.46dc4p-2 +-0x1.30e0cp+1 +0x1.1da808p-2 +0x1.4c0066p-1 +0x1.57c40ap-4 +0x1.0ed704p-2 +0x1.e20af6p+0 +0x1.3f9d9ep-1 +0x1.e3963cp-2 +0x1.9962bep+1 +0x1.1970e4p+2 +-0x1.367d5ap-4 +0x1.7c379cp-3 +-0x1.535108p+1 +-0x1.a18f2ap+0 +-0x1.15105ep+2 +0x1.1b784p+2 +0x1.3a4166p-3 +0x1.b7f37ep-1 +0x1.2329bp-4 +0x1.5b87b6p+1 +-0x1.5ee2bcp+0 +-0x1.8b0e2ep-2 +-0x1.56d3ep+1 +0x1.10f4dep+2 +-0x1.0bf5a6p+0 +-0x1.732da6p-4 +0x1.03c83ap+1 +-0x1.47477ep+1 +-0x1.1a484cp+0 +0x1.54e216p+1 +-0x1.607414p+1 +0x1.3af45ep+1 +0x1.2d35dap-3 +-0x1.6c0594p+0 +-0x1.337242p-3 +0x1.9c45e4p+1 +-0x1.63708cp-2 +0x1.58e512p+1 +-0x1.40e748p-7 +0x1.6d6436p-2 +-0x1.70756p+3 +-0x1.13d5bp+1 +-0x1.0bdb8ap+3 +0x1.76ba4ap+1 +0x1.74c826p+1 +-0x1.30a1d8p-4 +0x1.210e5cp-2 +0x1.0d781ap+2 +0x1.8e798cp+1 +-0x1.35df74p-4 +-0x1.2e04dcp-4 +0x1.66940ep+1 +0x1.6a04b2p-2 +0x1.d7c0c6p-6 +-0x1.3777d8p-1 +0x1.781b4ap+0 +0x1.9b9eb6p-4 +-0x1.52ca5cp+1 +-0x1.bd3f38p-2 +0x1.321e0ap-1 +-0x1.139e9ap+1 +0x1.a54e7p+2 +0x1.e5424ap-4 +-0x1.e1a202p-1 +0x1.9663a2p+1 +0x1.5168ccp+1 +-0x1.4a0188p-2 +-0x1.fa0c48p-1 +0x1.6c0bccp+1 +0x1.0e3b7cp+2 +0x1.1e5b42p+0 +0x1.cc844p-2 +-0x1.637bccp+1 +-0x1.36ad66p-4 +-0x1.156c24p+1 +0x1.71e292p-2 +-0x1.d9793ap-1 +0x1.fa92f8p-3 +-0x1.488b06p+0 +0x1.07cd1ap-4 +-0x1.8702a2p-2 +-0x1.225c9ep+1 +-0x1.7f7204p-3 +0x1.3a85c6p-2 +-0x1.1f5404p+1 +0x1.2c18aep-3 +-0x1.02c0aep-5 +-0x1.5e04dcp+1 +0x1.7c36b8p+1 +0x1.96c038p+1 +-0x1.db2e8cp-2 +-0x1.cd07d8p-3 +0x1.7b3e0cp+1 +0x1.1c8c62p+2 +-0x1.617268p+1 +-0x1.e6645p+0 +-0x1.08b348p-4 +0x1.1ac63ep+2 +0x1.0dfb3cp+2 +0x1.1e3e4ep-1 +0x1.6dc63cp+1 +-0x1.45a632p-3 +0x1.714c24p-2 +0x1.ee9792p-1 +0x1.afc428p-2 +-0x1.07fedcp+0 +0x1.55a38ap-2 +0x1.14c72ep-2 +0x1.226b88p-1 +-0x1.2f4d32p-4 +0x1.3e2c1ap+0 +0x1.6a05d4p+1 +0x1.14bf0cp-1 +-0x1.32a40cp-4 +-0x1.a5aa4ap-5 +-0x1.1f319ep+2 +0x1.3b6b16p-2 +0x1.d9e6f2p+1 +0x1.0186fp-1 +0x1.14dcdcp-3 +-0x1.73ec3ep+1 +-0x1.0e6aaep-3 +0x1.9ea2f4p+1 +-0x1.13233ap+4 +-0x1.34f558p-4 +-0x1.0e0352p-1 +-0x1.737926p-2 +0x1.645f06p-4 +0x1.7073b4p+0 +0x1.1e13a6p+1 +-0x1.03cef8p+1 +0x1.131784p+2 +0x1.11a526p+1 +-0x1.fcbca6p+0 +0x1.7b65e6p-2 +-0x1.418c16p+1 +0x1.38fd4p-1 +0x1.62fe14p+1 +0x1.780cb6p+1 +-0x1.e8d1fp-1 +0x1.228b02p-6 +0x1.85b9dcp+1 +0x1.0e283ap+2 +-0x1.d5a52cp+0 +-0x1.9209b4p+3 +-0x1.cb4b88p+1 +-0x1.71d56ap+0 +-0x1.43d83ep-8 +-0x1.354fcep-4 +0x1.816a8p+1 +-0x1.0c00ccp-4 +-0x1.3700fep-4 +0x1.74853cp-5 +-0x1.f78656p-2 +0x1.1b84a2p-1 +-0x1.dad15p-2 +-0x1.46dffp+1 +-0x1.b7d5e6p-2 +-0x1.b73ee2p-11 +0x1.81e878p+1 +-0x1.2dd9f4p-4 +0x1.1c6e4p+0 +0x1.207204p-1 +-0x1.8ba2fap-1 +0x1.4b0e1p+0 +0x1.7606eep+0 +0x1.6125b2p+1 +-0x1.8e964ep-1 +0x1.9e5e94p+1 +-0x1.326f4p-4 +0x1.a89b54p+1 +-0x1.6378d8p-1 +-0x1.23a9d2p+2 +0x1.892ac4p+1 +0x1.4aef3cp+1 +-0x1.87e214p+1 +-0x1.52ebf8p+1 +0x1.78eedap+1 +-0x1.6185eap+3 +-0x1.28c228p+2 +-0x1.975928p+1 +0x1.31bdbcp-4 +0x1.86aec2p-7 +0x1.5abb42p-2 +-0x1.18b8f8p-2 +-0x1.73433ep-2 +-0x1.6ec38ap-3 +0x1.1a330ep+2 +-0x1.97b946p+2 +0x1.077e5p+1 +0x1.18f0a4p+2 +-0x1.351ab4p-4 +0x1.3817d8p-1 +0x1.55e486p+1 +-0x1.1deec8p-1 +-0x1.838984p+0 +-0x1.bfe726p+0 +-0x1.139b52p+4 +0x1.1c8ecap+2 +-0x1.385deep-2 +0x1.7ad5bep+1 +-0x1.ca4ea2p-1 +-0x1.528404p+1 +0x1.965e58p+1 +-0x1.3f8154p+1 +-0x1.dfabap-2 +-0x1.303b3cp-4 +0x1.15e698p+1 +0x1.15663ep+0 +-0x1.38e5bep+1 +0x1.1aa762p+0 +-0x1.f4a76p+0 +-0x1.34a1a8p-4 +-0x1.287326p+1 +-0x1.243778p+1 +0x1.b13e2p-2 +0x1.18aaacp+2 +-0x1.399494p+1 +0x1.6a5d54p+1 +-0x1.329d12p-4 +-0x1.4e209ap+1 +-0x1.0406fcp+1 +0x1.d1f2eep-4 +0x1.3be89cp+1 +0x1.ad9acap-2 +0x1.1303e6p-1 +-0x1.8dd6bap+3 +-0x1.7fe85ap-3 +0x1.964c34p-2 +-0x1.060912p+1 +-0x1.f2eff6p-6 +0x1.39aeacp+1 +0x1.83e306p+1 +-0x1.3cc9c2p+1 +-0x1.296034p-4 +0x1.d3fe14p-2 +0x1.5a2b0ep+1 +-0x1.687954p-5 +0x1.1947f8p-2 +0x1.0d6d1p+2 +-0x1.d56f06p-1 +-0x1.64804p+1 +-0x1.2d370ep-4 +-0x1.fd54b6p-1 +-0x1.469a58p+1 +-0x1.2600ccp-3 +0x1.4a52a2p+1 +0x1.143b5ap+1 +-0x1.3ee13p+0 +0x1.992f76p+1 +-0x1.22f3aap-1 +0x1.0c5358p-2 +-0x1.8268f2p-12 +-0x1.4a87f2p+0 +0x1.f09afcp-2 +0x1.c8f29ap+0 +0x1.5f28ccp+1 +-0x1.5b39b2p+1 +0x1.ceaa38p-6 +0x1.1971ecp+0 +-0x1.0db4d4p+0 +-0x1.31e0c6p-4 +-0x1.29491ap-4 +-0x1.32b39ep-4 +0x1.b237d8p-3 +0x1.937e58p+1 +-0x1.130dccp-7 +0x1.86e96p+1 +-0x1.bf69d8p-3 +-0x1.36035cp+4 +-0x1.58c7b8p+0 +-0x1.49eb1ep+1 +0x1.5c5262p-1 +0x1.53fcc8p-2 +0x1.3bc1f6p+1 +-0x1.347122p-4 +0x1.774766p+1 +-0x1.b131c6p+0 +-0x1.1ab9fcp+0 +-0x1.312e72p-4 +-0x1.6158bp+1 +0x1.020bf2p-1 +-0x1.95e65cp-1 +0x1.0f855p-1 +0x1.753114p-2 +-0x1.fa4ap-2 +-0x1.f5789cp+0 +0x1.c7f504p-5 +0x1.130f1ep-1 +0x1.8259d6p+1 +0x1.fd4d5p-2 +-0x1.09fbb6p+1 +0x1.0d403p+2 +-0x1.3fedf6p-4 +-0x1.4e95b4p+3 +0x1.157abep+2 +0x1.1581cp+2 +0x1.0f18ccp+0 +-0x1.ba5008p-3 +-0x1.0450f4p-2 +0x1.9f78b4p+1 +0x1.45e0dap-1 +0x1.700002p+0 +-0x1.c749d2p+1 +0x1.2d70bp+1 +-0x1.6772e2p-3 +-0x1.68b22ep+0 +-0x1.9767ecp+0 +-0x1.29b4dap-4 +0x1.e3f134p-1 +-0x1.31b36ap-4 +-0x1.bc7d5p+1 +-0x1.0f42fp+0 +-0x1.7f8552p+0 +0x1.10d28ep+1 +0x1.1a463cp+2 +0x1.2478a6p-9 +-0x1.2a63acp+1 +0x1.1d6f0ep+2 +0x1.4ca544p-2 +-0x1.fb922ep-12 +0x1.798756p+2 +0x1.8c9b7cp+1 +0x1.0d1ff2p+2 +-0x1.67d556p-1 +-0x1.44c0f4p-4 +-0x1.2e8d9ep-4 +-0x1.dcc188p-2 +-0x1.9624d4p+1 +-0x1.649b1p-1 +0x1.a69b1p+1 +0x1.fb523cp-1 +0x1.57c3fep-2 +0x1.6a83a8p-8 +-0x1.33fc56p-4 +0x1.a6601ep+1 +-0x1.552a5ep+0 +-0x1.5cd282p+4 +-0x1.014422p-2 +0x1.919078p+1 +-0x1.03e91cp+0 +0x1.4e8f42p+1 +0x1.49c32p-2 +0x1.1c34fap-1 +-0x1.d0cacp+2 +-0x1.a6e4a6p-3 +0x1.1979d2p+2 +-0x1.5c7444p+1 +-0x1.204fa8p+1 +-0x1.74de44p-5 +0x1.0d3e2ep+2 +-0x1.59b50cp-2 +0x1.1d7a2cp+2 +-0x1.d84d02p-2 +-0x1.e823d4p-4 +-0x1.a6bf2p-1 +0x1.8e54fp+1 +0x1.a35faep-2 +-0x1.0c803p-1 +0x1.3d3d6ap+1 +0x1.bc89dep-1 +-0x1.3d136ap+1 +-0x1.1291d4p-6 +-0x1.864fb2p-4 +0x1.62ba24p-1 +0x1.6e8daep+1 +-0x1.5e7486p-4 +0x1.0e6faap+2 +0x1.31a202p-1 +-0x1.3cd606p+3 +-0x1.c5d49p+0 +0x1.1f738ap+0 +0x1.1c5f44p+2 +-0x1.072c08p-4 +0x1.0cf76cp+2 +-0x1.b957c4p-2 +-0x1.1ad3c8p-1 +0x1.b6578p-2 +-0x1.703f3ap-6 +-0x1.68a344p+0 +-0x1.eb8188p+0 +0x1.0e0802p+2 +0x1.dbd8e4p-2 +0x1.364246p-2 +-0x1.ffc1cep-1 +0x1.749832p+0 +-0x1.cf3a6ep-7 +-0x1.66df6p-1 +-0x1.1017bep+3 +0x1.05c8fcp-1 +-0x1.7ab2dap-7 +0x1.9d6a3p+1 +-0x1.337716p-4 +-0x1.c1934cp-1 +-0x1.138ebcp-1 +-0x1.35f16p-4 +-0x1.64780ap-6 +-0x1.167f94p+3 +-0x1.5158d2p+1 +-0x1.fdd872p-3 +0x1.a2b46p+1 +0x1.2436fcp-2 +-0x1.68d52ap-2 +0x1.8efb64p-3 +0x1.a0dc7ep+1 +-0x1.a0112cp+0 +-0x1.1a17cep+0 +-0x1.6c7ee2p+0 +-0x1.05f67cp+0 +-0x1.0b36b8p+3 +-0x1.36523ep-4 +0x1.f11a42p-1 +0x1.15ab74p+2 +-0x1.5bc8ecp+0 +-0x1.2ea89cp-4 +0x1.73c892p-1 +0x1.1bf5cep-2 +-0x1.81da28p+0 +0x1.08eee6p-1 +0x1.20aaa8p+0 +-0x1.433b2p-1 +-0x1.2e48c8p-4 +0x1.33ef54p-1 +-0x1.8d8fap-1 +0x1.a5c5bcp-4 +-0x1.3478eap-4 +0x1.2e3552p+0 +0x1.12a2dp+2 +0x1.e446b2p-4 +0x1.7979ecp+1 +0x1.166012p+2 +-0x1.454876p-2 +0x1.aa6f0ap-4 +-0x1.20bd32p+1 +-0x1.34c7d8p+0 +-0x1.4cfd8ap-7 +-0x1.36b0e4p-4 +-0x1.db3a1cp-3 +0x1.d9eabp+1 +0x1.9898dap+1 +-0x1.0fdefep+1 +0x1.7aa95ep+1 +-0x1.e05838p-1 +-0x1.11bb4ep+1 +0x1.9be3cap+1 +-0x1.36a57ap-4 +-0x1.2d24dp+4 +0x1.6f97eep+1 +-0x1.264e28p-3 +-0x1.152cbap+1 +0x1.136628p+2 +-0x1.a79d3ep-4 +0x1.1f1dd2p-1 +-0x1.3a5e08p-2 +0x1.74f1a2p-1 +0x1.0da394p+2 +-0x1.b18996p+2 +-0x1.326c62p-4 +-0x1.c774eep-1 +-0x1.6e756ep-2 +0x1.1d8ce4p+2 +-0x1.27e158p-2 +-0x1.ef3134p-1 +-0x1.d4146ep-5 +-0x1.8b522ap+3 +0x1.92447ap+1 +-0x1.184f48p+0 +0x1.17c732p+2 +-0x1.5fcfb6p+1 +-0x1.35528ap+1 +0x1.0ece64p+2 +-0x1.09e0c6p+1 +0x1.853272p+1 +0x1.0390dap-1 +-0x1.808252p-6 +0x1.b05244p+0 +-0x1.e4320ap-2 +0x1.3a682ep-1 +0x1.9939c2p+1 +-0x1.ff5038p-2 +-0x1.7c7414p+1 +0x1.1271c8p+1 +0x1.10db3ep+2 +0x1.08362ep+1 +0x1.7dc1fcp+1 +0x1.f9b97ep+0 +0x1.7f991p+1 +0x1.13b7fp-5 +-0x1.36f9a6p+1 +-0x1.bf33aap-17 +0x1.4d48eap+1 +0x1.814322p+1 +0x1.104532p+2 +-0x1.cc3924p-1 +0x1.a82e48p+1 +-0x1.8066e4p-1 +-0x1.31c88p-4 +0x1.1c0d22p+1 +0x1.45a4a2p+0 +-0x1.952a72p-2 +-0x1.b8945p+0 +0x1.4d78c8p+1 +-0x1.1d5f4p+4 +0x1.13ef6cp-1 +-0x1.808e5ap+1 +0x1.17c234p+2 +0x1.11b728p+0 +-0x1.a9d59cp-4 +0x1.8938aap-6 +-0x1.1f29cep+3 +0x1.c99c2ap-4 +0x1.6209eap+1 +0x1.15c72ap+2 +0x1.120c28p+2 +0x1.592c44p-5 +0x1.7b32e4p-3 +-0x1.ea1faep-3 +0x1.07e47cp-4 +0x1.1824e2p+2 +0x1.623f26p-1 +-0x1.535f3p-3 +0x1.5b77e4p+1 +0x1.166e9p+0 +-0x1.d7f864p-9 +0x1.6be938p+1 +-0x1.053aa8p-6 +-0x1.3a1f6p+0 +0x1.d11a72p-4 +0x1.066e6ep-1 +-0x1.553c24p-3 +0x1.4a1adep+1 +-0x1.165dfep-3 +0x1.9aea0cp+1 +0x1.3fa66p-1 +0x1.44717ep+1 +0x1.d4b5ep+0 +-0x1.4ce712p+1 +0x1.90dc5p+1 +-0x1.bb9926p+1 +-0x1.ea6a6p+0 +0x1.a4f664p+0 +-0x1.d0789ep+1 +0x1.47ff3p+0 +-0x1.a4582ap-2 +0x1.0f1fbcp+2 +-0x1.851cbep+0 +-0x1.cad56p+0 +0x1.fb3c08p-1 +-0x1.8600c4p+0 +-0x1.280b14p-4 +0x1.453bcep+1 +-0x1.65a45p-2 +-0x1.02c716p+1 +-0x1.0f67dcp+0 +-0x1.3329dcp-4 +-0x1.813234p+0 +0x1.48ab04p+0 +0x1.959152p+1 +0x1.1d050ap+2 +0x1.44c6dcp-3 +0x1.18537cp+2 +-0x1.92e60ep+1 +-0x1.525a6p+3 +0x1.279f9ap-1 +0x1.d03c6p-2 +-0x1.95b67p-2 +0x1.2b892p+1 +0x1.8aed26p+0 +0x1.71a006p+1 +0x1.2e8d8cp+0 +-0x1.56105cp-2 +-0x1.361ac2p-4 +0x1.e8907cp-3 +0x1.2e161p+2 +0x1.10c198p+2 +0x1.e31decp+2 +-0x1.413e02p+1 +-0x1.c12e1p-2 +0x1.9daef2p-2 +-0x1.b2a0f4p+0 +-0x1.59e422p-3 +-0x1.041c7ep+0 +0x1.790cd8p+1 +0x1.6650fcp+1 +-0x1.35f2dep-4 +-0x1.ff881cp+0 +-0x1.2704d2p+1 +0x1.9e0808p-3 +0x1.96a51p+1 +0x1.1aeb02p+2 +-0x1.2e50b8p-2 +-0x1.74685cp+1 +0x1.9bf692p+1 +-0x1.35fff4p-4 +-0x1.41eb4ap+4 +-0x1.e8ac7p+1 +0x1.4c0388p-1 +-0x1.30d8aap-4 +0x1.a4a072p+0 +-0x1.437f74p+1 +-0x1.1593a4p+0 +0x1.77bdeep+1 +0x1.7cda62p+1 +-0x1.19d11cp+2 +0x1.1de2e2p+2 +0x1.964d1p-4 +-0x1.db69fep-2 +-0x1.a3d6cep-3 +0x1.9f68cap-2 +-0x1.04116cp-5 +0x1.05b658p-1 +0x1.1d7a04p+0 +0x1.19b26ap+2 +0x1.0d19eep+2 +0x1.6ddca6p-2 +0x1.429242p-2 +0x1.79bd98p-2 +0x1.460756p+1 +0x1.4ef02p-3 +0x1.5ab3bap+1 +0x1.81525ep+1 +-0x1.21c3bcp+1 +0x1.99bf02p+1 +-0x1.f42bc6p+0 +0x1.2191ap+2 +-0x1.1fa0bcp+2 +-0x1.1e539cp-3 +0x1.1aaaaep+2 +0x1.1e9862p-2 +-0x1.34fb92p-5 +0x1.78626ep+1 +0x1.a1dd9ap+1 +-0x1.24e6dap+2 +-0x1.0d049p-3 +-0x1.ed15acp+0 +0x1.2c3006p-1 +0x1.751326p-3 +0x1.9b3f0cp+1 +-0x1.53880cp-2 +0x1.d9e45p+1 +0x1.ef5dfap+0 +0x1.aa1c96p+1 +0x1.746548p+1 +0x1.6f4152p-1 +-0x1.d895a6p-5 +-0x1.3de39cp+4 +-0x1.2d7adap-1 +0x1.5fe768p-1 +-0x1.2d176ep+1 +0x1.3c92eep+3 +0x1.76be62p+0 +0x1.91f7aap+1 +0x1.cba684p-2 +-0x1.350b24p-4 +0x1.e89612p+0 +-0x1.e0d5dcp-1 +-0x1.7c4b6ep+1 +-0x1.ce6d08p-4 +-0x1.e4e1fp+0 +0x1.1e69a6p+2 +-0x1.a72352p+2 +-0x1.fa0866p-3 +0x1.193b9ep+2 +-0x1.e5a2dcp+0 +0x1.bac746p-4 +-0x1.a74954p+1 +0x1.b6958ap+1 +0x1.10dfd8p+2 +-0x1.238eeep+1 +0x1.5fef46p+0 +-0x1.b72a8ap-1 +0x1.f9e15ep-2 +0x1.d82a3ap-8 +-0x1.28248ap+1 +-0x1.aa113ap-5 +-0x1.1a412ep+1 +0x1.679748p-1 +0x1.22106ep-2 +-0x1.3122d6p-1 +0x1.0c6e18p+2 +0x1.a79f02p+1 +-0x1.8f3d18p+0 +0x1.14ddb2p-1 +0x1.7ebb34p+1 +-0x1.2e5b18p+3 +-0x1.c61e0cp+1 +0x1.59dcb4p+1 +0x1.79d2bap-3 +0x1.cfc494p-4 +-0x1.2ac43ap+2 +0x1.13727p+2 +-0x1.033e3ap-2 +-0x1.06p+5 +-0x1.23a906p-3 +0x1.bd019ep-2 +-0x1.f5986cp+0 +-0x1.313e8cp+1 +0x1.5ed728p-5 +-0x1.88d504p+1 +0x1.7a0fc8p+1 +-0x1.bba7fep-2 +0x1.2d0bccp+0 +0x1.68e3p+1 +0x1.8c6fb6p+1 +0x1.5531a6p-2 +-0x1.46bc7cp+1 +-0x1.706772p-3 +0x1.c008d6p+0 +-0x1.36eb54p-4 +-0x1.6f548p+1 +0x1.ffadf6p-4 +0x1.972fb6p+1 +0x1.d9eff8p+1 +0x1.0acaecp+0 +0x1.1a5ac2p+2 +0x1.79d0cep+1 +0x1.857eaep+1 +-0x1.0691d2p+1 +0x1.26905p-2 +-0x1.e91e28p-2 +0x1.0a9cbep-2 +-0x1.34f3f4p-4 +0x1.9f93d4p-2 +-0x1.b74e3p-1 +0x1.8300cap+1 +-0x1.43973ap+1 +-0x1.d1cb64p+0 +0x1.154c14p+2 +0x1.e48fap-1 +0x1.bc715ep-2 +-0x1.142f68p-6 +-0x1.ce93ep+1 +-0x1.c96304p-5 +0x1.0cde26p+2 From patchwork Fri Oct 25 18:21:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 838378 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp443293wri; Fri, 25 Oct 2024 11:27:53 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVmHBKUv194hL2rkOuRbc4uy8jtw2t5mUAW6t6ibx17IymHika2z383mBiQDAnpYWDO2nq9AQ==@linaro.org X-Google-Smtp-Source: AGHT+IE+cMLXMjfo79GNqy4+0RQQmZzek2bOoWIx0cO2gGZq1J+5xykh15ZXkOtrLjcvAC6RlvHT X-Received: by 2002:a05:620a:28ca:b0:7b1:4073:e8c9 with SMTP id af79cd13be357-7b193eee1acmr46431585a.20.1729880873007; Fri, 25 Oct 2024 11:27:53 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729880872; cv=pass; d=google.com; s=arc-20240605; b=C8phMjipSNvnIBKMEv3DRCMZcbRhxw4+vYAlzNVGbP1Qvjl8je/q8TLE7u2NH72F4e VtGW1COvRR/znqX+HuhdoIxOhV9zwr1Fe9JdZ3A1KIPvJElco3Q2rYvMxwwkQHwC7jOU s5G5X+TzgwVxc+D7XoOlEvM2yVAZMVAb1qECnIW92gCHiEtCs/3hFKwmqI80HV4mwW2X XOr1GXaXx/H8jhRrqhCsCZ7MZc8v7f23SGV+wuUZG1n3j7ngi4viH4wb+n5n1togbLAS ZdPoBfQouCWDLmW2P07QzlT0uVeAMpD0szKXX0X7le2s5KNVo39c9u409yrZoQqYzXer nz4Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=zPKEnt/8R8+NwNRljJpw3peesI6P70FnlzLRb1LZVZU=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=GK8tsb8ESOrH9N1cqOgX2teQl9jIhJdhScHMjEB2UpL/V9uUDg4qlJZwvXGS5BXbcy OTntHxPN6+KDx7BIXfkkevX6Uxptx/LNvVuNE7S7+ilWeb63q+UnaYLAWbos6Jy0wm4k 6ThX99MnKuhSUK6fH8gbUaXhkG3evMQPYUQ54Bax5jwCMT7DZV8ZauLDmhw7McKHGIHE 2A/IzumWbmy8QKZSYEJmAVv10KrWHTI6IL6tgD1BJmKZnOnzzFj4J5p6lUDjkT4RK1Ix pBBqNjmaElUyTPG1xxVIFaFWnwnwYSbBrNrtHnrs/7Yd7Tqr8uuEQmMYoh53m7RAL5K5 qrlQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=qHsvLc3j; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id af79cd13be357-7b18d345633si206249085a.485.2024.10.25.11.27.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:27:52 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=qHsvLc3j; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 928133858403 for ; Fri, 25 Oct 2024 18:27:52 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com [IPv6:2607:f8b0:4864:20::62b]) by sourceware.org (Postfix) with ESMTPS id 6BF5F3858C42 for ; Fri, 25 Oct 2024 18:26:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6BF5F3858C42 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 6BF5F3858C42 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62b ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880804; cv=none; b=wcKu1mXkdNLMdvLqQ2+4qreH2u/GCok8lcDvA6Cp1WNJZgScIl0YaJWUtVPZcmrFW4/nZlH4EWGmNkV21bRYy2ImisyUUf4L3w0dML5UN84f9YHBTvDeYb6pgdOujIN7+txRzbnIUGtv2z+R/4cI0tsagg8evS9oz40TBqFlNdA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880804; c=relaxed/simple; bh=r6KmAZDD7VE1fFDm6Mj8b0i4dua8j50LxLdchuEYmP0=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=Rm/HOWAS4tC2vIDtIhEQAIx5QqFyTyUcxrsSwWlLs9uGNISeAMOtHrlVo4kW6fFAbt9i1OyFg68oSDOPLHkzY/k6AHpwp02619EpNlERtsO36EzUWwD+QUIDeD1QPaS6jlWe6z4qwyz5oZFI9Z7aA7wc2pZdzRQon0SncVNdO/o= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-20cbcd71012so23632785ad.3 for ; Fri, 25 Oct 2024 11:26:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880791; x=1730485591; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zPKEnt/8R8+NwNRljJpw3peesI6P70FnlzLRb1LZVZU=; b=qHsvLc3jpHkcVwzuy2oucPxfFeR/mQjGNNfj0LNeS74UQQiXboFgAhuw03vvBTLmX6 GUopr9gy+x4bG8ynK/sElnwa2KyAQW7temLecJ5Ww99IFOGpnMs4f//zLLjNOVqsw1r0 5UUxMRWoxoP+WaGwyAQDh2PjF1/DVfEPvPJ4RxDGvBTxGTHj7316zxNO4HQN0rF9V+jp qaGz80CO6eGoJF0XHKiKsiKoF9vxTy2KKqeM2T2EHurduxiu3aDuO1uB3JzgtJznGyLq e7QACKhcRnewBtK3/5pLKxxY3oUPcWxMTYRg8p805cqVZnKIQ4TR1A5t50M7RmxZuz03 wiEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880791; x=1730485591; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zPKEnt/8R8+NwNRljJpw3peesI6P70FnlzLRb1LZVZU=; b=hQ+1RoccS8V7snTym7tdvrmqUzugyc40zsPLYUaZLBfRI6l5g2BttBUnbR1vV41Mwp gcRB2GQPKhTZmfou92G+JMoLHI67U8j/vbGuTUvqpOph04uSykhanonJyeWnMggvClxE 3ncMSbeEPdhAY7e6shVo4SMY7iaDKIGD+O59sIbp5/juP7CmTUh7H9JnyvcEiCcc22dk LeocI7rCPcefExnkEvnpE7JL1ynM/PZezPJ6rmrzi2OaR9Qc3ihzuMrWEUIgwbyoAPWY inExc3Kn6JaXssAjeB3s5k+atyjjZdeFsX6PiCOqhBcbjckuOppebt4wDof5/6FnEQLL U22w== X-Gm-Message-State: AOJu0YwpnA5QR0msSdhsoE85B0Zwo7C/aYuz5Gp4nDydVsCMZSgLJ6TG fE0L19Z+ndogMqfYBlal5J4cThFYl3OxC5P81TpdiuPNCifxvBbvVUlTTLf7Zfj8gEdD5udzmYt C X-Received: by 2002:a17:903:240b:b0:20c:c9ac:bd05 with SMTP id d9443c01a7336-210c689b948mr968695ad.15.1729880790313; Fri, 25 Oct 2024 11:26:30 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.26.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:26:29 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 03/17] benchtests: Add exp2m1f benchmark Date: Fri, 25 Oct 2024 15:21:41 -0300 Message-ID: <20241025182614.2022697-4-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org The input is based on exp2f benchmark. --- benchtests/Makefile | 1 + benchtests/exp2m1f-inputs | 2388 +++++++++++++++++++++++++++++++++++++ 2 files changed, 2389 insertions(+) create mode 100644 benchtests/exp2m1f-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index 6d57155437..25dfe700a6 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -45,6 +45,7 @@ bench-math := \ exp10m1f \ exp2 \ exp2f \ + exp2m1f \ expf \ expm1 \ floor \ diff --git a/benchtests/exp2m1f-inputs b/benchtests/exp2m1f-inputs new file mode 100644 index 0000000000..fc47072354 --- /dev/null +++ b/benchtests/exp2m1f-inputs @@ -0,0 +1,2388 @@ +## args: float +## ret: float +## includes: math.h +## name: workload-spec2017.wrf +-0x0p+0 +-0x1.092bd4p+2 +-0x1.8af5ecp-1 +0x1.45659p+3 +0x1.388742p+3 +0x1.3857eep+3 +-0x1.80f2ep+0 +-0x1.3a3adcp+1 +-0x1.07b87ap+0 +0x1.3c5c22p+3 +0x1.ede768p+2 +-0x1.bb5bcp-2 +-0x1.0e7d6ep+5 +-0x1.79ac4p+4 +0x1.20fe8ap+3 +-0x1.616dd4p+3 +-0x1.7d3bc2p+0 +0x1.0b8384p+0 +0x1.44422ap+3 +0x1.e3bce8p+2 +0x1.44d11ap+3 +0x1.cfdd92p+2 +-0x1.b5093p+1 +0x1.9d1724p+1 +0x1.9471bcp+2 +0x1.9ccc52p+0 +-0x1.e1ea14p+0 +-0x1.46d1ecp-3 +0x1.927332p-2 +-0x1.d553a2p+1 +0x1.923732p+0 +0x1.6aea06p+2 +0x1.92eb6cp-1 +-0x1.a7cd8ep+2 +-0x1.bda41p+2 +-0x1.312bb8p+1 +0x1.b52ab2p+1 +-0x1.a90d4ep+2 +-0x1.26bc92p+2 +-0x1.6035eep-3 +-0x1.7dbc7ep+3 +-0x1.736a64p-1 +-0x1.7595c8p+2 +-0x1.dade16p-1 +0x1.b3d2c8p+2 +-0x1.ec98dep+1 +-0x1.134a88p+0 +0x1.c5fafap+1 +0x1.255ee4p-3 +-0x1.2da37ep+6 +-0x1.7e171ep+0 +0x1.d9f48ap+2 +-0x1.75f3eep+2 +0x1.3e8f9ap+3 +-0x1.608296p-3 +0x1.b5f2dcp+2 +0x1.d86428p+0 +0x1.412beap+3 +-0x1.3ea40ap+1 +-0x1.41dfc4p+2 +-0x1.21bd5p-2 +-0x1.54fdf8p+2 +-0x1.608d6ap-3 +-0x1.863facp+2 +0x1.ae490ap+2 +-0x1.b04428p+0 +0x1.e5a47p+1 +0x1.bcf1aep+0 +0x1.3c662ap+0 +-0x1.3b0756p+0 +-0x1.6bafb2p+2 +0x1.7bc0dcp+2 +0x1.444f44p+3 +0x1.44609ap+3 +0x1.165ffep+0 +0x1.d47be6p+2 +-0x1.4263ecp+1 +-0x1.8e061ep+2 +0x1.0f0eb8p+0 +-0x1.3fd988p+2 +0x1.4f49f6p+1 +-0x1.543c3cp+3 +-0x1.5f0aa4p-3 +-0x1.5c3fa2p+2 +-0x1.82b9b2p+2 +-0x1.64ce3ap-3 +0x1.79f9f8p+2 +0x1.b24b12p+2 +-0x1.43658cp+3 +-0x1.658068p+0 +0x1.203d1cp+0 +-0x1.c142c6p-1 +0x1.9a1cd6p+1 +-0x1.ade766p+1 +0x1.daf22p+2 +-0x1.62f814p-1 +-0x1.79bb9cp+0 +-0x1.38a3e4p+0 +-0x1.dea0fp+2 +-0x1.f09064p+1 +0x1.e8baep-1 +-0x1.deb80cp+0 +0x1.bc846ap+2 +0x1.ebc59ep+2 +-0x1.4e3848p+3 +0x1.d42b04p+2 +0x1.e0cb2ep-3 +-0x1.7ee3d6p-2 +0x1.dfc3a4p+2 +-0x1.7b7d56p+2 +-0x1.59d8b6p+2 +-0x1.17cea4p+0 +-0x1.a9839ep+2 +0x1.e985b6p+2 +-0x1.eb72dp+2 +0x1.0dd7aep-1 +-0x1.0325eap+1 +0x1.a7f02ep+1 +-0x1.fab7e2p+1 +0x1.ab8e12p+2 +0x1.a28b4ep+2 +0x1.136d86p-4 +-0x1.eafep+0 +-0x1.a5b8ep+4 +-0x1.217af6p+0 +-0x1.517d18p-1 +-0x1.525346p+2 +0x1.4b30ccp-1 +-0x1.5ea04ep-3 +-0x1.b96c1p+2 +-0x1.23c61ep+1 +0x1.1e53dcp-2 +-0x1.f550e2p-2 +0x1.9d8e66p+0 +0x1.c1578cp+2 +0x1.c4bbfcp+2 +-0x1.5a1902p+2 +0x1.d8469cp+2 +0x1.43d612p+3 +-0x1.578826p+1 +-0x1.0ff7e6p+3 +-0x1.f89a3cp-3 +0x1.71853ap+2 +0x1.a8240cp+2 +-0x1.40a39ap+0 +-0x1.2130e4p+2 +0x1.3abdbep+0 +0x1.9b57d6p+0 +-0x1.21eed8p+3 +-0x1.593d7cp-1 +0x1.a0b0d4p+2 +0x1.1f2aa4p+0 +0x1.e06742p+1 +0x1.bab072p+2 +0x1.46825ep+1 +-0x1.6c8604p+2 +0x1.980152p+2 +-0x1.76b6eep-1 +0x1.3d30c2p+3 +0x1.996adap+2 +0x1.3b8866p+3 +-0x1.7b4842p-2 +-0x1.1df6b8p-1 +-0x1.daa564p+2 +0x1.cc7028p+1 +0x1.71de86p+0 +-0x1.6c3d08p+0 +0x1.91c468p-1 +-0x1.3ba51ep-3 +-0x1.135962p-4 +-0x1.1f891p+2 +0x1.aa1e92p+2 +0x1.ccb4eap+2 +0x1.cca312p+2 +-0x1.bbb332p-3 +-0x1.e86bc8p+1 +0x1.53c07ap-1 +0x1.35d8cp+3 +0x1.47f866p+0 +0x1.9808a4p-1 +-0x1.fbf91cp+2 +-0x1.956b98p+1 +-0x1.8c3e7ap+2 +-0x1.a907e2p+2 +-0x1.792b7p+1 +-0x1.5c0e9p-7 +0x1.4629ecp-1 +0x1.30fed6p+1 +-0x1.aa670ap+4 +-0x1.65a70ap-2 +0x1.668866p+0 +0x1.572f5cp-2 +-0x1.55aa82p+2 +-0x1.1336c2p+1 +0x1.3a2c32p+2 +0x1.17d2b8p-1 +0x1.c1f8bcp+1 +0x1.10cb0ep+3 +-0x1.b28c42p+1 +-0x1.adc0fcp-1 +-0x1.7260c4p+2 +-0x1.5e4ae4p-2 +0x1.a4763ap+2 +-0x1.314ab2p-3 +-0x1.81ef1cp+2 +-0x1.a36d9ep+2 +-0x1.d85266p-1 +-0x1.503506p+5 +0x1.45401ep+3 +-0x1.0b5af6p+0 +-0x1.bfd03ap+2 +0x1.487766p+3 +-0x1.490c08p+4 +0x1.5f2852p-3 +-0x1.0e805cp+0 +-0x1.4d25aap+5 +-0x1.14973ep+2 +-0x1.a416b2p-1 +0x1.0e2bccp+1 +0x1.213eb8p-4 +0x1.3fabaep+0 +0x1.ebf592p-1 +-0x1.58f156p+2 +-0x1.e47384p-1 +0x1.41a968p+3 +-0x1.62169ap+1 +-0x1.24518ap+0 +-0x1.2b3848p+2 +-0x1.2473e2p+2 +0x1.cbf3f6p+2 +0x1.c7647ap-1 +0x1.0d0038p-1 +0x1.35fc7ep+3 +0x1.3f8aa6p+3 +-0x1.647b64p-3 +-0x1.5bbab6p-3 +-0x1.79c962p+2 +-0x1.57007ap-3 +-0x1.06533ap+2 +-0x1.43c814p+0 +0x1.8b8652p+0 +0x1.872cb8p+0 +-0x1.7b02ap-3 +-0x1.111332p-2 +-0x1.5cfe1ep-3 +-0x1.5da536p-3 +0x1.10caacp+3 +0x1.ae6508p+2 +0x1.3bef7ap+3 +0x1.282ec8p+2 +-0x1.9a2e56p+2 +-0x1.5bf556p-3 +-0x1.010ea8p+3 +0x1.7b5c7ap-2 +-0x1.648d0ap+0 +-0x1.4f6a82p+0 +0x1.432dcep+3 +0x1.78819ep+2 +-0x1.417cfap+2 +-0x1.9c93eap+2 +-0x1.477822p+2 +-0x1.5f354ep-3 +0x1.3752eep+2 +-0x1.d8cd0ap+2 +-0x1.08e0a4p+0 +0x1.87b0b8p+0 +-0x1.32451ep+1 +0x1.305e7p+0 +-0x1.649322p-3 +-0x1.a2bp-2 +-0x1.60850cp-3 +-0x1.60f59ap-3 +0x1.79ce2cp-1 +-0x1.647d6ap-3 +0x1.a828ep+0 +-0x1.7cd6ep+0 +0x1.44835ep+3 +0x1.0bd40cp+0 +-0x1.b370ccp+0 +-0x1.b13c84p+2 +0x1.82c1dp-1 +-0x1.529398p+5 +-0x1.1a187ep-3 +0x1.d57a16p+2 +0x1.30bf36p+2 +-0x1.449d04p+3 +-0x1.569fcep-3 +-0x1.185e66p+4 +0x1.e631eap-2 +-0x1.ac70f6p-1 +0x1.4627e8p+3 +-0x1.633cc4p-3 +0x1.9f868ep+2 +-0x1.db78ep-1 +-0x1.6b700ap+2 +-0x1.04137ep+1 +0x1.6b8552p+0 +0x1.37ad6p+3 +0x1.75f16p+3 +-0x1.811434p+1 +0x1.417fcep+3 +-0x1.f1ce28p-2 +0x1.363584p+3 +0x1.ff1094p+1 +0x1.90a454p+2 +-0x1.cb3544p+1 +-0x1.651e0ep-3 +0x1.80cdf4p+3 +0x1.5fcd1ap+0 +-0x1.31335cp+5 +0x1.aa75dep+2 +0x1.db9a66p+0 +-0x1.52754p+3 +0x1.10a55ep+0 +0x1.cae0eap+2 +0x1.c6af44p-1 +-0x1.cde492p+1 +-0x1.93aab4p+1 +-0x1.1213c4p+2 +-0x1.9c4b32p+0 +-0x1.d8fa66p+0 +0x1.5cf4a6p+2 +-0x1.90565ap+2 +0x1.b65acp+2 +-0x1.5e0c1ep-3 +0x1.10cb7p+3 +-0x1.658ecap-3 +0x1.43e2f6p+0 +-0x1.bc6366p+2 +0x1.665548p-1 +-0x1.11cd7p-1 +0x1.173eep+0 +-0x1.4e1d58p+2 +0x1.7494ccp+1 +-0x1.26d708p+4 +-0x1.34c074p+1 +0x1.85edc2p+1 +0x1.a79a8ep+1 +-0x1.628072p-3 +0x1.f8daep-3 +0x1.84fe96p-2 +0x1.5b45f4p-2 +-0x1.58870cp-3 +-0x1.37ba3ep+2 +-0x1.653a8ep-1 +0x1.719f5cp-2 +-0x1.2e786ep+1 +0x1.662788p+2 +0x1.dba64p+2 +-0x1.aca33ap+2 +0x1.b3223ap+2 +-0x1.23a97ap+2 +-0x1.b5b582p+2 +0x1.1b9cccp-2 +-0x1.7753bp-2 +0x1.5e542p+2 +-0x1.5abfp+1 +0x1.dd8a8ap+2 +-0x1.b41d7ep+1 +-0x1.65a87p-4 +0x1.3966eap+3 +-0x1.81735ap+2 +0x1.b46238p-1 +-0x1.aa568ep+2 +0x1.37a5bp+3 +0x1.e3p-4 +0x1.97a2f6p-1 +0x1.334cep+0 +0x1.90b7aep-3 +0x1.0d89fap+1 +0x1.6231ccp+2 +-0x1.614f2p+0 +0x1.34f15cp+0 +-0x1.6d631ap+1 +0x1.ba88d2p+2 +-0x1.3f0d44p+3 +0x1.aff8bp-4 +0x1.05c3d6p+1 +0x1.407924p-1 +-0x1.52616cp+0 +0x1.bcbf28p+2 +-0x1.48f218p+2 +0x1.3f457p+0 +0x1.ecbac4p-4 +0x1.9088bap-2 +-0x1.d4d294p+2 +-0x1.620106p-3 +0x1.487b7cp+3 +0x1.3c89f8p-2 +-0x1.82a98p+2 +0x1.f69746p+0 +0x1.cf72b6p+2 +-0x1.6460cep-3 +-0x1.813142p+1 +-0x1.7d2a9cp+2 +0x1.ebf4eep+2 +0x1.bbc7fcp+2 +-0x1.fc9bf2p+1 +-0x1.abd912p-1 +-0x1.181baep-1 +-0x1.376852p-3 +0x1.2f9d3ap+2 +0x1.a43f72p+2 +0x1.10cd82p+3 +0x1.330766p-7 +0x1.9c7abap-2 +-0x1.1d151ap+4 +0x1.0420aep+2 +-0x1.1c82d8p-4 +0x1.03f97p-1 +-0x1.9ce762p-2 +-0x1.01d9a8p+1 +0x1.bc5b9ep-3 +-0x1.b85dd4p+2 +-0x1.5fbe3ep-3 +0x1.a2fca8p-1 +-0x1.f87332p-2 +0x1.ffb102p-1 +0x1.496214p+0 +-0x1.830a7p+2 +-0x1.0509fap-2 +-0x1.53079ap+0 +0x1.76198p+0 +-0x1.5dbb76p-3 +0x1.a46a9ep+1 +-0x1.646f1ap+5 +-0x1.ab75c8p+1 +-0x1.b85902p-6 +0x1.284bc2p+0 +-0x1.62cc74p-3 +0x1.c928cap+2 +0x1.40b302p-2 +-0x1.737232p+2 +0x1.3a823cp-1 +0x1.157b9ep+1 +-0x1.a1ba3ep+4 +0x1.f51844p+2 +0x1.b43bdep+2 +0x1.142676p+2 +-0x1.2d1b7ep+2 +0x1.51213ep-2 +0x1.7b7938p+2 +-0x1.57e164p+1 +-0x1.1f42a4p+1 +-0x1.bedddep+1 +-0x1.0501eap+2 +0x1.c8d1fp+2 +-0x1.7427cep+5 +-0x1.167deep-1 +0x1.820772p-3 +-0x1.f0b1dap+1 +0x1.87c9e4p+2 +0x1.6eeeeap+1 +-0x1.a35f4ap+2 +0x1.8ae50ap+0 +-0x1.28cd7ap+1 +0x1.3e18f6p+0 +0x1.50b63p+2 +0x1.36c114p+3 +-0x1.00bc3p+1 +-0x1.0a799p+3 +0x1.3cc37p+0 +0x1.8c48p-1 +-0x1.0d831ep+1 +0x1.ce8994p+2 +0x1.745a2ep+1 +0x1.36a8p+3 +-0x1.1a770ap+1 +-0x1.86528ep-1 +0x1.47be68p+3 +-0x1.0eb4f6p+0 +-0x1.611df2p-3 +0x1.46c5ecp+3 +-0x1.e55996p-10 +-0x1.5e20e4p-3 +-0x1.60f51ep-1 +-0x1.49bcp+2 +0x1.649348p+1 +0x1.87a4aep-4 +-0x1.7aa58cp+2 +0x1.8cf99ap-4 +0x1.bd5326p+2 +0x1.8ce666p+0 +-0x1.6bff88p-1 +0x1.d12a7ap+2 +0x1.7dc29cp+2 +0x1.421e8ap+3 +-0x1.656186p-3 +-0x1.1fa2e2p+1 +0x1.dfd894p+2 +-0x1.e24b84p-1 +-0x1.08b8c2p+0 +-0x1.b3cd68p+2 +-0x1.5b7acep-3 +0x1.e3432ap+2 +-0x1.58e15cp+2 +-0x1.0d7ad6p+3 +0x1.a8262ep-3 +-0x1.55364ap+2 +-0x1.b95818p+1 +-0x1.5263c2p+1 +-0x1.43d4ccp-1 +-0x1.ccb046p+3 +-0x1.f4969ap-1 +-0x1.3bcb7ep-2 +-0x1.2f32cp+2 +-0x1.61303ap-3 +-0x1.df2826p-1 +0x1.5e9fc2p+2 +0x1.d03e14p-4 +0x1.42320cp+3 +-0x1.aa2f4p+2 +-0x1.f3d52ap+0 +-0x1.818c72p-2 +0x1.32d08ep+2 +-0x1.c332p+0 +0x1.dc5dc2p+0 +0x1.1c7358p-1 +-0x1.3adfd8p-1 +0x1.113bap+0 +-0x1.5b65a6p-3 +0x1.36437cp+3 +0x1.bb8dbap+2 +-0x1.c46d9p+1 +-0x1.c678d6p-1 +0x1.3c9146p+3 +0x1.485612p+3 +0x1.f87d98p-1 +-0x1.bf2d5cp+0 +-0x1.cd2c2ap+2 +0x1.829d9ap-1 +-0x1.a95bd8p+2 +0x1.a857aep+0 +-0x1.03261cp+2 +-0x1.8657d6p-1 +0x1.50b348p+0 +0x1.d615fp+2 +0x1.8b0548p-5 +-0x1.d0aa84p+1 +-0x1.9b93cap+2 +-0x1.595412p-3 +0x1.b6ab74p-2 +0x1.16c592p-2 +0x1.cccc72p+1 +-0x1.657c7p+1 +0x1.aa995cp+2 +-0x1.fa172ep+1 +-0x1.12a886p+2 +-0x1.9173d8p+2 +0x1.9c3ca8p-3 +0x1.e796ccp+0 +0x1.182396p-3 +-0x1.4291dap-4 +-0x1.62f536p-3 +0x1.7216e8p+2 +0x1.cb45c8p+2 +-0x1.497518p+2 +-0x1.351996p+1 +-0x1.0dfe32p+2 +0x1.3bfc3cp+0 +-0x1.39bd7p-6 +-0x1.3a197ap+1 +-0x1.830bc2p+2 +0x1.b3857ep-5 +-0x1.53f426p+2 +-0x1.5f6ba2p-3 +-0x1.4ed77ap+1 +-0x1.556abp+2 +0x1.9712p+1 +0x1.0bf266p+0 +-0x1.ad2376p+2 +-0x1.af3504p+1 +-0x1.76e7ep+2 +-0x1.6562bap+1 +0x1.843614p-2 +0x1.384ef8p+3 +-0x1.47a784p+0 +0x1.f4a732p+2 +-0x1.7ce922p+2 +-0x1.336c52p+0 +-0x1.48c65cp+1 +0x1.494452p+3 +-0x1.193914p+5 +0x1.3577d2p+2 +-0x1.63f1bep-3 +-0x1.55d4d8p-4 +0x1.d880eep-1 +-0x1.7204ep+0 +0x1.dbbb12p+2 +-0x1.5e758ap-3 +-0x1.21018p+1 +0x1.06676ep+2 +-0x1.646416p-3 +0x1.03d04p+2 +0x1.10cb02p+3 +-0x1.6987b8p+1 +-0x1.fb44dp+0 +0x1.0e49ecp+1 +-0x1.ae974ap+2 +-0x1.8170a4p-9 +-0x1.a49d78p+1 +0x1.f48614p-2 +0x1.c3c598p+0 +0x1.5b5d38p+2 +-0x1.e7e994p+1 +-0x1.5ffb9ap-3 +-0x1.1b21bp+3 +-0x1.71927p+1 +-0x1.5b87aep-3 +0x1.106eccp+2 +0x1.3e7aep-4 +0x1.36a5d8p+3 +0x1.1e7f48p+0 +-0x1.6caff6p+2 +0x1.91cf84p-1 +-0x1.34c43cp+1 +-0x1.594ad2p+2 +0x1.dd37d4p+2 +0x1.f073e8p+2 +0x1.cef936p+2 +-0x1.bab5acp-2 +-0x1.035e0ap+0 +0x1.6d44ccp-2 +-0x1.1c4808p+2 +-0x1.e8786ap+1 +0x1.388c7cp+3 +0x1.8766aep+1 +-0x1.5eaeb6p-3 +-0x1.64b42cp-3 +-0x1.027faep-1 +-0x1.ba8b4ep+1 +0x1.266edap+2 +0x1.9fd6c2p+2 +-0x1.a44034p+1 +0x1.78abccp+1 +0x1.377b5p+3 +-0x1.940a02p+1 +-0x1.fdb2bcp+0 +-0x1.65ae92p-3 +0x1.a521c8p+3 +-0x1.4749aap+3 +-0x1.c1a2dep-1 +-0x1.7f4bfep+3 +0x1.3f9db8p+3 +0x1.6c7c0ap+2 +0x1.82779cp-1 +-0x1.824e0ep+2 +0x1.fec4ccp-2 +0x1.e58412p+2 +-0x1.578fc8p+3 +0x1.0ccf34p-2 +-0x1.6173bcp+0 +-0x1.f7357p+0 +0x1.f3e768p+2 +0x1.4317e2p+3 +-0x1.0f5222p+1 +-0x1.e5895ep-5 +0x1.d298dep+2 +0x1.c86c1ep+2 +0x1.459134p+3 +-0x1.553b7ap-3 +-0x1.05c35cp+0 +0x1.4461bcp+2 +0x1.9bc9eap-4 +0x1.06295cp+0 +0x1.43d93ep+3 +0x1.556832p+2 +0x1.f4b8d6p+1 +-0x1.465f64p+1 +-0x1.614fdep-3 +-0x1.b5350ep-3 +0x1.9f56p+0 +0x1.454eb6p+3 +-0x1.fba2cep+1 +-0x1.5f303cp-3 +0x1.6ceed2p+0 +0x1.58255cp+2 +0x1.b69528p+1 +0x1.7177ep+3 +-0x1.a45ad8p-1 +-0x1.94f706p+0 +-0x1.be9e04p+2 +0x1.5bf948p+0 +0x1.10cacep+3 +-0x1.740c94p+2 +-0x1.09bff6p+1 +0x1.3671c4p+3 +0x1.bec15cp+2 +-0x1.6346d4p+2 +0x1.bd4e1cp+2 +0x1.82d99ap-1 +-0x1.8225a8p+2 +0x1.220a66p-2 +-0x1.e16c52p-1 +-0x1.35848ep-1 +0x1.e11384p-2 +-0x1.8d8592p+0 +0x1.4c29bcp+1 +0x1.387af8p+2 +0x1.8d8fd6p-1 +0x1.c7d02ep+2 +-0x0p+0 +0x1.38ec96p+3 +-0x1.306a06p+2 +-0x1.59c33ep-3 +0x1.6d72f4p+0 +-0x1.cf944cp+2 +-0x1.5dac8cp-3 +0x1.acda6p+2 +-0x1.e3cbf2p+1 +-0x1.0cdac4p+0 +0x1.390014p+2 +-0x1.64fceep+2 +-0x1.82edfep+2 +-0x1.3ea13cp+3 +-0x1.0b4e5cp+1 +0x1.01028ep-5 +-0x1.2bb428p-2 +0x1.00128p+0 +-0x1.7adbfap-1 +0x1.e535f2p+2 +-0x1.648a8cp-3 +0x1.e84186p+2 +-0x1.6321p+0 +-0x1.0a5654p+3 +0x1.124c1cp-2 +0x1.bba78ep+2 +0x1.4531d8p+3 +0x1.1bf358p+0 +0x1.6cf66p+1 +-0x1.033dc6p+2 +0x1.4311aap+3 +-0x1.766bdcp-3 +0x1.828456p+2 +0x1.3e467ap+3 +-0x1.7fcebep-2 +-0x1.432faep-1 +-0x1.924aaep+1 +-0x1.646662p+2 +-0x1.892088p+0 +-0x1.2b8eb8p+0 +0x1.50170ap-5 +0x1.50ad28p+1 +0x1.e2ca16p+2 +0x1.c2a97cp-1 +-0x1.613492p-3 +-0x1.7c95f4p+1 +-0x1.b20d22p+0 +0x1.713644p-2 +0x1.f59c7ap-2 +0x1.07cd36p+2 +-0x1.467f64p-2 +-0x1.01f75cp-2 +0x1.54450cp-2 +-0x1.cd8dc2p-1 +0x1.441b4ap+3 +-0x1.a839b6p+2 +0x1.6a2932p+0 +-0x1.3345ecp-1 +0x1.d0f1dep+2 +-0x1.657a4cp-3 +-0x1.408364p+2 +-0x1.01883ep+1 +0x1.fe29aap-4 +0x1.924d0ap+0 +-0x1.5d1a3cp-2 +0x1.c7d03cp+2 +0x1.d03b78p+2 +0x1.0b450ep+0 +-0x1.e230c4p+1 +-0x1.baa6ep-1 +0x1.75c21ep+2 +0x1.30bcbcp+0 +-0x1.8f395cp+2 +0x1.d0c2aep+2 +-0x1.64f59ap-3 +-0x1.ea3c2ap+1 +-0x1.0506c6p+2 +0x1.67c7fp-2 +0x1.1b8feep+2 +-0x1.1b0498p+3 +0x1.451682p+3 +0x1.76a29p-1 +-0x1.2162d4p+4 +-0x1.7e93c8p-4 +-0x1.afffd6p+2 +0x1.f2p-7 +-0x1.8c62bep+5 +0x1.effbep+2 +0x1.d1b852p+2 +0x1.5cdbd2p+0 +0x1.c06b2p-1 +-0x1.b33b84p-2 +0x1.71d7c2p+0 +-0x1.64c27ap-3 +-0x1.3ea13cp+3 +-0x1.7d82b2p+2 +0x1.aa6d0cp+2 +-0x1.ed7f5p-4 +-0x1.e8264ep+2 +-0x1.ae1c56p+2 +-0x1.7abe24p+2 +0x1.4236f4p+3 +-0x1.c2268cp-2 +0x1.6114aep+1 +-0x1.60f716p-3 +-0x1.09918ap+0 +0x1.1c06a4p+0 +0x1.860c26p-2 +0x1.c42886p+3 +-0x1.3447aep-5 +-0x1.db094cp+3 +-0x1.6dcbep+2 +-0x1.4ec2dep-2 +0x1.45b736p+3 +0x1.3ff3dp-1 +-0x1.bcfd2ap+2 +-0x1.8854acp+2 +-0x1.a0ff42p+0 +0x1.04fab8p-1 +-0x1.30bp-2 +0x1.407192p+3 +-0x1.79ac6ap+2 +0x1.2277cap-1 +0x1.35f784p+3 +-0x1.35df54p+2 +-0x1.610686p-3 +-0x1.64178ep-3 +-0x1.65b712p-3 +0x1.10795cp+0 +0x1.8ab654p+2 +0x1.37e6dcp+3 +0x1.4375bep+3 +0x1.98562p+2 +0x1.e2c1a8p+2 +0x1.53f1ecp-1 +-0x1.0c4b76p+1 +-0x1.54a9ep+2 +0x1.84b444p+3 +0x1.a738a4p+0 +0x1.95b5e4p+2 +-0x1.eda14p+1 +0x1.9f4bb6p+2 +0x1.ff370ap-1 +0x1.443dbcp+3 +0x1.7780ccp-1 +-0x1.968c9ap+1 +0x1.6612fap+2 +0x1.7b6bdep+2 +-0x1.5b9b7cp-3 +0x1.8679b8p-1 +0x1.456d38p+3 +-0x1.b3db5cp-1 +0x1.9c6b3cp+1 +0x1.96479cp+0 +-0x1.814ec8p+2 +-0x1.6dcb18p+2 +0x1.110848p-2 +-0x1.1f7ffp+1 +-0x1.e60428p+1 +0x1.6bea2ep+1 +0x1.21c3d4p-1 +-0x1.d0723ap+2 +-0x1.2b0ccap-1 +-0x1.ed681cp+1 +0x1.5423d6p-4 +0x1.43c694p+1 +0x1.335p+0 +-0x1.551ee4p-3 +-0x1.7961eep+2 +-0x1.10339cp+2 +0x1.62a75ep-4 +0x1.d3e368p+2 +-0x1.c5a18ep+1 +-0x1.2da37ep+6 +0x1.9fd6ep+0 +-0x1.617842p+2 +0x1.7ceeb8p-3 +0x1.c1b256p-1 +-0x1.04dbfp+5 +-0x1.c276c6p+0 +-0x1.667c36p+2 +-0x1.700c48p+2 +0x1.0174ecp+0 +-0x1.e1e5f8p-1 +0x1.e5b97p+2 +0x1.797d68p+2 +-0x1.2b722ap+0 +-0x1.143b4ap+3 +0x1.437d6ep+3 +0x1.942202p-4 +-0x1.06013ep+1 +-0x1.e739p+2 +0x1.369ddap+3 +-0x1.6f15eap+2 +0x1.231e36p+2 +-0x1.f77b84p+0 +-0x1.68ed1ep+0 +-0x1.84c91ap+4 +-0x1.e6819cp-2 +0x1.a0c1e6p+2 +-0x1.80a3ecp+0 +0x1.ce8948p-2 +-0x1.e6dc46p+1 +0x1.bbde32p-5 +0x1.0ef40cp+2 +-0x1.5f668p-1 +-0x1.99b3a4p+2 +0x1.497064p+3 +-0x1.96d5f6p+2 +-0x1.2db79p-5 +-0x1.5b661ep-3 +0x1.5f1226p+2 +0x1.cd7992p+2 +-0x1.5c4c9ep+2 +0x1.860548p+0 +0x1.3d40ep+3 +0x1.1e676ep+2 +0x1.7a52e6p-2 +-0x1.5ecea6p+0 +0x1.53567ap+2 +-0x1.78bf34p-1 +0x1.430f92p+3 +-0x1.26b57p-2 +-0x1.81b49p+2 +-0x1.7949ep+0 +-0x1.58403ep-3 +0x1.941b48p+0 +-0x1.508df4p+2 +0x1.99ca4ap-2 +-0x1.944b84p-3 +0x1.36bb82p+3 +0x1.2b7daep+0 +-0x1.3b6ed8p+2 +0x1.18abep-2 +-0x1.f359d6p+0 +-0x1.8d59fep-2 +0x1.175bd4p-1 +-0x1.7bb492p+2 +-0x1.6c687ap+0 +-0x1.6551b2p-3 +-0x1.1077aep-2 +-0x1.23a6d6p+1 +-0x1.7c9692p+2 +-0x1.649712p-3 +0x1.71726ap+1 +-0x1.10ac4ep+3 +0x1.3a74a6p+0 +0x1.6e98a4p-1 +0x1.b7dc68p-2 +-0x1.c34fbep+1 +-0x1.9b2efap+2 +0x1.64fc28p+1 +-0x1.08275ep+0 +-0x1.90b768p+1 +-0x1.04687ap+0 +0x1.022a3ep-2 +0x1.31d856p+2 +-0x1.1916a6p+2 +-0x1.071b6p+5 +0x1.580aeep+2 +-0x1.0e753ep+1 +0x1.6d8e6ep+0 +0x1.afc04p+2 +-0x1.0c5c88p+2 +-0x1.0b0094p+2 +-0x1.a9374cp+2 +-0x1.389e9ap-4 +-0x1.9e1a66p+0 +0x1.2917a4p+2 +0x1.4516a4p+0 +-0x1.58d6d2p-3 +-0x1.8d3282p-1 +0x1.9ce2acp+3 +0x1.75f332p-1 +0x1.ab3d0ap+0 +-0x1.75513ep+3 +0x1.b4056ap+1 +0x1.accf0ap+0 +-0x1.648446p-3 +0x1.b6284ap+2 +0x1.0a73e6p+3 +-0x1.8f931ep+0 +-0x1.653ab4p-3 +-0x1.a07646p+2 +-0x1.838fcep+2 +-0x1.1fcca4p-1 +0x1.3f8acp+3 +-0x1.e72a6p+2 +0x1.53451ep-3 +-0x1.21bf8p-1 +0x1.477cccp+0 +-0x1.1f2f32p-1 +0x1.65303cp+0 +0x1.43e608p+3 +-0x1.c06e3cp+0 +0x1.b3408ep+0 +-0x1.5b09dp-2 +-0x1.2f482ep+2 +-0x1.358416p+2 +-0x1.d2b2ap+2 +-0x1.1883d6p+2 +0x1.d2229cp+2 +-0x1.35c1a2p+1 +-0x1.8bb666p+3 +-0x1.1d2eb6p+3 +-0x1.600dp-3 +-0x1.1c721p+3 +-0x1.644118p+2 +0x1.9f08ap+2 +0x1.8c13d4p+2 +0x1.35c95p+3 +0x1.80d7cap+2 +-0x1.58caa4p-2 +0x1.4628p-2 +-0x1.27d56ep+0 +0x1.380e6cp+3 +0x1.8539aap+2 +-0x1.56efep+1 +-0x1.ef1648p-1 +-0x1.8549eep+2 +0x1.155e12p+4 +-0x1.53d3bap-3 +-0x1.9c7e88p+2 +0x1.d688fcp+2 +-0x1.54807ep-3 +-0x1.7436b8p-2 +0x1.6ca666p-1 +-0x1.6c77b6p-1 +0x1.37fa42p+3 +-0x1.98f9eep+1 +0x1.1b44p+0 +-0x1.3277eep-1 +0x1.0da99ap-2 +0x1.9c6892p+2 +-0x1.c47754p+2 +0x1.a31352p-4 +0x1.71f8p-1 +-0x1.22ff28p+1 +0x1.374108p+3 +0x1.b5cd8ap+1 +-0x1.5b3f32p-3 +-0x1.56193ap-3 +-0x1.2fdd8ap+4 +-0x1.5956b2p+2 +-0x1.772006p+1 +-0x1.5a291cp-3 +0x1.2124fcp+2 +0x1.d378fp+2 +0x1.76b3f4p-3 +0x1.00387ap+0 +-0x1.362686p+2 +0x1.451ba6p+3 +-0x1.066914p+1 +0x1.213ddap+0 +-0x1.6f10d2p+2 +-0x1.ecab64p-6 +0x1.b96d0cp+2 +-0x1.63cd96p-3 +0x1.366b4cp+1 +0x1.31a756p+0 +-0x1.c721c6p-5 +-0x1.6ed70ap-6 +0x1.24ab92p-3 +-0x1.47a3aep-1 +0x1.950d6p+2 +-0x1.57ffb6p-3 +0x1.c9c3aep+0 +0x1.d7bf4p+2 +-0x1.2814f6p+0 +-0x1.60f6cep-3 +-0x1.62a2fep-3 +0x1.d818ccp-1 +0x1.76c47ap-3 +-0x1.5b8674p+2 +-0x1.d5f9dep+2 +0x1.620a42p+2 +0x1.b6d2d6p+2 +-0x1.4b037p+0 +-0x1.a0735cp-1 +-0x1.272cf6p-1 +-0x1.14c35cp-1 +-0x1.d9620ap-1 +0x1.f2921p-1 +0x1.7784f6p+1 +0x1.ba38f6p-3 +-0x1.cecfdep+2 +-0x1.13b832p-5 +0x1.d4f442p+2 +0x1.b36cap+2 +0x1.500062p-1 +-0x1.04dc5cp+1 +-0x1.5e9754p+2 +-0x1.b961p-6 +-0x1.cfcfe6p+1 +0x1.650866p+0 +-0x1.545418p+3 +-0x1.115a7ap+0 +-0x1.99b554p+2 +-0x1.ea403p-2 +-0x1.6183a2p-2 +0x1.919b5ap+2 +-0x1.5afc4ap-3 +0x1.ea9146p-2 +-0x1.00c81ep+1 +-0x1.4aa03ep+2 +0x1.878edp-3 +0x1.18dadap-4 +0x1.60d8bcp+1 +0x1.e9192cp-1 +0x1.797b0ap+0 +0x1.1dafa4p+0 +-0x1.98f70ap-1 +0x1.ae13c2p+2 +-0x1.c9ffd6p-4 +0x1.3cd90ap+0 +-0x1.5638cep-3 +0x1.448b38p+3 +0x1.b5f5e4p+2 +-0x1.27e222p+2 +0x1.42a508p+3 +-0x1.9a6a7p+2 +0x1.36cbc2p+3 +0x1.e9676p+1 +0x1.95abdep+2 +-0x1.666aep+0 +-0x1.d48214p+0 +0x1.d7d86ap+1 +0x1.78e714p+1 +0x1.a4161ep-2 +-0x1.34e68ep-1 +0x1.d5450cp+2 +0x1.7e3dc2p-2 +-0x1.92407ap+2 +0x1.4418b4p+3 +-0x1.763d3p+3 +-0x1.116978p+3 +0x1.9018aep+2 +-0x1.80c9bep-2 +0x1.5bec14p+0 +-0x1.7ccf84p+0 +0x1.44e018p+3 +-0x1.279b7p+2 +-0x1.2d08ap-1 +0x1.bb4d8ep+1 +0x1.be100ep-1 +-0x1.5c1c3ap-3 +0x1.4bf624p+2 +0x1.adaa76p+2 +-0x1.5cd68ep+0 +-0x1.3185fp+2 +0x1.3dee18p-4 +-0x1.e395f8p-1 +-0x1.e8528ap+2 +-0x1.5b326ap+2 +0x1.35bcbcp+3 +-0x1.0802cp+5 +0x1.fdab84p-2 +-0x1.158152p-1 +-0x1.5140c6p+3 +0x1.14f5c2p+1 +-0x1.a6f156p-1 +-0x1.63d8b2p-3 +-0x1.228ec4p+2 +0x1.51173p-1 +-0x1.c2abeep+2 +-0x1.5f6792p+2 +-0x1.88bfc2p+2 +0x1.4a6decp+0 +0x1.d0a6cp+2 +-0x1.c10dccp+1 +-0x1.60b94p+5 +-0x1.3f78eep+3 +0x1.f1b1ep+1 +-0x1.404326p+2 +0x1.9c6bd6p-2 +0x1.4e963cp-4 +0x1.1d26b4p+2 +-0x1.37d952p+2 +0x1.7eee38p+3 +0x1.c5392ep+2 +0x1.9128ap+2 +0x1.9c8fd6p+2 +0x1.be43d6p-2 +-0x1.57f9e2p-4 +0x1.434bacp+3 +0x1.2d0f2cp-1 +-0x1.ba23aap+1 +0x1.3ae01cp+3 +-0x1.95778ap+2 +-0x1.c65b3cp+1 +0x1.23ae7ap+1 +-0x1.23d308p+2 +-0x1.ba5c3cp+0 +-0x1.d07b0ep-3 +0x1.504052p-2 +0x1.5e1a46p+0 +0x1.95dd28p+2 +0x1.897f68p+2 +-0x1.56811ep+0 +0x1.9b504p+2 +0x1.034f02p+4 +-0x1.6a872ap+0 +0x1.eb077ap+2 +-0x1.6b6004p+0 +0x1.71ec28p-1 +0x1.00a18ap+2 +0x1.a65932p+0 +0x1.f27e3cp+2 +-0x1.683308p+0 +-0x1.6de68ap+0 +-0x1.f15cbap+2 +-0x1.2390c2p+2 +0x1.eeaa42p+2 +-0x1.feccb4p+0 +-0x1.234018p+4 +-0x1.ffb332p+0 +-0x1.8fbd1ep-1 +-0x1.2666b8p-1 +0x1.10c816p+3 +-0x1.7fd956p-2 +-0x1.073c3ap+3 +-0x1.63a47cp+1 +0x1.814d1ep-2 +0x1.65d55ap-1 +-0x1.64c9b4p-3 +0x1.d9562ap+2 +-0x1.60f91cp-3 +-0x1.650866p-3 +0x1.48178cp+3 +0x1.e0d776p+2 +-0x1.6f9418p+1 +-0x1.1bf3ecp+0 +0x1.f4717p-1 +0x1.c791f6p+2 +-0x1.525c08p-1 +-0x1.62d062p-3 +-0x1.eb511ep-2 +-0x1.09cd3cp+0 +0x1.3e45ap+3 +0x1.301802p-1 +-0x1.39bbdap+2 +-0x1.c82196p+2 +-0x1.303b3ap+4 +0x1.8f4b08p+2 +0x1.035eeep-2 +-0x1.5fe326p-3 +0x1.04028ep-5 +0x1.d3fafcp+2 +0x1.42ba5ap-1 +-0x1.cdeb2ep+0 +-0x1.7500a8p+2 +0x1.7dbbbcp+0 +-0x1.f4eb86p+2 +0x1.7c47aep-6 +0x1.75b67p-2 +0x1.8d873ap+2 +0x1.5bccacp+0 +-0x1.e151a8p+0 +-0x1.51474ep-2 +0x1.c0ea9ep+2 +-0x1.a23e0ep+2 +-0x1.011accp+0 +-0x1.dde764p+4 +-0x1.da003cp+0 +-0x1.b005c2p-4 +0x1.43b4aep+3 +0x1.869f5cp+1 +-0x1.f8e706p+0 +-0x1.55077ap+1 +-0x1.136deap+2 +-0x1.0376a6p+3 +0x1.f668f6p-3 +0x1.17f31ep+0 +0x1.ab83d8p-1 +-0x1.534404p+4 +-0x1.63de7cp-3 +-0x1.1cfap+0 +0x1.576bd6p+0 +-0x1.4463a4p+2 +-0x1.65a27cp-3 +0x1.b13052p-2 +0x1.d483a4p+2 +-0x1.02d042p+1 +-0x1.60fa9cp-3 +-0x1.16e87ap-1 +0x1.b492b8p+0 +-0x1.a4cf6ep+2 +0x1.19af4cp+1 +0x1.7e8bc2p+2 +-0x1.29775p+1 +-0x1.4cccccp+1 +0x1.167266p+0 +-0x1.647cccp+1 +0x1.1debfap+1 +-0x1.4e9166p-3 +0x1.87c92ap+0 +-0x1.3ea13cp+3 +0x1.8976ccp+0 +0x1.6c7384p+0 +-0x1.5b557cp-3 +-0x1.30c126p+1 +-0x1.639d72p-3 +-0x1.4c44ap+2 +-0x1.6ea332p+1 +0x1.8e982ap+2 +-0x1.81006p+2 +0x1.1d4be4p+4 +-0x1.ec89fcp-1 +-0x1.503f1ap+2 +0x1.e57e76p+2 +-0x1.5ddcaap-1 +0x1.439434p+3 +-0x1.4a897ap+2 +-0x1.939222p+2 +-0x1.3da46cp-4 +-0x1.58bf08p+2 +-0x1.3eaadep+3 +-0x1.aab2eep+2 +-0x1.7c5af6p-1 +0x1.bf4fccp+2 +0x1.10cd1ep+3 +0x1.fa0198p-1 +-0x1.ca7dc2p-4 +0x1.894544p+2 +0x1.442d5ep+3 +0x1.371242p+3 +-0x1.95fba6p-1 +0x1.d1a67p+2 +0x1.769918p+0 +0x1.4e61c2p-1 +-0x1.57c1ep+1 +-0x1.d74902p+0 +-0x1.3ea13cp+3 +-0x1.851e32p+2 +0x1.247602p+2 +0x1.3f0314p+1 +-0x1.637aep-2 +0x1.41b1fap+3 +-0x1.04efc6p-3 +-0x1.88130cp+2 +-0x1.b2a146p+2 +0x1.54bb5ep+3 +-0x1.a06ap+0 +-0x1.569e66p+0 +0x1.2a59a8p+4 +-0x1.6105fap-3 +-0x1.82a98cp+1 +0x1.a428f2p+2 +-0x1.8bb3eap+0 +-0x1.627f62p-3 +0x1.b0f5c2p-9 +-0x1.469442p+1 +0x1.4507e8p+3 +-0x1.86afacp+2 +0x1.da41f8p+2 +-0x1.eece8ep-1 +-0x1.03cddp+1 +-0x1.225768p+4 +-0x1.51a33ap+2 +0x1.24c926p+0 +0x1.7b8ad4p+2 +-0x1.17bebcp-2 +0x1.ac0e14p-3 +-0x1.82f9f6p+2 +-0x1.5e5b3p-1 +-0x1.805ffcp+2 +-0x1.600742p-3 +-0x1.887c68p-3 +-0x1.615aacp-3 +-0x1.7ba8fep+4 +0x1.f6370ap-4 +-0x1.e06b9p+2 +-0x1.5fbfb2p-3 +0x1.aaa50ep+2 +-0x1.8176fep+2 +0x1.5ce1d2p+0 +0x1.b23e64p-1 +-0x1.aea0ep+0 +-0x1.26c00cp+2 +-0x1.5a23bap+2 +-0x1.55a02ep-3 +0x1.350bap+3 +-0x1.9b4ec6p+1 +0x1.e0a52ep+2 +-0x1.74fe26p+2 +-0x1.1d92c2p+1 +-0x1.5da7d6p-1 +-0x1.312282p+1 +-0x1.62c91cp-3 +-0x1.c173f8p-1 +-0x1.9f0316p-1 +-0x1.4ba776p+2 +0x1.cb445ep+2 +-0x1.7efb5cp-1 +0x1.4595cap+3 +-0x1.5bcf12p-3 +0x1.c3b3d6p-3 +-0x1.cb85d8p-3 +-0x1.2824ccp-1 +-0x1.a35d68p+2 +-0x1.87e812p+2 +-0x1.68cfd6p-1 +-0x1.b44846p+2 +-0x1.4cb4d4p+2 +-0x1.058c1cp-2 +-0x1.600046p-3 +0x1.d80cb8p-2 +0x1.babe66p+0 +0x1.be9c56p+2 +0x1.016978p-2 +-0x1.a61fbp+2 +0x1.6bd5f6p+2 +-0x1.9e2b36p-2 +-0x1.936c78p+2 +-0x1.390932p+0 +-0x1.c978ccp+0 +0x1.4fbcccp-2 +-0x1.605154p-3 +0x1.00c70ap-2 +-0x1.65c06cp-3 +0x1.a6f552p+2 +0x1.0f98p-1 +-0x1.a673c6p+1 +0x1.36420ap+3 +0x1.20469p+2 +0x1.da8c28p-1 +-0x1.451f4ep+2 +-0x1.c56adcp+2 +0x1.c57f32p+0 +-0x1.12477p-1 +-0x1.3aa0aap-6 +0x1.c60c24p+1 +-0x1.6476acp-3 +-0x1.6bbc9cp+2 +-0x1.7e46b6p+1 +-0x1.fae904p-3 +0x1.b9451ep-4 +0x1.4a5348p+0 +0x1.aa0cp-1 +-0x1.7b5694p+2 +-0x1.59cb04p+2 +0x1.47eaf2p+3 +-0x1.61696cp-3 +0x1.3b5cep+0 +0x1.30facp+0 +-0x1.7dfp-2 +0x1.aefcfap+1 +0x1.e5ae7cp+2 +-0x1.9920aap+1 +-0x1.410848p+1 +0x1.7aa234p+1 +0x1.5fe74cp+2 +-0x1.07b5aep+0 +0x1.8d2e4p-1 +-0x1.5dc9bap-3 +0x1.4edc32p-5 +-0x1.5a747ap-4 +-0x1.551516p-3 +0x1.427c36p+3 +0x1.d5762p+2 +-0x1.a94422p+0 +0x1.2813dp+0 +-0x1.0aececp+2 +0x1.430af8p+3 +0x1.704334p+0 +-0x1.6180ecp-3 +0x1.9878cep+2 +-0x1.5c8532p-3 +-0x1.a0f696p+2 +-0x1.63c81cp-3 +0x1.5c9ccep+2 +0x1.d0b332p+0 +0x1.dd02fp+2 +0x1.30824ap-4 +0x1.f0ce3cp-1 +0x1.375f9cp+3 +-0x1.1b636cp+4 +-0x1.c607ap+2 +0x1.93b6f6p+0 +-0x1.640b8ap-3 +-0x1.ac8748p+0 +-0x1.148e5ep+2 +-0x1.60dfdep-3 +-0x1.61688cp-3 +-0x1.a87362p+2 +-0x1.5d02d8p+3 +-0x1.3692eep-1 +0x1.ece852p-3 +-0x1.01c6ep+0 +0x1.be7a58p+2 +-0x1.365372p-3 +0x1.7dd0d4p-1 +0x1.94f6ep+0 +0x1.df5e8ap+2 +-0x1.28cdf2p+0 +-0x1.6547d2p-3 +-0x1.cbe236p-4 +-0x1.23dffep+1 +-0x1.2b9e4ep+2 +0x1.28ff22p+0 +-0x1.5f1b8ep-3 +-0x1.af4f5cp-2 +-0x1.261c7cp+2 +-0x1.940248p+0 +-0x1.aa31eap-1 +-0x1.17841ep+0 +-0x1.a15b06p+1 +0x1.852a0ap+2 +-0x1.1d74a4p-1 +0x1.3d8912p+3 +0x1.def324p+2 +0x1.3ba8eep+0 +-0x1.5fbb8ep+0 +0x1.55f48ep-2 +-0x1.d12e1p+1 +-0x1.591d24p-3 +-0x1.f08bbcp-1 +-0x1.d5aadp+2 +0x1.d7b94p+2 +0x1.4215ecp+3 +-0x1.531ac8p+3 +-0x1.785704p+2 +0x1.cab5d6p+2 +0x1.48437ap+3 +0x1.fd2b46p-5 +-0x1.640bfep-3 +0x1.44d448p+0 +-0x1.4bfd76p-1 +0x1.49063p+3 +-0x1.74b3a8p+3 +0x1.7f4ca8p+1 +0x1.55a30ep+1 +0x1.2fc866p+0 +-0x1.80e5eap+0 +-0x1.2e49e2p+4 +-0x1.89d538p+1 +0x1.8012b8p+0 +-0x1.651586p-3 +-0x1.82af5cp+2 +0x1.f1b0a4p-1 +0x1.28e914p+1 +-0x1.e08a7ap+0 +0x1.10c9f4p+3 +-0x1.64dbbcp-3 +0x1.cfceb8p+2 +-0x1.64e71ep+2 +0x1.01c214p-1 +-0x1.0cee7ap+2 +0x1.66bb84p-2 +-0x1.47ba7ap+5 +0x1.ccb8e8p+2 +0x1.d34b7cp+2 +0x1.5828p+0 +-0x1.9bf8c6p+2 +-0x1.270aacp+2 +0x1.445e38p+3 +-0x1.c2af3p+2 +0x1.73bcd6p-1 +-0x1.5d3f7ap-3 +-0x1.54c33ep+3 +0x1.b0f92ep+2 +0x1.54694ap+2 +0x1.365b8ep-1 +0x1.81712ep+1 +-0x1.64de44p-3 +0x1.8b28f6p-2 +0x1.e79ceap+2 +-0x1.790c14p+2 +-0x1.0e76b8p+5 +-0x1.7afc7p+2 +0x1.bb846ep+2 +-0x1.b1403cp+1 +-0x1.86fe4cp+2 +0x1.05ff34p+4 +-0x1.861eb8p+0 +0x1.6ee384p+0 +-0x1.1d674cp-1 +0x1.27cee8p-3 +0x1.203dfcp+1 +-0x1.94085p+1 +-0x1.62fdf6p-3 +-0x1.259494p+4 +0x1.e7b2bap+2 +-0x1.7ea7bcp-3 +-0x1.3ea13cp+3 +-0x1.287842p+2 +-0x1.ab0f56p+2 +0x1.d4ab54p+2 +0x1.99c332p-3 +0x1.2739aep+0 +0x1.10cda8p+3 +0x1.8c677p-1 +0x1.792b74p-1 +0x1.be6c56p+2 +-0x1.003724p+2 +0x1.ef91eap-3 +-0x1.5fec66p+0 +-0x1.3f348cp+2 +0x1.899daep+0 +-0x1.324956p+2 +0x1.e44ee4p+2 +-0x1.597012p-3 +0x1.2af992p+0 +-0x1.7569c8p+1 +0x1.af3934p-4 +0x1.808d1ep+0 +-0x1.8d45e4p+2 +0x1.463158p+3 +0x1.3adp+0 +0x1.ecdf32p+2 +0x1.2aad9ap-3 +-0x1.d803ecp-2 +0x1.f03244p+2 +0x1.9dc15cp+2 +-0x1.b4c5cap-6 +-0x1.659e44p-3 +-0x1.798c8ap+1 +0x1.c8d80ep+2 +-0x1.47ae14p-6 +-0x1.1e8216p+2 +-0x1.5d407ep-3 +0x1.13ee36p+2 +-0x1.61244cp-3 +-0x1.f2d01ep+1 +-0x1.53e61ep-3 +-0x1.1239ccp+1 +-0x1.8d8168p+2 +-0x1.585ed8p+2 +-0x1.916e16p+1 +0x1.a99198p-1 +-0x1.936488p-1 +0x1.424e58p+3 +0x1.5e15c2p-1 +-0x1.614486p-3 +-0x1.a5a616p+2 +0x1.3ef362p+3 +-0x1.0dbee4p-4 +0x1.03b99ap-2 +-0x1.910a68p+3 +-0x1.2fbfc2p+0 +-0x1.59f8eap-3 +0x1.7cec24p+1 +0x1.1c27c2p+0 +-0x1.de5f06p+2 +0x1.7621c2p+0 +-0x1.98de22p+1 +-0x1.1f41d2p+1 +0x1.adddaap+2 +0x1.784fd8p-1 +-0x1.5f00f2p+2 +0x1.48dfc2p-1 +0x1.7e3b1ep+0 +0x1.8bc666p-3 +0x1.37d0e2p-1 +0x1.157c74p+2 +0x1.6ff89ep+0 +0x1.165ffep+0 +0x1.d7529ep+2 +0x1.44055ap+3 +-0x1.6576e4p-3 +0x1.b5bdc2p-2 +-0x1.86a71p+2 +-0x1.e0bb9ap+1 +-0x1.3efb4ep+3 +0x1.465b4ap+3 +0x1.69ccccp-2 +0x1.fa8332p+0 +0x1.4f36aep-3 +0x1.901bdcp+2 +-0x1.93f8dap+1 +-0x1.c6d308p-1 +-0x1.8ab1e6p+2 +0x1.3a40b8p+3 +-0x1.347ff6p+1 +-0x1.ab55b8p-3 +0x1.2b15d2p+2 +-0x1.78cb5p+2 +-0x1.44fd58p+1 +0x1.8874ccp+2 +-0x1.95c6eap+2 +0x1.6a9ad6p+2 +0x1.5ac8p-2 +-0x1.a31878p+1 +-0x1.61f5eep-2 +0x1.daa598p+2 +-0x1.99370ap-1 +0x1.8d1328p+2 +-0x1.717428p-6 +0x1.a4ac26p-1 +-0x1.a8341ap+4 +-0x1.3d9104p+2 +-0x1.3461e8p+4 +0x1.af6bd4p+2 +0x1.ad2e52p+2 +-0x1.5eb886p-3 +0x1.4cc9c2p-1 +0x1.363ce2p+3 +0x1.cac2d4p+2 +-0x1.64c11ap-3 +-0x1.5bb654p-3 +0x1.9cd41ep+2 +0x1.a0c9fep-1 +0x1.0f9018p-4 +-0x1.669748p+0 +0x1.b1023cp+1 +0x1.d9e51ep-3 +-0x1.860c04p+2 +-0x1.004e04p+0 +0x1.606e3cp+0 +-0x1.3d5198p+2 +0x1.e50c02p+3 +0x1.175666p-2 +-0x1.15400ap+1 +0x1.d3df72p+2 +0x1.8474f6p+2 +-0x1.7beef6p-1 +-0x1.234dfcp+1 +0x1.a31fap+2 +0x1.371dd2p+3 +0x1.49ae1ap+1 +0x1.09183cp+0 +-0x1.9943fep+2 +-0x1.65ae36p-3 +-0x1.3f64f6p+2 +0x1.a9d88cp-1 +-0x1.108da4p+1 +0x1.239b84p-1 +-0x1.7a3fcap+1 +0x1.2fb65cp-3 +-0x1.c22adp-1 +-0x1.4e4a96p+2 +-0x1.b97532p-2 +0x1.6a1b84p-1 +-0x1.4acc7ep+2 +0x1.597faep-2 +-0x1.29e666p-4 +-0x1.92f968p+2 +0x1.b5bcbcp+2 +0x1.d44a0ap+2 +-0x1.118962p+0 +-0x1.0963fcp-1 +0x1.b49e72p+2 +0x1.479932p+3 +-0x1.96ebb8p+2 +-0x1.17fd5ap+2 +-0x1.30bf5cp-3 +0x1.458e58p+3 +0x1.36d3dap+3 +0x1.498cc4p+0 +0x1.a51dp+2 +-0x1.76eaep-2 +0x1.a92b5cp-1 +0x1.1cb5c8p+1 +0x1.f116dap-1 +-0x1.2fefa4p+1 +0x1.895384p-1 +0x1.3ea70ap-1 +0x1.4e5bc2p+0 +-0x1.5d3056p-3 +0x1.6e4f32p+1 +0x1.a0cb4ap+2 +0x1.3e9daep+0 +-0x1.610884p-3 +-0x1.e575c2p-4 +-0x1.4aa4e4p+3 +0x1.6b2384p-1 +0x1.10ccccp+3 +0x1.287d32p+0 +0x1.3ecp-2 +-0x1.ac3126p+2 +-0x1.375428p-2 +0x1.dd5e32p+2 +-0x1.3cc38cp+5 +-0x1.63b394p-3 +-0x1.36dd2ap+0 +-0x1.abaca4p-1 +0x1.9a4998p-3 +0x1.a8322ep+1 +0x1.495ba8p+2 +-0x1.2b1d96p+2 +0x1.3cb612p+3 +0x1.3b0bacp+2 +-0x1.24da3ep+2 +0x1.b4cc52p-1 +-0x1.7231e6p+2 +0x1.68579ap+0 +0x1.98b34p+2 +0x1.b0f174p+2 +-0x1.19633p+1 +0x1.4e8p-5 +0x1.c0b04cp+2 +0x1.3707a8p+3 +-0x1.0e597ap+2 +-0x1.cedcfep+4 +-0x1.086438p+3 +-0x1.a9c966p+1 +-0x1.74d70ap-7 +-0x1.641bbap-3 +0x1.bbba02p+2 +-0x1.348cccp-3 +-0x1.660e72p-3 +0x1.ace148p-4 +-0x1.21da26p+0 +0x1.46698ap+0 +-0x1.1153b6p+0 +-0x1.785416p+2 +-0x1.fa611ep-1 +-0x1.f9b342p-10 +0x1.bc4b08p+2 +-0x1.5b84eep-3 +0x1.47768p+1 +0x1.4c15c2p+0 +-0x1.c77e56p+0 +0x1.7d241ep+1 +0x1.ae9d56p+1 +0x1.969368p+2 +-0x1.cae3fp+0 +0x1.dd0f7ap+2 +-0x1.60cbbcp-3 +0x1.e8d8bap+2 +-0x1.994098p+0 +-0x1.4fca34p+3 +0x1.c4a67ap+2 +0x1.7d00ap+2 +-0x1.c32c1p+2 +-0x1.8632b6p+2 +0x1.b1f5cep+2 +-0x1.97022ep+4 +-0x1.55a7ep+3 +-0x1.d4fa1ep+2 +0x1.5fff5cp-3 +0x1.c1ca3ep-6 +0x1.8f307ap-1 +-0x1.43319ap-1 +-0x1.ab6e94p-1 +-0x1.a640ap-2 +0x1.44e4e4p+3 +-0x1.d568c8p+3 +0x1.2f5ba6p+2 +0x1.4371b2p+3 +-0x1.63de96p-3 +0x1.674f7ep+0 +0x1.899e56p+2 +-0x1.493136p+0 +-0x1.be2b2ep+1 +-0x1.01d56ap+2 +-0x1.3d4ddp+5 +0x1.479bf6p+3 +-0x1.67a02ep-1 +0x1.b4265cp+2 +-0x1.07d2a4p+1 +-0x1.85bb08p+2 +0x1.d3d95cp+2 +-0x1.6fd80cp+2 +-0x1.141ed8p+0 +-0x1.5e4264p-3 +0x1.3ff1fp+2 +0x1.3f5e2ap+1 +-0x1.683c8ap+2 +0x1.456ad2p+1 +-0x1.203312p+2 +-0x1.63533ap-3 +-0x1.554ceap+2 +-0x1.506d48p+2 +0x1.f2cap-1 +0x1.432124p+3 +-0x1.6905d4p+2 +0x1.a13008p+2 +-0x1.61007cp-3 +-0x1.80ada8p+2 +-0x1.2b5e12p+2 +0x1.0c38c6p-2 +0x1.6bb408p+2 +0x1.ee99c2p-1 +0x1.3c9f7cp+0 +-0x1.ca076p+4 +-0x1.b9fd7p-2 +0x1.d3c47ap-1 +-0x1.2dadfp+2 +-0x1.1f362p-4 +0x1.6923dep+2 +0x1.be923ap+2 +-0x1.6cb73ep+2 +-0x1.565dd6p-3 +0x1.0d65ecp+0 +0x1.8e8a76p+2 +-0x1.9f02cep-4 +0x1.43d63ep-1 +0x1.36302cp+3 +-0x1.0e3a4ep+1 +-0x1.9a6fdap+2 +-0x1.5ac962p-3 +-0x1.2531c6p+1 +-0x1.7803f8p+2 +-0x1.527bccp-2 +0x1.7c4c54p+2 +0x1.3e060ep+2 +-0x1.6f1faep+1 +0x1.d71794p+2 +-0x1.4ef87cp+0 +0x1.34ebd6p-1 +-0x1.bcdef2p-11 +-0x1.7c89b4p+1 +0x1.1dde7ap+0 +0x1.070a4cp+2 +0x1.944982p+2 +-0x1.8fc20cp+2 +0x1.0a54d2p-4 +0x1.44068ap+1 +-0x1.3682ccp+1 +-0x1.6027b4p-3 +-0x1.56433cp-3 +-0x1.611a72p-3 +0x1.f3e98p-2 +0x1.d08a02p+2 +-0x1.3caae2p-6 +0x1.c20dbcp+2 +-0x1.018d48p-1 +-0x1.64ea72p+5 +-0x1.8cf15cp+1 +-0x1.7bd526p+2 +0x1.910532p+0 +0x1.876cccp-1 +0x1.6b878ap+2 +-0x1.631b5cp-3 +0x1.b00e48p+2 +-0x1.f2bbc8p+1 +-0x1.45803cp+1 +-0x1.5f5a66p-3 +-0x1.96ce1cp+2 +0x1.291652p+0 +-0x1.d34f3ap+0 +0x1.38998ep+0 +0x1.ada72p-1 +-0x1.237184p+0 +-0x1.20ab84p+2 +0x1.067852p-3 +0x1.3cac66p+0 +0x1.bccd8ep+2 +0x1.252d84p+0 +-0x1.32397ap+2 +0x1.35fc82p+3 +-0x1.70551ep-3 +-0x1.813478p+4 +0x1.3f75c4p+3 +0x1.3f7dd6p+3 +0x1.381c9ep+1 +-0x1.fd3b32p-2 +-0x1.2bb33cp-1 +0x1.de544ap+2 +0x1.772e6ap+0 +0x1.a7acfap+1 +-0x1.0615c6p+3 +0x1.5b0bbcp+2 +-0x1.9dd4a8p-2 +-0x1.9f4442p+1 +-0x1.d50b1ep+1 +-0x1.56bf4ap-3 +0x1.16945cp+1 +-0x1.5ff37ap-3 +-0x1.ffbccap+2 +-0x1.384d24p+1 +-0x1.b98b6cp+1 +0x1.3a1936p+2 +0x1.44faf8p+3 +0x1.50b852p-8 +-0x1.57888ep+2 +0x1.489e2ap+3 +0x1.7ef8eep-1 +-0x1.242e6ep-10 +0x1.b2a55cp+3 +0x1.c89c72p+2 +0x1.35d764p+3 +-0x1.9e46p+0 +-0x1.75e2f4p-3 +-0x1.5c53c6p-3 +-0x1.12715cp+0 +-0x1.d39724p+2 +-0x1.9a8eb8p+0 +0x1.e68af6p+2 +0x1.24099ep+1 +0x1.8bc658p-1 +0x1.a15c28p-7 +-0x1.6294e6p-3 +0x1.e64718p+2 +-0x1.88c804p+1 +-0x1.9198b6p+5 +-0x1.283048p-1 +0x1.ce516ap+2 +-0x1.2b3baep+1 +0x1.812d0cp+2 +0x1.7ba71cp-1 +0x1.47349p+0 +-0x1.0b8e48p+4 +-0x1.e6dfaep-2 +0x1.440fa2p+3 +-0x1.912c34p+2 +-0x1.4bee34p+2 +-0x1.ad47c8p-4 +0x1.35fa32p+3 +-0x1.8e0298p-1 +0x1.48aaf6p+3 +-0x1.0fe0d2p+0 +-0x1.18fef6p-2 +-0x1.e6b47ap+0 +0x1.ca98aep+2 +0x1.e2d266p-1 +-0x1.351f76p+0 +0x1.6d3c66p+2 +0x1.ffcb3ep+0 +-0x1.6d0c0cp+2 +-0x1.3c1c28p-5 +-0x1.c15cccp-3 +0x1.98650ap+0 +0x1.a6029ep+2 +-0x1.9379f8p-3 +0x1.3759e6p+3 +0x1.5fdf7p+0 +-0x1.6cc55ep+4 +-0x1.053ee8p+2 +0x1.4af0c8p+1 +0x1.47654p+3 +-0x1.2efceap-3 +0x1.35a8bcp+3 +-0x1.fc1d5ep-1 +-0x1.459dfp+0 +0x1.f8a8dep-1 +-0x1.a7f5c2p-5 +-0x1.9f3316p+1 +-0x1.1aefp+2 +0x1.36e29p+3 +0x1.11eb7p+0 +0x1.6532ep-1 +-0x1.26974ep+1 +0x1.acf71ep+1 +-0x1.0aa7d6p-5 +-0x1.9d2ad4p+0 +-0x1.394222p+4 +0x1.2d6428p+0 +-0x1.b3fe3p-6 +0x1.dbf61cp+2 +-0x1.61fb7cp-3 +-0x1.02cbep+1 +-0x1.3d3f54p+0 +-0x1.64d5bep-3 +-0x1.9a6666p-5 +-0x1.40a212p+4 +-0x1.846292p+2 +-0x1.257d9cp-1 +0x1.e20d2ep+2 +0x1.506cbap-1 +-0x1.9f6c8ap-1 +0x1.cb5852p-2 +0x1.dfede8p+2 +-0x1.df03d2p+1 +-0x1.44c584p+1 +-0x1.a3a42p+1 +-0x1.2d988ap+1 +-0x1.33a426p+4 +-0x1.654542p-3 +0x1.1e27bep+1 +0x1.3faddap+3 +-0x1.9066fp+1 +-0x1.5c72dap-3 +0x1.ac0814p+0 +0x1.46ebd6p-1 +-0x1.bc3a8ep+1 +0x1.3104p+0 +0x1.4c56fap+1 +-0x1.742226p+0 +-0x1.5c0486p-3 +0x1.6285ecp+0 +-0x1.c9b584p+0 +0x1.e5955cp-3 +-0x1.632452p-3 +0x1.5bee1ep+1 +0x1.3c2fb6p+3 +0x1.16c592p-2 +0x1.b295eap+2 +0x1.407dcap+3 +-0x1.767ef6p-1 +0x1.eaf332p-3 +-0x1.4c6c5p+2 +-0x1.637f32p+1 +-0x1.7f5e8ep-6 +-0x1.65b23ap-3 +-0x1.11900ap-1 +0x1.10cef4p+3 +0x1.d66a2ep+2 +-0x1.3900ccp+2 +0x1.b3f344p+2 +-0x1.148232p+1 +-0x1.3b252ep+2 +0x1.da34a6p+2 +-0x1.65a516p-3 +-0x1.5ab462p+5 +0x1.a73528p+2 +-0x1.52d4dcp-2 +-0x1.3f1bf4p+2 +0x1.3d109cp+3 +-0x1.e7b434p-3 +0x1.4a8e1ap+0 +-0x1.69edc2p-1 +0x1.ad5e14p+0 +0x1.366efp+3 +-0x1.f320ep+3 +-0x1.60c86ep-3 +-0x1.062e96p+1 +-0x1.a5e6b4p-1 +0x1.48c082p+3 +-0x1.54a50cp-1 +-0x1.1d0e38p+1 +-0x1.0d72cap-3 +-0x1.c7214cp+4 +0x1.cf20a8p+2 +-0x1.42b7ecp+1 +0x1.421b4p+3 +-0x1.9509aep+2 +-0x1.641eep+2 +0x1.37c6f4p+3 +-0x1.321a78p+2 +0x1.c01464p+2 +0x1.2ad612p+0 +-0x1.baaeb4p-5 +0x1.f1ba76p+1 +-0x1.16b9aep+0 +0x1.69f97p+0 +0x1.d7236ep+2 +-0x1.2655ecp+0 +-0x1.b6036p+2 +0x1.3bf742p+2 +0x1.3a2338p+3 +0x1.302f54p+2 +0x1.b783cep+2 +0x1.231e54p+2 +0x1.b9a226p+2 +0x1.3d6ec4p-4 +-0x1.6605fep+2 +-0x1.016e18p-15 +0x1.7fb554p+2 +0x1.bb8caep+2 +0x1.397678p+3 +-0x1.08edp+1 +0x1.e85b2ep+2 +-0x1.ba8f1ep+0 +-0x1.600bc2p-3 +0x1.4706b2p+2 +0x1.76e914p+1 +-0x1.d276ep-1 +-0x1.fb3c58p+1 +0x1.7fec7p+2 +-0x1.488bf6p+5 +0x1.3daea4p+0 +-0x1.babc8ep+2 +0x1.421582p+3 +0x1.3b2066p+1 +-0x1.ea428ep-3 +0x1.c4b67ap-5 +-0x1.4a9be6p+4 +0x1.076be8p-2 +0x1.979a26p+2 +0x1.3fcdcp+3 +0x1.3b8242p+3 +0x1.8d651ep-4 +0x1.b4919ap-2 +-0x1.1a234ep-1 +0x1.2fd148p-3 +0x1.42871cp+3 +0x1.97d77p+0 +-0x1.86b75cp-2 +0x1.9009a6p+2 +0x1.408e7ap+1 +-0x1.0fb01cp-7 +0x1.a2f7d2p+2 +-0x1.2cc04ap-5 +-0x1.69a5ap+1 +0x1.0bbc28p-2 +0x1.2e22a2p+0 +-0x1.88dc7ap-2 +0x1.7c0c2p+2 +-0x1.407b66p-2 +0x1.d9152p+2 +0x1.7002b4p+0 +0x1.758778p+2 +0x1.0dcfbap+2 +-0x1.7f44bp+2 +0x1.cd82p+2 +-0x1.feb61ap+2 +-0x1.1a4e4ep+2 +0x1.e4a6a4p+1 +-0x1.0b5fp+3 +0x1.799eccp+1 +-0x1.e3f07ap-1 +0x1.38249cp+3 +-0x1.bffb68p+1 +-0x1.082034p+2 +0x1.23fcd6p+1 +-0x1.c101eep+1 +-0x1.54d51ap-3 +0x1.767064p+2 +-0x1.9bc01ap-1 +-0x1.29edc6p+2 +-0x1.3877a4p+1 +-0x1.61a294p-3 +-0x1.bb793p+1 +0x1.7a649ep+1 +0x1.d2ed52p+2 +0x1.48241cp+3 +0x1.75e9c2p-2 +0x1.42bcc4p+3 +-0x1.cfdaaep+2 +-0x1.858b18p+4 +0x1.54595cp+0 +0x1.0b3c52p+0 +-0x1.d3180cp-1 +0x1.58da68p+2 +0x1.c6adp+1 +0x1.a98beep+2 +0x1.5c53b2p+1 +-0x1.89d0ccp-1 +-0x1.650562p-3 +0x1.193d82p-1 +0x1.5bca22p+3 +0x1.3a05bp+3 +0x1.161abcp+4 +-0x1.71d802p+2 +-0x1.02919ap+0 +0x1.dc4546p-1 +-0x1.f46284p+1 +-0x1.8e38cep-2 +-0x1.2b76d6p+1 +0x1.b21856p+2 +0x1.9c86e6p+2 +-0x1.64d776p-3 +-0x1.267618p+2 +-0x1.53a72ap+2 +0x1.dcabd6p-2 +0x1.d42ac6p+2 +0x1.45b8acp+3 +-0x1.5c0da8p-1 +-0x1.acc00ap+2 +0x1.da4a46p+2 +-0x1.64e686p-3 +-0x1.729f8p+5 +-0x1.194d9ap+3 +0x1.7e3eb8p+0 +-0x1.5ef7a2p-3 +0x1.e443b2p+1 +-0x1.7470dp+2 +-0x1.3f927p+1 +0x1.b096cp+2 +0x1.b6792ap+2 +-0x1.44742p+3 +0x1.492384p+3 +0x1.d3c576p-3 +-0x1.11ab9ap+0 +-0x1.e35b8cp-2 +0x1.de41f6p-1 +-0x1.2b6a16p-4 +0x1.2d4eb2p+0 +0x1.48aac8p+1 +0x1.4450cap+3 +0x1.35d076p+3 +0x1.a536cep-1 +0x1.735fbcp-1 +0x1.b2e3d2p-1 +0x1.775ab8p+2 +0x1.819c92p-2 +0x1.8f27cep+2 +0x1.bb9e3ap+2 +-0x1.4d9a94p+2 +0x1.d7bcd8p+2 +-0x1.1febecp+2 +0x1.4d60e2p+3 +-0x1.4b24d2p+3 +-0x1.49a54cp-2 +0x1.456e9ep+3 +0x1.49f47ap-1 +-0x1.63babep-4 +0x1.b15424p+2 +0x1.e115eap+2 +-0x1.513732p+3 +-0x1.35b7dep-2 +-0x1.1bd7a4p+2 +0x1.599a8ep+0 +0x1.ad84aap-2 +0x1.d976fcp+2 +-0x1.86e666p-1 +0x1.10cb48p+3 +0x1.1d27fep+2 +0x1.ea9446p+2 +0x1.acbc8p+2 +0x1.a6d17p+0 +-0x1.100aa2p-3 +-0x1.6dfbbep+5 +-0x1.5b177p+0 +0x1.9524f6p+0 +-0x1.5aa4fap+2 +0x1.6c782p+4 +0x1.af708ap+1 +0x1.cec838p+2 +0x1.089898p+0 +-0x1.63ccacp-3 +0x1.1940bap+2 +-0x1.14ca86p+1 +-0x1.b5d494p+2 +-0x1.0a319ap-2 +-0x1.171efp+2 +0x1.49beaap+3 +-0x1.e727d4p+3 +-0x1.234bcp-1 +0x1.43c804p+3 +-0x1.178dfep+2 +0x1.fdc47ap-3 +-0x1.e75396p+2 +0x1.f8f04cp+2 +0x1.3a2882p+3 +-0x1.4fab3ep+2 +0x1.952e04p+1 +-0x1.f99bd6p+0 +0x1.233548p+0 +0x1.0fccccp-6 +-0x1.54f26ap+2 +-0x1.ea8732p-4 +-0x1.44f526p+2 +0x1.9dfe8ep+0 +0x1.4df2ep-1 +-0x1.5f4d08p+0 +0x1.350aap+3 +0x1.e7b63cp+2 +-0x1.cba3f6p+1 +0x1.3ec0f6p+0 +0x1.b8a2bap+2 +-0x1.5c199cp+4 +-0x1.056936p+3 +0x1.8e304p+2 +0x1.b2fc28p-2 +0x1.0af75cp-2 +-0x1.57f7b8p+3 +0x1.3d1ecp+3 +-0x1.2a76fp-1 +-0x1.2da37ep+6 +-0x1.4fc948p-2 +0x1.002a8ep+0 +-0x1.20bdd4p+2 +-0x1.5f6ceep+2 +0x1.93eb84p-4 +-0x1.c443cp+2 +0x1.b34272p+2 +-0x1.fec732p-1 +0x1.5a9794p+1 +0x1.9f7c76p+2 +0x1.c86a0cp+2 +0x1.88d064p-1 +-0x1.782b46p+2 +-0x1.a8241p-2 +0x1.01e8cep+2 +-0x1.65f582p-3 +-0x1.a6e786p+2 +0x1.268be2p-2 +0x1.d4ca68p+2 +0x1.10d1fep+3 +0x1.33280ap+1 +0x1.45129ap+3 +0x1.b2f9fp+2 +0x1.c06c2ap+2 +-0x1.2e4b6p+2 +0x1.532108p-1 +-0x1.198f1p+0 +0x1.32f2ep-1 +-0x1.63b1fap-3 +0x1.de7384p-1 +-0x1.f9c4ep+0 +0x1.bd8dc4p+2 +-0x1.748c3p+2 +-0x1.0c2204p+2 +0x1.3f400cp+3 +0x1.16ef8ep+1 +0x1.ffaf0ap-1 +-0x1.3df84ep-5 +-0x1.0a47f6p+3 +-0x1.074b02p-3 +0x1.358ba2p+3 From patchwork Fri Oct 25 18:21:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 838379 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp443685wri; Fri, 25 Oct 2024 11:28:48 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXb5zIJVNyTRuzdLTLthX/eRF4zaVhu1BcYXa7/7oe8Bp6IV2iJBWCkELQsIQeMMDAXxvFDdA==@linaro.org X-Google-Smtp-Source: AGHT+IHkJrehjEG0vZxjrCCvACQaGDAfTs2qJp5Zl3e6+XAE7dl7v+w+nZV6sgYs3w3qR96wR/v4 X-Received: by 2002:a05:6214:53c9:b0:6cb:c9e0:c299 with SMTP id 6a1803df08f44-6d1856f7c3cmr5279326d6.27.1729880928741; Fri, 25 Oct 2024 11:28:48 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729880928; cv=pass; d=google.com; s=arc-20240605; b=Zkt2azLrxqU8gALT9FdQ/TuvCCxUbe+Drvtn6bI9TGKcgM/fCWNuWspM41aSqziyiJ N3kuunkV0kq1QQOceyrWZUL2kIzWsWtbUkfHb6M2RGUhqj5bb5or9pEkr3KZTlRV99xx Zf+/eTWFkfheDQc7b4Ej9T0BznPZiq89aDsm04uPxHxCZjQavBJC3f+13SDvie0RoC6r b5sH0hU9PIRp853jiEqAr0rC9eh7F7a0XseU2N4Kzlz5ySg0m4ruipd/UZCiWwPfzPPE 4sBNpn0NDi7dbog5081lhWRGjq2JHqEq4S8WKGfgXJ25Mb64icXgMkBt1i1Yp/d2UL1g 4NEw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=DVoDQcP2yNaMvmXcXLMlvorcGVvWVmmr3DiTRuYEiV4=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=eTArW8uS2L0GWQPYdi+A/Atu8JIijNwXilK6OustsgsrGG9NSS8B0AGxobeNWDBfS+ uGBNkT4y0EzTb8IN3r5V5VBuWfBFpQPR5wyEG/FWDfYe8Yb4+qbb1J441lurqGfVr3Un LFrKCmTdfGb8lFKXjz5jjVyvx5lnzu6iGLf7IqBhVGNpBLfS37f4YRkW1M9dwnwQKAJf JWcTQIu66KDjKm6abDfE48BNwTozul32jb8c6TSmUT0JxyzH8GvtdyX92WalnzGh1YnE 648x81WIFmw0AEQijKRCGLDd4vveqL8OYAPQ30bXhxc1rJafXRk8K+KJnVENlAvsMIUW ok4w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=RLOa7sXZ; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id 6a1803df08f44-6d179a8a0f0si20754936d6.536.2024.10.25.11.28.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:28:48 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=RLOa7sXZ; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5A8743858416 for ; Fri, 25 Oct 2024 18:28:48 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by sourceware.org (Postfix) with ESMTPS id 614913858D39 for ; Fri, 25 Oct 2024 18:26:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 614913858D39 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 614913858D39 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62d ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880805; cv=none; b=wyh91k6eyqydtQ4EfxFr0EoZ260KBcG80EoHgLDMyvUu88zkp+LPq1V7DyJh6AIbt9FmjTY87tk/OWvAiimU5CCT5ys+uQVKAKR9ISLJRwO3ffIHS9o8fB2HbRmp5zulMS4CpTn34R2/8SL7SugTPXKMX5icGe5rdUITwsMYIc0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880805; c=relaxed/simple; bh=9/6MGau9hXQM+/5gPREkce4SkLJHP4QPLX3mHKgc9mM=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=eQY36hr70latLbMw9k1hmOWmWbntz9MA3qArtVo23HQyyeJrMpTHVsyVx7CJIezp4OEezmEf4HCRT1Pnz4GOAPmFfk8IQg5bG7ucITKY631rEjXeVlMrVged9YJerbxT7PzyC2nwU2Tlp3YvP5Q8JeOLML/xDoTgPuhjxgnarhE= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-20c767a9c50so20211775ad.1 for ; Fri, 25 Oct 2024 11:26:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880794; x=1730485594; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DVoDQcP2yNaMvmXcXLMlvorcGVvWVmmr3DiTRuYEiV4=; b=RLOa7sXZ22T61AsK3qRVE1EeO//lOaqfdo6PSicy+ggcujn7pjWv5q6O1K6GwsRDej vX3gjU+tDf0v5HmTOwVz9RK0wcB0oz9aXpklCxqGA1fuUASh8ywlFSSdPS9fLFo4voyI EhQpFVzmlTAuEcoEsB+V9dFuDXb/RhHQYufl94SeGLEFXhGPNlkzSWDmWspDL6l1TZar nzxQt+uw5lclwqn0Z/2BNEvsauMY8aZJ5rjbbQKt5tWsshPKCEjenfaTA4yuWniUE8/0 nTdYss3l2iU7oLdAqFO0AwgkRFRXxPWHatRvBfQ0qll0aw3hp1S/oNKDCB3CpojBWg23 ZvCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880794; x=1730485594; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DVoDQcP2yNaMvmXcXLMlvorcGVvWVmmr3DiTRuYEiV4=; b=LFtb1OQ5xkAXrjCFNPQniIjT9fvKr7BCkvSsZx7k3ov2jIDDbiE6hkub0P+bKReoJA zD5LvIKxOUsDzFSk3U8WDnMNPqUQajp+uGgpEVPhnmbqSYJTibSYmuxWS6DL70KKQr9k d/a8gQsgtTXjTEwLotM2ZhH/Kw04MzuKiTzJeTSwnOsBEZPyt75zqXg5YTpjh4mYqVWl 2u94Qym9VSulOarLFt9VPpZXEdd0T4M/+ZpTbB4bSLfuwJN7ma8To5XST0iGZMdvYrEC sc62cN1XY1MvyDgHlj0k7N2nPdD2XHUwjYte+q7ra8Vu372pKA9UliZAyVejUfPcHmNq y8xw== X-Gm-Message-State: AOJu0YwadwCk3ICcpicSa6Oa8h3OtvJyveMKQgpT81fx7C4jEeMoedFg EXA2QUOnrfh4zk1rebp6tbtxz7rVBQ+JCiJAj9+kk909rITJlkl2+Ln6VBIqE+IcCdWZrQRzkPv U X-Received: by 2002:a17:902:f70f:b0:20c:6023:2268 with SMTP id d9443c01a7336-210c6c75897mr659395ad.40.1729880793936; Fri, 25 Oct 2024 11:26:33 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.26.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:26:31 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 04/17] benchtests: Add expm1f benchmark Date: Fri, 25 Oct 2024 15:21:42 -0300 Message-ID: <20241025182614.2022697-5-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org The inputs are modeled based on expm1-inputs, with the range adapted to binary32 range. --- benchtests/Makefile | 1 + benchtests/expm1f-inputs | 799 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 800 insertions(+) create mode 100644 benchtests/expm1f-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index 25dfe700a6..bb21721057 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -48,6 +48,7 @@ bench-math := \ exp2m1f \ expf \ expm1 \ + expm1f \ floor \ floorf \ fmax \ diff --git a/benchtests/expm1f-inputs b/benchtests/expm1f-inputs new file mode 100644 index 0000000000..6b80475401 --- /dev/null +++ b/benchtests/expm1f-inputs @@ -0,0 +1,799 @@ +## args: float +## ret: float +## includes: math.h +## name: workload-random +# Random inputs in [a=-14.495465,b=88.722832] +# where a is the smallest number such that expm1f does not round to -1 +# and b is the smallest number such that expm1 rounds to +Inf (to nearest) +0x1.3810cp+6 +0x1.d5f38p+3 +0x1.5bbafp+4 +0x1.274218p+5 +-0x1.4e6a94p+2 +-0x1.898c1ap-1 +0x1.609cf8p+5 +0x1.9cc3a4p+4 +0x1.2df7eep+4 +0x1.73defep+5 +0x1.dd4ddap+3 +-0x1.9fe548p+3 +0x1.b3c8f2p+1 +0x1.3ac27cp+6 +0x1.b43346p+5 +0x1.1e7d4ep+2 +0x1.a65c52p+5 +0x1.3c2c3ap+5 +0x1.0ae18ep+6 +0x1.5d1cccp+6 +0x1.5e376ep+6 +0x1.46e41ap+5 +0x1.58bd84p+0 +-0x1.ad6876p+3 +0x1.ac642ep+4 +0x1.45482ep+2 +0x1.6a3fe6p+1 +0x1.b1da94p+3 +0x1.0bac6ep+6 +0x1.b7f212p+5 +0x1.4c9a62p+6 +0x1.903de4p+5 +0x1.0021e8p+4 +0x1.17b81p+3 +0x1.5cf974p+6 +0x1.1ca20ap+6 +0x1.aeb732p+5 +0x1.c60614p+5 +0x1.186b38p+6 +0x1.abbb34p+5 +0x1.5c2474p-2 +0x1.e6855cp+3 +0x1.14068cp+4 +0x1.710416p+4 +-0x1.cc704cp+2 +0x1.534bdap+6 +0x1.8b0c18p+3 +0x1.36de48p+1 +0x1.33b7f4p+5 +0x1.19c128p+5 +0x1.d9d7dap+5 +0x1.343482p+6 +0x1.c82f4ap+5 +-0x1.1123ep-1 +0x1.a66ed2p+5 +0x1.30fd8p+6 +0x1.221296p+6 +-0x1.cb7386p+1 +0x1.00cdccp+5 +-0x1.8d3f3ap+2 +-0x1.d4dbf6p+2 +0x1.fdf25ap+4 +0x1.d5fd5cp+3 +0x1.fbd1ep+4 +0x1.116b76p+6 +0x1.b9b8b4p+1 +0x1.b5dfdp+2 +0x1.c49f3cp+5 +0x1.608052p+6 +0x1.34cb2p+6 +0x1.e95b62p+3 +0x1.1984f4p+6 +0x1.f7a902p+5 +0x1.55b80ep+3 +0x1.e63ffap+3 +-0x1.acc202p+1 +0x1.2670c4p+4 +0x1.3cb908p-1 +0x1.2a3b32p+3 +0x1.ef2c8ap+5 +-0x1.86fb0ap+2 +-0x1.10ce8ap+1 +-0x1.ee4398p+2 +0x1.317bacp+6 +-0x1.7844b8p+3 +0x1.cc4ac8p+5 +0x1.56d116p+4 +-0x1.b79b38p+3 +0x1.34dcaep+5 +0x1.79f55cp+4 +0x1.6c0398p+5 +-0x1.04565cp+3 +0x1.9340ccp+2 +0x1.d8856cp+5 +-0x1.bc5034p+1 +0x1.97348cp+5 +0x1.76a472p+5 +0x1.111a1ep+5 +0x1.19bc32p+4 +0x1.5d75c2p+6 +0x1.a1dcaap+5 +0x1.079abcp+6 +0x1.8b0ca8p+5 +0x1.2e6548p+6 +0x1.24d536p+5 +0x1.3d8efcp+5 +-0x1.fa06c8p+2 +0x1.c20454p+5 +0x1.bbd65cp+3 +0x1.53db36p+6 +0x1.7f69b2p+4 +0x1.f8aab8p+4 +0x1.42f736p+5 +0x1.121742p+5 +0x1.2dc1c2p+5 +0x1.0d4e32p+5 +0x1.0a6128p+6 +0x1.afc1d6p+5 +0x1.1a29ap+6 +-0x1.c5e0c2p+3 +0x1.15b464p+6 +0x1.b1eb2ap+5 +-0x1.6f737p+0 +0x1.8c9f04p+0 +-0x1.56ad02p+3 +0x1.c595aap+5 +0x1.1c4056p+6 +0x1.45ba98p+5 +0x1.aff522p+5 +0x1.ac9542p+4 +0x1.4cc0d6p+1 +0x1.4adb2ep+6 +0x1.3491c2p+5 +0x1.559a82p+3 +0x1.def4p+5 +0x1.23f276p+5 +-0x1.d5eff8p+2 +0x1.e6ca08p+4 +0x1.f83e38p+3 +0x1.331a4p+6 +0x1.57df6cp+3 +-0x1.852c2ep+3 +0x1.bd56fcp+5 +-0x1.3720a6p+3 +0x1.3e49cp+1 +0x1.3a1e0ap+5 +0x1.7525c8p+5 +0x1.5ff3c8p+6 +0x1.5fbbd6p+6 +0x1.40f626p+5 +-0x1.87d02ep+3 +0x1.56345ep+2 +0x1.a735aep+2 +0x1.3b30bap+5 +-0x1.da7242p+2 +-0x1.9b8284p+1 +0x1.16a344p+6 +0x1.af11e4p+3 +0x1.53f7e6p+5 +0x1.50e1a8p+5 +0x1.242fe4p+6 +-0x1.18156ap+3 +-0x1.1ac67cp+2 +0x1.d53c02p+5 +0x1.5217c4p+6 +0x1.6da49ep+5 +0x1.17bfbp+6 +-0x1.0e3c48p+2 +-0x1.3b7a1ap+2 +0x1.41462cp+6 +0x1.aaee8p+4 +0x1.d2579cp+5 +-0x1.865634p+3 +0x1.a3876cp+5 +0x1.e512d8p+3 +0x1.bc6f4ep+4 +0x1.b14bfep+5 +0x1.ec787cp+4 +0x1.268bf6p+4 +-0x1.bf2e34p+2 +0x1.861576p+5 +0x1.41c256p+4 +0x1.69b71cp+5 +0x1.601c7ap+6 +0x1.b97298p+4 +0x1.82e8bp+5 +0x1.83c418p+5 +0x1.21dee6p+3 +0x1.cb17fap+5 +0x1.38c41cp+6 +-0x1.c2683cp+3 +0x1.3d6fcp+5 +0x1.d1ef44p+5 +0x1.47d6c2p+3 +0x1.380822p+6 +0x1.442deap+6 +0x1.25b0dcp+5 +0x1.03867cp+5 +0x1.8e554ep+5 +0x1.26befep+4 +-0x1.37db3ap+0 +-0x1.0508eap+3 +0x1.d25cecp+5 +0x1.05cf7cp+6 +0x1.c31c7p+5 +0x1.a86266p+5 +0x1.59e8a2p+6 +0x1.ef79ep+4 +0x1.212d2p+1 +-0x1.b8245ap+3 +0x1.30aec4p+5 +0x1.5fe628p+6 +0x1.caa0fap+5 +0x1.229bap+4 +0x1.1e5278p+6 +0x1.146544p+6 +0x1.009ecp+6 +0x1.9c90b4p+5 +0x1.0145dep+6 +0x1.6b25ap+5 +-0x1.9c2698p+1 +0x1.441204p+4 +0x1.396798p+5 +0x1.5b5dc8p+4 +0x1.27f358p+6 +0x1.79b952p+3 +0x1.1a30ecp+6 +0x1.0eb864p+6 +0x1.bd1f6ep+5 +0x1.90f39ap+4 +0x1.d00fa4p+5 +0x1.38d37ep+5 +0x1.942356p+4 +0x1.041a1ap+6 +0x1.ff196cp+3 +0x1.24bcd4p+6 +-0x1.3d97eap+3 +0x1.f6224p+5 +0x1.2cfdbep+5 +0x1.42fa36p+5 +0x1.844ce4p+5 +0x1.5810aep+6 +0x1.df2214p+5 +0x1.580ba4p+6 +0x1.620818p+3 +0x1.7e9a86p+5 +0x1.5fc452p+6 +-0x1.b0f38cp+3 +-0x1.b4c3ap+0 +0x1.ae6154p+4 +0x1.334348p+6 +0x1.daa71p+4 +0x1.9c2e0ep+5 +0x1.140af2p+5 +0x1.5dc292p+6 +0x1.f7f7e4p+5 +-0x1.d74c66p+2 +0x1.249b98p+6 +0x1.750da8p+3 +0x1.3782ccp+5 +0x1.3ad2f4p+6 +0x1.1b2256p+6 +0x1.be193p+3 +0x1.6074f2p+4 +0x1.926602p+5 +0x1.640a02p+3 +0x1.4d343p+0 +0x1.5eaabcp+4 +0x1.7e4ff4p+5 +0x1.631a3ap+4 +0x1.2bcc8p+3 +0x1.6abe2ap+5 +0x1.85e932p+5 +0x1.6ea55ap+2 +-0x1.a9a304p+2 +0x1.05ba9ep+6 +-0x1.ca222cp+2 +0x1.64940ep+5 +0x1.2ebe6cp+4 +0x1.7c91c2p+5 +0x1.f0368ap+4 +-0x1.129f02p+1 +0x1.7ed0a4p+4 +0x1.11beb2p+6 +0x1.330d7ap+4 +0x1.3bc6eep-1 +0x1.02348p+6 +0x1.35064ap+5 +0x1.3c44p+5 +0x1.c128eep+5 +0x1.837444p+3 +0x1.9116dap+5 +-0x1.7fb6f2p+3 +0x1.d74884p+4 +-0x1.dd8e86p+2 +0x1.db84e2p+5 +-0x1.9aa036p+2 +0x1.a108cep+5 +0x1.60ed52p+4 +0x1.c738eap+5 +0x1.1d9b9p+1 +0x1.5542ep+6 +0x1.074218p+0 +0x1.16afeep+6 +0x1.31b3dp+5 +0x1.8127a8p+5 +0x1.27d12p+2 +0x1.962ad2p+3 +0x1.726aacp+2 +0x1.e9e8bap+5 +0x1.b54284p+5 +0x1.acb4fcp+5 +0x1.2a671p+6 +0x1.de6a98p+5 +0x1.6a2454p+2 +0x1.85b1b8p+5 +0x1.a50b94p+5 +0x1.77bfaep+2 +0x1.41c6ap+3 +0x1.e51cdep+5 +0x1.4de72cp+6 +0x1.413186p+6 +-0x1.bbc70ap+3 +-0x1.f138fcp+2 +0x1.78855p+5 +0x1.dd16bep+4 +0x1.2c491p+2 +0x1.500ff6p+6 +-0x1.035c0ep+2 +0x1.3a7688p+5 +0x1.82bb26p+5 +0x1.0c41d2p+6 +-0x1.85128cp+1 +0x1.54a6f8p+5 +0x1.66e21cp+5 +0x1.d3cce6p+1 +0x1.a16cbap+3 +-0x1.096126p+2 +-0x1.a45e04p+3 +0x1.7d697p+5 +0x1.106d1ap+6 +0x1.04e974p+4 +0x1.6ce8b4p+3 +0x1.8b3bd4p+3 +0x1.7db442p+4 +0x1.3c3318p+6 +0x1.91a55ep+4 +0x1.378ffap+6 +-0x1.5f7422p+2 +0x1.6c9034p+3 +-0x1.f8ff9ep+1 +0x1.d2f0dp+4 +0x1.4e15dcp+6 +-0x1.a41644p+2 +0x1.1074f4p+5 +0x1.c08daap+5 +0x1.0a83a2p+3 +-0x1.e24802p+1 +0x1.54555cp+6 +0x1.b6cac8p+5 +-0x1.3f30dap+1 +0x1.c9d7e6p+4 +0x1.054b78p+6 +0x1.9a9d3cp+5 +0x1.eaea98p+5 +0x1.e6dcd2p+4 +0x1.4c5e9ap+2 +0x1.990a46p+3 +0x1.5b856p+5 +0x1.53b10cp+6 +0x1.3085b8p+2 +0x1.33623ap+6 +0x1.79211cp+2 +0x1.487144p+6 +0x1.8540c4p+5 +0x1.7d81eep+4 +0x1.c2663ep+5 +0x1.177a4ep+6 +0x1.9d505cp+5 +0x1.656852p+4 +-0x1.cc7e2cp+1 +0x1.a8057ap+4 +0x1.86fd48p+3 +-0x1.148908p+1 +0x1.5bc9fep+2 +0x1.4cd724p+5 +0x1.5cff22p+6 +-0x1.aaecc8p+2 +0x1.14cb74p+5 +0x1.ce6106p+4 +0x1.51cda4p+4 +0x1.171dbp+6 +0x1.4a3d88p+1 +0x1.1bd39ep+6 +0x1.7a88a4p+5 +0x1.7a31e4p+4 +0x1.1b585cp+6 +0x1.528cc6p+5 +0x1.a58ccep+4 +0x1.c26ed8p+4 +0x1.22021cp+6 +0x1.1b8a9p+6 +0x1.e2c44p+5 +0x1.fe1bb4p+5 +0x1.0548acp+6 +0x1.12ce22p+6 +0x1.623584p+6 +0x1.7a0d8p+5 +0x1.9b770ep+3 +0x1.3c827ap+4 +0x1.54d708p+4 +0x1.114dc6p+6 +0x1.a34a9ap+4 +-0x1.85b6bcp+3 +0x1.cba9f2p+4 +0x1.a81124p+4 +-0x1.a0265cp+3 +0x1.376a9p+5 +0x1.f878p+5 +0x1.3a403ep+6 +0x1.3b4e9cp+6 +0x1.3a7ecp+6 +0x1.0e7c34p+4 +0x1.d974ecp+3 +0x1.f96p+3 +0x1.b07262p+5 +0x1.c0761ep+5 +-0x1.8d95aap+3 +0x1.f9b2eap+2 +0x1.c45722p+3 +0x1.22035cp+3 +-0x1.14f90cp+2 +0x1.f3f58p+5 +-0x1.3f0d4p+3 +0x1.712122p+4 +0x1.6c70b4p+4 +0x1.5386p+5 +-0x1.676fcep+3 +0x1.087cdap+6 +0x1.5e31bcp+6 +0x1.59c27p+6 +0x1.8fda26p+5 +0x1.bac6dcp+5 +0x1.94bcbap+1 +0x1.b4272cp+4 +0x1.28b6e6p+4 +0x1.15d214p+5 +-0x1.258ca8p+2 +0x1.67d242p+4 +0x1.b463bep+4 +0x1.82d508p-1 +0x1.453544p+6 +0x1.59c3e2p+5 +0x1.a5444cp+0 +0x1.023312p+2 +0x1.4e49a2p+6 +0x1.3b2906p+3 +0x1.db3a42p+0 +0x1.482b3cp+4 +0x1.1b5f4p+4 +0x1.0a249ap+5 +-0x1.4d103cp+3 +-0x1.3f9a6p+1 +0x1.fb22d4p+4 +0x1.ae6726p+5 +0x1.5065c8p+5 +0x1.85a07ap+3 +0x1.08e6p+4 +0x1.9e5ddep+4 +0x1.5c2b96p+6 +0x1.025d3ep+3 +-0x1.b61288p+2 +0x1.767a9p+4 +-0x1.e1d398p+2 +0x1.61a05ap+4 +0x1.c1dcbep+4 +0x1.bc94c4p+5 +0x1.bab56ep+5 +0x1.3dd33ap+4 +0x1.57b106p+6 +-0x1.d493dcp+2 +0x1.c7c276p+5 +0x1.d177d8p+3 +0x1.e07254p+4 +0x1.e7a35ap+4 +0x1.f5361cp+3 +0x1.9124ap+5 +0x1.7cde4cp+5 +0x1.5868d6p+5 +0x1.34e748p+5 +0x1.883d3ap+5 +0x1.5a718ep+5 +0x1.416afcp+5 +0x1.b75ad8p+5 +0x1.000a84p+5 +0x1.dfbf96p+3 +0x1.caf566p+5 +0x1.47b68p+6 +0x1.179f6ep+5 +0x1.6139e6p+6 +0x1.79aba4p+4 +0x1.3314fcp+4 +-0x1.9396e4p+0 +0x1.d1f398p+5 +-0x1.4d93ecp+2 +-0x1.13ffbap+3 +0x1.43af3cp+6 +0x1.02fe76p+6 +0x1.ea2a1cp+5 +0x1.b46644p+5 +0x1.29812ap+6 +-0x1.9a4f28p+2 +0x1.33970ep+4 +0x1.22e908p+1 +0x1.5fe03ap+6 +0x1.593f74p-2 +0x1.12a9b6p+6 +0x1.d0aa12p+5 +0x1.d9bd7ap+4 +0x1.6abe46p+5 +0x1.6a7cd2p+5 +-0x1.243e06p+3 +0x1.8dc5b2p+5 +0x1.d19254p+5 +0x1.0d324p+4 +0x1.167128p+6 +0x1.667ba8p+5 +0x1.44c732p+6 +0x1.e452aep+5 +0x1.d9ad26p+5 +0x1.a6b18cp+5 +0x1.44778p+4 +0x1.6de93cp+5 +-0x1.749e0ap+3 +0x1.384234p+5 +0x1.baf766p+5 +0x1.155178p+5 +0x1.746b38p+5 +-0x1.108cf6p+3 +0x1.a42fcap+3 +0x1.e524aep+4 +0x1.70d73p+3 +0x1.10af9ap+6 +-0x1.fb00cep+1 +0x1.2084acp+6 +0x1.3ae402p+4 +0x1.3e95f2p+5 +0x1.424342p+6 +0x1.08ace2p+6 +0x1.eb0efep+5 +0x1.a4a3dap+5 +0x1.a438e8p+4 +0x1.39696ap+5 +0x1.2a706ep+6 +0x1.6fff2p+2 +0x1.ef4e3cp+5 +-0x1.20a1dp+3 +0x1.1fd284p+5 +0x1.240be4p+6 +0x1.5da7bp+4 +-0x1.49ca52p+1 +0x1.93cb38p+4 +0x1.179b56p+5 +0x1.18cf6cp+4 +0x1.d8c7cep+5 +0x1.54e87ap+6 +0x1.0556ap+6 +-0x1.f9dd92p+2 +0x1.1429eep+6 +0x1.295ef2p+5 +0x1.07eedcp+5 +0x1.58afeap+5 +0x1.e5bcc8p+2 +-0x1.a038c8p+3 +0x1.4e70a6p+6 +-0x1.172cfep-4 +0x1.355898p+3 +0x1.90292ep+5 +0x1.277aeap+4 +0x1.0e9c1cp+6 +0x1.54c948p+6 +0x1.17dc44p+2 +0x1.005c26p+3 +0x1.6c2d44p+5 +0x1.067ce8p+5 +0x1.188b3ap+1 +-0x1.c44378p+1 +0x1.16c9c4p+3 +0x1.40b782p+5 +0x1.8f8ecep+5 +0x1.aa8fbp+2 +0x1.40242ap+6 +0x1.78607cp+3 +0x1.209358p+6 +0x1.db1404p+4 +-0x1.b8ceap+1 +0x1.1e67p+6 +-0x1.c9f25ap+0 +0x1.eef1fp+5 +0x1.d17786p+4 +0x1.422a98p+6 +0x1.6efbaap+3 +0x1.5b11fep+6 +0x1.35d254p+6 +0x1.9b5daap-1 +-0x1.36c61cp+3 +0x1.5c19b4p+5 +-0x1.9dabdp+0 +0x1.b600c6p+5 +0x1.2a4238p+4 +-0x1.91e754p+2 +0x1.9740aap+4 +-0x1.77a118p+2 +0x1.125a76p+5 +0x1.08e4e2p+6 +0x1.2d6fp+4 +0x1.0046bap+4 +0x1.62c562p+6 +0x1.0d6c4p+6 +0x1.06cdbcp+6 +0x1.e88312p+5 +-0x1.903494p+3 +0x1.5d8044p+6 +0x1.0330e2p+4 +0x1.956188p+3 +0x1.9716c8p+5 +0x1.9b053ep+2 +0x1.26b98ap+5 +0x1.0b77p+3 +-0x1.ad2e28p+3 +0x1.30a1fap+4 +0x1.f41f1ep+2 +0x1.58c6eep+6 +0x1.4cd264p+3 +0x1.2f67c2p+6 +0x1.17e59ap+5 +0x1.59172cp+6 +0x1.3bb328p+4 +0x1.2a1c4ap+4 +0x1.11986p+6 +0x1.694528p+5 +0x1.d5535ap+4 +0x1.c2a2a4p+5 +0x1.4d88eap+4 +-0x1.e7e718p-1 +0x1.69dd4ap+5 +-0x1.4eca08p+1 +-0x1.c3eb44p+3 +0x1.2a4a8p+3 +0x1.d38d02p+5 +0x1.521b76p+6 +0x1.307698p+4 +0x1.8609c2p+4 +-0x1.facdd8p-3 +-0x1.2292p+3 +0x1.35cbf8p+1 +0x1.4390ecp+4 +0x1.948c06p+4 +-0x1.58cfb4p+3 +0x1.4b4b1cp+3 +0x1.ec863ap+5 +0x1.7868acp+4 +0x1.0c6a56p+6 +0x1.e8f6a6p+1 +0x1.f904cep+5 +0x1.d293c8p+4 +-0x1.35c3e8p+3 +0x1.323624p+4 +0x1.1985dep+4 +0x1.300366p+2 +0x1.cf14fap+5 +0x1.a32ab2p+5 +0x1.fb2286p+5 +0x1.071ed4p+6 +-0x1.25c488p+3 +0x1.5bd4b6p+5 +0x1.bfa83ap+4 +0x1.08f0dep+3 +0x1.f997b4p+4 +0x1.7368ccp+5 +0x1.590e04p+5 +0x1.57d704p+6 +0x1.c5aacep+5 +-0x1.54ee06p+2 +0x1.6191aap+3 +0x1.da9cap+5 +0x1.2fde0ap+5 +0x1.065a4ap+6 +0x1.1d3006p+6 +0x1.81e26ep+2 +0x1.ebf4dap+5 +0x1.cef564p+4 +0x1.922a5ep+3 +0x1.05e368p+3 +-0x1.245f16p+1 +0x1.479e9ap+3 +0x1.2b5394p+5 +0x1.ad8dacp+3 +0x1.ae750ep+3 +0x1.9a4daap+4 +-0x1.825edep+2 +0x1.312b9ap+6 +0x1.18e142p+4 +0x1.63bd86p+5 +0x1.252456p+4 +0x1.ba9c2ep+5 +-0x1.e576a4p+0 +0x1.14a2c4p+6 +0x1.0a073cp+5 +0x1.dcec16p+4 +-0x1.9ff9fap+2 +-0x1.5eb4f8p-2 +-0x1.d4075p+2 +0x1.cb0356p+2 +0x1.b902d6p+5 +0x1.3fdc32p+2 +0x1.5d971p+6 +0x1.84e158p+4 +0x1.95b4c4p+5 +-0x1.3e79ep+3 +0x1.fd2dc8p+5 +0x1.0d6f1ep+6 +0x1.4d02bp+5 +0x1.f11f1p+4 +0x1.576072p+4 +0x1.6dd086p+4 +0x1.0e00d2p+5 +0x1.995574p+5 +0x1.483b64p+5 +0x1.32e292p+3 +0x1.564096p+5 +0x1.64c174p+5 +0x1.54eccap+2 +0x1.10debap+5 +0x1.622066p+5 +0x1.207182p+2 +0x1.e8fb92p+5 +0x1.fc096ap+5 +0x1.3a7646p+1 +0x1.2b9d32p-1 +0x1.1b13f8p+6 +0x1.90947ap+2 +-0x1.b8d3acp+3 +0x1.b6a486p+3 +0x1.49a914p+6 +0x1.2e0d82p+6 +0x1.a6b1aep+5 +0x1.2511e4p+5 +0x1.da5904p+5 +0x1.d5b054p+4 +0x1.2a5f2cp+6 +0x1.08678ap+6 +0x1.f9e99ap+5 +0x1.916dfp+4 +0x1.bca612p+5 +0x1.1d10fcp+5 +0x1.5f1accp+6 +-0x1.cdae76p+2 +0x1.4cc6d2p+6 +0x1.496142p+6 +-0x1.a2389ap+3 +0x1.de417ap+5 +0x1.5db35ap+2 +0x1.c3bfp+4 +0x1.494e5cp+1 +0x1.653f3ep+3 +0x1.184762p+0 +0x1.11cd68p+6 +0x1.278d82p+5 +0x1.ee46e8p+3 +0x1.3eedbap+6 +0x1.2f0584p+5 +0x1.1c418ap+5 +0x1.4c0c6ap+5 +0x1.20bc1ap+5 +0x1.4a866cp+4 +0x1.f57228p+4 +0x1.0d82a8p+6 +0x1.4b7808p+6 +0x1.32497p+6 +0x1.53a728p+6 +0x1.a90c84p+5 +0x1.e1b57cp+5 +-0x1.2e0af6p+2 +0x1.c3ee6cp+2 +0x1.271e9ap+4 +0x1.62dcfap+6 +0x1.d0991p+1 +0x1.3b6862p+6 +0x1.dad92p+4 +0x1.28e45ap+3 +0x1.a299a8p+3 From patchwork Fri Oct 25 18:21:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 838381 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp443880wri; Fri, 25 Oct 2024 11:29:14 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVKMxaZymiIOD8pflLR8GjjNcGDBcpwKBhGAsdO12TmJV+Sl8MY+Yoad07jt7/XrSFV/R50dQ==@linaro.org X-Google-Smtp-Source: AGHT+IH2ZKRsopKjg8GMGU2vZPMQBQ4mOKaPAitYytOwIrO+RogRhLTpc8K6fBxwacbsyG2UoAdC X-Received: by 2002:a05:6214:5f09:b0:6cb:2565:3f5f with SMTP id 6a1803df08f44-6d18587506emr3635236d6.51.1729880954700; Fri, 25 Oct 2024 11:29:14 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729880954; cv=pass; d=google.com; s=arc-20240605; b=B5GXDF/WwlSh97d72f1wZycUoLm37CzO1eUHsjKfNyxNIoeQ/t1fgm9a9SeuG+h2PZ 42DiEYVYAS5LuK2/hx4dNOjfu4/YKlcUhqDGRn0tTiM/Jq3XINq/dCM6c+6uZoB+IhDO 2N9UGDv9Iu1Ovlla1UUZAK53FRlY/bBHAafK5uwG7glBptQc1oWRiOrTkRBFt9tmKtXq NdeLV/xpXkud2wUzOrD9grCzA4jJXdUvfUWG+fdCPqH2Bgik24tQsS38ERb8lWJtne5O MRTjIfjvFBY6aqnMtvJ8jY5AJQd7dloG64bsVHqqwBj2S+KB/z1UXm/ji8HEKGZOih9J 5RwQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=ykzZfFOyFW5FMlCdHCyduTiddMnnTmAwWRL526mm1hQ=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=PnpddgAtX6KlP7vol/5SUDFtTb4ZmUf1AKKD9sAz8x4CKwBUEOl7dRJvmjy+lFZQUK sm11UDYcCyLo62rXBKxAnfoKrYqYQDdofZN/3+swUCkz60hd76hzcukjpoYT5PUTlO6a FwtMh+bJR7hoPlqVvFBf001nlxc4URBvLCvMkTw4YARvCxVtHyEINTGt1+4fwzcxS+8W WvsS2v4dJZ++qRqbbz5a04bHpOKvz+uB9Rers2rTrOaqonW0oJospqCeNSUUIbEWbVr0 I8c/4MCSl8L7jhRAjx93mj3P8YhA5jGmKgUz91RVOkUCwxNx6wQthiOMUiOHHsS4YUtR i9Zg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Papsuw8W; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id 6a1803df08f44-6d179a7db4bsi21630406d6.440.2024.10.25.11.29.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:29:14 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Papsuw8W; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4DBBD385841D for ; Fri, 25 Oct 2024 18:29:14 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id 6C1A83858C98 for ; Fri, 25 Oct 2024 18:26:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6C1A83858C98 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 6C1A83858C98 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::630 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880806; cv=none; b=elta2iYgN4HL2nbymTJk4yDOhRyUZNUMZtEqPAdNsYdCpwdcOgf5bk82ZiVTOH8W/e8ayK8rCJGy+Q3WVXM2v/wvsQq0cwEZe/8YvVb77auTcMpCjZPCqK/zrftfTbJ+HhO80/NjyvOP8Z42mUqTGpUpS/QGEVb1ApyzfbsffbQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880806; c=relaxed/simple; bh=DjezZyvHx3Hqs4T8MtlJZLfE2XynS18mtBPjDH16gN4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=gDIplbMSVqNbNztiS9gI9RCm0o2cfvr1/1KBQ0wbZ4BGPHrbApGol2l0Zej4bHwX+/HopYFZK2AsMmHoJFy5hFwg4dVHHfxVcLuyH90waHRdQZlmCDUorBHOwg+lM3Si9ENSxYgsTF+s0LaDUoVLYIjgnMRQpfTTZQzi1x754dw= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-20cdb889222so21791755ad.3 for ; Fri, 25 Oct 2024 11:26:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880797; x=1730485597; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ykzZfFOyFW5FMlCdHCyduTiddMnnTmAwWRL526mm1hQ=; b=Papsuw8WXYFLb+lEzII0SxMMVICGtYo+yYFx4izLcLJwkllAUZtRCAnpIHr+JbsRVE Qw+1RwMR97qf+8/8/ZPXUj9uIOKOAhbxEmP2O/XE1liWUS63cI+JmUyGGS7C/hZkXf6Q Fp/It1akLKpEQT4tuf1lDb1DYnMY5PD3KrEFM79+1KjFvvrCbCB7bTNRp82vJycXb3QU Eh2rh2i+KF3RGA+A6c+UstsAJKlRP+kWyyOXWytPaiUCXLtW4+AxeHYthHxLIJVr5lal IzQwYgyZrP0F7DvWMjHMjUKs+RSYyHkhhgeh1fJv3Y0+z4EM3h7IhU8dQAb0qlngYLtG Lf9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880797; x=1730485597; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ykzZfFOyFW5FMlCdHCyduTiddMnnTmAwWRL526mm1hQ=; b=PmP05rhka+bOSqpn6Bif+3XX7PQjVOAVCC+OQyaC56lj500eQ5kdOGz/NO8H8nAls3 CvKq37N61IlXQ/vYlJYUGm/CJxMEUco5rpy0Ja/itmLXn9yyJa3JzCZDoPIuKFStnA0Y ugTZTAJMovRuuDUfdaSxkEhc8aoT3jRJnrGiOfsDjCAfmhc11eGjXQsjDT3HAxXweiQj NxYXFEAgPaC5OEbCCni7XHyBOFCGLT3lMSyECbP5DF4SHC2PxhzwuI465a5IrpmQKqgD DJaMb6bsNPgvw3stSXAMmFXeLOGU+ONLEDMzsiOgHXh91UcXI8FICk+p+qjLGwUXFy// RpiA== X-Gm-Message-State: AOJu0YzF5ID+GyYukyzVcqGtzmPggIG+O7g0l/G0PzssxerICYAi1ezA ZOkQVUnqIfVmawp651Ncyx6jUST9EmLevBz4JqGzrqHyMDdS9l59wFnio4FjrVurBp84kC3sX7C Y X-Received: by 2002:a17:902:e80c:b0:20b:b5d5:8072 with SMTP id d9443c01a7336-210c6874d88mr975295ad.2.1729880796918; Fri, 25 Oct 2024 11:26:36 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.26.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:26:35 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 05/17] benchtests: Add log10f benchmark Date: Fri, 25 Oct 2024 15:21:43 -0300 Message-ID: <20241025182614.2022697-6-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org The inputs are random numbers in the form x*2^e where x is random in [0x1p-1,0x1p+0] and e in [-126,127]. --- benchtests/Makefile | 1 + benchtests/log10f-inputs | 1005 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 1006 insertions(+) create mode 100644 benchtests/log10f-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index bb21721057..f948139ace 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -71,6 +71,7 @@ bench-math := \ llrintf \ log \ log10 \ + log10f \ log1p \ log2 \ log2f \ diff --git a/benchtests/log10f-inputs b/benchtests/log10f-inputs new file mode 100644 index 0000000000..09d2b5316e --- /dev/null +++ b/benchtests/log10f-inputs @@ -0,0 +1,1005 @@ +## args: float +## ret: float +## includes: math.h +# Random inputs x*2^e where x is random in [0x1p-1,0x1p+0] and e in [-126,127] +## name: workload-random +0x1.da16e6p-106 +0x1.670c3cp-44 +0x1.b238f8p+57 +0x1.55b736p-17 +0x1.3a0424p+101 +0x1.d5741p+54 +0x1.b4abbcp-10 +0x1.51ea1cp+96 +0x1.27b328p-29 +0x1.bd7b1ap+92 +0x1.fe1fap+77 +0x1.192fc2p+14 +0x1.c503fp+5 +0x1.d20c3ep-94 +0x1.586c14p-96 +0x1.e89f4cp-78 +0x1.a77f04p+3 +0x1.fe4a58p+66 +0x1.e67aa4p-3 +0x1.c22b3ap+35 +0x1.898044p-60 +0x1.7e5374p+24 +0x1.f8a3fp+81 +0x1.c9f37p+12 +0x1.c4760cp-94 +0x1.70457ep+97 +0x1.82cc9cp-57 +0x1.8528c8p-71 +0x1.1b90a8p+53 +0x1.76b5e2p+30 +0x1.999c7ap+111 +0x1.27731ap+116 +0x1.c2e128p-52 +0x1.a4ef2ep-46 +0x1.78fce8p-92 +0x1.d3a338p+0 +0x1.8de54cp+72 +0x1.20be3p+37 +0x1.290122p-118 +0x1.9f19e4p-36 +0x1.317c34p+80 +0x1.0f3f3ep-126 +0x1.a50fcp+44 +0x1.12ef54p-98 +0x1.69b3a6p+17 +0x1.ec0e44p+28 +0x1.d699d8p-113 +0x1.ae1134p+106 +0x1.b2333cp-63 +0x1.694f68p+91 +0x1.fcb1ap+112 +0x1.1e492p-45 +0x1.d7ac74p-6 +0x1.8122d4p-106 +0x1.070b92p+8 +0x1.1f3c0ap+30 +0x1.617eb2p+68 +0x1.7e64a4p-126 +0x1.1c4b92p+37 +0x1.ed1f1ep+21 +0x1.5f1a2p+43 +0x1.166282p+28 +0x1.78f48cp+126 +0x1.c344bp+81 +0x1.74a788p+34 +0x1.76e186p+79 +0x1.670aeap+124 +0x1.9df346p+77 +0x1.5add7ap+2 +0x1.da11fcp+81 +0x1.e7dba4p-123 +0x1.abbdep-65 +0x1.c557ap+122 +0x1.45572p-37 +0x1.249f44p-44 +0x1.5845fp-40 +0x1.66442cp-122 +0x1.12b0fp-97 +0x1.d0cd96p-23 +0x1.397968p-47 +0x1.65c0a2p-54 +0x1.32ace6p+116 +0x1.7b7a8cp+42 +0x1.9207eep-57 +0x1.16a338p-74 +0x1.9debc4p+96 +0x1.db29cp+17 +0x1.871b3cp-114 +0x1.a84948p-29 +0x1.0a16aep-41 +0x1.55c0dcp+103 +0x1.454dep+122 +0x1.0ae7a4p+109 +0x1.a1e65cp-101 +0x1.3aad16p-70 +0x1.95678ap+63 +0x1.5cba44p+72 +0x1.a5806ap+17 +0x1.f69a2p-127 +0x1.cfe828p+18 +0x1.93b8ap-66 +0x1.9bb51p+12 +0x1.15a764p+32 +0x1.9a26b4p-29 +0x1.b270b6p-122 +0x1.fe10e8p-120 +0x1.7f69b8p+116 +0x1.e2f38ep+99 +0x1.3bcafep+11 +0x1.87ee32p-89 +0x1.897feep-82 +0x1.b73098p+86 +0x1.904a14p+110 +0x1.2ccbcp+115 +0x1.bf3952p-52 +0x1.ad968p-13 +0x1.7fbc7ap-81 +0x1.01ad34p-109 +0x1.6bbadep+57 +0x1.9f097cp-88 +0x1.3e045p+13 +0x1.f39b0cp-56 +0x1.76c1d8p+48 +0x1.dc89acp+81 +0x1.9f4c76p-43 +0x1.d9b334p+4 +0x1.48b044p-84 +0x1.d9e254p+25 +0x1.05338ep-5 +0x1.e35e74p-50 +0x1.4d41bap-105 +0x1.a42d5ep+30 +0x1.f94e9ap+23 +0x1.8dbe34p+65 +0x1.0b305ep+20 +0x1.7f9e3ep-18 +0x1.a6c068p+34 +0x1.319b28p+64 +0x1.f96bep-102 +0x1.a567e4p-56 +0x1.a25f7p-88 +0x1.2efa1ep-89 +0x1.4e5fbcp-17 +0x1.2ba0ep-49 +0x1.43d7a8p-124 +0x1.befe96p-68 +0x1.cfcea4p-120 +0x1.83f31p+73 +0x1.133bfcp+70 +0x1.7093b2p+111 +0x1.d2124ap+46 +0x1.235cf6p+43 +0x1.81e624p-84 +0x1.b95f88p-81 +0x1.62f0ccp+46 +0x1.fee13cp-11 +0x1.9b96ecp+80 +0x1.1a18b8p-52 +0x1.d08758p-26 +0x1.2aac9cp+41 +0x1.d72052p+10 +0x1.ec9e44p+10 +0x1.3d17ap+89 +0x1.bf813p+58 +0x1.8f861cp+45 +0x1.cb02bp-98 +0x1.30292p+91 +0x1.759878p-20 +0x1.3b5ef8p+87 +0x1.d515fcp+22 +0x1.00c96cp+39 +0x1.43f8cap+2 +0x1.b2ba98p+119 +0x1.5f4574p+71 +0x1.d7d1bap-118 +0x1.bbc718p-116 +0x1.bfec3ep-81 +0x1.d60c98p+84 +0x1.21d388p+69 +0x1.e61d9p+30 +0x1.521fa4p+27 +0x1.81c3ecp-27 +0x1.0128b8p-104 +0x1.799af4p+43 +0x1.0b4494p+66 +0x1.286a46p-39 +0x1.30b7acp-22 +0x1.2769f6p+29 +0x1.fba108p-118 +0x1.ae818cp+58 +0x1.829338p+15 +0x1.eacd54p-50 +0x1.a3ddcep-73 +0x1.0a7cbep+3 +0x1.053fb2p+24 +0x1.977f4ap-90 +0x1.a1f9f6p-94 +0x1.35e1b8p-11 +0x1.568ad4p+51 +0x1.ed295cp-74 +0x1.67d44cp+34 +0x1.1dcc42p-51 +0x1.765f5ap-18 +0x1.f0b462p+81 +0x1.5be91ep-90 +0x1.3ae462p-24 +0x1.95c2fp-79 +0x1.60e24cp+40 +0x1.ed5388p-121 +0x1.f3b5f4p-81 +0x1.0aac5cp+57 +0x1.a52ebcp+30 +0x1.c8875cp-81 +0x1.b24d7cp+123 +0x1.294ad8p+111 +0x1.04ce6ep+12 +0x1.b31978p-51 +0x1.6f4a34p-16 +0x1.e4844p+38 +0x1.4fa35cp-18 +0x1.6702fap+115 +0x1.81bafep-100 +0x1.ff39fcp-72 +0x1.593832p-8 +0x1.8393bcp-40 +0x1.1d2b1ap+119 +0x1.0d9676p-111 +0x1.07c464p+109 +0x1.97d358p+51 +0x1.09f466p+12 +0x1.aaaa08p+0 +0x1.cdc2dep+52 +0x1.5a5914p+14 +0x1.85c484p-87 +0x1.6be4a6p-16 +0x1.d2b9a4p+25 +0x1.029092p-31 +0x1.00c192p+35 +0x1.09b8e2p-55 +0x1.7e39fcp-111 +0x1.e70afcp+2 +0x1.373c5cp-36 +0x1.0d242ap+64 +0x1.5e5a74p+4 +0x1.2049bp+69 +0x1.3a4a6ep+107 +0x1.8864c4p+15 +0x1.169e34p+107 +0x1.8a34dp+16 +0x1.492ba6p+80 +0x1.852282p+28 +0x1.bcaef8p+3 +0x1.2d1f62p-25 +0x1.fb7e44p-97 +0x1.dc3f8ep+79 +0x1.6667b2p-94 +0x1.53e6f4p-33 +0x1.c58c9p+15 +0x1.df9ecap-78 +0x1.19237ep-23 +0x1.865f4ap+89 +0x1.3a1ab4p+47 +0x1.523edp+25 +0x1.a88f98p-21 +0x1.26a16ap-80 +0x1.31b9d4p+30 +0x1.f2f44cp+4 +0x1.2bf848p+56 +0x1.18e23ep+44 +0x1.eb53acp+66 +0x1.f1ae2cp+96 +0x1.3b2864p+87 +0x1.34ea48p-126 +0x1.a21ef8p+30 +0x1.ed7cdp+28 +0x1.c62e2p+124 +0x1.cc0edp+95 +0x1.26deaep+100 +0x1.46e9dcp+35 +0x1.f7f808p+60 +0x1.05cf94p-2 +0x1.33046ap-26 +0x1.eda126p+109 +0x1.1a2c22p-57 +0x1.42f4fap+96 +0x1.4a529ep-11 +0x1.db8a26p-53 +0x1.b8de04p+119 +0x1.4bb944p-16 +0x1.044df4p+25 +0x1.93a748p+74 +0x1.671124p+22 +0x1.9ad676p-10 +0x1.0534dcp+80 +0x1.ec2a64p+82 +0x1.0f8aacp-39 +0x1.7fba92p+49 +0x1.1f844ap-90 +0x1.ba683p-114 +0x1.ff2418p+26 +0x1.b8f23p-92 +0x1.20843cp+72 +0x1.75b76ep-35 +0x1.42d08cp+9 +0x1.0213f6p-20 +0x1.4ea9b4p-25 +0x1.7afdfap+55 +0x1.b7f224p-6 +0x1.56f9fap-74 +0x1.e9eff6p+8 +0x1.ba5568p-67 +0x1.602878p-127 +0x1.5f1212p+27 +0x1.d8c36p-125 +0x1.595be4p+31 +0x1.6b8c2p+60 +0x1.9c0bfep+86 +0x1.3054d8p-110 +0x1.2de4e2p-114 +0x1.d30c88p+91 +0x1.92b73cp-68 +0x1.cecccp+99 +0x1.f61878p+63 +0x1.660bfep+29 +0x1.082f72p-29 +0x1.0b02f6p+110 +0x1.13fdc4p-7 +0x1.454f9p-22 +0x1.8e5e8cp+96 +0x1.266ep-127 +0x1.cbdef4p+26 +0x1.16454ep-96 +0x1.23fdc8p+105 +0x1.4b50bap+32 +0x1.a9a79p-72 +0x1.1d30dcp-13 +0x1.418554p+24 +0x1.b772ecp+89 +0x1.de553cp+45 +0x1.04c0b6p-120 +0x1.c02f08p-48 +0x1.186b22p-94 +0x1.8866b6p-112 +0x1.63ab38p-3 +0x1.d4d124p+109 +0x1.921c7p+8 +0x1.02e724p+20 +0x1.7b93a8p-101 +0x1.aa0cbcp-86 +0x1.bd3e86p-44 +0x1.fc4d2p-84 +0x1.71868ep-71 +0x1.4dd6a6p-57 +0x1.a987b2p-116 +0x1.ab61d4p+35 +0x1.cdab24p+30 +0x1.0b5594p-96 +0x1.eaa8f4p+121 +0x1.8fd794p+17 +0x1.1b63b6p-81 +0x1.8e99bcp-113 +0x1.043c5cp-105 +0x1.5013d4p-58 +0x1.601568p-98 +0x1.783708p-27 +0x1.e26e5cp+58 +0x1.bee95p+71 +0x1.df371ap+26 +0x1.2d7b7p-125 +0x1.60c5cep-38 +0x1.46cb7ep+88 +0x1.e16038p-13 +0x1.23f7cap-31 +0x1.90d4bcp-2 +0x1.f4fa2p-47 +0x1.0adef2p+50 +0x1.ce7c8cp-45 +0x1.d81b52p+104 +0x1.43d436p-95 +0x1.faa8ecp-24 +0x1.7d4b4p+86 +0x1.7c8994p-83 +0x1.c4b67cp+40 +0x1.1b1922p-112 +0x1.4b7ecep-15 +0x1.dcb6fep-14 +0x1.20dbf6p-55 +0x1.3e777p-109 +0x1.22360ap-118 +0x1.7c01bcp-43 +0x1.9218fep+38 +0x1.1a7e04p-57 +0x1.4623d6p+90 +0x1.56cb4p-70 +0x1.88e8cp-24 +0x1.d3b234p-40 +0x1.d3461p+28 +0x1.e03eap-80 +0x1.866d8cp+2 +0x1.efd52p+17 +0x1.b9466cp+62 +0x1.6e3274p+50 +0x1.16b192p+99 +0x1.2d1f76p-20 +0x1.018a1ep-109 +0x1.e64edcp-61 +0x1.badf04p+7 +0x1.fd69c4p-85 +0x1.789cc6p-4 +0x1.4d7b2ap+80 +0x1.c7e56p+35 +0x1.edb216p-57 +0x1.6b581p-30 +0x1.a60178p+42 +0x1.10322ep-50 +0x1.af924ep+45 +0x1.5413bp+87 +0x1.2db0cp+46 +0x1.650a2cp-2 +0x1.57b896p-104 +0x1.6b2dap+0 +0x1.e7063ep-53 +0x1.4bb8ep-42 +0x1.7d72dp+123 +0x1.dcd8fap-87 +0x1.fae3f4p+11 +0x1.6de0dap+68 +0x1.624738p-78 +0x1.dbe44cp-23 +0x1.5e0f9ap-46 +0x1.0c9dp-104 +0x1.c565d8p+33 +0x1.c07118p-63 +0x1.c9d942p+85 +0x1.773dfp+3 +0x1.15bfap+87 +0x1.fdbd2cp+14 +0x1.d996fap-57 +0x1.2a7c7cp-45 +0x1.e690fep-71 +0x1.f5c04p-95 +0x1.d17398p+123 +0x1.c5dc6cp-117 +0x1.d9f2ccp+82 +0x1.da8d44p-16 +0x1.bda39p-67 +0x1.5a646cp-10 +0x1.412e4ap-58 +0x1.d91868p+80 +0x1.35d738p+68 +0x1.5045d4p-103 +0x1.bb697p-120 +0x1.68d014p-75 +0x1.0a3754p+54 +0x1.9bb66ap+100 +0x1.c2fdcp+33 +0x1.c2023p-98 +0x1.2e3106p+20 +0x1.3b5d34p-29 +0x1.1c8316p+97 +0x1.51779cp+3 +0x1.65d436p-49 +0x1.6c3f4ep+47 +0x1.7b696cp-58 +0x1.1768cap+96 +0x1.0a5052p-97 +0x1.46e2dap+86 +0x1.e545f8p-44 +0x1.1851dap+37 +0x1.877a1cp-30 +0x1.fedaf8p+89 +0x1.93a08p-114 +0x1.c970fp-106 +0x1.e80106p+26 +0x1.6f9bep-29 +0x1.a22e78p+24 +0x1.3cf0eep+108 +0x1.cead34p+76 +0x1.a4f7fp+17 +0x1.823924p-11 +0x1.1cfdf4p-28 +0x1.5e8ee8p+119 +0x1.5357d8p+43 +0x1.99df08p-126 +0x1.f98dccp+76 +0x1.c9d0b6p+37 +0x1.342018p-89 +0x1.c6f08cp+89 +0x1.f7ba82p+116 +0x1.ec961cp-13 +0x1.772252p-18 +0x1.08f52p-107 +0x1.7cbceep-41 +0x1.cdc76p+91 +0x1.c5ce0cp-38 +0x1.9cff24p-77 +0x1.2ad16cp-101 +0x1.1d0ab2p+41 +0x1.84a054p-70 +0x1.c95934p+126 +0x1.33f824p+102 +0x1.74420ap+27 +0x1.1df842p+21 +0x1.7c3cc4p-7 +0x1.8cde44p-44 +0x1.19894ep+5 +0x1.ae06fp-55 +0x1.680a14p-18 +0x1.e9d17p+52 +0x1.cb341ep+74 +0x1.3c332cp-61 +0x1.afd732p-39 +0x1.42540cp+27 +0x1.6465c4p-43 +0x1.6ad396p-23 +0x1.791e4ap+51 +0x1.61e53p-114 +0x1.c2b5eep-74 +0x1.33e062p+79 +0x1.b25868p+73 +0x1.7c8b4cp+28 +0x1.5fd75p-79 +0x1.ccc12cp+30 +0x1.179e28p+16 +0x1.f74506p+83 +0x1.ccb774p-96 +0x1.db5004p-30 +0x1.b60d22p-103 +0x1.87fb24p-7 +0x1.92111ep+33 +0x1.c760aep+28 +0x1.2dc1acp-122 +0x1.99be28p+19 +0x1.b2a008p-88 +0x1.ce8b2p-112 +0x1.b151cp-18 +0x1.3aa5e4p-31 +0x1.42f8fcp+103 +0x1.209adcp+22 +0x1.8b597cp+31 +0x1.a279b6p+99 +0x1.98376cp-33 +0x1.2e91c4p-29 +0x1.5e6e64p+33 +0x1.058124p-31 +0x1.8ff2d6p+15 +0x1.f7ee64p-60 +0x1.27fbfcp-111 +0x1.d54a2p+116 +0x1.4105b8p+93 +0x1.7d7fbap-52 +0x1.518e02p-62 +0x1.4b5758p-45 +0x1.c515eep-93 +0x1.23932ep+19 +0x1.7e1ee4p-98 +0x1.0599ccp+51 +0x1.e26478p-78 +0x1.06e7ecp-28 +0x1.7e1448p-27 +0x1.98fb06p+8 +0x1.b8d9a6p+88 +0x1.090d4ep-55 +0x1.ca936cp+20 +0x1.3a8d3ap-114 +0x1.f354dcp-56 +0x1.11640ep+63 +0x1.f70288p+70 +0x1.4ad00cp+32 +0x1.7f8a8cp-31 +0x1.78d6ccp-34 +0x1.b33008p-105 +0x1.2fd46p-96 +0x1.557cbp-19 +0x1.426d22p-117 +0x1.009ed6p+59 +0x1.1112f8p+115 +0x1.7a21acp-71 +0x1.1a4cd6p+42 +0x1.982becp-21 +0x1.f5dabcp+106 +0x1.884e24p+65 +0x1.9ac342p+9 +0x1.138c3p-39 +0x1.00f9e8p-105 +0x1.ffd91ep-120 +0x1.997a48p-84 +0x1.874cb4p+60 +0x1.98ec16p+51 +0x1.9a371p+20 +0x1.d3818cp+93 +0x1.4a28ep+65 +0x1.1eee44p+44 +0x1.822bp+84 +0x1.9e26a8p+123 +0x1.3c56f4p-16 +0x1.e618fp-17 +0x1.f99f1p-70 +0x1.9d16p-112 +0x1.632eb8p+16 +0x1.d835a6p+41 +0x1.484fd4p-15 +0x1.b42298p-53 +0x1.854f38p-108 +0x1.4c1aa4p-23 +0x1.277a4ap+77 +0x1.f5a3c2p+81 +0x1.46e67p+65 +0x1.c0e96p-102 +0x1.7dfeb8p+93 +0x1.3ed79cp+60 +0x1.508306p+73 +0x1.cbd7b2p+61 +0x1.8307a6p-21 +0x1.c346fcp-23 +0x1.057024p-122 +0x1.4eb468p-90 +0x1.066f76p-1 +0x1.66ebdcp-121 +0x1.c45404p-25 +0x1.1f8fb8p-107 +0x1.57ca58p+36 +0x1.937abcp-34 +0x1.24af16p-30 +0x1.31ec06p-2 +0x1.104f24p+59 +0x1.f8171cp+52 +0x1.15e124p-16 +0x1.a897f8p+16 +0x1.f7581cp+57 +0x1.ece8ep+44 +0x1.742f84p+90 +0x1.c37ae8p+57 +0x1.5bca82p-52 +0x1.d481bp+13 +0x1.12f074p-24 +0x1.fe7e7p-96 +0x1.d1b5ap+106 +0x1.758368p-121 +0x1.aec484p+103 +0x1.81306cp+17 +0x1.5c5cecp+87 +0x1.1f89a4p+5 +0x1.db686cp+36 +0x1.e412f4p+24 +0x1.89ef5cp+65 +0x1.d8f6a6p-87 +0x1.5314d6p-4 +0x1.7fe6d4p-116 +0x1.ce185ap+32 +0x1.cbbd6ep-126 +0x1.986396p+49 +0x1.e33398p-48 +0x1.f1c1f4p+115 +0x1.d7075p-95 +0x1.85e7bp-82 +0x1.53e2ccp-50 +0x1.b9679p-66 +0x1.d0bd04p-87 +0x1.8d73eep+53 +0x1.cbe57cp-57 +0x1.4dbacap-94 +0x1.27fb48p+97 +0x1.1977b8p-125 +0x1.3016bap-92 +0x1.d8c6a6p+88 +0x1.9de6b8p+22 +0x1.7f1ebap+57 +0x1.5e4058p+81 +0x1.bb0b7cp+110 +0x1.98ad46p+23 +0x1.3d6e64p-101 +0x1.3ace6cp+69 +0x1.b2ad5p+16 +0x1.fdf974p-123 +0x1.b452f4p+49 +0x1.1e1822p+65 +0x1.bd61a4p-42 +0x1.96fc0cp-3 +0x1.154f14p+121 +0x1.b5946p-95 +0x1.863008p+58 +0x1.d5682ap+41 +0x1.46a32cp+2 +0x1.7fa148p-74 +0x1.dd3f46p-27 +0x1.4605b2p-96 +0x1.b3ab48p+49 +0x1.98b7bp-60 +0x1.8f97a8p-82 +0x1.af6528p-102 +0x1.97a874p+51 +0x1.cdf372p-86 +0x1.a6a82ep-21 +0x1.d9015cp+103 +0x1.10140ap+19 +0x1.259fb2p-104 +0x1.718298p-75 +0x1.b2955cp-21 +0x1.4dc66p-101 +0x1.16680ep-118 +0x1.f5c2b6p+65 +0x1.6cb9e4p-96 +0x1.68cc5cp-63 +0x1.6a69ccp-56 +0x1.268758p-1 +0x1.9fff9ep-57 +0x1.6f229p-58 +0x1.4fe5dep-4 +0x1.132c8p+78 +0x1.2336a6p+88 +0x1.0d571ep+81 +0x1.da119cp+57 +0x1.87a81cp-82 +0x1.166246p+13 +0x1.0c61cap+103 +0x1.f06688p+90 +0x1.cdc4c4p-79 +0x1.73443cp+4 +0x1.9b1b68p-92 +0x1.1765e2p-94 +0x1.ad115cp-49 +0x1.3094ap-19 +0x1.6a3556p+82 +0x1.cdb526p-80 +0x1.abfb12p+111 +0x1.d07accp-82 +0x1.89c7acp+20 +0x1.de58cp+20 +0x1.c0daf8p-24 +0x1.e46e38p-127 +0x1.2e25a4p+40 +0x1.4d0512p+7 +0x1.30cb0ep-29 +0x1.5acfap+116 +0x1.10b526p+99 +0x1.92a2f8p-118 +0x1.d232e8p-115 +0x1.9cb39ep+83 +0x1.00932cp+61 +0x1.b8c878p-15 +0x1.ea4a42p+48 +0x1.eaee6p+71 +0x1.f14842p+62 +0x1.1a5b82p-19 +0x1.ad7ap-91 +0x1.9ec11ep+24 +0x1.fe8dccp-113 +0x1.31f07cp+35 +0x1.044952p-23 +0x1.ef381cp-51 +0x1.c742fp+122 +0x1.f3e7f6p-126 +0x1.09f72cp-62 +0x1.9815fap+74 +0x1.8ef758p-111 +0x1.b8019cp-14 +0x1.6d17b8p-80 +0x1.4fe49p-89 +0x1.204356p-91 +0x1.740898p+95 +0x1.614624p-60 +0x1.c35984p-86 +0x1.bd40c8p+103 +0x1.8c1b9ap-24 +0x1.53d4b6p+49 +0x1.3db80cp+124 +0x1.504facp+30 +0x1.89207cp+51 +0x1.0c09d8p-38 +0x1.7a9eecp-40 +0x1.98f19cp-97 +0x1.cde426p-66 +0x1.c1992cp-81 +0x1.f71a8cp+110 +0x1.24a564p+101 +0x1.0faedp+29 +0x1.69b9f8p-80 +0x1.021294p-110 +0x1.9e58b4p+80 +0x1.825bd4p-37 +0x1.26db6ep-111 +0x1.f377e8p-59 +0x1.589518p+36 +0x1.f51bep+120 +0x1.c71048p+125 +0x1.e5ead2p+27 +0x1.3bff94p-119 +0x1.65f91cp+69 +0x1.eaf6cp+109 +0x1.cafb1cp-84 +0x1.38170cp-16 +0x1.75855ap+5 +0x1.688904p+122 +0x1.6f5462p-115 +0x1.60974cp-20 +0x1.dfd768p+54 +0x1.598a26p-4 +0x1.ab96d4p-69 +0x1.40d872p-62 +0x1.5bee38p-12 +0x1.b0c6f6p+85 +0x1.98041cp-74 +0x1.4275ep-55 +0x1.b6a0e4p+124 +0x1.ee4472p+79 +0x1.dcad5ep+120 +0x1.ede43ep-92 +0x1.01d3fp-127 +0x1.cb73f8p-85 +0x1.d9653p+1 +0x1.fb7fbep-1 +0x1.07830ep-83 +0x1.4aac7ep+2 +0x1.dfa09ep+41 +0x1.df5dc6p+5 +0x1.1a87c8p+71 +0x1.560c8ap-47 +0x1.1e508ap-70 +0x1.66538cp+118 +0x1.502268p-125 +0x1.9bea34p-82 +0x1.61c4acp+54 +0x1.bf1d4p-103 +0x1.3390f6p-14 +0x1.d806c6p+36 +0x1.07738ep-77 +0x1.da58eap-124 +0x1.863838p+83 +0x1.2a550ap-75 +0x1.79654ep+104 +0x1.874ddcp-119 +0x1.b8fd6p-125 +0x1.6f4f02p+43 +0x1.1fd48ap+58 +0x1.f83e6ap+73 +0x1.8c87fap-77 +0x1.ec4838p-7 +0x1.122f66p+100 +0x1.29047ap+100 +0x1.79ae82p+47 +0x1.b11164p+107 +0x1.d11e6cp-92 +0x1.99a08cp+122 +0x1.cc87e4p+108 +0x1.1df93ap+84 +0x1.ffa4c8p+26 +0x1.889ffcp+62 +0x1.102e0ep-65 +0x1.5a8feep+30 +0x1.c35a4p-38 +0x1.d82d9cp+26 +0x1.d40506p+21 +0x1.9907b4p+72 +0x1.4bc558p+9 +0x1.7b50c6p+114 +0x1.508d96p-1 +0x1.1485cep-35 +0x1.226084p+109 +0x1.a5e10ep-38 +0x1.efdbfp-48 +0x1.f5a8e6p-92 +0x1.b6110cp-102 +0x1.7565ecp-10 +0x1.fbf5p+17 +0x1.f12abp-86 +0x1.e56478p-89 +0x1.e94aap-93 +0x1.f1c6d4p-75 +0x1.69ed0ep-54 +0x1.f337c4p+81 +0x1.5a565p+87 +0x1.ff5e74p+18 +0x1.e63068p-12 +0x1.830d7cp+105 +0x1.28a0c4p-45 +0x1.53236p-73 +0x1.9aaf0ap-38 +0x1.95b8b8p+18 +0x1.78b7a6p-31 +0x1.0d14aep+71 +0x1.4e3e3cp+87 +0x1.4c1aeap-5 +0x1.05d63cp-76 +0x1.809422p-3 +0x1.4e06f6p+42 +0x1.8e62p+67 +0x1.308398p-112 +0x1.76b8dep-29 +0x1.a1948p-99 +0x1.061da4p+3 +0x1.6333bp+85 +0x1.cce084p+39 +0x1.93a29ap+24 +0x1.ec39e8p+77 +0x1.74f824p-49 +0x1.03d684p+119 +0x1.51b42cp-116 +0x1.825782p-65 +0x1.02080ep-34 +0x1.49a78ap+22 +0x1.bf775p-78 +0x1.e14de2p+63 +0x1.f0ed2p-32 +0x1.3e66fp+87 +0x1.67f3a4p+44 +0x1.221c8ep+0 +0x1.89fe2cp+13 +0x1.31081ap-117 +0x1.0b9c12p-77 +0x1.80e67p+24 +0x1.b0798ap+122 +0x1.b2fafep-4 +0x1.0a5278p+43 +0x1.61c05cp+27 +0x1.6db74cp-99 +0x1.3f0a0ap+43 +0x1.84026ep+59 +0x1.6ca854p+30 +0x1.491302p-2 +0x1.851e0cp-9 +0x1.f55decp+104 +0x1.e936e8p-108 +0x1.2ecd9p+57 +0x1.750412p-34 +0x1.d9789cp-3 +0x1.c2c19p-78 +0x1.dc53dcp-122 +0x1.75107p+9 +0x1.dae6cp-29 +0x1.e2703p-77 +0x1.f0a792p+9 +0x1.60261p-29 +0x1.fad1b6p+93 +0x1.d35d9p+35 +0x1.51e05p-34 +0x1.8c1d74p+97 +0x1.7444d4p-45 +0x1.c55458p-92 +0x1.bb5c4ep+40 +0x1.e2749p-46 +0x1.965864p+5 +0x1.1edcf2p-69 +0x1.9641a6p+47 +0x1.4c72ecp-115 +0x1.40a138p-103 +0x1.d9a2cp-52 +0x1.c1c2b8p+86 +0x1.90c1dp+35 +0x1.3e9a3p+123 +0x1.355362p+116 +0x1.acfd24p-96 +0x1.5b85f8p+55 +0x1.bf45fp+8 +0x1.a12c4ep-29 +0x1.f9b272p-78 +0x1.bcffe4p-60 +0x1.d2aa46p+40 +0x1.a0a524p+57 +0x1.c07822p-113 +0x1.e79e9p-37 +0x1.0b0c1p-59 +0x1.97b7d6p+37 +0x1.7fe50cp+22 +0x1.c117c4p+126 +0x1.f98134p+17 +0x1.423bf2p-19 +0x1.a1b2f4p+106 +0x1.94c3ep+70 +0x1.c8697p+2 +0x1.7e2746p-60 +0x1.797a46p-54 +0x1.7b60f2p-102 +0x1.cadc0cp-76 +0x1.d67bep-34 +0x1.454c1p+4 +0x1.d25adcp-53 +0x1.6ab0ccp-4 +0x1.dfeefcp+66 +0x1.aebe38p-54 +0x1.216b2ap-125 +0x1.85c3acp+112 +0x1.fbb2cep+23 +0x1.cb1b8cp-3 +0x1.c66ed4p+21 +0x1.f23988p+30 +0x1.f584e8p+103 +0x1.6342b8p+48 +0x1.c562e4p+94 +0x1.1ac782p-96 +0x1.b42c44p+69 +0x1.e71db6p-49 +0x1.e83c9p+95 +0x1.1c55bep-63 +0x1.3a8884p+87 +0x1.60d3b4p+105 +0x1.be6558p+110 +0x1.bab6b6p-78 +0x1.16a99p+85 +0x1.0dbf68p+17 From patchwork Fri Oct 25 18:21:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 838383 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp444115wri; Fri, 25 Oct 2024 11:29:49 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWV7nhFyf98h6RAAdBUGyB7g4HHeL9iZONDRcSSIweYi3z4NT/o1lVBMyb6RnoQsxf0VjzmmQ==@linaro.org X-Google-Smtp-Source: AGHT+IHnFwOXiEicrSfATkkxiy8nvW+zbW1+B+ZayhiRRk0ztpEHxl2I5E0PVhGtkCBFVQhN9i20 X-Received: by 2002:a05:6358:70c:b0:1b8:688e:6ea3 with SMTP id e5c5f4694b2df-1c3f9f61728mr31634055d.18.1729880989115; Fri, 25 Oct 2024 11:29:49 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729880989; cv=pass; d=google.com; s=arc-20240605; b=J70UyyK3mzNrkCZBUC0DC+X8s4qD7yl61+itkNBBrQqhBZjSs6Lq0YclB1OhXZbZLV MYgDZSZuSSxKmi8b+JIQRQdYRoXy2aUqs+pjQOG4WH9fv0UxhJd6UreyEEBp80NN5H2w JJBOzXrdkVBay0pQase6w2XmUULdE13MWV6hf27ZB9NpE1hrDg9OxuLpDpk/buhKqsE5 msomBa/aDQGKwp4BNPBmRDpIBHg/yHsYR6eL0YlsTdDYwKzW4uJu+eJKR9+hQOiOgy+7 H286724p9TSLWYUO9TN08IHfPYSVT3BYTf0ONHEa1kC8uSjeQ70GYrNdDHq1ri/Wy/8+ fvZw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=Kpe9aNf5B5V4J9FU/lQK9eNWK82l8b8f/9uroXVB2lw=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=F7Ms9+uV0GBr5iY0eXxOCz5wbpm2GZleEFV6taQkOMmfErL4DmZfj1nJh7X5/jmEWL MiceZ6FWmNoiOE9arFMix0/jjBJArSLzRWF5NjGQMirgafh8LW6KIB4KDET33da3VJ6y 3FEPrUEoR98uEV62fCC9p8k5GrsywCd1JC/KlZHNUUv6L5ajDU8f25Z9XyzdkEGmzvBA z8YxWIeZ6yePrkgmcrRs9guNeFZtsMIJ3zCJOqca7lgMWpnP3qQGn4LWhyJ+2G64ea2k 2GjjzLbkKXrdNHU8HwDdgatP2dzHnmb1svA0oEPX9kTNLcqZYEYqN3NLNggsKYVpqwjS TqoQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=k3Jx69Wp; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id af79cd13be357-7b18d3439acsi205113285a.434.2024.10.25.11.29.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:29:49 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=k3Jx69Wp; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B0E19385800F for ; Fri, 25 Oct 2024 18:29:48 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) by sourceware.org (Postfix) with ESMTPS id 169483858C78 for ; Fri, 25 Oct 2024 18:26:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 169483858C78 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 169483858C78 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::633 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880810; cv=none; b=n8QmyV1y7eCpmlQSBrs7g4ykybCSN2mzu/id7VgpDPOr/7FH9dMYA33NuT8RDneQJOmziqeu17MkmU68TxFQOUwj9VE+DlPzuIzk0zb4D/tOZru1FuYenAvWr2SvNCp6EtLa+Cbhu72Z4Ao5EUos4MsY267SfHHMKAb7VtNPGFw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880810; c=relaxed/simple; bh=ybUDVk339Ap5eeSDDl2BimI8PZkGUPXj7TgEulG1+KQ=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=bpXUUvhhGI0pxB2gX7o2H2cFnpw7LYCxGiTTfr2b1yG2rJ7nbeQ4Zai73WKqmcNgPXBA+AxeoY8zou8U0Ja98AYa3c50ptezWYSp13rgG+1kamONt8aOAkgHyIkV57QtE0U/8knKDqfwo2Jc9boIwavAXp+dwlsB0y6zxz1x2j4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-20c8b557f91so20179315ad.2 for ; Fri, 25 Oct 2024 11:26:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880801; x=1730485601; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Kpe9aNf5B5V4J9FU/lQK9eNWK82l8b8f/9uroXVB2lw=; b=k3Jx69Wp3hCcO9GyYt8sGq75+ysY70kDCHuKvx+7gptN1ttU2gR+g5ljhZsUgwdq4A YB/IJXi8BqU8C5nPlW+BaNHEQprVORM0nl1UGTPdW/vXJzwSBePHTv9hvCiLa7wLG/xL Qqnh7ALJIvViHPeQi3nTERCKJvzU+32nNV5IgeF0yi2xxot9Bdhp9uwo/+hM5/B9ZCjM JNhvOT9teuJj9nB5MaGO8NRn2QVZDFP+Jp7ExvpMMMmwPSV523HLVmJw1cCNvgbgu6P5 njJHoq1cTVCQteX8rxhd0JF4zzeHZ/bK+kKFQBYnssy09irbydaxjuiYsConBqYw6PnS oTHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880801; x=1730485601; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Kpe9aNf5B5V4J9FU/lQK9eNWK82l8b8f/9uroXVB2lw=; b=X7ADgRwMzPC/IZeOL63A6RSvHqgAnwmswHty/0M4nfnd/88xajYsCG+61vELZovTM0 kH5Mt7OBiYO/tnepgjoGtb4+dGyUpc8pYSiygDJqKUVyGflaffrys65L/KNrbMwSyt4b GMOogvNSuYa588/KlEuunLkcnf6tNl3Z5IqkE1Os0GZZfwd+R7MDGNkV9S2g69CxdMRi S+HUoZ6b/VGtPM0SEIr5xhpfqoxtbmVTfdlDenOuF8LYCdqlYjMIU9RwK8XgxtXJ7yEG /S7FD5qIZAXnFdM0R9UUWvcSYboqX+Rx4bjrmjsZJmX5gOT+/qDQxOZtJ2+wG6m3GfZv T+iQ== X-Gm-Message-State: AOJu0YxVSX9QcC7xHipsFntKKbVD3pewQrS5wORrqkXOQ1RV1JaHKJ6u ASIFOmwvR1swJlEpf8Vj0DK12ip8ZG9og1cbwnkEum2EkfqQBvoqW4atiZcBgMu1uLN6nIxlEWu L X-Received: by 2002:a17:903:2bce:b0:20c:f27f:fbf with SMTP id d9443c01a7336-210c6ae7f15mr879485ad.25.1729880800015; Fri, 25 Oct 2024 11:26:40 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.26.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:26:38 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 06/17] benchtests: Add log2p1f benchmark Date: Fri, 25 Oct 2024 15:21:44 -0300 Message-ID: <20241025182614.2022697-7-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org It is based on log2f data. --- benchtests/Makefile | 1 + benchtests/log2p1f-inputs | 2888 +++++++++++++++++++++++++++++++++++++ 2 files changed, 2889 insertions(+) create mode 100644 benchtests/log2p1f-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index f948139ace..92c0cf5e7d 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -75,6 +75,7 @@ bench-math := \ log1p \ log2 \ log2f \ + log2p1f \ logb \ logbf \ logf \ diff --git a/benchtests/log2p1f-inputs b/benchtests/log2p1f-inputs new file mode 100644 index 0000000000..50a9739476 --- /dev/null +++ b/benchtests/log2p1f-inputs @@ -0,0 +1,2888 @@ +## args: float +## ret: float +## includes: math.h +## name: workload-spec2017.wrf +0x1.fe4c3p-1 +0x1.0e33e6p+1 +0x1.00000ap+0 +0x1.900028p+4 +0x1.f8cdeep+0 +0x1.332986p+7 +0x1.493696p+0 +0x1p+0 +0x1.38c67p+7 +0x1.029046p+1 +0x1.1bd31cp+4 +0x1.bb3e3ep+12 +0x1.000098p+0 +0x1.a7971p+7 +0x1p+0 +0x1.0001a8p+0 +0x1.00004ep+0 +0x1p+0 +0x1.0606f2p+0 +0x1.3e54a8p+11 +0x1.3a0662p+3 +0x1.000c72p+0 +0x1p+0 +0x1.0bf8b6p+0 +0x1.000204p+0 +0x1.500ad2p+0 +0x1p+0 +0x1.3e4cfp+8 +0x1.00006cp+0 +0x1.54f7fp+0 +0x1.267858p+0 +0x1.191ccp+0 +0x1.0cdb18p+1 +0x1.29bf1ep+15 +0x1.64bd92p+1 +0x1.255534p+0 +0x1p+0 +0x1.93bb82p+3 +0x1.1348ep+1 +0x1.00456ep+0 +0x1.08afbcp+8 +0x1.32c37ep+0 +0x1.3437cep-1 +0x1.000214p+0 +0x1.03d5ap+0 +0x1.172378p+6 +0x1p+0 +0x1.330f22p-1 +0x1.00b91p+0 +0x1.e831f2p+15 +0x1.092318p+9 +0x1p+0 +0x1.e80902p+7 +0x1.71ec54p+2 +0x1.1935dcp+0 +0x1.651082p+14 +0x1p+0 +0x1.0f41d8p+8 +0x1.17f4p+0 +0x1.7cf946p+9 +0x1.b14396p+0 +0x1.92f94p+1 +0x1.2f3784p-1 +0x1p+0 +0x1.305ad4p-1 +0x1.002a08p+0 +0x1.3e338p+5 +0x1.1863f6p+8 +0x1p+0 +0x1.ed8fd8p+58 +0x1p+0 +0x1p+0 +0x1.215fc8p+9 +0x1.1965bep+16 +0x1.00031cp+0 +0x1.00011p+0 +0x1p+0 +0x1.e384fep-20 +0x1p+0 +0x1.00020cp+0 +0x1.007e24p+0 +0x1.b14346p+0 +0x1.243ff8p+0 +0x1.3f6ac2p+3 +0x1.816ff6p+5 +0x1.0115ap+8 +0x1.162028p+16 +0x1.62692cp+0 +0x1.0227c8p+1 +0x1.4dda3ep+0 +0x1.418696p+0 +0x1.0272f4p+2 +0x1.62c6ecp+5 +0x1.3cd07ap+18 +0x1.0191eap+0 +0x1.21c3a2p+8 +0x1p+0 +0x1.000bf6p+0 +0x1.a4b51cp+7 +0x1.04d1f8p+0 +0x1.8de2b8p+0 +0x1.7b7a4ep+8 +0x1.1928acp+5 +0x1.305a8p-1 +0x1.ba8662p+5 +0x1p+0 +0x1.ab75a2p-12 +0x1.7cc13cp+9 +0x1.505306p+0 +0x1.63085p+0 +0x1.000064p+0 +0x1.b3f16ap+7 +0x1.1348f8p+1 +0x1.71fe88p+1 +0x1.0b7132p+4 +0x1.470316p+1 +0x1.3228b6p-1 +0x1.8dd666p+0 +0x1.38ed88p+12 +0x1.432218p+0 +0x1.00e0cap+0 +0x1.73eb44p+2 +0x1p+0 +0x1p+0 +0x1.bda15ep+7 +0x1.0272fep+2 +0x1.00171ep+0 +0x1p+0 +0x1.3faa86p+3 +0x1.33c2a2p-1 +0x1.3e48e2p+7 +0x1.017ef2p+0 +0x1.30115ap-1 +0x1.587444p+0 +0x1.3efed8p+8 +0x1.8a5526p+0 +0x1.cb1ecap+15 +0x1.1f5cp+0 +0x1.0001a4p+0 +0x1.1a20dap+7 +0x1.376e6p+0 +0x1.0001aap+0 +0x1.9182f6p-1 +0x1.000292p+0 +0x1.3d46a2p+12 +0x1.e177b6p+7 +0x1.3f5646p+1 +0x1.2ab784p+9 +0x1.dc81b4p+1 +0x1.0ef326p+0 +0x1.996588p-12 +0x1.740848p+3 +0x1.00016p+0 +0x1.ffd51ap+52 +0x1p+0 +0x1.4461ap+4 +0x1.08e7bcp+51 +0x1p+0 +0x1.106e98p+3 +0x1.5490e4p+0 +0x1.46703cp+4 +0x1.6b1e86p-29 +0x1.324caap+0 +0x1.0467ccp+0 +0x1.424574p+0 +0x1p+0 +0x1.001da4p+0 +0x1.364604p+0 +0x1p+0 +0x1.0951e2p+8 +0x1.408994p+0 +0x1.0003ap+0 +0x1.619e92p+12 +0x1.313e72p+2 +0x1.8b47p-6 +0x1.2190fp+2 +0x1.20aaacp+0 +0x1.f0059cp-1 +0x1p+0 +0x1.018e78p+0 +0x1.313e1p+2 +0x1p+0 +0x1.2efce4p-1 +0x1.5ebdap+0 +0x1p+0 +0x1.5e2488p+51 +0x1.bf95f2p+5 +0x1.5a1124p+16 +0x1.73bad6p+1 +0x1.00048ap+0 +0x1.0c9beap+8 +0x1p+0 +0x1.358c08p+7 +0x1.7f834ep-26 +0x1.3e56bcp+15 +0x1.52d8b2p+15 +0x1p+0 +0x1.00109cp+0 +0x1.0a0bb2p+0 +0x1p+0 +0x1.026908p+6 +0x1.370f22p+0 +0x1.5c6c5ap+1 +0x1.7fe4bcp+2 +0x1p+0 +0x1p+0 +0x1.42be68p+49 +0x1.0000d8p+0 +0x1.3abdf8p+12 +0x1.370a44p-12 +0x1.aef9f4p+0 +0x1.00001ep+2 +0x1.017c2p+0 +0x1.00b614p+0 +0x1.32f9f8p-1 +0x1p+0 +0x1.00ebf2p+0 +0x1.0c3116p+0 +0x1.00004p+0 +0x1.03b992p+0 +0x1p+0 +0x1.24eb3cp+0 +0x1.4c73ecp+51 +0x1.fad3ep+1 +0x1p+0 +0x1.32368ap-1 +0x1.000908p+0 +0x1.5ea59ep+12 +0x1.1928ccp+5 +0x1p+0 +0x1.21a93cp+8 +0x1p+0 +0x1.0001e8p+0 +0x1.95b6c2p-12 +0x1.00002p+0 +0x1.2399fap+9 +0x1.449b44p+0 +0x1p+0 +0x1.64a766p+15 +0x1.06ccecp+0 +0x1p+0 +0x1p+0 +0x1p+0 +0x1.c81f9cp+1 +0x1.5ef196p+0 +0x1.022822p+1 +0x1.99beep+3 +0x1.1f417p+8 +0x1p+0 +0x1.c08726p+5 +0x1.397d9ep+0 +0x1.88e748p+18 +0x1.3b319p+9 +0x1.2fd3b6p-1 +0x1.0001aep+0 +0x1.4a0562p+5 +0x1.4e5f1ap+0 +0x1p+0 +0x1.017fbp+0 +0x1.acaf56p+57 +0x1.ef7d66p+8 +0x1.736c3cp+1 +0x1.12ddbep+0 +0x1.b85ebcp+6 +0x1.0e259p+1 +0x1.5cc2c4p+2 +0x1.99e614p+3 +0x1.f30aa6p+2 +0x1.3911c6p+15 +0x1.119b92p+1 +0x1.352a3p-1 +0x1.0001b2p+0 +0x1.00b26p+0 +0x1.bd730ep+60 +0x1.54fc5p+0 +0x1.5a4804p+0 +0x1.ff7eaep-1 +0x1.5cc268p+2 +0x1.1077aap+2 +0x1.1723d6p+0 +0x1p+0 +0x1p+0 +0x1.30c17p-1 +0x1.000648p+0 +0x1.91aa4cp+6 +0x1.17234p+6 +0x1p+0 +0x1.6d5b18p+2 +0x1.00027ap+0 +0x1.dc8224p+1 +0x1.a9eabep-6 +0x1.099edcp+1 +0x1.004118p+1 +0x1.58d5fcp+60 +0x1.000098p+0 +0x1.004e8p+0 +0x1.f32edap-1 +0x1.0394aep+0 +0x1.0689bp+2 +0x1.124e5cp+0 +0x1.71fe86p+1 +0x1.025ce2p+0 +0x1.46107cp+0 +0x1.047c74p+2 +0x1.a57e74p+15 +0x1.18bbcep+0 +0x1p+0 +0x1.65b9a4p+0 +0x1.0000eep+0 +0x1.08a4a4p+0 +0x1.0fe774p+1 +0x1.000128p+0 +0x1.3e95fp+12 +0x1.b14e3ap-56 +0x1.00007cp+0 +0x1.5619c2p+1 +0x1.4ac958p+0 +0x1.00031p+0 +0x1.003064p+0 +0x1.e119eap-1 +0x1.577b36p+0 +0x1p+0 +0x1.26ff2ap+0 +0x1.004ap+0 +0x1.0000a2p+0 +0x1.1fcc7ep+4 +0x1.6f959p+16 +0x1.000064p+0 +0x1.375c6ap+0 +0x1.6a806ep+2 +0x1p+0 +0x1.8e27aep+1 +0x1p+0 +0x1.000b22p+0 +0x1.8f0c12p+0 +0x1.192892p+5 +0x1.2bcaacp+1 +0x1.984264p+2 +0x1.0034cp+0 +0x1p+0 +0x1.abf4dp+0 +0x1.001044p+0 +0x1.0d26f4p+0 +0x1.626906p+0 +0x1.8bf0c2p+5 +0x1.02d288p+0 +0x1.900128p+4 +0x1.bbbbcp+12 +0x1.45fa5p+0 +0x1p+0 +0x1.01bef2p+0 +0x1.524f26p+2 +0x1.083b0ep+0 +0x1.4811e4p+0 +0x1.0163a8p+0 +0x1.9570fap+15 +0x1.3022f2p-1 +0x1.14c73ap+0 +0x1.0009d8p+0 +0x1.056b92p+63 +0x1.0025a4p+0 +0x1.36aad4p+17 +0x1.05c244p+8 +0x1.d00886p+17 +0x1.001188p+0 +0x1.3376ecp-1 +0x1.6719c8p+16 +0x1.02495p+0 +0x1.fd9bacp-1 +0x1.3882c6p+6 +0x1.3cb358p+0 +0x1.0ec93ep+0 +0x1.4fd2bap+1 +0x1.f8b68p+1 +0x1.33b1f2p-1 +0x1.ba7f4cp+1 +0x1p+0 +0x1.44a3d2p-17 +0x1.9a6a8p+2 +0x1.00918ap+6 +0x1.30d50ep-1 +0x1p+0 +0x1.0001bep+0 +0x1.05b93ep+0 +0x1.aa9d98p+0 +0x1.039b74p+0 +0x1.1ac25ep+8 +0x1p+0 +0x1.12b23ap+1 +0x1.4c5c52p+0 +0x1.07de64p+0 +0x1.950f94p+1 +0x1.001caap+47 +0x1.0a9448p+0 +0x1.01026cp+0 +0x1.03d74ap+0 +0x1p+0 +0x1.0032dap+0 +0x1.380922p-1 +0x1.c0e7ccp+15 +0x1.a35e4p+4 +0x1.25b1e6p+0 +0x1.000044p+2 +0x1.05ac24p+7 +0x1.1fa744p+44 +0x1.0007b2p+0 +0x1.2cca62p+2 +0x1.04be3ap+6 +0x1.00065p+0 +0x1.2b9f3ap+1 +0x1.74085p+3 +0x1p+0 +0x1.01fc4cp+0 +0x1.e137bcp+2 +0x1.097ac8p+0 +0x1.ad1458p+4 +0x1.c8587cp+1 +0x1.31d172p-1 +0x1.0b414ap+1 +0x1.664e36p+1 +0x1.30ae16p-1 +0x1p+0 +0x1.3b7e3cp+2 +0x1.9cc348p+64 +0x1p+0 +0x1p+0 +0x1.cdb384p-32 +0x1p+0 +0x1.00b998p+0 +0x1.36b69ep-1 +0x1.939538p+4 +0x1.dc9deep+4 +0x1.36f86ep+2 +0x1.02113cp+0 +0x1.035852p+0 +0x1.9de428p+2 +0x1.369814p+1 +0x1.147f44p+3 +0x1.031bc8p+0 +0x1.03f7cp+0 +0x1.000924p+0 +0x1.145e14p+2 +0x1.0000d4p+0 +0x1p+0 +0x1.54fdfp+2 +0x1.07c0ep+0 +0x1.829aeep+1 +0x1.000f08p+0 +0x1.34dcdp-1 +0x1p+0 +0x1.cd56e4p+1 +0x1.16400ap+8 +0x1p+0 +0x1.00000ap+2 +0x1.00a21p+0 +0x1.8d6286p+6 +0x1.de4f28p+1 +0x1.9f55b6p+48 +0x1.01c802p+0 +0x1.0327cp+0 +0x1.32fb52p-1 +0x1p+0 +0x1.2525dcp+0 +0x1.91da28p-6 +0x1.5a23a8p+0 +0x1.5f024ap+1 +0x1p+0 +0x1.0008f2p+0 +0x1.05563cp+0 +0x1.89381cp+0 +0x1.8bb056p+16 +0x1.7cc93ep+1 +0x1.8bf0acp+5 +0x1.1722bap+6 +0x1p+0 +0x1.00238ep+0 +0x1.ebb8d2p-1 +0x1.001194p+0 +0x1.6cd388p+1 +0x1.08e4bp+8 +0x1.00002p+0 +0x1.01a0bep+0 +0x1.00e7cep+8 +0x1.1193p+0 +0x1.06a9c8p+0 +0x1.11c7fep+0 +0x1.5ef17cp+0 +0x1.4ae72cp+0 +0x1.e0df4cp+41 +0x1.7e5468p+1 +0x1.8dd478p+0 +0x1.3c2784p+51 +0x1p+0 +0x1p+0 +0x1.b9d454p+12 +0x1.011a58p+0 +0x1.3efb48p+4 +0x1.000208p+0 +0x1.57b3eep+7 +0x1.000004p+0 +0x1.1cd6b8p+0 +0x1.c366fap+9 +0x1.466d2cp+0 +0x1p+0 +0x1.300096p-1 +0x1p+0 +0x1.bef388p+0 +0x1.0c20e8p+8 +0x1.397f2p+4 +0x1.037596p+2 +0x1.62a0a4p+52 +0x1.37269ap+0 +0x1.81fe24p+2 +0x1.dd4196p+56 +0x1.b143ep+0 +0x1p+0 +0x1.b8c2fp+1 +0x1.056b3ep+1 +0x1.3b6cbp+0 +0x1.3ffb2p+0 +0x1p+0 +0x1.3c21cp+0 +0x1.00312cp+0 +0x1p+0 +0x1.3822f8p+0 +0x1.02734p+2 +0x1.05a7dap+0 +0x1.6df1b4p+5 +0x1.0006f4p+0 +0x1.31aebep-1 +0x1p+0 +0x1p+0 +0x1.b997fap+18 +0x1.0570d8p+0 +0x1p+0 +0x1.0a9216p+42 +0x1.ef16f2p+1 +0x1p+0 +0x1.31269ep-1 +0x1.a9954ap+2 +0x1.1cc5e8p+0 +0x1.01d334p+0 +0x1.905f98p+4 +0x1.0310d4p+0 +0x1.16a62ap+0 +0x1.8dd6b2p+0 +0x1.395dcep+7 +0x1.ef5f92p+0 +0x1.000868p+0 +0x1p+0 +0x1.844a16p+2 +0x1.452efcp+0 +0x1p+0 +0x1.1c5da2p+6 +0x1.31ac3ap-1 +0x1.cc1bfp+2 +0x1p+0 +0x1.08215ap+0 +0x1.3b4306p+0 +0x1.71fe6p+1 +0x1.192bd8p+0 +0x1.262f78p+0 +0x1.00013cp+0 +0x1.33c486p-1 +0x1.000014p+0 +0x1.b8f4fp+1 +0x1.5f9f5ap-1 +0x1.059872p+0 +0x1p+0 +0x1.58168p+1 +0x1.826d5cp+0 +0x1p+0 +0x1.032a04p+0 +0x1p+0 +0x1.0c0a5cp+0 +0x1.668d9p+0 +0x1.2f9644p-1 +0x1p+0 +0x1.1821b8p+6 +0x1.b22e8ep+7 +0x1.4f7a78p+0 +0x1.52df24p+0 +0x1.48c612p+0 +0x1.93a19ap+4 +0x1.8bf102p+5 +0x1.122d94p+0 +0x1p+0 +0x1.00018p+0 +0x1.30083ap-1 +0x1p+0 +0x1p+0 +0x1.30d20ep-1 +0x1p+0 +0x1.0000dcp+0 +0x1.285bb4p+0 +0x1p+0 +0x1.0003a4p+0 +0x1p+0 +0x1.2ffcfcp-1 +0x1.093d96p+0 +0x1.239bfcp+0 +0x1.f7c33cp-27 +0x1.a9982ep+2 +0x1.1969f4p+4 +0x1.ff5c88p-1 +0x1.04db6ep+2 +0x1p+0 +0x1.f010dap-1 +0x1.13647p+7 +0x1p+0 +0x1.ea6e18p-10 +0x1.2d16eap+0 +0x1.02b668p+0 +0x1.191704p+4 +0x1.18f2b4p+0 +0x1.b186eap+0 +0x1.24c01ap+2 +0x1.6a3adap+16 +0x1p+0 +0x1p+0 +0x1.2f9f28p-1 +0x1.4b5da4p+0 +0x1.004054p+0 +0x1.002616p+8 +0x1.561954p+1 +0x1p+0 +0x1.4c4394p+0 +0x1.1eed34p+1 +0x1.a702eap+5 +0x1.ee054p+7 +0x1.1156a8p+0 +0x1.9a81fcp+2 +0x1.10ce16p-28 +0x1.b18b88p+0 +0x1.d9c4a8p+1 +0x1.0e275cp+0 +0x1.905f58p+4 +0x1p+0 +0x1.02f774p+0 +0x1.7ce226p+1 +0x1.0002bcp+0 +0x1.010f58p+0 +0x1p+0 +0x1.000198p+0 +0x1p+0 +0x1.4aa832p+0 +0x1.0006c2p+0 +0x1.358ca4p+7 +0x1.1edc64p+0 +0x1.003508p+0 +0x1.fdb69p+1 +0x1.0ff4fep+0 +0x1p+0 +0x1.b8c2fp+1 +0x1.284c16p+0 +0x1.00a228p+0 +0x1.03080cp+0 +0x1.91a8f4p+48 +0x1p+0 +0x1.2080fep+1 +0x1.0002f8p+0 +0x1.b14338p+0 +0x1.081288p+0 +0x1.71b9bep+0 +0x1.09c368p+0 +0x1.35ed64p+0 +0x1.8dd68cp+0 +0x1.d2cc42p+0 +0x1.9be0ecp+3 +0x1.7407fcp+3 +0x1.313ecp-1 +0x1.cdc978p+0 +0x1.0ed538p+1 +0x1.159af4p+8 +0x1p+0 +0x1.128694p+0 +0x1.2f1b06p-1 +0x1.19c0d8p+0 +0x1.dcc7c8p+1 +0x1.a33f8ap+7 +0x1.000158p+0 +0x1p+0 +0x1.28bdaep-16 +0x1.74086cp+3 +0x1.ea297cp+1 +0x1.5d87fp+2 +0x1.0e2658p+1 +0x1.621c14p+1 +0x1.9d8a8cp+3 +0x1p+0 +0x1.7807e8p+3 +0x1.74c924p+0 +0x1.a484e4p+53 +0x1.771c44p+0 +0x1.13d1e4p+2 +0x1.2fa402p-1 +0x1p+0 +0x1.024d72p+2 +0x1.064c6ap+8 +0x1.15d2dep+0 +0x1.9c004ep+3 +0x1.bc2fcap+12 +0x1.befdbep+0 +0x1.36461p+0 +0x1.6db7b8p+5 +0x1.0000cp+0 +0x1p+0 +0x1.02f354p+0 +0x1p+0 +0x1.000228p+0 +0x1.013fep+0 +0x1.213782p+0 +0x1p+0 +0x1.000204p+0 +0x1.a69cccp+7 +0x1.0036acp+0 +0x1.0982b8p+0 +0x1.81693cp-22 +0x1.1e5d64p+6 +0x1.0009f2p+0 +0x1.2fe96p-1 +0x1.0368f8p+0 +0x1.2d2cbep+0 +0x1.37bc04p-1 +0x1p+0 +0x1.d45d88p+1 +0x1.000694p+0 +0x1.000272p+0 +0x1p+0 +0x1.d0b2e6p+1 +0x1.2598a4p+3 +0x1p+0 +0x1.8b7d3p+2 +0x1.192902p+5 +0x1.3d5386p+0 +0x1.9c779ap+1 +0x1.08257cp+0 +0x1.0b8a4p+2 +0x1.01afa4p+3 +0x1.e48b7ap-1 +0x1.f30a5cp+2 +0x1.0df814p+0 +0x1.2f28p-1 +0x1.983f46p+3 +0x1.009094p+6 +0x1.326a3ep-1 +0x1.9767e6p+0 +0x1.1027fp+0 +0x1.3274f8p-1 +0x1.197a9cp+1 +0x1.3807p+2 +0x1.90533p+4 +0x1.0332ecp+0 +0x1.3ca37p+0 +0x1p+0 +0x1p+0 +0x1.3ff4dcp+0 +0x1p+0 +0x1.900046p+0 +0x1p+0 +0x1.195576p+5 +0x1.aec2ecp+7 +0x1.65b984p+0 +0x1.74677p+3 +0x1.423322p+0 +0x1.aeef9ep+16 +0x1.0338c4p+0 +0x1.1ae22ap+8 +0x1.cc4adcp+0 +0x1.d20a9ep+0 +0x1.cdbefcp-45 +0x1.03b23cp+0 +0x1.25970cp+3 +0x1.e6b02ep-1 +0x1p+0 +0x1p+0 +0x1p+0 +0x1p+0 +0x1.000aa8p+0 +0x1.0054a4p+0 +0x1.06600ap+0 +0x1.b8601cp+6 +0x1.fea92cp+5 +0x1.6p+5 +0x1.c76586p+0 +0x1.90007ap+0 +0x1.ef2d1p-84 +0x1.03d5b6p+0 +0x1.0164ecp+0 +0x1.4441d8p+0 +0x1.005c42p+0 +0x1.046838p+0 +0x1.51f04ap+0 +0x1.cf822cp+0 +0x1.033b4ap+0 +0x1p+0 +0x1.091bep+0 +0x1p+0 +0x1.5bb2a4p+0 +0x1.01fe2cp+0 +0x1.2b96p+1 +0x1.242d9p+0 +0x1.42ade4p+0 +0x1p+0 +0x1.689714p+2 +0x1.4ac756p+0 +0x1p+0 +0x1.101ad8p+0 +0x1.6208e8p+41 +0x1.47091p+0 +0x1.3e28p+3 +0x1.04b70ep+0 +0x1p+0 +0x1.086c9p+0 +0x1.70eb62p+54 +0x1.dfb744p+4 +0x1p+0 +0x1.f302bcp-8 +0x1.8d5fd4p+6 +0x1.12d9a8p+0 +0x1.00a39p+0 +0x1p+0 +0x1.00003cp+0 +0x1.00031p+0 +0x1.58743ep+0 +0x1.003ae4p+0 +0x1.7de5cep+2 +0x1.096c7ep+0 +0x1.57e436p+1 +0x1.21fcb4p+2 +0x1.31297ap-1 +0x1p+0 +0x1.ab5fcp+16 +0x1.91e912p+42 +0x1.5cb206p+1 +0x1.000072p+0 +0x1.00f4d2p+0 +0x1.0ee52p+0 +0x1.000014p+0 +0x1.2f3a5ep-1 +0x1.3fc07cp+1 +0x1.64bd36p+1 +0x1.f48f56p-1 +0x1.0115f4p+0 +0x1.1650bcp+2 +0x1.013494p+0 +0x1p+0 +0x1.684e92p+0 +0x1.0063a4p+0 +0x1.3ca364p+0 +0x1.197a48p+1 +0x1.00a6f4p+0 +0x1.31ce92p-1 +0x1.fea91ep+5 +0x1.6dd5cep+5 +0x1.05035ep+8 +0x1.6d6acep+5 +0x1.8c4fa2p+5 +0x1.f4e59cp-12 +0x1.6330e4p+0 +0x1.01a9fep+0 +0x1.4f48e4p+0 +0x1.d589c6p+1 +0x1.5be04ap+15 +0x1.f9e2f2p-1 +0x1.294bdp+1 +0x1.8bf1p+5 +0x1.967eb8p-9 +0x1.018d04p+0 +0x1.00032cp+0 +0x1p+0 +0x1.ba21bcp+14 +0x1.8dd6bp+0 +0x1.7455a8p+3 +0x1p+0 +0x1.8e8a02p+15 +0x1.015f06p+0 +0x1.04a26p+8 +0x1.000c58p+0 +0x1.26a58cp+3 +0x1.2719bap-19 +0x1p+0 +0x1.05194cp+7 +0x1.34d9f4p+0 +0x1p+0 +0x1.029fa2p+0 +0x1.99a9dap+0 +0x1.cee06ep+0 +0x1.3e921ap+0 +0x1.9f8eep+0 +0x1p+0 +0x1p+0 +0x1p+0 +0x1.13f606p+0 +0x1p+0 +0x1.0a176ep+2 +0x1.aa9c94p+7 +0x1.1211ep+0 +0x1.122594p+0 +0x1.b39642p+47 +0x1p+0 +0x1.000068p+0 +0x1.6600aep-12 +0x1.e0d6ecp+1 +0x1.0019ep+0 +0x1.34b8f4p-1 +0x1.581728p+2 +0x1.00016p+0 +0x1.12b1ep+8 +0x1.a679fp+14 +0x1.90005ap+4 +0x1.837996p-1 +0x1p+0 +0x1.0e2552p+1 +0x1.22160cp+9 +0x1p+0 +0x1.57e4b4p+1 +0x1p+0 +0x1.bf8d0cp+0 +0x1.d7e10ep+16 +0x1.06bcc8p+0 +0x1.133b12p+0 +0x1.1b6542p+6 +0x1p+0 +0x1.feddbcp-1 +0x1p+0 +0x1p+0 +0x1.2fd98ep-1 +0x1.03d5b6p+0 +0x1p+0 +0x1.db8a46p-1 +0x1.42e588p+0 +0x1.0ee1p+1 +0x1.361fep+0 +0x1.2f74a8p+0 +0x1p+0 +0x1.31596cp-1 +0x1.740a2p+3 +0x1p+0 +0x1.8dd672p+0 +0x1.00011cp+0 +0x1p+0 +0x1.000102p+0 +0x1.5cc2b2p+2 +0x1p+0 +0x1.17f4b4p+0 +0x1.619318p+12 +0x1.b14362p+0 +0x1.c1004ep+0 +0x1.318578p-1 +0x1.9728ecp+2 +0x1.25bdbcp+3 +0x1.37ac8ap+63 +0x1p+0 +0x1.41ef56p+2 +0x1.e65866p-1 +0x1p+0 +0x1.307e0ap+0 +0x1.ef570ep+54 +0x1.0290fap+1 +0x1.9dd308p+0 +0x1.21db9p+0 +0x1.00003cp+0 +0x1.eabf94p+0 +0x1.386614p+10 +0x1.f244dap+16 +0x1p+0 +0x1.00e094p+0 +0x1.5605e6p+1 +0x1.b16374p+2 +0x1.9a2d88p+0 +0x1.48748ap+9 +0x1p+0 +0x1.28e674p+0 +0x1.bf4324p+7 +0x1.2598c6p+3 +0x1.215484p+1 +0x1.05fb5p+51 +0x1.0000d8p+0 +0x1.f389dcp+6 +0x1.41a1bp+0 +0x1.001582p+0 +0x1.1928ecp+5 +0x1.00ff3ep+0 +0x1.3883c4p+13 +0x1.98b044p+2 +0x1.8a43eep+0 +0x1.733e8p+14 +0x1.73ebfcp+2 +0x1.0cd1fp+0 +0x1p+0 +0x1.af357p+5 +0x1.b2c586p+5 +0x1.470f58p+0 +0x1p+0 +0x1p+0 +0x1.0ffddep+0 +0x1.02c422p+1 +0x1.56c4a6p+1 +0x1.492014p-47 +0x1.192862p+5 +0x1p+0 +0x1.c7e222p+7 +0x1p+0 +0x1p+0 +0x1.1a0d3p+49 +0x1.946148p+0 +0x1.524f6ap+2 +0x1.31566ep-1 +0x1.000198p+0 +0x1.3d7efcp+3 +0x1.000264p+0 +0x1.4ed7ccp+0 +0x1.b667ecp+0 +0x1.81940ep+1 +0x1p+0 +0x1.088e6cp+0 +0x1.065bbcp+1 +0x1.009ae4p+1 +0x1.008bfp+6 +0x1.e9f5acp+7 +0x1.1e1c44p+8 +0x1.992348p+0 +0x1.3162fp+0 +0x1.fb0e1ap+48 +0x1.8bf0acp+5 +0x1p+0 +0x1.1f57b2p+60 +0x1.011f3p+0 +0x1.3af642p+0 +0x1.ccae9p+46 +0x1.21325cp+0 +0x1.07743p+7 +0x1.1ae49ep+8 +0x1.00006ap+0 +0x1.1928aap+5 +0x1.838206p-1 +0x1p+0 +0x1.00e9e8p+0 +0x1.4684cap+0 +0x1.02568p+0 +0x1.5efc62p+1 +0x1p+0 +0x1.000352p+0 +0x1.0578cap+0 +0x1.0039ecp+0 +0x1.2fc412p-1 +0x1.4a939ap+1 +0x1.ff27ep+5 +0x1.091a62p+0 +0x1.08c012p+0 +0x1.67c8p+4 +0x1.e26b74p-48 +0x1p+0 +0x1.283076p+3 +0x1.2fe494p-1 +0x1.4dcd9ep+5 +0x1p+0 +0x1.cdf4e4p+7 +0x1p+0 +0x1.c77d16p+1 +0x1.fccf76p-1 +0x1p+0 +0x1.120a84p+0 +0x1.054cdep+0 +0x1.002a0cp+0 +0x1.063b76p+0 +0x1.0000d8p+0 +0x1.30cedep-1 +0x1.003884p+0 +0x1p+0 +0x1.e0065cp-1 +0x1.693bd2p+15 +0x1.0fadc2p+0 +0x1.415d06p+0 +0x1.0002ecp+0 +0x1.27ce08p+0 +0x1.3b9762p+0 +0x1.2fb36p+2 +0x1.02c8f8p+0 +0x1.629facp+50 +0x1.281c56p+3 +0x1.4a93c8p+1 +0x1.0e6cacp-1 +0x1.f9ef4ap+0 +0x1.44f78ap+2 +0x1.9a1e18p+0 +0x1p+0 +0x1.3e566p+3 +0x1.000128p+0 +0x1p+0 +0x1.112c38p+0 +0x1.03d2dap+0 +0x1.5fb222p+12 +0x1.1f4b96p+0 +0x1.01422p+1 +0x1.ee5728p+63 +0x1.4bcdd8p+1 +0x1p+0 +0x1.30e0e4p-1 +0x1.6a36b2p+0 +0x1.00016cp+0 +0x1.04b966p+0 +0x1.106e16p+16 +0x1p+0 +0x1.1233d2p+0 +0x1p+0 +0x1.15d1cap+1 +0x1.137c02p+8 +0x1.00001ap+0 +0x1.07ab74p+0 +0x1.800b4ep-1 +0x1.55047p+0 +0x1.90017ap+4 +0x1.5c9898p+1 +0x1.8ce4ccp+6 +0x1p+0 +0x1.6ee34p+0 +0x1.bf600cp+0 +0x1.f13a7ep+8 +0x1.00015cp+0 +0x1.b9c51ep+12 +0x1.740826p+3 +0x1.c29e5p+1 +0x1.f56ba8p-1 +0x1.37fe18p+2 +0x1.190eap+0 +0x1.419f1cp+0 +0x1p+0 +0x1p+0 +0x1.20687ep+8 +0x1.938ecap+4 +0x1.01dd1cp+0 +0x1.bbe888p+7 +0x1.09d802p+0 +0x1.cf3b8p+0 +0x1.ea0d98p-1 +0x1.172472p+6 +0x1p+0 +0x1.61dce4p+1 +0x1.20b4fcp+0 +0x1.00038cp+0 +0x1p+0 +0x1.0822p+0 +0x1.9966ep+2 +0x1.21f47cp+0 +0x1.3a9762p+0 +0x1.8c4e0cp+5 +0x1p+0 +0x1.61878cp+12 +0x1.3ca348p+0 +0x1.289028p+0 +0x1.06e004p+0 +0x1.02b4b4p+0 +0x1.144eeep+1 +0x1.30a14ap-1 +0x1.07652p+0 +0x1p+0 +0x1.2ef288p+0 +0x1.1ba73cp+5 +0x1.48c714p+2 +0x1.25c508p+3 +0x1.b14382p+0 +0x1.b39acep+0 +0x1.0001c2p+0 +0x1.996938p+3 +0x1p+0 +0x1.e49b2ep+7 +0x1.000436p+0 +0x1.34712p+0 +0x1.47089p+0 +0x1.0353b8p-49 +0x1.2a818p+2 +0x1.00058p+0 +0x1.8a5a7ep+51 +0x1p+0 +0x1.8dbf04p+0 +0x1.5004d8p+61 +0x1.9557b2p+1 +0x1.0fa92cp+0 +0x1.16984ep+8 +0x1.72bd7ap+1 +0x1.980f0cp+1 +0x1.ae63fp+14 +0x1p+0 +0x1.085224p+0 +0x1.d8889ap-1 +0x1.1d3ff6p+4 +0x1.02c6ecp+1 +0x1.73eb4ep+2 +0x1.1916fp+4 +0x1.4a04e8p+5 +0x1.134906p+1 +0x1.0002dp+0 +0x1p+0 +0x1.32db7p+0 +0x1.0105b8p+0 +0x1.09f78p+0 +0x1.1d3e78p+4 +0x1.41b184p+0 +0x1.134914p+1 +0x1.410e6ep+1 +0x1.312a4ap-1 +0x1.7308f4p+1 +0x1p+0 +0x1.0afbe8p+0 +0x1p+0 +0x1.00026ap+0 +0x1.2ee012p+0 +0x1.001318p+0 +0x1.af1034p+4 +0x1.687b1cp-24 +0x1.a93ap+2 +0x1.084598p+0 +0x1.37031ap-1 +0x1.c046ep+5 +0x1.79a75ep+2 +0x1.46a9c8p+1 +0x1.000766p+0 +0x1.245d98p+0 +0x1.19287ap+5 +0x1.6a0fbep+0 +0x1p+0 +0x1.011424p+0 +0x1.879f4cp+0 +0x1p+0 +0x1p+0 +0x1.4ca7ecp-51 +0x1.5818c6p+2 +0x1p+0 +0x1.b4c9fap+7 +0x1.b14384p+0 +0x1.082fdp+0 +0x1.085672p+8 +0x1.918f3cp+6 +0x1p+0 +0x1.45623ep+0 +0x1.95515cp+2 +0x1.000068p+0 +0x1.31f33ap-1 +0x1.f9eed8p+0 +0x1.91b218p+6 +0x1.331446p-1 +0x1.000202p+0 +0x1p+0 +0x1.3cdfb8p-1 +0x1p+0 +0x1.08fb58p+7 +0x1.4dde38p+5 +0x1p+0 +0x1.0053a4p+0 +0x1p+0 +0x1.31e138p+7 +0x1p+0 +0x1.01c35cp+0 +0x1.dba85cp+7 +0x1.03682cp+2 +0x1.000108p+0 +0x1.bff348p+55 +0x1.582dbp+1 +0x1.31158p+0 +0x1.760bep+44 +0x1.e43226p+7 +0x1.082008p+0 +0x1.a03e4cp+7 +0x1.00b984p+0 +0x1.20c58ep+1 +0x1.221c1p+0 +0x1.594056p+7 +0x1.aabf58p+2 +0x1p+0 +0x1.b142e4p+0 +0x1.8bf166p+5 +0x1p+0 +0x1.000168p+0 +0x1.06c69cp+0 +0x1.900166p+4 +0x1.621b64p+12 +0x1.b142eep+0 +0x1p+0 +0x1.31c642p-1 +0x1p+0 +0x1.65b9cap+0 +0x1.4adbbep+0 +0x1p+0 +0x1.858ea2p+0 +0x1.076d06p+0 +0x1.000dap+0 +0x1.70cd96p+2 +0x1.347a2p-1 +0x1.73c75cp+2 +0x1p+0 +0x1.180c6ep+8 +0x1p+0 +0x1.1a32dcp+5 +0x1.342abp-1 +0x1.4a08p+5 +0x1.000484p+0 +0x1.e498b4p+7 +0x1.91e072p+0 +0x1p+0 +0x1.9ab2a8p+0 +0x1.0001dp+0 +0x1.6ab22p+0 +0x1.00036p+0 +0x1.00042cp+0 +0x1.0012a2p+0 +0x1.f2b45cp+0 +0x1.31b8fep-1 +0x1.2a3f48p+1 +0x1p+0 +0x1.d8ecc8p+49 +0x1.b143b2p+0 +0x1.4f7516p+0 +0x1.09a35cp+0 +0x1.000ap+0 +0x1.ad259ap+5 +0x1.8d9b38p-18 +0x1.92ef44p+0 +0x1.7407ep+3 +0x1.bcb74cp+7 +0x1.57d22p+0 +0x1.610e16p+0 +0x1.2ff3fap-1 +0x1.00aefcp+0 +0x1.6aaf1cp+0 +0x1.000298p+0 +0x1.10b236p+0 +0x1.2b6a4p+0 +0x1.25c852p+3 +0x1.000354p+0 +0x1p+0 +0x1.4fe4c2p+2 +0x1.8ea358p+6 +0x1.cd77f6p+2 +0x1.0000aap+0 +0x1.8c2a1ep-19 +0x1.000264p+0 +0x1.03001p+0 +0x1.0c772cp+0 +0x1.daea4p+4 +0x1p+0 +0x1.0f2d5ep+0 +0x1p+0 +0x1.1604d6p+0 +0x1.2f7b08p-1 +0x1.0002f4p+0 +0x1p+0 +0x1.91aaf8p+1 +0x1.896624p+0 +0x1.0024c2p+0 +0x1.0fde8cp+1 +0x1.3a7214p+16 +0x1.01ff8p+0 +0x1.02458p+1 +0x1.1d3f4cp+4 +0x1p+0 +0x1.c0d546p+1 +0x1.0ac2d4p+54 +0x1p+0 +0x1p+0 +0x1.75e65p+55 +0x1p+0 +0x1.010256p+0 +0x1.68165p+53 +0x1p+0 +0x1.013c3p+0 +0x1.bc712ep+13 +0x1p+0 +0x1.71d1cp+5 +0x1.49c482p+0 +0x1.00665p+0 +0x1.386324p+1 +0x1.385c4ap-1 +0x1p+0 +0x1.379e5p+0 +0x1.232592p+8 +0x1p+0 +0x1.000338p+0 +0x1p+0 +0x1p+0 +0x1.055404p+0 +0x1.208ef8p+1 +0x1p+0 +0x1p+0 +0x1p+0 +0x1p+0 +0x1.015d52p+0 +0x1.9ea35cp+1 +0x1.dc7eb4p+18 +0x1p+0 +0x1p+0 +0x1.b3d24ep+7 +0x1.fba328p+8 +0x1.00c7fp+0 +0x1.0d1acep+8 +0x1.779a24p+2 +0x1p+0 +0x1.19499ep+0 +0x1.25ddcep+3 +0x1.78346cp+3 +0x1.428e7ap+49 +0x1.003dp+0 +0x1p+0 +0x1.313dbcp-1 +0x1.6fef7p+1 +0x1p+0 +0x1.2ff116p-1 +0x1.00f598p+0 +0x1.45ab88p+0 +0x1p+0 +0x1.a93a36p+2 +0x1p+0 +0x1.54bb7p+2 +0x1p+0 +0x1.00004cp+0 +0x1.edac12p+0 +0x1.40f4fap+0 +0x1.45c0bcp+0 +0x1.0a2626p+0 +0x1.bfa67ap+51 +0x1.933f18p+0 +0x1p+0 +0x1.3f3fe8p+0 +0x1.006fc8p+0 +0x1.c04aecp+1 +0x1.0afc4p+0 +0x1.9b2f1ep+3 +0x1.11a134p+3 +0x1.0624dep-11 +0x1.eabf94p+0 +0x1.8950d8p+1 +0x1.35eba2p-1 +0x1.11c438p+0 +0x1.02073p+0 +0x1.483096p+0 +0x1.484bf4p+2 +0x1.1b86dcp+0 +0x1.0d3c56p+0 +0x1.0000e4p+0 +0x1.a93b64p+2 +0x1.b8db1cp+1 +0x1.308c0ep-1 +0x1p+0 +0x1.1e84fp+0 +0x1.3fc808p+0 +0x1.19179ap+4 +0x1p+0 +0x1.f1d3a4p+7 +0x1.273d1ep+1 +0x1.000a16p+0 +0x1.42ead6p+0 +0x1.b8c318p+1 +0x1.7226dp+1 +0x1.43af5cp+0 +0x1.450224p+0 +0x1.000234p+0 +0x1.358bc4p-1 +0x1.0000acp+0 +0x1.02ef5cp+0 +0x1.1d16fap+8 +0x1p+0 +0x1.0a9be6p+0 +0x1.2221d2p+8 +0x1.45abbp+0 +0x1p+0 +0x1.b787f6p-12 +0x1.960416p+0 +0x1.0af8b6p+1 +0x1.232048p+64 +0x1.f6b2fp+0 +0x1p+0 +0x1.02fc3ep+0 +0x1.19292ep+5 +0x1.00fdcap+0 +0x1.51ac2p+1 +0x1.020b04p+0 +0x1.3fe772p+1 +0x1p+0 +0x1.3a87dap+0 +0x1.00dbf8p+0 +0x1.dc825cp+1 +0x1.051eap+0 +0x1p+0 +0x1p+0 +0x1p+0 +0x1p+0 +0x1p+0 +0x1.000bp+0 +0x1.004874p+0 +0x1.ed7906p+14 +0x1.ba64fcp+12 +0x1.03e86ap+0 +0x1.5cdd2p+2 +0x1.2fc1c6p-1 +0x1.08a1b8p+0 +0x1p+0 +0x1.4e97bp+62 +0x1.364392p+0 +0x1.000236p+0 +0x1.32f478p-1 +0x1.362732p+4 +0x1.1d3f0ep+4 +0x1.205236p+44 +0x1p+0 +0x1.93afd4p+2 +0x1.2f40ecp-1 +0x1p+0 +0x1.0fe4a4p+1 +0x1.9975e8p+64 +0x1.4a93fap+1 +0x1.259756p+3 +0x1.1e1e64p+8 +0x1.000048p+0 +0x1p+0 +0x1.2f1f74p-1 +0x1.7a124ap+0 +0x1.5e3f8ep+2 +0x1.e58cd8p-1 +0x1.b3857ep+0 +0x1.6f4da4p+0 +0x1p+0 +0x1.44caaep+0 +0x1.6831b2p+0 +0x1.7537bep+1 +0x1p+0 +0x1.003054p+0 +0x1.4934p+2 +0x1.00005p+0 +0x1.000098p+0 +0x1.091ebcp+0 +0x1.465e2cp+9 +0x1.00017p+0 +0x1p+0 +0x1.31ab6cp-1 +0x1p+0 +0x1p+0 +0x1.f2386ep+57 +0x1.147d32p+3 +0x1.e480eep+7 +0x1.03b3b2p+0 +0x1.02035cp+0 +0x1.11d934p+3 +0x1.5776d8p+53 +0x1.2c73p+0 +0x1.63073ap+9 +0x1.2041aep+8 +0x1p+0 +0x1.00594cp+0 +0x1.3ee136p+0 +0x1p+0 +0x1.09548p+1 +0x1.05f1f4p-11 +0x1.0002a4p+0 +0x1.16ac18p+3 +0x1.b8531ep+7 +0x1.0fd73cp+1 +0x1.011f64p+0 +0x1.0ff65ep+0 +0x1.b1ecfp+4 +0x1.8f0888p+0 +0x1.f95e02p-1 +0x1p+0 +0x1.9000cep+0 +0x1.e9b4fep+52 +0x1.009838p+0 +0x1.5ef598p+1 +0x1.a6ad24p+7 +0x1.4913c6p+0 +0x1p+0 +0x1.3d7314p+0 +0x1p+0 +0x1.a591c8p+0 +0x1.017966p-13 +0x1.9825cep+3 +0x1.192898p+5 +0x1.cddc2p+42 +0x1p+0 +0x1p+0 +0x1.0dde0ap+8 +0x1.0e56e8p+1 +0x1.a6fbcep+3 +0x1.b92cc8p+7 +0x1.d57268p+0 +0x1.b8f132p+1 +0x1.4c257ap+0 +0x1.00000ap+0 +0x1.38635p+1 +0x1.1cc07ap+45 +0x1.71ff7ep+1 +0x1.ef8b44p+0 +0x1.6cf93ep+51 +0x1p+0 +0x1p+0 +0x1.11f506p+8 +0x1.77844ap+0 +0x1p+0 +0x1.bdd978p+7 +0x1.00006ap+0 +0x1.0e2602p+1 +0x1.045486p+0 +0x1.0002c8p+0 +0x1.4d67c8p+1 +0x1.e5b314p-1 +0x1.6a374cp+0 +0x1.99db52p+0 +0x1.f9eeap-1 +0x1.bf7f2cp+5 +0x1.da61b4p+4 +0x1.488ff4p+0 +0x1.003p+0 +0x1p+0 +0x1.02ffcp+0 +0x1.d09a76p+1 +0x1.225a2cp+0 +0x1.0637f2p+0 +0x1.b3893p+0 +0x1.00005p+0 +0x1.bcc5ccp+59 +0x1p+0 +0x1.01f38ep+0 +0x1.a720ecp+7 +0x1.05390cp+1 +0x1.bf3ffep+2 +0x1.6b9574p+0 +0x1.388f0cp+11 +0x1.29a6aap+0 +0x1.31e90ep-1 +0x1p+0 +0x1p+0 +0x1.2f1498p-1 +0x1.0000eep+0 +0x1p+0 +0x1.3190e2p-1 +0x1p+0 +0x1.7703c2p+1 +0x1.0ffd1cp-24 +0x1p+0 +0x1p+0 +0x1.f5c25p-24 +0x1.7407c8p+3 +0x1.45abd2p+0 +0x1.1304ecp+0 +0x1p+0 +0x1.0002f4p+0 +0x1.cd1cdap+1 +0x1.6ef2fp+15 +0x1.0002cap+0 +0x1.dc83cp+1 +0x1.0000ccp+0 +0x1.0093cep+0 +0x1.0066bap+0 +0x1.002dp+0 +0x1.0e6c8p+0 +0x1.7be50ap+16 +0x1.00b348p+0 +0x1.089b3p+16 +0x1.98b07cp+2 +0x1.3389b2p+0 +0x1.a41e1ep+7 +0x1.7195dep+5 +0x1.08b45cp+0 +0x1.29c1eap+56 +0x1.740b96p+3 +0x1.71fef4p+1 +0x1.07ba2cp+0 +0x1.5ee4a2p+1 +0x1p+0 +0x1.f9599cp-1 +0x1.b9154ep+14 +0x1.f8911cp+0 +0x1p+0 +0x1.373e1p+4 +0x1p+0 +0x1.00146cp+0 +0x1.4a05acp+5 +0x1.1928aap+5 +0x1.060cecp+0 +0x1.773996p+0 +0x1.af11c2p-11 +0x1p+0 +0x1.3f7d98p+7 +0x1.1361ep+52 +0x1.f9f064p+0 +0x1p+0 +0x1.a9b908p+7 +0x1.c55b46p+0 +0x1p+0 +0x1.682ec4p+46 +0x1.00003p+0 +0x1p+0 +0x1.2fdba4p-1 +0x1.9beca4p+0 +0x1.0004a8p+0 +0x1.2fb262p-1 +0x1.8bf118p+5 +0x1.0001aap+0 +0x1.31a74p-1 +0x1.25db7ep+3 +0x1p+0 +0x1.197a7cp+1 +0x1p+0 +0x1.2d315cp+0 +0x1.0024f8p+0 +0x1.2a7f04p+1 +0x1p+0 +0x1p+0 +0x1.01211cp+0 +0x1.f11d7ep-1 +0x1.d4f718p+2 +0x1.b233dep+0 +0x1.6d6b1cp+5 +0x1.7724fep+15 +0x1p+0 +0x1.a86fbap+7 +0x1p+0 +0x1p+0 +0x1.4aa984p+49 +0x1.000054p+0 +0x1p+0 +0x1.33d3f4p-1 +0x1p+0 +0x1.1b0cd8p+6 +0x1.000958p+0 +0x1p+0 +0x1.49ef4ep+4 +0x1.7cc648p+1 +0x1p+0 +0x1.23470ap+0 +0x1.3223a4p+0 +0x1p+0 +0x1.4d6912p+0 +0x1.51e25p+0 +0x1p+0 +0x1.34962cp+0 +0x1.0fdd0cp+1 +0x1.0001d8p+0 +0x1.38637cp+1 +0x1.9de754p+3 +0x1.8e020cp+5 +0x1.ad9158p+4 +0x1.094afap+0 +0x1.ea949ep+52 +0x1.ec6aa4p+1 +0x1.1a5e6cp+4 +0x1.07ed56p+0 +0x1.711ffp+0 +0x1p+0 +0x1.062702p+8 +0x1.233ffap+18 +0x1.10c252p+7 +0x1.002a14p+0 +0x1.98f468p+0 +0x1.833884p+0 +0x1p+0 +0x1.9179acp+4 +0x1.d944c4p-1 +0x1.00bc84p+0 +0x1p+0 +0x1.46c0aep+0 +0x1.ad157p+4 +0x1.13492cp+1 +0x1.4b0ceep+0 +0x1.000246p+0 +0x1p+0 +0x1p+0 +0x1.176dbep+0 +0x1.52e1b8p+0 +0x1.050ab8p+0 +0x1p+0 +0x1.ef2d1p-84 +0x1.d0999p+1 +0x1.00b594p+0 +0x1.19ae42p+54 +0x1p+0 +0x1p+0 +0x1.bf05cap-56 +0x1.fba48p+0 +0x1.19a5ecp+4 +0x1.000518p+0 +0x1.cd1cc6p+1 +0x1.0008d2p+0 +0x1.00291cp+0 +0x1.01ae5cp+0 +0x1.18229cp+0 +0x1.0000d6p+0 +0x1.00017p+0 +0x1.1083fep-25 +0x1p+0 +0x1.7d379ap+9 +0x1.2f5e0ep-1 +0x1.365e38p+0 +0x1.000912p+0 +0x1.8p+3 +0x1.13e39cp+1 +0x1p+0 +0x1.0ba4aep+0 +0x1.9deafcp+3 +0x1.2fead4p-1 +0x1p+0 +0x1.11a49cp+16 +0x1.968f3ap+62 +0x1p+0 +0x1p+0 +0x1p+0 +0x1.b85f8ep+6 +0x1.141a8ep+8 +0x1.0564ecp+0 +0x1.c6b168p+2 +0x1.05b106p+8 +0x1.000298p+0 +0x1p+0 +0x1.0001fap+0 +0x1.000164p+0 +0x1.31a84p+0 +0x1p+0 +0x1.403f5cp+5 +0x1.ea62dep-1 +0x1p+0 +0x1.131eeep+1 +0x1.3625d8p+4 +0x1.066f0cp+0 +0x1.e7a64p+7 +0x1.047e06p+0 +0x1p+0 +0x1.32aad8p-1 +0x1p+0 +0x1.000118p+0 +0x1.1b0d0cp+6 +0x1.a11c9p+0 +0x1.a2588ep+54 +0x1p+0 +0x1p+0 +0x1.09ffa8p+8 +0x1.bb2a7cp+5 +0x1p+0 +0x1.a1f9p+0 +0x1p+0 +0x1.f3d4b4p-1 +0x1.4dc16ap+5 +0x1.3b2274p+4 +0x1.457d56p+0 +0x1.01cfcp+0 +0x1p+0 +0x1.a93982p+2 +0x1.04054cp+0 +0x1.0080fap+0 +0x1.dc801cp+0 +0x1.0b77bep+1 +0x1.013094p+0 +0x1.0001e8p+0 +0x1.02e2ep+0 +0x1p+0 +0x1.000094p+0 +0x1.fb4382p-1 +0x1.00019p+0 +0x1.0007b8p+0 +0x1.127e1ap+8 +0x1p+0 +0x1p+0 +0x1.0e25cp+1 +0x1.2f4b78p+1 +0x1.015b26p+8 +0x1.0eb20cp+0 +0x1.081558p+7 +0x1.42ff58p+0 +0x1.1c5d1p+6 +0x1.887b42p+14 +0x1.02904p+1 +0x1.7ce25ap+1 +0x1.f96d6p-1 +0x1.5c64f4p+0 +0x1.0005c8p+0 +0x1.78e9d4p-33 +0x1.da628ep+4 +0x1.003634p+0 +0x1.3184d6p-1 +0x1.bd96f4p+6 +0x1.ba5156p+12 +0x1.8df4acp+0 +0x1p+0 +0x1.a3b92p+7 +0x1.3e4f26p+11 +0x1.543868p+4 +0x1.eabfe6p+0 +0x1.0073e6p+0 +0x1.0f2bdep+8 +0x1.3e3c3ep+13 +0x1.3884dp+6 +0x1p+0 +0x1.690fecp+0 +0x1.dfa074p-1 +0x1.000638p+0 +0x1.4a93acp+1 +0x1.8dd68ap+0 +0x1.0048dcp+0 +0x1.002f8ep+0 +0x1.00015p+0 +0x1.45abbcp+0 +0x1.f3f306p-1 +0x1.1b639p+0 +0x1.ef2d1p-84 +0x1.abd54p+0 +0x1.36f8aap+2 +0x1.e317cep-1 +0x1.36f9cap+2 +0x1.530ddp+0 +0x1.2f74bp+0 +0x1.3c4448p+0 +0x1.0718dcp+0 +0x1.0001bp+0 +0x1p+0 +0x1.1d3ebap+4 +0x1.42e55ap+0 +0x1.3ace3ep+50 +0x1.5b5108p+1 +0x1.13527cp+3 +0x1.0002ap+0 +0x1.6f3ebcp+2 +0x1.b0af06p+7 +0x1.016c28p+0 +0x1p+0 +0x1.4542a6p+0 +0x1p+0 +0x1.6120cep+55 +0x1.02a2p+0 +0x1.0714d6p+15 +0x1.21293ep+0 +0x1.023b38p+0 +0x1.000d12p+0 +0x1.4d9f06p+15 +0x1p+0 +0x1.dd3bb4p-1 +0x1p+0 +0x1.00029ep+0 +0x1.eabfa8p+0 +0x1.362a2ep+0 +0x1.000a5ap+48 +0x1.dfbac8p+4 +0x1.259742p+3 +0x1.0000acp+0 +0x1.00cc58p+1 +0x1.49155ep+0 +0x1p+0 +0x1p+0 +0x1.30d9ap-1 +0x1.02fc6p+0 +0x1.3cac76p+0 +0x1.b8c472p+1 +0x1.8bf1bcp+5 +0x1.2cd56p+0 +0x1.1d37a6p+0 +0x1p+0 +0x1.6b03dep+2 +0x1p+0 +0x1.4bc794p+0 +0x1.dc56e6p+1 +0x1.b1432ap+0 +0x1.5a6574p+2 +0x1.a21356p+4 +0x1.6269ep+64 +0x1.0000dp+0 +0x1.10766cp+7 +0x1.0096e6p+0 +0x1.adf486p+0 +0x1.309de8p-1 +0x1.085fb4p+0 +0x1.3afb0ep+0 +0x1.0002a2p+0 +0x1.085208p+0 +0x1.213daap+8 +0x1.000a5ap+0 +0x1.503f0cp+0 +0x1.000428p+0 +0x1.7ee7d4p+16 +0x1.8e5064p+61 +0x1.3f6054p+7 +0x1.3a78a6p+0 +0x1.0a197ap+0 +0x1.016ea8p+0 +0x1.0bbb28p+8 +0x1.000014p+0 +0x1.0010d4p+0 +0x1.5983f8p-26 +0x1.2dddep+0 +0x1.3f4af4p+0 +0x1.15f078p+0 +0x1p+0 +0x1.8ffae8p-20 +0x1.0000a4p+0 +0x1.4f32a8p+0 +0x1.8bf1f2p+5 +0x1.0000fp+0 +0x1.1e9612p+0 +0x1.000512p+0 +0x1.000184p+0 +0x1p+0 +0x1.4a071ap+5 +0x1.316586p-1 +0x1.026922p+0 +0x1.9323dcp+3 +0x1.0530acp+0 +0x1.18125p+0 +0x1.e39054p-1 +0x1.3ad2p+11 +0x1.005ad4p+0 +0x1.000208p+0 +0x1.b85f4cp+6 +0x1.002d02p+0 +0x1p+0 +0x1p+0 +0x1.da3556p+8 +0x1p+0 +0x1.02c298p+0 +0x1.11a35ep+3 +0x1.4a0a02p+1 +0x1.02741p+2 +0x1p+0 +0x1.2749a2p+0 +0x1.45abacp+0 +0x1p+0 +0x1.3920bcp+13 +0x1.000054p+0 +0x1.4ceda8p+0 +0x1p+0 +0x1.390b2p+7 +0x1.66764ep+7 +0x1p+0 +0x1.e11478p+7 +0x1.0f264cp+0 +0x1p+0 +0x1.2f7ec2p-1 +0x1p+0 +0x1.0ac6fcp+8 +0x1.3ca396p+0 +0x1.9ad138p+5 +0x1.e5b8acp+7 +0x1.0000b8p+0 +0x1.f14fd6p-11 +0x1.00009p+0 +0x1.01571ep+0 +0x1.17c726p+0 +0x1.00019p+0 +0x1.362514p+4 +0x1.004efp+0 +0x1.003f5cp+0 +0x1.43c41cp+0 +0x1p+0 +0x1.3e6c78p+12 +0x1.000c5cp+0 +0x1.3e795cp+6 +0x1.b825a6p+7 +0x1.ace64p+1 +0x1.36f8dp+2 +0x1.587484p+0 +0x1.94967ap+14 +0x1.af98e6p+17 +0x1.6488b6p+0 +0x1.1d3e98p+4 +0x1.009978p+0 +0x1.377d08p+0 +0x1.2fdc0ep+0 +0x1.045768p+0 +0x1.f9ef1ap+0 +0x1.003e4ap+0 +0x1.3e825p+9 +0x1.38da1p+0 +0x1p+0 +0x1p+0 +0x1.00d4a2p+0 +0x1.3e6838p+12 +0x1.0c24a8p+0 +0x1.00012cp+0 +0x1p+0 +0x1p+0 +0x1.001188p+0 +0x1.30be32p-1 +0x1.d20bfcp+0 +0x1.000314p+0 +0x1.467b6ap+1 +0x1.b14436p+0 +0x1.be3eccp+7 +0x1.035cc4p+0 +0x1p+0 +0x1.358ca4p+7 +0x1p+0 +0x1.052ef8p+8 +0x1.08ac7ep+0 +0x1p+0 +0x1.ef2d1p-84 +0x1p+0 +0x1.388d04p+56 +0x1.003836p+0 +0x1.65f1ecp+0 +0x1.5b141p+47 +0x1.fadea2p+0 +0x1.d1e872p+59 +0x1p+0 +0x1.acd704p+0 +0x1.d46c0ap-34 +0x1p+0 +0x1.015a84p+0 +0x1p+0 +0x1p+0 +0x1.02161ep+0 +0x1p+0 +0x1.02283cp+0 +0x1.2fb3d8p+2 +0x1.3b1854p+4 +0x1.9a69d8p+48 +0x1.f9ef08p+0 +0x1.7e849cp+3 +0x1.eabffp+0 +0x1.054884p+0 +0x1.9faadcp+7 +0x1.01dbfep+0 +0x1.a9a6aap+1 +0x1p+0 +0x1.ae82b2p+5 +0x1.423f6p-20 +0x1.42e57p+0 +0x1.41466p+2 +0x1p+0 +0x1.49ef3ep+4 +0x1.f264ccp-1 +0x1.0084dap+0 +0x1.07aabap+0 +0x1p+0 +0x1p+0 +0x1.009f06p+0 +0x1.008b44p+0 +0x1.3e2b8cp+5 +0x1.000324p+0 +0x1.0c4158p+0 +0x1.32644cp-1 +0x1.1929dp+5 +0x1.8ac548p+4 +0x1.01b036p+0 +0x1.7e3a98p+5 +0x1.34bc8p-1 +0x1.b14336p+0 +0x1.0cb4e2p+0 +0x1.b931bp+12 +0x1.2358fp+1 +0x1.f23b6cp+51 +0x1p+0 +0x1.16fa4cp+4 +0x1.0baf84p+0 +0x1.a856a8p+5 +0x1.066f6p+0 +0x1p+0 +0x1p+0 +0x1.20b7bp+0 +0x1.3fe392p+0 +0x1.388ae2p+0 +0x1.00035cp+0 +0x1.3adcf2p+12 +0x1.30393p-1 +0x1.e17338p+1 +0x1.aa6b1ap+7 +0x1.0000b6p+0 +0x1p+0 +0x1.345b46p-1 +0x1.74921cp+8 +0x1.b29bd6p+7 +0x1p+0 +0x1.77c706p+2 +0x1.c4d8ecp+65 +0x1.8d98bp+0 +0x1.8b8002p-6 +0x1.3881ecp+15 +0x1.010cd4p+0 +0x1.c8fdaap+7 +0x1.72b958p+2 +0x1.965c1cp+3 +0x1p+0 +0x1p+0 +0x1.2a515cp+0 +0x1.cd1e9p+1 +0x1.006674p+0 +0x1p+0 +0x1.66e4cp+2 +0x1.13aa9ep+8 +0x1p+0 +0x1.13101cp+1 +0x1.0004ecp+0 +0x1p+0 +0x1.c51ad2p+7 +0x1p+0 +0x1.2a0908p+8 +0x1.000182p+0 +0x1.ac40fcp+2 +0x1.30f308p-1 +0x1p+0 +0x1p+0 +0x1.1ceeaep+7 +0x1.0000a4p+0 +0x1.f407acp+7 +0x1.36f98ep+2 +0x1.1c60a8p+10 +0x1.617238p+12 +0x1p+0 +0x1.48fb3ap+0 +0x1p+0 +0x1.000d5p+0 +0x1.33833cp-1 +0x1p+0 +0x1.41be46p+51 +0x1.238e58p+0 +0x1.00266cp+0 +0x1.9fc4bp+58 +0x1.000618p+0 +0x1.88a592p+48 +0x1.0001c8p+0 +0x1p+0 +0x1.51c89cp+0 +0x1.317344p+7 +0x1.308e8ap-1 +0x1p+0 +0x1.0387e6p+0 +0x1.454a32p+0 +0x1.74a828p+7 +0x1.f57daep-8 +0x1.287a44p+0 +0x1.b84b08p+2 +0x1.27fc5ap+0 +0x1p+0 +0x1.0e423p+1 +0x1p+0 +0x1.079ddp+0 +0x1.f49a74p+14 +0x1.0f47bp+0 +0x1.9000bap+4 +0x1.000244p+0 +0x1p+0 +0x1.4a38ep+0 +0x1.36f8bp+2 +0x1.6bf43cp+0 +0x1.a3a9f4p+1 +0x1.001d24p+0 +0x1.106f8ap+0 +0x1.0003ep+0 +0x1.00025p+0 +0x1.89be24p+0 +0x1.3d65b4p+6 +0x1.44b46ep+0 +0x1.5caecap+1 +0x1.00327cp+2 +0x1.54bbep+2 +0x1.2597aap+3 +0x1.059a5ap-11 +0x1.43884ep+2 +0x1p+0 +0x1.c04628p+9 +0x1p+0 +0x1.c1b9bp-49 +0x1.73ed24p+2 +0x1.000598p+0 +0x1.44105p+0 +0x1.b7c192p+5 +0x1.312178p-1 +0x1p+0 +0x1.f9efc2p+0 +0x1.014252p-51 +0x1.017a66p+0 +0x1.1f3de4p+8 +0x1.02b182p+0 +0x1.257372p+0 +0x1.93944ap+48 +0x1.e2305cp+1 +0x1.3e0ee6p-8 +0x1.00011ep+0 +0x1.a31448p+5 +0x1.8c9ca6p+48 +0x1.194216p+0 +0x1p+0 +0x1.5cc2ap+2 +0x1p+0 +0x1.506fe6p+49 +0x1.2588fp+0 +0x1.26ffaep+1 +0x1p+0 +0x1p+0 +0x1.4ff01ap+66 +0x1.00009cp+0 +0x1.000f38p+0 +0x1.00e4d6p+0 +0x1.001d5cp+0 +0x1.02b29cp+50 +0x1.358d1p+7 +0x1.3eff02p+8 +0x1.900058p+4 +0x1.3ae0bcp+13 +0x1.034d3ep+0 +0x1.b9346p+5 +0x1p+0 +0x1.71b9cp+0 +0x1.2f7456p+0 +0x1.47ccf2p+0 +0x1.498974p+0 +0x1.046cb8p+0 +0x1.458c62p+1 +0x1.a93bf4p+2 +0x1.0f113ap+8 +0x1p+0 +0x1.04ae52p+0 +0x1.7c2a68p+0 +0x1.3b24fep+9 +0x1.04ef5p-11 +0x1.11a28ap+3 +0x1p+0 +0x1.056b24p+1 +0x1.0000e4p+0 +0x1.2c01cap+0 +0x1p+0 +0x1p+0 +0x1.c61f72p+15 +0x1p+0 +0x1.02fc2ap+0 +0x1p+0 +0x1.093acep+0 +0x1.5643eap+53 +0x1p+0 +0x1.0087a8p-47 +0x1.2f5868p+0 +0x1.38e848p+10 +0x1.e5c11cp+7 +0x1p+0 +0x1.129e64p+8 +0x1.5c6c98p+1 +0x1.00015ap+0 +0x1.b745e2p+48 +0x1.1bfb08p+0 +0x1.a92b86p+5 +0x1.7c2a54p+0 +0x1p+0 +0x1.3334b6p+0 +0x1.b5c006p+5 +0x1p+0 +0x1.bec8c6p+16 +0x1p+0 +0x1.dc5496p-1 +0x1.0a88ep+0 +0x1.f95e78p+1 +0x1p+0 +0x1.0037b4p+0 +0x1.1eaf62p+8 +0x1p+0 +0x1.43bfcp+5 +0x1.3af986p+15 +0x1.03dbf4p+0 +0x1.b1b5a8p-12 +0x1p+0 +0x1.90007ep+0 +0x1.0003b4p+0 +0x1p+0 +0x1.f8f086p-12 +0x1.dd7178p+4 +0x1.00207p+0 +0x1.118916p+0 +0x1p+0 +0x1.a298c4p+7 +0x1.006a6cp+0 +0x1.1dfa5p+0 +0x1.327c54p-1 +0x1p+0 +0x1.f7e922p-1 +0x1.3e365ap+13 +0x1p+0 +0x1.04318ap+0 +0x1.52381cp+0 +0x1.60a298p-1 +0x1.000076p+0 +0x1.977c42p+14 +0x1.a8cb5cp+7 +0x1.1b0d18p+6 +0x1.29cedp+0 +0x1.15a46ap+1 +0x1p+0 +0x1.639aaep-12 +0x1.004a8cp+0 +0x1.0ab1bcp+1 +0x1.b85ecp+6 +0x1.36279ep+4 +0x1.22ae32p+8 +0x1.615228p+1 +0x1.000898p+0 +0x1.001968p+0 +0x1p+0 +0x1.2f791ap-1 +0x1.00001cp+0 +0x1p+0 +0x1.0627aep+0 +0x1.0e38d4p+5 +0x1.490936p+57 +0x1p+0 +0x1.000358p+0 +0x1.57b4bp+7 +0x1.4b4766p+0 +0x1.26da06p+0 +0x1.cd1ec6p+1 +0x1.38ee44p+15 +0x1.c0ffbcp+15 +0x1.01caacp+0 +0x1.e2a336p-1 +0x1p+0 +0x1.0c69f4p+2 +0x1.50a08cp+55 +0x1.10d0b8p+0 +0x1.1eed7p+1 +0x1.b14428p+0 +0x1.004f94p+0 +0x1.31c2acp-1 +0x1p+0 +0x1p+0 +0x1p+0 +0x1.b47948p+0 +0x1.78d5eap+51 +0x1.01316ep+0 +0x1.4a937cp+0 +0x1.1ba54ap+1 +0x1.6ba304p+0 +0x1.3591c6p-1 +0x1p+0 +0x1.08a91ap+8 +0x1.19ade8p+0 +0x1.01535ap+0 +0x1.317184p-1 +0x1.36f9a4p+2 +0x1.7f08a8p+0 +0x1p+0 +0x1.00013p+0 +0x1.ff478p-1 +0x1.27e0d2p+0 +0x1.0ecbacp+7 +0x1.8dd6acp+0 +0x1.100ecep+0 +0x1.25edd8p+8 +0x1.198a9p+0 +0x1p+0 +0x1.5c6cc2p+1 +0x1.016276p+0 +0x1.329f88p-1 +0x1.9e35ap+0 +0x1.004612p+0 +0x1.fb9b82p-1 +0x1.000d84p+0 +0x1.43e8a8p+0 +0x1.57e548p+1 +0x1.057f18p+0 +0x1.a6dfbep+7 +0x1p+0 +0x1.341ce2p-1 +0x1p+0 +0x1p+0 +0x1.fcbce2p+56 +0x1.004454p+0 +0x1.909ec2p-6 +0x1p+0 +0x1.58649p+9 +0x1.4b96e6p+49 +0x1.3ca38cp+0 +0x1.00033ep+0 +0x1.0099f4p+0 +0x1p+0 +0x1.21869p+8 +0x1p+0 +0x1.65b514p+16 +0x1p+0 +0x1.740878p+3 +0x1.a4cea2p+43 +0x1.b143fep+0 +0x1.25ed36p+4 +0x1.003d7ap+0 +0x1.0d82d4p+1 +0x1.3389ap-1 +0x1p+0 +0x1.11a222p+3 +0x1.983f38p+3 +0x1.000162p+0 +0x1.46b986p+0 +0x1.3e3e9cp+8 +0x1.58747p+0 +0x1.45632cp+0 +0x1.3f738cp+3 +0x1.00d0bp+0 +0x1.5dca1p+0 +0x1p+0 +0x1.43257p+0 +0x1.0b38fap+0 +0x1.1ca4aep+8 +0x1p+0 +0x1p+0 +0x1.319a2p-1 +0x1.2d4fd4p+5 +0x1.02f006p+0 +0x1.e0c05ap+4 +0x1.98f464p+0 +0x1.05db3ap+8 +0x1.a2bd9ep+2 +0x1.a05a58p+0 +0x1.8bf254p+5 +0x1.3eb04cp+4 +0x1.3140a6p-1 +0x1.011d98p+0 +0x1p+0 +0x1.000ac8p+0 +0x1.3b2774p+10 +0x1.44d29p+0 +0x1p+0 +0x1.009f9ep+0 +0x1.0a8702p+2 +0x1.1349bep+1 +0x1.a585b4p+7 +0x1.00f23cp+0 +0x1.338168p+0 +0x1p+0 +0x1.3e7816p+14 +0x1.0e9d14p+0 +0x1.8f53ccp+1 +0x1.28c922p+0 +0x1.6bb30ep+15 +0x1.b58932p+14 +0x1.1c682p+0 +0x1.00846p+0 +0x1.00240cp+0 +0x1.000674p+0 +0x1.2c71ep+3 +0x1.750298p+67 +0x1.364684p+0 +0x1.134676p+16 +0x1.47a244p+0 +0x1p+0 +0x1.dee22ep-1 +0x1.3e8204p+9 +0x1.00007p+0 +0x1.31f1e6p-1 +0x1p+0 +0x1.a187f8p+7 +0x1.0097e4p+0 +0x1.08e1b2p+0 +0x1.0e3e7ap+0 +0x1.0006fap+0 +0x1p+0 +0x1.358ca6p+7 +0x1.83bcacp+3 +0x1.4603f4p+0 +0x1.3093c8p+0 +0x1.5c6cap+1 +0x1.1f5efcp+0 +0x1.6ba3e8p+0 +0x1.cba7b2p+7 +0x1.015e1ep+0 +0x1.b85f58p+6 +0x1.dc835ep+1 +0x1.000598p+0 +0x1.f9551ap-1 +0x1p+0 +0x1p+0 +0x1.0a67fp+0 +0x1.1bdf58p+0 +0x1.f75026p-1 +0x1.5e3b5p+1 +0x1.3f9b72p+0 +0x1.8ff798p-51 +0x1.0115bap+0 +0x1.4e13fcp+0 +0x1.6d6c54p+5 +0x1.0e7538p+0 +0x1.dcf5d8p-12 +0x1.134aa6p+1 +0x1.b7cc8p+12 +0x1.3e46dap+12 +0x1p+0 +0x1.3fb2fep+0 +0x1p+0 +0x1p+0 +0x1.0f8834p+0 +0x1p+0 +0x1.2f8fc8p-1 +0x1.0032aap+0 +0x1.0134d4p+0 +0x1.0006ecp+0 +0x1.36f9b8p+2 +0x1.d32d7p+43 +0x1.65f516p+1 +0x1.a71662p+5 +0x1.02731cp+2 +0x1.00002cp+0 +0x1.090ap+0 +0x1.8ce46ep+6 +0x1.0001bp+0 +0x1.003c82p+0 +0x1.a2cb78p+5 +0x1.1b3cc6p+0 +0x1p+0 +0x1.000698p+0 +0x1p+0 +0x1p+0 +0x1.0a01d2p+50 +0x1.000b52p+0 +0x1.63092ep+0 +0x1.0011fcp+0 +0x1.684b74p+2 +0x1.782834p+49 +0x1.213286p+0 +0x1.2b13b6p+9 +0x1.383ep+0 +0x1.f91f5cp+2 +0x1.bf1f3cp+7 +0x1.3e44f4p+7 +0x1p+0 +0x1.4637a4p+0 +0x1.3e8c48p+12 +0x1.192a3cp+8 +0x1.0008c2p+0 +0x1p+0 +0x1.01a4b6p+8 +0x1.0002d8p+0 +0x1.001054p-6 +0x1p+0 +0x1.275d2cp+0 +0x1.320582p-1 +0x1.02643ep+0 +0x1.aa4074p+5 +0x1.02528cp+0 +0x1.0adc1p+7 +0x1.e25f42p-1 +0x1p+0 +0x1.0076ap+0 +0x1.0008acp+0 +0x1.783ba4p+3 +0x1.01af66p+0 +0x1.192eep+0 +0x1.132ea6p+7 +0x1.a93964p+2 +0x1.9bc85p+14 +0x1.1e3f46p+8 +0x1.1d8db6p+13 +0x1.0007cap+0 +0x1.2fa568p-1 +0x1.3e8fd4p+12 +0x1.2f5bf6p-1 +0x1.a0994cp+14 +0x1.7ed6b2p+0 +0x1.0f2b1ap+0 +0x1.4ab6e6p+1 +0x1.04c838p+8 +0x1.000034p+0 +0x1p+0 +0x1.eadcd6p-1 +0x1.00008p+0 +0x1.12103cp-1 +0x1p+0 +0x1p+0 +0x1.2f93bp-1 +0x1.7b4b16p+5 +0x1.38fe8cp+6 +0x1p+0 +0x1.36f96cp+2 +0x1.716462p+39 +0x1.000048p+0 +0x1.7c680ep+4 +0x1p+0 +0x1.28cbfap+0 +0x1.a416eap+41 +0x1p+0 +0x1.57e51p+1 +0x1.0004f4p+0 +0x1p+0 +0x1.3167b6p-1 +0x1.984032p+3 +0x1.04f21ep+0 +0x1p+0 +0x1.73ed4p+2 +0x1.0f4eb8p+8 +0x1p+0 +0x1.2df9p+5 +0x1.54bbf8p+2 +0x1.0bf9a4p+0 +0x1.a91d34p+63 +0x1.130ed8p+0 +0x1p+0 +0x1.00036ap+0 +0x1.3ae7aep+8 +0x1.16524ap+8 +0x1.9f774ap+0 +0x1.ba601cp+2 +0x1.bb2f0cp+12 +0x1.a93bd4p+2 +0x1.32e318p+0 +0x1.0ab44ap+0 +0x1p+0 +0x1.2f871ep-1 +0x1p+0 +0x1.a78356p+7 +0x1.001e8cp+0 +0x1.4a08dap+5 +0x1.069e1cp+0 +0x1.e3e184p+1 +0x1.f60012p+18 +0x1p+0 +0x1.b8600ep+6 +0x1.300bc6p-1 +0x1.76f83cp+6 +0x1.16f978p+0 +0x1.0003a4p+0 +0x1.0b4f22p+7 +0x1.37409cp+0 +0x1p+0 +0x1.3e95dp+12 +0x1.00098p+0 +0x1.004038p+0 +0x1.301bfep-1 +0x1p+0 +0x1.9c872ep+0 +0x1.378344p+16 +0x1.18c55cp+0 +0x1.274a0ep-20 +0x1.2811b2p+0 +0x1p+0 +0x1.ba668cp+12 +0x1.7f2c8ap+13 +0x1.0f72fcp+8 +0x1.6308a6p+0 +0x1.b0cac6p+13 +0x1.4837p+0 +0x1p+0 +0x1.40bd6cp+0 +0x1p+0 +0x1.39133p+12 +0x1.c62f4cp+46 +0x1.0004bcp+0 +0x1.12257ap+8 +0x1p+0 +0x1.85645cp+9 +0x1.4cb85ep+0 +0x1p+0 +0x1.a234a8p-1 +0x1p+0 +0x1p+0 +0x1.3cf408p-27 +0x1.0e263ep+1 +0x1.00026p+0 +0x1p+0 +0x1p+0 +0x1.332f2cp-1 +0x1.04bb28p+0 +0x1.4a67cap+0 +0x1.0003dcp+0 +0x1p+0 +0x1.3482d4p-1 +0x1.134a04p+1 +0x1p+0 +0x1.9000ecp+4 +0x1p+0 +0x1.2f4e26p-1 +0x1.0395dp+9 +0x1.38dbb4p+11 +0x1p+0 +0x1.049432p+0 +0x1.1a9a96p+8 +0x1.54bcd2p+2 +0x1.14487cp+0 +0x1.020458p+0 +0x1.000b9p+0 +0x1.32254cp-1 +0x1.73ed2ep+2 +0x1p+0 +0x1.3d8be4p+0 +0x1.3e96d4p+15 +0x1.ffa44cp-1 +0x1.11a334p+3 +0x1.08317p+0 +0x1.000238p+0 +0x1.3e498p+9 +0x1.3389eap-1 +0x1.36f9ccp+2 +0x1.0bbe0ap+0 +0x1.0b53f4p+8 +0x1p+0 +0x1.0e42d2p+0 +0x1.d22332p+18 +0x1p+0 +0x1.05197ep+0 +0x1.205a74p+1 +0x1p+0 +0x1.0086dp+0 +0x1p+0 +0x1.296a6cp+0 +0x1.7ced1p+2 +0x1p+0 +0x1p+0 +0x1.0053eep+0 +0x1.09c5dcp+0 +0x1p+0 +0x1.a07194p+9 +0x1.0a151ap+0 +0x1.01e6ccp+0 +0x1.ef2d1p-84 +0x1.8eb89cp+3 +0x1.15dbb6p+0 +0x1.00307ap+0 +0x1.03571ep+0 +0x1.f5292ep-1 +0x1.59f064p+0 +0x1.0e26a8p+1 +0x1.6d6ab4p+5 +0x1.7ad0fcp+6 +0x1.40fc28p+0 +0x1.c6b9p+14 +0x1.071bfcp+0 +0x1.b0cb28p+7 +0x1.1614b2p+1 +0x1.4bdc7ep+0 +0x1.358db8p+7 +0x1.405dp+3 +0x1.0461d4p+0 +0x1p+0 +0x1.a8b5b2p+7 +0x1.130dbap+7 +0x1.259792p+3 +0x1.2fcf92p-1 +0x1.0092d2p+0 +0x1.0fea96p+0 +0x1.000024p+0 +0x1.a0abccp+5 +0x1.3b1076p+0 +0x1.192914p+5 +0x1.85f5dap-9 +0x1.0b2ae8p+0 +0x1.dc84ap+1 +0x1.2121acp+8 +0x1.b144fep+0 +0x1.131a68p+1 +0x1.28131p+0 +0x1.35dc48p+5 +0x1.b81b5p-51 +0x1.0a1caep+0 +0x1.f9ef34p+0 +0x1.95da52p+0 +0x1p+0 +0x1.3032a2p-1 +0x1.1cc56ep+0 +0x1.c77bfcp+0 +0x1.05370ep+0 +0x1.d6d0c6p+2 +0x1.2fbfap-1 +0x1p+0 +0x1.0000b8p+2 +0x1.b8c316p+1 +0x1.00010cp+0 +0x1.028104p+0 +0x1p+0 +0x1.13f12cp+0 +0x1p+0 +0x1p+0 +0x1.fb7e4ep+53 +0x1p+0 +0x1.780d04p+9 +0x1.1973c4p+6 +0x1.b09184p+0 +0x1.b4ed32p+51 +0x1p+0 +0x1.00b82p+0 +0x1.198ba4p+0 +0x1.57b63cp+7 +0x1.0016d4p+0 +0x1p+0 +0x1.01a3e4p+0 +0x1.e8d11ep+44 +0x1.b7e5d4p+13 +0x1.00667cp+0 +0x1.06ed08p+0 +0x1.05f47ap+0 +0x1.4aa86ap+0 +0x1.04aeap+0 +0x1p+0 +0x1p+0 +0x1.3b13a8p+11 +0x1.596846p+47 +0x1.0d8c64p+0 +0x1.0012aap+0 +0x1p+0 From patchwork Fri Oct 25 18:21:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 838380 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp443863wri; Fri, 25 Oct 2024 11:29:13 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWXcrRnw9JG03yv+vnh6lhhevaRKtkieNeaOAaTw3ONiHn98dr3IagOxHaIhmG52Al8U/uOZQ==@linaro.org X-Google-Smtp-Source: AGHT+IE1kXlwi1PukVIar3krMDCwoNwH6yMT2K4Zp9CCgKD39xFiHfWutX6ObSl84pli9YNZ2+ev X-Received: by 2002:a05:6214:3c8f:b0:6d1:7319:5f74 with SMTP id 6a1803df08f44-6d18567ca41mr5141916d6.1.1729880953323; Fri, 25 Oct 2024 11:29:13 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729880953; cv=pass; d=google.com; s=arc-20240605; b=asr7KHKtV4bBCd+s2NtWNJNdIvuunu3qevgvhJ8RgkfbtMENMg7F6CjYt4LkYp20kX /rxn1f/wloYtdS9noaJDGPpbmABQ2jhqndhKz4ImnvqS8z/og/S+kqk4ZDvlAYSd6JsE smY8JyewtdUkD7VN4sJDuhYyEVs/ZOHIhspdPQqdk4I2Gr8mV6pdri5Hh2NtfoOqIlg+ 6X/wI7LWmNrcuRCPy9fWBoch2vwJE037O0D3UWYcmKLcRXWyEbbAElGd1ylhK2OsSAXv 2RvcC1lbARgougExVZBLqQBuMrz1xe5ZR0hjJ1cmehmY6r/PjcHB07jzl6LDafX+YiQ2 zfEg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=c/wI3Zf+zjI4iZUWrjTvr50DxK1nyPiutDkUtw1Cjg0=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=Pw27DObTfTSwWx6k3kEQDqCj/lUZh95rCQLhsLmNl1SFQNWVY9hyJ870sQA7Ic6SxB 6AiLEPyQZKvzwx38Tfh3qu29NvNnmO2VhDcjP+XPAf5rMft4i6oUPXxwXxj32Aj4vZ9k CnHbke3qfWXw+15gwc4Da9c9d9OeLKPpcN0bJTSKQV10bVNpWDvBfTfO8WcUTWctviuS SOjaY/qmTEWWbUk05kfRyVsr2hrjRLoQ7s9jCJYoqmsUCV+1X4fbUOycp2wG4nenfprn zi2gXt7cSL6M/hOMtpLZ+//ZjRiTlpmsmpgFK52w12eY6+OLsmG2OQ7enJLHWqlxZCXB Masw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OQd3yBrW; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id 6a1803df08f44-6d17986b83dsi21548496d6.25.2024.10.25.11.29.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:29:13 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OQd3yBrW; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 24D3E3858C33 for ; Fri, 25 Oct 2024 18:29:12 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by sourceware.org (Postfix) with ESMTPS id 23594385840E for ; Fri, 25 Oct 2024 18:26:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 23594385840E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 23594385840E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62d ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880810; cv=none; b=AOcCX94q0IKygX7+eXy62zXPa5HuZTxP2Dbd1IX0IUPRSd9oU1pBrHhA6e7f/OcrB5PEafLoOpedAZPJMvqGlxQRUYZIRrCDaEj+Iil1uso01hoW0U6eY6ZouqGg9egRGz9DdafPN2ZLpGix02U36YlABThap511AGYHkKu50lM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880810; c=relaxed/simple; bh=b7/j8x3HW80db+iCu/ZtnTqrTNMilf1e9hjRHpSStfI=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=vcE1rfBAtQ3oIFXasTzCncJ0qjdAQWnHf0P+pCFmSH/4dodHz+l+EznkiTLmjaiFhdVSJ1fJM1k7Dab38GtM1EHpF9fq1fBe8zEh4gavbj6+HGb7EuUQg6R34e8WKQn/UVfay6XtkbYGc38diQMaggJeONa8HJahNqueRmjQoDI= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-20c714cd9c8so22925345ad.0 for ; Fri, 25 Oct 2024 11:26:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880804; x=1730485604; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=c/wI3Zf+zjI4iZUWrjTvr50DxK1nyPiutDkUtw1Cjg0=; b=OQd3yBrWWjTCJrgGkn1/N+rNqZpOxK9jMSB7YzulkmI9GHGfTsj1RW+Qxx1kaUOGOM NkC9Hm7utyCB6xKfPnG2OiSD6c6IVUSU6sZ+s/1gxNEnD5yBRMwXYVFaedYmGJTtAgrs C4VAAjngpgr6UlI6nkfwHFLmGembdLJiZtuP+Tn8Tk++KQ9OC/3u79DP+L2Q4GCaA1CU IePpMaaJt4BQRtdklzzmI6FARkohurUqlM4czDT4gEqRK3hlJ0iwcaO2ng+QOK2iwnl9 ut5NSWlbAjoqGR6uLbWhrNCnpN/onLcJ4WFX0FoTvapSbN6TKABnXH/OKxeQPSTQTB2F hXIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880804; x=1730485604; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=c/wI3Zf+zjI4iZUWrjTvr50DxK1nyPiutDkUtw1Cjg0=; b=U/IPvISDh7WweNVV0bR5y1pCzJ5G5+uEpAxgZ5SnwGiRvxpI6+B2HcieNsbVooX2l3 Rs0jCRrwX1y2TS76cIkts+6yCwnOlJcz2BTCPhbxnEy2p5DXb7t8TEL/t5jeOoy3Srvj t1u1Wm9zMTotTBCKPdLw7wOTAAjz1qhk6y7Ny67yQW6y6mqoGspRtTxmZXDQ70XocKI4 m3ieirusESgqsAtMx1HEMZMzCFxfw5rnLV6zkdzXIJynIqVsWiF8MSBKkrIZG3/53Iqs 4lwFScYp7qrNeNKMyt9N7OFqb2A1nc7bdceKsoDHGzuCNj7ilyMHRJnK7O2nQPlMR56A BWRA== X-Gm-Message-State: AOJu0YxgpmsCNNynfzDAfVCiZ2NK2EDXq9yl7xWYMv3e4kMC+lN68TD/ JB7tiIaiY+RAZyhcry1tx66zdzQpczTJWJcKr2dKIcAJzNaUa1y3nO8gs4ZTu/G4x0dB3fKYV8/ X X-Received: by 2002:a17:902:e850:b0:20c:f9ec:cd8a with SMTP id d9443c01a7336-210c687cbe0mr1175465ad.7.1729880803635; Fri, 25 Oct 2024 11:26:43 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.26.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:26:41 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 07/17] benchtests: Add log1p benchmark Date: Fri, 25 Oct 2024 15:21:45 -0300 Message-ID: <20241025182614.2022697-8-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org Random inputs x*2^e where x is random in [1/2,1] and e in [-29,127]. --- benchtests/Makefile | 1 + benchtests/log1pf-inputs | 1005 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 1006 insertions(+) create mode 100644 benchtests/log1pf-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index 92c0cf5e7d..052d496989 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -73,6 +73,7 @@ bench-math := \ log10 \ log10f \ log1p \ + log1pf \ log2 \ log2f \ log2p1f \ diff --git a/benchtests/log1pf-inputs b/benchtests/log1pf-inputs new file mode 100644 index 0000000000..dcf79e82cd --- /dev/null +++ b/benchtests/log1pf-inputs @@ -0,0 +1,1005 @@ +## args: float +## ret: float +## includes: math.h +# Random inputs x*2^e where x is random in [1/2,1] and e in [-29,127] +## name: workload-random +0x1.c78e3p+14 +0x1.48495cp+92 +0x1.4b1328p+101 +0x1.9a5a14p+58 +0x1.41168p-3 +0x1.302f02p+27 +0x1.d10646p+119 +0x1.a94a78p+23 +0x1.4dbaecp-4 +0x1.d91022p+79 +0x1.15a1cp-2 +0x1.2dfc7ap-14 +0x1.3687dep-20 +0x1.40df16p+120 +0x1.59de46p-21 +0x1.c94704p+22 +0x1.bbcb8p-3 +0x1.a50b8ap+63 +0x1.3195c2p+28 +0x1.8b82ecp+9 +0x1.0fd406p-6 +0x1.18ea9cp+99 +0x1.fa7eb4p+61 +0x1.542ac6p+90 +0x1.db1fe8p-23 +0x1.5add68p+47 +0x1.31596ap+110 +0x1.fac144p+72 +0x1.ec4f38p+12 +0x1.ec0826p-24 +0x1.6eba14p+45 +0x1.89ff32p+98 +0x1.e97588p-9 +0x1.c9a5fap+77 +0x1.9ab35ep+42 +0x1.c588c8p+62 +0x1.605674p+95 +0x1.52d5d6p+22 +0x1.9856a8p+29 +0x1.b8a602p+64 +0x1.42695cp-19 +0x1.7d557cp+43 +0x1.94417p+21 +0x1.c0728cp+68 +0x1.90cddp+82 +0x1.b7434p+68 +0x1.2b73bcp+84 +0x1.191af2p+4 +0x1.72b818p+60 +0x1.9e46ep+8 +0x1.f2ae94p+70 +0x1.0baa78p+110 +0x1.581e48p-4 +0x1.43f84ap+30 +0x1.794728p-2 +0x1.cbcd88p-9 +0x1.dfad2p+106 +0x1.be2368p-26 +0x1.575892p+43 +0x1.9f0008p+84 +0x1.173adcp-15 +0x1.33982p+14 +0x1.f2b8f4p+17 +0x1.ea0a08p+4 +0x1.3960d8p-27 +0x1.62e26cp+126 +0x1.7b60a4p-27 +0x1.6f03cap+29 +0x1.99ac0cp+116 +0x1.ff26d4p+18 +0x1.f9d1aep+2 +0x1.0f1e66p+61 +0x1.9bdfdep+52 +0x1.02f87cp-26 +0x1.d37e0ap+121 +0x1.e3495p+108 +0x1.421a48p+94 +0x1.4061a8p+94 +0x1.3c8fb8p+126 +0x1.def69ep-20 +0x1.348b92p+82 +0x1.30ad6ep+93 +0x1.2ce07cp+12 +0x1.c408dp-12 +0x1.cd7284p-15 +0x1.2b7638p+27 +0x1.746976p+82 +0x1.8ddae4p-12 +0x1.81efe8p+76 +0x1.3d4b4ep-14 +0x1.7f06acp+57 +0x1.fcbf08p+29 +0x1.5fba1ep+80 +0x1.18101ep+93 +0x1.1532eep+89 +0x1.837216p+82 +0x1.6acd42p+93 +0x1.f57efp+29 +0x1.699bf4p+46 +0x1.ad6918p+96 +0x1.b795b8p+91 +0x1.a7c832p+14 +0x1.8f63b4p+103 +0x1.63da54p+60 +0x1.7ea5a8p+76 +0x1.1a80c8p+124 +0x1.8b317ap+27 +0x1.cced4p+114 +0x1.ce4cbcp-21 +0x1.561304p+123 +0x1.0addcep+33 +0x1.94edf8p+60 +0x1.cba4fcp+85 +0x1.aa558cp+101 +0x1.690c84p+80 +0x1.57aa64p+40 +0x1.4cb082p+102 +0x1.a2c26p+53 +0x1.8fa5fcp+103 +0x1.933fe8p+14 +0x1.a22faep+112 +0x1.ff8c2p+14 +0x1.2e15c2p+62 +0x1.2baacap+103 +0x1.43602p+26 +0x1.927d7p+34 +0x1.f3a606p-15 +0x1.49ac3ep+94 +0x1.95b7e4p+26 +0x1.b1612cp+30 +0x1.4b4b6ap+11 +0x1.02229cp-2 +0x1.339d92p+76 +0x1.e3e66p-5 +0x1.0206bep-25 +0x1.d8f222p-30 +0x1.34ab66p+107 +0x1.720baep+26 +0x1.f83ab4p+101 +0x1.1a3096p+35 +0x1.4ed274p+104 +0x1.2fd074p-12 +0x1.223b6cp+35 +0x1.17b0c2p+22 +0x1.292496p-10 +0x1.68be8ep+81 +0x1.9d9f94p+23 +0x1.7e0f22p-19 +0x1.fc5a44p+54 +0x1.2ca3ccp+81 +0x1.4a77dap-29 +0x1.cc29c4p+93 +0x1.295e5ep+118 +0x1.359e08p-14 +0x1.11b84cp+25 +0x1.083ceep+102 +0x1.1fbe94p-15 +0x1.b0f068p+43 +0x1.ede1ap+43 +0x1.670c9ep+37 +0x1.9b3568p+97 +0x1.047f1cp+2 +0x1.62ce96p+112 +0x1.42a968p+48 +0x1.fbbd34p+10 +0x1.5ad592p+45 +0x1.55505ep-21 +0x1.703858p+50 +0x1.8ed60cp+52 +0x1.e0bf78p+5 +0x1.5db4f8p-18 +0x1.42575p+40 +0x1.a3a58p+91 +0x1.a89f2ap+34 +0x1.3bfc7cp+7 +0x1.eb7722p+103 +0x1.1ff1b8p+3 +0x1.7549aap+3 +0x1.9dec4p-30 +0x1.cec6bp+23 +0x1.59baaap+115 +0x1.f2bda4p+48 +0x1.1708bep+8 +0x1.315ee8p+17 +0x1.1f438ap+55 +0x1.151096p+119 +0x1.cd1ae4p+68 +0x1.7bede6p+9 +0x1.1aed6ap+102 +0x1.ffe9dcp+20 +0x1.e8911p+55 +0x1.1e844cp+48 +0x1.b2fd3ap-21 +0x1.2f5366p-23 +0x1.1346dap+58 +0x1.de57d4p+23 +0x1.4a36c6p+20 +0x1.40806ep+77 +0x1.ef9586p+10 +0x1.60f92ep+53 +0x1.ee3824p+73 +0x1.8edde4p+54 +0x1.909c74p-21 +0x1.2fc7bcp+108 +0x1.92e0f8p+117 +0x1.5bf1fcp+36 +0x1.79d04p+23 +0x1.6d2c2ap+37 +0x1.800ab8p+8 +0x1.d3ba46p+35 +0x1.919584p+116 +0x1.43b9d6p+27 +0x1.8ce338p+63 +0x1.73897ep+14 +0x1.835668p+66 +0x1.cc770cp+65 +0x1.b9c258p+52 +0x1.018998p+117 +0x1.78032p-18 +0x1.3622dep-4 +0x1.35b20ap+6 +0x1.cca16p+42 +0x1.27f6a4p+78 +0x1.b79478p+41 +0x1.569bfp-16 +0x1.460578p-20 +0x1.963b2p-28 +0x1.12fceep+65 +0x1.6161c8p+25 +0x1.a5a884p+104 +0x1.374e64p+124 +0x1.6ca26ap-14 +0x1.92a25cp+108 +0x1.ff3df8p+7 +0x1.d1b016p+48 +0x1.1babc6p+74 +0x1.99fc8cp+60 +0x1.f8c8fcp+20 +0x1.0fb918p+9 +0x1.8bceap+74 +0x1.e8204p+66 +0x1.b857b6p+52 +0x1.76973p+87 +0x1.aa7d1ap+124 +0x1.7b6cdp-8 +0x1.f775ap+16 +0x1.30b07ap+59 +0x1.5bad4p+94 +0x1.952a02p+122 +0x1.749176p+123 +0x1.e59b1ep-4 +0x1.703cbcp+70 +0x1.5298d2p+77 +0x1.f09cfp+97 +0x1.13832ep-25 +0x1.952d74p+104 +0x1.2be9fp-23 +0x1.1f0e24p+103 +0x1.652f96p-16 +0x1.66cebcp+57 +0x1.4725f4p-23 +0x1.b570fcp-23 +0x1.44b468p+68 +0x1.2f344p-21 +0x1.3f4edap+20 +0x1.92c7fcp+53 +0x1.523ec2p+62 +0x1.83d1eep+16 +0x1.77eeaep+101 +0x1.ba8b3p-25 +0x1.c1dd2cp+67 +0x1.7de188p+29 +0x1.7cc2dep+105 +0x1.a2c70ap+83 +0x1.979716p+9 +0x1.b2ccd4p+71 +0x1.6335a4p+22 +0x1.913b3p+90 +0x1.2d549cp-22 +0x1.ef209cp+12 +0x1.378f4cp+68 +0x1.9d1174p+110 +0x1.6b2932p+27 +0x1.b24748p+32 +0x1.a849f4p+57 +0x1.c354f4p+125 +0x1.28299p+88 +0x1.82a79ap+93 +0x1.cc5a3p+2 +0x1.f52c34p-6 +0x1.8deb48p+20 +0x1.3e8efep-12 +0x1.8c6954p+23 +0x1.77ee34p+82 +0x1.80c7dp+86 +0x1.04a6d8p+32 +0x1.019068p+77 +0x1.a8356cp+16 +0x1.8971dep+59 +0x1.dddddcp-20 +0x1.c92964p+85 +0x1.0f431ep+126 +0x1.584092p+121 +0x1.4d45f8p-3 +0x1.9ac9d8p+5 +0x1.971d64p-24 +0x1.911ba4p+76 +0x1.2a89acp+80 +0x1.33f062p+113 +0x1.691c9ap+100 +0x1.827bfcp+64 +0x1.1f7b46p+101 +0x1.a5d6eep+88 +0x1.4de20cp+1 +0x1.784a7p+28 +0x1.6573bp+57 +0x1.1be33p+107 +0x1.13c7p+37 +0x1.081416p+27 +0x1.c41d7cp+36 +0x1.cc4cbcp+88 +0x1.a9c4e8p+86 +0x1.f57668p-1 +0x1.b42b9cp+64 +0x1.bb8cfp-10 +0x1.72c6c8p+24 +0x1.a02fbep+67 +0x1.5e7e62p+84 +0x1.9002b4p+69 +0x1.74eb64p-24 +0x1.80d85p+123 +0x1.50fe44p+31 +0x1.012cc8p-9 +0x1.eb2182p+110 +0x1.945b8cp-27 +0x1.e73c6cp-1 +0x1.8b1d6ap+4 +0x1.e37d54p+4 +0x1.78d304p+32 +0x1.a45042p+58 +0x1.99d3d4p-9 +0x1.6a379cp+34 +0x1.34a222p+48 +0x1.d05824p+15 +0x1.4cef9ap-27 +0x1.dab2fcp-13 +0x1.21465ep+59 +0x1.c2239cp+77 +0x1.f094dap+85 +0x1.a57344p+0 +0x1.cd14d6p-19 +0x1.7e3bccp+53 +0x1.d4264p-14 +0x1.ae14p+69 +0x1.36af58p+0 +0x1.7c43bp+9 +0x1.10551p+9 +0x1.514b0ap-17 +0x1.e74e42p+89 +0x1.6107aap+8 +0x1.51c72cp+114 +0x1.6fd3fp+89 +0x1.dd9fb8p-10 +0x1.1dece6p+75 +0x1.05af5ap+6 +0x1.eafe46p+104 +0x1.b498dp+65 +0x1.2ed2b4p-24 +0x1.ae9ff4p+52 +0x1.e0b21cp+95 +0x1.3f0124p+31 +0x1.d56474p+81 +0x1.20f0ccp+68 +0x1.594a9cp+0 +0x1.35f866p+13 +0x1.a3ffd2p+117 +0x1.0edd6ep+114 +0x1.e2e148p+2 +0x1.d241ccp+105 +0x1.0b021ep+82 +0x1.6e3d3p+40 +0x1.906e6cp+10 +0x1.50861cp+61 +0x1.5ea378p+8 +0x1.cea9e8p+119 +0x1.5c3ef4p-5 +0x1.e71eb8p+59 +0x1.3b8e0cp+114 +0x1.119f66p+121 +0x1.8261cap+108 +0x1.0f6d6ep+103 +0x1.d35b7cp-14 +0x1.b3df3ep-27 +0x1.620ecp+81 +0x1.84385p+56 +0x1.26090ep-13 +0x1.951978p+84 +0x1.33d696p+17 +0x1.774ap+65 +0x1.e24d1p+0 +0x1.2bcd16p+71 +0x1.df2954p-20 +0x1.ebf7b6p+99 +0x1.a7be3p+82 +0x1.508f92p-29 +0x1.4c43acp+116 +0x1.bd2648p-13 +0x1.c0e1b6p-9 +0x1.4c529p+88 +0x1.62b418p-13 +0x1.8d524cp-17 +0x1.0755fp+65 +0x1.af4dd8p-11 +0x1.a1d094p+51 +0x1.50b074p+38 +0x1.9bc71cp-3 +0x1.88b7fcp+111 +0x1.dc8924p+77 +0x1.d6e174p+35 +0x1.ca0538p-13 +0x1.5ba842p+50 +0x1.fdbbdcp+4 +0x1.ddb1a6p+84 +0x1.18c1f2p+31 +0x1.f3afe2p+68 +0x1.acc2e4p-2 +0x1.d92dfp+23 +0x1.f61cf4p+111 +0x1.6719ecp+101 +0x1.80e2ccp+74 +0x1.f8a5e8p+21 +0x1.f6b4ap+95 +0x1.216d62p+61 +0x1.dea2c4p+58 +0x1.a8f8dp+33 +0x1.5bcc0ap+78 +0x1.5dc2a8p+62 +0x1.dff08p-7 +0x1.4a9768p-14 +0x1.070104p+99 +0x1.67d5fp-21 +0x1.435c4p+27 +0x1.7aadbcp-9 +0x1.eb517ap+0 +0x1.1e63f8p+2 +0x1.154b94p-18 +0x1.a456p-24 +0x1.8307ap+34 +0x1.158706p+21 +0x1.7c14acp+0 +0x1.0d4f2ap+92 +0x1.43411ap+33 +0x1.e269dcp+60 +0x1.420fa8p-20 +0x1.6627d4p+88 +0x1.e27a8p+102 +0x1.a019ccp+125 +0x1.79684p+74 +0x1.51d7eep+3 +0x1.d6179p+71 +0x1.a73554p+67 +0x1.9b29f2p+106 +0x1.a363a8p+109 +0x1.c97f9ep+103 +0x1.3c408p+77 +0x1.ba923p+99 +0x1.0eebfep+72 +0x1.f3a6f4p+22 +0x1.519874p+117 +0x1.badc1cp+93 +0x1.ced474p+106 +0x1.f0c904p-13 +0x1.1ceedep+52 +0x1.656258p-14 +0x1.006cap+104 +0x1.a6960ap+90 +0x1.3c2162p+80 +0x1.0a744ap+24 +0x1.e50c24p+48 +0x1.ed24f4p-18 +0x1.00e7bep+37 +0x1.30215ap+105 +0x1.7dd83cp+126 +0x1.dcf948p+39 +0x1.6a3be8p+50 +0x1.942234p+19 +0x1.2c2ea2p+74 +0x1.93853p-22 +0x1.eeb9ap+105 +0x1.58dcc4p-27 +0x1.b0cc4cp+2 +0x1.fb1334p+73 +0x1.f2f5cap+111 +0x1.c409dp+29 +0x1.0930a6p+24 +0x1.5c2174p+63 +0x1.ab1fc8p+79 +0x1.ffdba4p+75 +0x1.7cdb48p-11 +0x1.ffddp-27 +0x1.ba4628p+21 +0x1.f22dbep+63 +0x1.0b047ep+21 +0x1.4ce8a4p+7 +0x1.0e6b0cp+61 +0x1.57e578p+64 +0x1.c5d5a8p+17 +0x1.e0afep+5 +0x1.bc466ap+79 +0x1.74a8a4p+114 +0x1.6d508ep+89 +0x1.49e98p+48 +0x1.21b884p+103 +0x1.0ab83ap+90 +0x1.07570ep+110 +0x1.cfffp+37 +0x1.ca655cp+90 +0x1.a55c7cp+25 +0x1.f7b02cp+18 +0x1.57d4b2p+17 +0x1.4bffbp+48 +0x1.08ffbap+95 +0x1.f98ce8p+59 +0x1.a265aep+88 +0x1.45d7acp+20 +0x1.2ad7dap+88 +0x1.62a68cp+70 +0x1.e025ep+101 +0x1.90de6p+121 +0x1.f346acp+70 +0x1.27422ap+34 +0x1.a9408cp+95 +0x1.868eb4p-29 +0x1.b2970cp+104 +0x1.b54268p-14 +0x1.8d8d04p-8 +0x1.fc3416p+87 +0x1.74f35p-19 +0x1.c9a32cp+121 +0x1.f7585p+91 +0x1.3ced2p+119 +0x1.d666a6p+115 +0x1.de1114p+1 +0x1.f893ep+80 +0x1.299b54p+61 +0x1.bc9b18p+35 +0x1.beac46p-11 +0x1.09f0bp+63 +0x1.481d54p+47 +0x1.49203p+107 +0x1.4c321ap+37 +0x1.255248p+7 +0x1.67ff82p+82 +0x1.054522p+125 +0x1.ff16c8p+0 +0x1.7c0998p+25 +0x1.09b04cp-18 +0x1.a80cfcp+115 +0x1.fcfffcp-24 +0x1.46e548p+42 +0x1.dc7eeap-21 +0x1.50719cp+20 +0x1.4f7f94p+9 +0x1.c4d6cp+116 +0x1.4b691cp+108 +0x1.672e42p-22 +0x1.8656p+43 +0x1.5bdcc8p+124 +0x1.72661ep+57 +0x1.865e68p+68 +0x1.1192bcp+83 +0x1.15b732p+76 +0x1.2c5c48p+28 +0x1.52a1ap+117 +0x1.7deaa4p+82 +0x1.03c784p-11 +0x1.d7e19cp-13 +0x1.63d338p+87 +0x1.82ff8ep+23 +0x1.7e95ap+59 +0x1.f60af8p+15 +0x1.ec346ep+32 +0x1.a27c8cp+67 +0x1.907d3cp-22 +0x1.d4da32p+9 +0x1.3822d6p+43 +0x1.06638ep+39 +0x1.eeb39ep+20 +0x1.d8bd88p+50 +0x1.84668ep+34 +0x1.120c92p+121 +0x1.a93be6p+65 +0x1.9563f4p+100 +0x1.3327c6p+43 +0x1.a9715p+17 +0x1.d074ep+73 +0x1.20628ep-7 +0x1.61d828p+81 +0x1.863c42p+106 +0x1.afa75p-20 +0x1.d1d34p+50 +0x1.e5fe78p+71 +0x1.c1c444p+6 +0x1.5a8e32p-3 +0x1.f6abb4p+50 +0x1.2fc66cp+55 +0x1.d1d578p-17 +0x1.cd4182p+53 +0x1.87fcp+78 +0x1.de95fep+15 +0x1.7e52bep+35 +0x1.cc0276p+81 +0x1.f676f4p+124 +0x1.6f025cp-28 +0x1.14f37ap+46 +0x1.5bb684p-4 +0x1.741e6p+42 +0x1.1068f4p+25 +0x1.39efep+79 +0x1.903634p+101 +0x1.9aabacp+46 +0x1.7cffb4p+43 +0x1.7b9352p-27 +0x1.b0a5b8p+19 +0x1.a226b4p+65 +0x1.f6f1acp+41 +0x1.b026dep+92 +0x1.472994p+123 +0x1.e0ca9cp-17 +0x1.5ac904p+11 +0x1.60cacp+67 +0x1.79072p+89 +0x1.46fdccp+87 +0x1.f512c8p+70 +0x1.49d4dp+0 +0x1.37dd84p+77 +0x1.1281aep+126 +0x1.300db6p+100 +0x1.f4128ap+115 +0x1.31e05p+46 +0x1.92e078p+96 +0x1.274c92p-18 +0x1.c15cfcp+87 +0x1.9c9c26p+97 +0x1.f2736cp+43 +0x1.32d744p+99 +0x1.7ff204p+113 +0x1.7551d4p+18 +0x1.4f48d6p+3 +0x1.917b02p-9 +0x1.70b748p-20 +0x1.d995bep+120 +0x1.5b9a8ep+126 +0x1.2a16dep+11 +0x1.8eba58p+36 +0x1.e0e7d2p+60 +0x1.7d7b9ep+8 +0x1.2600cp+124 +0x1.dbd354p-21 +0x1.e48b7cp+49 +0x1.d69a48p-4 +0x1.6aa834p+14 +0x1.e74886p+15 +0x1.2ac858p+92 +0x1.9d1846p+71 +0x1.3f5248p+1 +0x1.07e47cp-5 +0x1.ef1cc8p+15 +0x1.e8c3fcp+65 +0x1.6f7c44p+13 +0x1.d9e316p+95 +0x1.62c2ep+112 +0x1.5a1d42p+3 +0x1.d06c94p+53 +0x1.02e408p+93 +0x1.d6cf8cp+99 +0x1.99518p+81 +0x1.96a648p+47 +0x1.b61406p+105 +0x1.28f042p+81 +0x1.b7b51ep+99 +0x1.197a2ap+70 +0x1.125076p+29 +0x1.8ace44p+114 +0x1.bc2894p-23 +0x1.fab642p+99 +0x1.74f0f8p+43 +0x1.35c95cp+3 +0x1.e63cc8p+68 +0x1.5e67a6p+111 +0x1.8a2106p+47 +0x1.b5cbd4p+24 +0x1.9bef3cp+43 +0x1.79f9b4p+122 +0x1.026196p+21 +0x1.d8f1c4p+112 +0x1.5cc3b8p+2 +0x1.fb5a02p+99 +0x1.d757e8p+95 +0x1.4c6c6ep+30 +0x1.a252fap+120 +0x1.6b28fcp+18 +0x1.393468p+67 +0x1.b71dc8p-28 +0x1.e1bd2p+14 +0x1.7b54fep-25 +0x1.fda27cp+82 +0x1.64b6a2p-19 +0x1.3093bep+1 +0x1.a3682cp-23 +0x1.f6e6bep+72 +0x1.3e6df8p+71 +0x1.08b9b4p+102 +0x1.fecd98p+36 +0x1.a4b34p+119 +0x1.3937b8p+44 +0x1.8feb44p+67 +0x1.474cdp-28 +0x1.31c2eap+119 +0x1.68009cp-30 +0x1.9bf9dep+0 +0x1.577e1cp-16 +0x1.56fbep+79 +0x1.b1518p+27 +0x1.150692p+30 +0x1.7f3282p+95 +0x1.0782f4p-7 +0x1.b759a6p+27 +0x1.0adec6p+72 +0x1.77a9c6p-4 +0x1.bf9d96p-29 +0x1.9bd634p-23 +0x1.e9cep+99 +0x1.f7f754p+57 +0x1.5ddf7p+122 +0x1.59ee6p-1 +0x1.12910ep+118 +0x1.71fd44p+74 +0x1.707568p-4 +0x1.fd93a4p+112 +0x1.855fb4p+18 +0x1.3f1fcap+9 +0x1.c0a59cp+83 +0x1.6f2dacp-11 +0x1.89a71cp+5 +0x1.bee8p+39 +0x1.0be354p+44 +0x1.aff39p+67 +0x1.5d24c4p-15 +0x1.7cc108p+31 +0x1.d32a18p+38 +0x1.0ea1b8p+65 +0x1.a213dp+89 +0x1.30dd9cp-8 +0x1.2a4a3p+36 +0x1.7b3cbcp+97 +0x1.1af5b6p+122 +0x1.42af5cp-26 +0x1.0d4742p+88 +0x1.612c34p+66 +0x1.4dd1ap+125 +0x1.901f28p+115 +0x1.b15c54p-8 +0x1.1e653p+51 +0x1.ea9588p+126 +0x1.84d654p-19 +0x1.c97e52p+51 +0x1.462354p+83 +0x1.796108p+98 +0x1.f322ap+32 +0x1.3ce698p+13 +0x1.acbb5ap+9 +0x1.17a4bap+9 +0x1.98d19ap+112 +0x1.457ddp+13 +0x1.f6944cp+49 +0x1.cd2cbep+2 +0x1.38c15ap-12 +0x1.e41944p+3 +0x1.57b62ap+43 +0x1.725aaep+67 +0x1.65e4eep+63 +0x1.cbd734p+66 +0x1.e772e8p-6 +0x1.37d578p+68 +0x1.50ae48p+108 +0x1.10d0fcp-25 +0x1.f9b7f8p+66 +0x1.3739ecp+85 +0x1.3d9934p-18 +0x1.2d6a9cp+79 +0x1.c1cbacp-9 +0x1.2e2838p+20 +0x1.f98104p+51 +0x1.ec9cacp-10 +0x1.3ff662p+14 +0x1.f6ab04p+22 +0x1.53919ep+46 +0x1.6abf86p+11 +0x1.242a66p+26 +0x1.1fa5p+54 +0x1.5f8ebcp+60 +0x1.1c5062p+108 +0x1.3a512cp+72 +0x1.644c3p+91 +0x1.9fbd4p+10 +0x1.eaf508p+46 +0x1.676988p+10 +0x1.0ef3fcp+80 +0x1.10effp+122 +0x1.0b42a6p+11 +0x1.150394p+66 +0x1.b2643ep+99 +0x1.d5a0e4p+2 +0x1.9c408p+18 +0x1.743e64p+75 +0x1.045344p+121 +0x1.f1bb38p+5 +0x1.6b8874p+94 +0x1.2d15bep+116 +0x1.f5e62p+101 +0x1.0ed362p+23 +0x1.267a4ap-7 +0x1.a049b4p+13 +0x1.e0b384p-5 +0x1.ac764ap+54 +0x1.ddf4c4p+117 +0x1.19adacp+103 +0x1.f250dp+63 +0x1.2e9f22p+98 +0x1.62d7ecp+17 +0x1.1694dap+52 +0x1.698dc6p+104 +0x1.fbba02p+39 +0x1.7f5b78p+17 +0x1.d0c96ap+23 +0x1.44d132p-29 +0x1.b2fb4cp+58 +0x1.8e55c4p+68 +0x1.a08278p+100 +0x1.f5258ep+41 +0x1.628518p-21 +0x1.4e55a4p+102 +0x1.2802cp+95 +0x1.c941f8p-24 +0x1.89858ap+67 +0x1.c7247cp-3 +0x1.3d7d2ep+110 +0x1.350f86p+57 +0x1.537d4p+11 +0x1.922ed4p+9 +0x1.35687ep+28 +0x1.e30698p+91 +0x1.5884b4p+38 +0x1.5544aap-21 +0x1.a9d5bap-22 +0x1.d3b1e2p+11 +0x1.989d34p+44 +0x1.1e1688p+24 +0x1.a09474p+39 +0x1.33fdb8p+22 +0x1.07201ep+96 +0x1.ab8c4cp+53 +0x1.f372ep+124 +0x1.4a12acp-21 +0x1.d062d4p-25 +0x1.9aa33p+18 +0x1.9e5dfp-5 +0x1.a207acp+71 +0x1.743dacp+46 +0x1.6dc7d4p+25 +0x1.7a79d2p+99 +0x1.1c8c86p+17 +0x1.fb41d4p+67 +0x1.6eba0cp+43 +0x1.89051p+75 +0x1.f3f0dp+13 +0x1.1a22d2p+109 +0x1.7882c2p+98 +0x1.39d0e4p+88 +0x1.59376cp+12 +0x1.52307cp+115 +0x1.5ee274p+32 +0x1.975b2p+107 +0x1.fc09ecp+116 +0x1.fa266cp+117 +0x1.14d94ep+91 +0x1.d07092p+57 +0x1.048b56p+23 +0x1.1a9444p+124 +0x1.33ee9cp+42 +0x1.ce1e94p+5 +0x1.298e6ap+12 +0x1.83f364p+107 +0x1.a8041ep+72 +0x1.bdad9ep+98 +0x1.dd3bacp+43 +0x1.0f5f74p+11 +0x1.3609d4p+87 +0x1.36514ap-19 +0x1.48ab3p+106 +0x1.b405e8p+117 +0x1.dd1888p+42 +0x1.003064p+34 +0x1.42ee58p-2 +0x1.d65efcp+120 +0x1.93379p-8 +0x1.0ed062p+60 +0x1.9d6b7p+122 +0x1.eb7c38p-6 +0x1.e3acd4p+33 +0x1.a56b18p-15 +0x1.c47d0cp+115 +0x1.98da58p-7 +0x1.836538p+35 +0x1.602f52p+89 +0x1.19d46cp+93 +0x1.5f842cp+106 +0x1.7ccd92p+65 +0x1.0a8b8ep+19 +0x1.f5e4c2p+46 +0x1.8245e8p+85 +0x1.e70628p+12 +0x1.d6de78p+72 +0x1.8c17f4p+44 +0x1.3d7a4ap-6 +0x1.adbb94p+120 +0x1.c87cc6p+43 +0x1.99cc74p+7 +0x1.f8ec06p+18 +0x1.faca5cp+124 +0x1.23b434p-23 +0x1.d93cf6p+0 +0x1.ea87bcp+42 +0x1.cf38f8p+71 +0x1.536422p+99 +0x1.05a9e2p+100 +0x1.3f7a3ap+39 +0x1.8c70a6p+4 +0x1.e95c9ap+86 +0x1.135a0ep+46 +0x1.e1e24p+95 +0x1.91fe44p+95 +0x1.b407b8p+33 +0x1.dd491p+112 +0x1.8a6032p+78 +0x1.da346ap+72 +0x1.97be92p+29 +0x1.865e88p+73 +0x1.b9ab6cp+71 +0x1.af54bep+110 +0x1.e371e4p+15 +0x1.7e1d94p+92 +0x1.f304bp+83 +0x1.990e44p+43 +0x1.889c7cp+103 +0x1.bd9744p-17 +0x1.47d546p-29 +0x1.f930f2p+124 +0x1.b6102p+105 +0x1.ebac74p+52 +0x1.44af08p+8 +0x1.44dfbp+83 +0x1.55e238p+43 +0x1.a39c2p+28 +0x1.91faacp+107 +0x1.36d48cp+85 +0x1.e2d052p+104 +0x1.4825fcp+81 +0x1.97ab88p+47 +0x1.e3597cp-26 +0x1.a8ecf6p+27 +0x1.5cbf28p-24 +0x1.43c954p+23 +0x1.33f908p-9 +0x1.30f61ap+36 +0x1.43fafcp-19 +0x1.c2df2p+91 +0x1.e36e44p+26 +0x1.cf461cp-28 +0x1.994accp+125 +0x1.f6f952p+35 +0x1.37c426p-2 +0x1.26b718p+86 +0x1.aa1014p-27 +0x1.8d3cf8p+66 +0x1.d05446p+17 +0x1.34b966p+43 +0x1.401e0cp+41 +0x1.48070cp+91 +0x1.0db642p+4 +0x1.683af4p+121 +0x1.9a1162p+114 +0x1.30ca88p+9 +0x1.e79f4ep+55 +0x1.48725cp+16 +0x1.798c2p+106 +0x1.5913dcp-7 +0x1.e4f136p+63 +0x1.0a67c8p-9 From patchwork Fri Oct 25 18:21:46 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 838385 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp444447wri; Fri, 25 Oct 2024 11:30:25 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXSn/00NZEDWQnCwgUxOA4f/7dVcI5Sjck2xLwYdGe4py6JwRZr3IGh3KhYKOi+d0wDKNYAjg==@linaro.org X-Google-Smtp-Source: AGHT+IExMakqZuGhyeaKspsZ7zvV8OT01QlxOTv63teVzfbMIudGkr/+xZmbFYmTARhgwiHYpjeK X-Received: by 2002:a05:6214:3d9e:b0:6cb:c85c:5654 with SMTP id 6a1803df08f44-6d185674305mr6202396d6.4.1729881025128; Fri, 25 Oct 2024 11:30:25 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729881025; cv=pass; d=google.com; s=arc-20240605; b=A/xJYPq6yvphdwXixbg5OublqvKVITj9CSTYnkNpZju8lKRB9uFYsDA8nJ7lu2g20e ZLF6BgpqN/fJw/Z0R/+sU8r6WzsBJuAAuBOnivbrL1ApPBynFUdgZIB/mb0pACQXgRmk dPmGscV7tvCmg8l5NaM3FnzGuy6baDRZR9wd2LC/YjWmUWUxz3X5vXlVw3QXoU1/pNXe VrvaNCxLsAyyjr5mcW84D4E+9NstlBlKEIccf+fh1vrrRsQnz2+9a+Zth6bkwZOmfPWj Wl3BqDAgakY4I6C1pJcDJ+xZ5EveO5FBW7za/dfY5GFSVnLYAEpvvPVjI/w3CgxSXd4y Y2Jg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=X4paVloNirjnsi0jnesQV0M9gxy3qp20VHB/BZeqzaE=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=lnlOxt1kXd7XazXPeL7QotdpFwq8t14B7sggKzunqvQyzpHTu8kdWve1nHYg4/szQf /HfGpvNOCkmxeWK4NJ6OH896y5yu/xzPJbmCZ8ZgdbErrTxK5QYDlDBJEKpyDCoiK8g0 OD9O97XaSLvBR3Vru/VxwtbdTTUX0hg/tllqum4l5jgT4+Wp9Jt/mFZD7wczQIpCBGDA k2OQzoTfVpWsWAV7AMeBEPx4qSC9JdlyPbOZ7s5VWJBD37fYiPHURYu3mIRhpPjo1pqZ uqG22OjBpmn+44+S0p0TnnFwYZ/4uj77iTjM5sAmmwpzNnogtsmUW7Mc6eN5h+nQ4gjD vXHQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=c1Ncy2gB; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id 6a1803df08f44-6d179a81fc2si21196716d6.525.2024.10.25.11.30.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:30:25 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=c1Ncy2gB; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A36FB3858405 for ; Fri, 25 Oct 2024 18:30:24 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com [IPv6:2607:f8b0:4864:20::634]) by sourceware.org (Postfix) with ESMTPS id 6277E3858402 for ; Fri, 25 Oct 2024 18:26:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6277E3858402 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 6277E3858402 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::634 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880817; cv=none; b=I4Y7lRWo2qTNElmH20b4LJyTWoWf/h0Z9C4LLlNrkDL+eeVKjvyIBQViu1c+OKqdUMSpsaFRY0de5Kt4NkS9sPLEqyTYzcZHFh/nCe214yemOmZbXO5Gb0siy4MQWlmKePUWnbrGlLDzdcMuPoTDN7Pse50K3j4aLI+8r/C4uys= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880817; c=relaxed/simple; bh=XpnYyER4ftGEzJR9ODnih90J7nge1R8zw3LhFJbVbTI=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=tyQ/OVx+aZR54MsoKMdRb+aQ/ny+vRRpJhEeMssK+dBGQCFScH0jvU0dQO/VMd4OoCAHQF1VuMncpDUV2G+huXT9/98L+9ZV34xxQa6bLgB/B/DEVMg8uTCPbiD2Ov2Kpm8U/7j74qTDWaMTxu6XGPN54HvR4LoblnEdyrzhxIE= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-20c9978a221so23955435ad.1 for ; Fri, 25 Oct 2024 11:26:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880808; x=1730485608; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=X4paVloNirjnsi0jnesQV0M9gxy3qp20VHB/BZeqzaE=; b=c1Ncy2gBb47p693ks/oXCEsBF7TryNfV3tMsVqQA07NnWbo/EeVZgBMiI1nuGbpJ2y A1tABd3kyRhjSIeZGhERPGSdkrL/6H24QTNF6dxBFiwkV4DahUiInkm3l30HUYd7EMdi X23BIcTr5CYrX6kCA74hegTBeIjYYYyxa9mCuOtfpH54l6/pMrZKdNEpKQVLc9E6/GVV fTmPvzcTTqMNerB0QpPc81g973M6PbdINO48vLcQ34jfgRSt3iGu83qyi9Gn8ReaJs0R 2gCsyQNXYWA3X44ANTuCdP2Ptz3cHN9KaIuyVGSNPwBtMolUQj9ZeIg4J2X4Glh0OUYL pd2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880808; x=1730485608; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=X4paVloNirjnsi0jnesQV0M9gxy3qp20VHB/BZeqzaE=; b=Dcvdh+/stn8QG/YN75dFeHA+N/GjioHOcOYNlP/yjgykWafD66PID/AFMHm7T4/eiG GQtfvr6oMcgHeYo7DllLzuAjSxxp8nvgzIOiZgJbC6qkIAjWJR/741RBs1s2DjkwuAUT xMm5hlsnRhhQPcOV9EXyOm3WcIssDcgRqW+ERiTp8XWn7To2YLU/KaZk0eidzgAnJ3Ad ziDwk+cPcFS9tuxi0cWeJYFZ4yYnpKaAwrlc5faIOAPOYT0067Mqx/OJxHWUY9o10Sz2 MjTr8eZXGhrAuCN86OyURlawVw1wXwW7pytpIxgU+gfE7NKOFhdxUbg1s99v7TzaHATF ZtCA== X-Gm-Message-State: AOJu0YxwdqmlXKT0yFjpu4z/BZzK7hfGTVR7KkUXWx9tIPNUKIdtl1TN 4YBt5SKuMll5AD8J1g51uDcU1Zva3eiE0smScX15W+HmSh6EHUkeROQvUacPxcNdc3eTeW5wq57 8 X-Received: by 2002:a17:902:d4c6:b0:20e:57c8:6aad with SMTP id d9443c01a7336-210c68a05demr1127835ad.2.1729880806772; Fri, 25 Oct 2024 11:26:46 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.26.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:26:45 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 08/17] benchtests: Add log10p1f benchmark Date: Fri, 25 Oct 2024 15:21:46 -0300 Message-ID: <20241025182614.2022697-9-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org It is based on log2f data. --- benchtests/Makefile | 1 + benchtests/log10p1f-inputs | 2888 ++++++++++++++++++++++++++++++++++++ 2 files changed, 2889 insertions(+) create mode 100644 benchtests/log10p1f-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index 052d496989..d60fe789c8 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -72,6 +72,7 @@ bench-math := \ log \ log10 \ log10f \ + log10p1f \ log1p \ log1pf \ log2 \ diff --git a/benchtests/log10p1f-inputs b/benchtests/log10p1f-inputs new file mode 100644 index 0000000000..50a9739476 --- /dev/null +++ b/benchtests/log10p1f-inputs @@ -0,0 +1,2888 @@ +## args: float +## ret: float +## includes: math.h +## name: workload-spec2017.wrf +0x1.fe4c3p-1 +0x1.0e33e6p+1 +0x1.00000ap+0 +0x1.900028p+4 +0x1.f8cdeep+0 +0x1.332986p+7 +0x1.493696p+0 +0x1p+0 +0x1.38c67p+7 +0x1.029046p+1 +0x1.1bd31cp+4 +0x1.bb3e3ep+12 +0x1.000098p+0 +0x1.a7971p+7 +0x1p+0 +0x1.0001a8p+0 +0x1.00004ep+0 +0x1p+0 +0x1.0606f2p+0 +0x1.3e54a8p+11 +0x1.3a0662p+3 +0x1.000c72p+0 +0x1p+0 +0x1.0bf8b6p+0 +0x1.000204p+0 +0x1.500ad2p+0 +0x1p+0 +0x1.3e4cfp+8 +0x1.00006cp+0 +0x1.54f7fp+0 +0x1.267858p+0 +0x1.191ccp+0 +0x1.0cdb18p+1 +0x1.29bf1ep+15 +0x1.64bd92p+1 +0x1.255534p+0 +0x1p+0 +0x1.93bb82p+3 +0x1.1348ep+1 +0x1.00456ep+0 +0x1.08afbcp+8 +0x1.32c37ep+0 +0x1.3437cep-1 +0x1.000214p+0 +0x1.03d5ap+0 +0x1.172378p+6 +0x1p+0 +0x1.330f22p-1 +0x1.00b91p+0 +0x1.e831f2p+15 +0x1.092318p+9 +0x1p+0 +0x1.e80902p+7 +0x1.71ec54p+2 +0x1.1935dcp+0 +0x1.651082p+14 +0x1p+0 +0x1.0f41d8p+8 +0x1.17f4p+0 +0x1.7cf946p+9 +0x1.b14396p+0 +0x1.92f94p+1 +0x1.2f3784p-1 +0x1p+0 +0x1.305ad4p-1 +0x1.002a08p+0 +0x1.3e338p+5 +0x1.1863f6p+8 +0x1p+0 +0x1.ed8fd8p+58 +0x1p+0 +0x1p+0 +0x1.215fc8p+9 +0x1.1965bep+16 +0x1.00031cp+0 +0x1.00011p+0 +0x1p+0 +0x1.e384fep-20 +0x1p+0 +0x1.00020cp+0 +0x1.007e24p+0 +0x1.b14346p+0 +0x1.243ff8p+0 +0x1.3f6ac2p+3 +0x1.816ff6p+5 +0x1.0115ap+8 +0x1.162028p+16 +0x1.62692cp+0 +0x1.0227c8p+1 +0x1.4dda3ep+0 +0x1.418696p+0 +0x1.0272f4p+2 +0x1.62c6ecp+5 +0x1.3cd07ap+18 +0x1.0191eap+0 +0x1.21c3a2p+8 +0x1p+0 +0x1.000bf6p+0 +0x1.a4b51cp+7 +0x1.04d1f8p+0 +0x1.8de2b8p+0 +0x1.7b7a4ep+8 +0x1.1928acp+5 +0x1.305a8p-1 +0x1.ba8662p+5 +0x1p+0 +0x1.ab75a2p-12 +0x1.7cc13cp+9 +0x1.505306p+0 +0x1.63085p+0 +0x1.000064p+0 +0x1.b3f16ap+7 +0x1.1348f8p+1 +0x1.71fe88p+1 +0x1.0b7132p+4 +0x1.470316p+1 +0x1.3228b6p-1 +0x1.8dd666p+0 +0x1.38ed88p+12 +0x1.432218p+0 +0x1.00e0cap+0 +0x1.73eb44p+2 +0x1p+0 +0x1p+0 +0x1.bda15ep+7 +0x1.0272fep+2 +0x1.00171ep+0 +0x1p+0 +0x1.3faa86p+3 +0x1.33c2a2p-1 +0x1.3e48e2p+7 +0x1.017ef2p+0 +0x1.30115ap-1 +0x1.587444p+0 +0x1.3efed8p+8 +0x1.8a5526p+0 +0x1.cb1ecap+15 +0x1.1f5cp+0 +0x1.0001a4p+0 +0x1.1a20dap+7 +0x1.376e6p+0 +0x1.0001aap+0 +0x1.9182f6p-1 +0x1.000292p+0 +0x1.3d46a2p+12 +0x1.e177b6p+7 +0x1.3f5646p+1 +0x1.2ab784p+9 +0x1.dc81b4p+1 +0x1.0ef326p+0 +0x1.996588p-12 +0x1.740848p+3 +0x1.00016p+0 +0x1.ffd51ap+52 +0x1p+0 +0x1.4461ap+4 +0x1.08e7bcp+51 +0x1p+0 +0x1.106e98p+3 +0x1.5490e4p+0 +0x1.46703cp+4 +0x1.6b1e86p-29 +0x1.324caap+0 +0x1.0467ccp+0 +0x1.424574p+0 +0x1p+0 +0x1.001da4p+0 +0x1.364604p+0 +0x1p+0 +0x1.0951e2p+8 +0x1.408994p+0 +0x1.0003ap+0 +0x1.619e92p+12 +0x1.313e72p+2 +0x1.8b47p-6 +0x1.2190fp+2 +0x1.20aaacp+0 +0x1.f0059cp-1 +0x1p+0 +0x1.018e78p+0 +0x1.313e1p+2 +0x1p+0 +0x1.2efce4p-1 +0x1.5ebdap+0 +0x1p+0 +0x1.5e2488p+51 +0x1.bf95f2p+5 +0x1.5a1124p+16 +0x1.73bad6p+1 +0x1.00048ap+0 +0x1.0c9beap+8 +0x1p+0 +0x1.358c08p+7 +0x1.7f834ep-26 +0x1.3e56bcp+15 +0x1.52d8b2p+15 +0x1p+0 +0x1.00109cp+0 +0x1.0a0bb2p+0 +0x1p+0 +0x1.026908p+6 +0x1.370f22p+0 +0x1.5c6c5ap+1 +0x1.7fe4bcp+2 +0x1p+0 +0x1p+0 +0x1.42be68p+49 +0x1.0000d8p+0 +0x1.3abdf8p+12 +0x1.370a44p-12 +0x1.aef9f4p+0 +0x1.00001ep+2 +0x1.017c2p+0 +0x1.00b614p+0 +0x1.32f9f8p-1 +0x1p+0 +0x1.00ebf2p+0 +0x1.0c3116p+0 +0x1.00004p+0 +0x1.03b992p+0 +0x1p+0 +0x1.24eb3cp+0 +0x1.4c73ecp+51 +0x1.fad3ep+1 +0x1p+0 +0x1.32368ap-1 +0x1.000908p+0 +0x1.5ea59ep+12 +0x1.1928ccp+5 +0x1p+0 +0x1.21a93cp+8 +0x1p+0 +0x1.0001e8p+0 +0x1.95b6c2p-12 +0x1.00002p+0 +0x1.2399fap+9 +0x1.449b44p+0 +0x1p+0 +0x1.64a766p+15 +0x1.06ccecp+0 +0x1p+0 +0x1p+0 +0x1p+0 +0x1.c81f9cp+1 +0x1.5ef196p+0 +0x1.022822p+1 +0x1.99beep+3 +0x1.1f417p+8 +0x1p+0 +0x1.c08726p+5 +0x1.397d9ep+0 +0x1.88e748p+18 +0x1.3b319p+9 +0x1.2fd3b6p-1 +0x1.0001aep+0 +0x1.4a0562p+5 +0x1.4e5f1ap+0 +0x1p+0 +0x1.017fbp+0 +0x1.acaf56p+57 +0x1.ef7d66p+8 +0x1.736c3cp+1 +0x1.12ddbep+0 +0x1.b85ebcp+6 +0x1.0e259p+1 +0x1.5cc2c4p+2 +0x1.99e614p+3 +0x1.f30aa6p+2 +0x1.3911c6p+15 +0x1.119b92p+1 +0x1.352a3p-1 +0x1.0001b2p+0 +0x1.00b26p+0 +0x1.bd730ep+60 +0x1.54fc5p+0 +0x1.5a4804p+0 +0x1.ff7eaep-1 +0x1.5cc268p+2 +0x1.1077aap+2 +0x1.1723d6p+0 +0x1p+0 +0x1p+0 +0x1.30c17p-1 +0x1.000648p+0 +0x1.91aa4cp+6 +0x1.17234p+6 +0x1p+0 +0x1.6d5b18p+2 +0x1.00027ap+0 +0x1.dc8224p+1 +0x1.a9eabep-6 +0x1.099edcp+1 +0x1.004118p+1 +0x1.58d5fcp+60 +0x1.000098p+0 +0x1.004e8p+0 +0x1.f32edap-1 +0x1.0394aep+0 +0x1.0689bp+2 +0x1.124e5cp+0 +0x1.71fe86p+1 +0x1.025ce2p+0 +0x1.46107cp+0 +0x1.047c74p+2 +0x1.a57e74p+15 +0x1.18bbcep+0 +0x1p+0 +0x1.65b9a4p+0 +0x1.0000eep+0 +0x1.08a4a4p+0 +0x1.0fe774p+1 +0x1.000128p+0 +0x1.3e95fp+12 +0x1.b14e3ap-56 +0x1.00007cp+0 +0x1.5619c2p+1 +0x1.4ac958p+0 +0x1.00031p+0 +0x1.003064p+0 +0x1.e119eap-1 +0x1.577b36p+0 +0x1p+0 +0x1.26ff2ap+0 +0x1.004ap+0 +0x1.0000a2p+0 +0x1.1fcc7ep+4 +0x1.6f959p+16 +0x1.000064p+0 +0x1.375c6ap+0 +0x1.6a806ep+2 +0x1p+0 +0x1.8e27aep+1 +0x1p+0 +0x1.000b22p+0 +0x1.8f0c12p+0 +0x1.192892p+5 +0x1.2bcaacp+1 +0x1.984264p+2 +0x1.0034cp+0 +0x1p+0 +0x1.abf4dp+0 +0x1.001044p+0 +0x1.0d26f4p+0 +0x1.626906p+0 +0x1.8bf0c2p+5 +0x1.02d288p+0 +0x1.900128p+4 +0x1.bbbbcp+12 +0x1.45fa5p+0 +0x1p+0 +0x1.01bef2p+0 +0x1.524f26p+2 +0x1.083b0ep+0 +0x1.4811e4p+0 +0x1.0163a8p+0 +0x1.9570fap+15 +0x1.3022f2p-1 +0x1.14c73ap+0 +0x1.0009d8p+0 +0x1.056b92p+63 +0x1.0025a4p+0 +0x1.36aad4p+17 +0x1.05c244p+8 +0x1.d00886p+17 +0x1.001188p+0 +0x1.3376ecp-1 +0x1.6719c8p+16 +0x1.02495p+0 +0x1.fd9bacp-1 +0x1.3882c6p+6 +0x1.3cb358p+0 +0x1.0ec93ep+0 +0x1.4fd2bap+1 +0x1.f8b68p+1 +0x1.33b1f2p-1 +0x1.ba7f4cp+1 +0x1p+0 +0x1.44a3d2p-17 +0x1.9a6a8p+2 +0x1.00918ap+6 +0x1.30d50ep-1 +0x1p+0 +0x1.0001bep+0 +0x1.05b93ep+0 +0x1.aa9d98p+0 +0x1.039b74p+0 +0x1.1ac25ep+8 +0x1p+0 +0x1.12b23ap+1 +0x1.4c5c52p+0 +0x1.07de64p+0 +0x1.950f94p+1 +0x1.001caap+47 +0x1.0a9448p+0 +0x1.01026cp+0 +0x1.03d74ap+0 +0x1p+0 +0x1.0032dap+0 +0x1.380922p-1 +0x1.c0e7ccp+15 +0x1.a35e4p+4 +0x1.25b1e6p+0 +0x1.000044p+2 +0x1.05ac24p+7 +0x1.1fa744p+44 +0x1.0007b2p+0 +0x1.2cca62p+2 +0x1.04be3ap+6 +0x1.00065p+0 +0x1.2b9f3ap+1 +0x1.74085p+3 +0x1p+0 +0x1.01fc4cp+0 +0x1.e137bcp+2 +0x1.097ac8p+0 +0x1.ad1458p+4 +0x1.c8587cp+1 +0x1.31d172p-1 +0x1.0b414ap+1 +0x1.664e36p+1 +0x1.30ae16p-1 +0x1p+0 +0x1.3b7e3cp+2 +0x1.9cc348p+64 +0x1p+0 +0x1p+0 +0x1.cdb384p-32 +0x1p+0 +0x1.00b998p+0 +0x1.36b69ep-1 +0x1.939538p+4 +0x1.dc9deep+4 +0x1.36f86ep+2 +0x1.02113cp+0 +0x1.035852p+0 +0x1.9de428p+2 +0x1.369814p+1 +0x1.147f44p+3 +0x1.031bc8p+0 +0x1.03f7cp+0 +0x1.000924p+0 +0x1.145e14p+2 +0x1.0000d4p+0 +0x1p+0 +0x1.54fdfp+2 +0x1.07c0ep+0 +0x1.829aeep+1 +0x1.000f08p+0 +0x1.34dcdp-1 +0x1p+0 +0x1.cd56e4p+1 +0x1.16400ap+8 +0x1p+0 +0x1.00000ap+2 +0x1.00a21p+0 +0x1.8d6286p+6 +0x1.de4f28p+1 +0x1.9f55b6p+48 +0x1.01c802p+0 +0x1.0327cp+0 +0x1.32fb52p-1 +0x1p+0 +0x1.2525dcp+0 +0x1.91da28p-6 +0x1.5a23a8p+0 +0x1.5f024ap+1 +0x1p+0 +0x1.0008f2p+0 +0x1.05563cp+0 +0x1.89381cp+0 +0x1.8bb056p+16 +0x1.7cc93ep+1 +0x1.8bf0acp+5 +0x1.1722bap+6 +0x1p+0 +0x1.00238ep+0 +0x1.ebb8d2p-1 +0x1.001194p+0 +0x1.6cd388p+1 +0x1.08e4bp+8 +0x1.00002p+0 +0x1.01a0bep+0 +0x1.00e7cep+8 +0x1.1193p+0 +0x1.06a9c8p+0 +0x1.11c7fep+0 +0x1.5ef17cp+0 +0x1.4ae72cp+0 +0x1.e0df4cp+41 +0x1.7e5468p+1 +0x1.8dd478p+0 +0x1.3c2784p+51 +0x1p+0 +0x1p+0 +0x1.b9d454p+12 +0x1.011a58p+0 +0x1.3efb48p+4 +0x1.000208p+0 +0x1.57b3eep+7 +0x1.000004p+0 +0x1.1cd6b8p+0 +0x1.c366fap+9 +0x1.466d2cp+0 +0x1p+0 +0x1.300096p-1 +0x1p+0 +0x1.bef388p+0 +0x1.0c20e8p+8 +0x1.397f2p+4 +0x1.037596p+2 +0x1.62a0a4p+52 +0x1.37269ap+0 +0x1.81fe24p+2 +0x1.dd4196p+56 +0x1.b143ep+0 +0x1p+0 +0x1.b8c2fp+1 +0x1.056b3ep+1 +0x1.3b6cbp+0 +0x1.3ffb2p+0 +0x1p+0 +0x1.3c21cp+0 +0x1.00312cp+0 +0x1p+0 +0x1.3822f8p+0 +0x1.02734p+2 +0x1.05a7dap+0 +0x1.6df1b4p+5 +0x1.0006f4p+0 +0x1.31aebep-1 +0x1p+0 +0x1p+0 +0x1.b997fap+18 +0x1.0570d8p+0 +0x1p+0 +0x1.0a9216p+42 +0x1.ef16f2p+1 +0x1p+0 +0x1.31269ep-1 +0x1.a9954ap+2 +0x1.1cc5e8p+0 +0x1.01d334p+0 +0x1.905f98p+4 +0x1.0310d4p+0 +0x1.16a62ap+0 +0x1.8dd6b2p+0 +0x1.395dcep+7 +0x1.ef5f92p+0 +0x1.000868p+0 +0x1p+0 +0x1.844a16p+2 +0x1.452efcp+0 +0x1p+0 +0x1.1c5da2p+6 +0x1.31ac3ap-1 +0x1.cc1bfp+2 +0x1p+0 +0x1.08215ap+0 +0x1.3b4306p+0 +0x1.71fe6p+1 +0x1.192bd8p+0 +0x1.262f78p+0 +0x1.00013cp+0 +0x1.33c486p-1 +0x1.000014p+0 +0x1.b8f4fp+1 +0x1.5f9f5ap-1 +0x1.059872p+0 +0x1p+0 +0x1.58168p+1 +0x1.826d5cp+0 +0x1p+0 +0x1.032a04p+0 +0x1p+0 +0x1.0c0a5cp+0 +0x1.668d9p+0 +0x1.2f9644p-1 +0x1p+0 +0x1.1821b8p+6 +0x1.b22e8ep+7 +0x1.4f7a78p+0 +0x1.52df24p+0 +0x1.48c612p+0 +0x1.93a19ap+4 +0x1.8bf102p+5 +0x1.122d94p+0 +0x1p+0 +0x1.00018p+0 +0x1.30083ap-1 +0x1p+0 +0x1p+0 +0x1.30d20ep-1 +0x1p+0 +0x1.0000dcp+0 +0x1.285bb4p+0 +0x1p+0 +0x1.0003a4p+0 +0x1p+0 +0x1.2ffcfcp-1 +0x1.093d96p+0 +0x1.239bfcp+0 +0x1.f7c33cp-27 +0x1.a9982ep+2 +0x1.1969f4p+4 +0x1.ff5c88p-1 +0x1.04db6ep+2 +0x1p+0 +0x1.f010dap-1 +0x1.13647p+7 +0x1p+0 +0x1.ea6e18p-10 +0x1.2d16eap+0 +0x1.02b668p+0 +0x1.191704p+4 +0x1.18f2b4p+0 +0x1.b186eap+0 +0x1.24c01ap+2 +0x1.6a3adap+16 +0x1p+0 +0x1p+0 +0x1.2f9f28p-1 +0x1.4b5da4p+0 +0x1.004054p+0 +0x1.002616p+8 +0x1.561954p+1 +0x1p+0 +0x1.4c4394p+0 +0x1.1eed34p+1 +0x1.a702eap+5 +0x1.ee054p+7 +0x1.1156a8p+0 +0x1.9a81fcp+2 +0x1.10ce16p-28 +0x1.b18b88p+0 +0x1.d9c4a8p+1 +0x1.0e275cp+0 +0x1.905f58p+4 +0x1p+0 +0x1.02f774p+0 +0x1.7ce226p+1 +0x1.0002bcp+0 +0x1.010f58p+0 +0x1p+0 +0x1.000198p+0 +0x1p+0 +0x1.4aa832p+0 +0x1.0006c2p+0 +0x1.358ca4p+7 +0x1.1edc64p+0 +0x1.003508p+0 +0x1.fdb69p+1 +0x1.0ff4fep+0 +0x1p+0 +0x1.b8c2fp+1 +0x1.284c16p+0 +0x1.00a228p+0 +0x1.03080cp+0 +0x1.91a8f4p+48 +0x1p+0 +0x1.2080fep+1 +0x1.0002f8p+0 +0x1.b14338p+0 +0x1.081288p+0 +0x1.71b9bep+0 +0x1.09c368p+0 +0x1.35ed64p+0 +0x1.8dd68cp+0 +0x1.d2cc42p+0 +0x1.9be0ecp+3 +0x1.7407fcp+3 +0x1.313ecp-1 +0x1.cdc978p+0 +0x1.0ed538p+1 +0x1.159af4p+8 +0x1p+0 +0x1.128694p+0 +0x1.2f1b06p-1 +0x1.19c0d8p+0 +0x1.dcc7c8p+1 +0x1.a33f8ap+7 +0x1.000158p+0 +0x1p+0 +0x1.28bdaep-16 +0x1.74086cp+3 +0x1.ea297cp+1 +0x1.5d87fp+2 +0x1.0e2658p+1 +0x1.621c14p+1 +0x1.9d8a8cp+3 +0x1p+0 +0x1.7807e8p+3 +0x1.74c924p+0 +0x1.a484e4p+53 +0x1.771c44p+0 +0x1.13d1e4p+2 +0x1.2fa402p-1 +0x1p+0 +0x1.024d72p+2 +0x1.064c6ap+8 +0x1.15d2dep+0 +0x1.9c004ep+3 +0x1.bc2fcap+12 +0x1.befdbep+0 +0x1.36461p+0 +0x1.6db7b8p+5 +0x1.0000cp+0 +0x1p+0 +0x1.02f354p+0 +0x1p+0 +0x1.000228p+0 +0x1.013fep+0 +0x1.213782p+0 +0x1p+0 +0x1.000204p+0 +0x1.a69cccp+7 +0x1.0036acp+0 +0x1.0982b8p+0 +0x1.81693cp-22 +0x1.1e5d64p+6 +0x1.0009f2p+0 +0x1.2fe96p-1 +0x1.0368f8p+0 +0x1.2d2cbep+0 +0x1.37bc04p-1 +0x1p+0 +0x1.d45d88p+1 +0x1.000694p+0 +0x1.000272p+0 +0x1p+0 +0x1.d0b2e6p+1 +0x1.2598a4p+3 +0x1p+0 +0x1.8b7d3p+2 +0x1.192902p+5 +0x1.3d5386p+0 +0x1.9c779ap+1 +0x1.08257cp+0 +0x1.0b8a4p+2 +0x1.01afa4p+3 +0x1.e48b7ap-1 +0x1.f30a5cp+2 +0x1.0df814p+0 +0x1.2f28p-1 +0x1.983f46p+3 +0x1.009094p+6 +0x1.326a3ep-1 +0x1.9767e6p+0 +0x1.1027fp+0 +0x1.3274f8p-1 +0x1.197a9cp+1 +0x1.3807p+2 +0x1.90533p+4 +0x1.0332ecp+0 +0x1.3ca37p+0 +0x1p+0 +0x1p+0 +0x1.3ff4dcp+0 +0x1p+0 +0x1.900046p+0 +0x1p+0 +0x1.195576p+5 +0x1.aec2ecp+7 +0x1.65b984p+0 +0x1.74677p+3 +0x1.423322p+0 +0x1.aeef9ep+16 +0x1.0338c4p+0 +0x1.1ae22ap+8 +0x1.cc4adcp+0 +0x1.d20a9ep+0 +0x1.cdbefcp-45 +0x1.03b23cp+0 +0x1.25970cp+3 +0x1.e6b02ep-1 +0x1p+0 +0x1p+0 +0x1p+0 +0x1p+0 +0x1.000aa8p+0 +0x1.0054a4p+0 +0x1.06600ap+0 +0x1.b8601cp+6 +0x1.fea92cp+5 +0x1.6p+5 +0x1.c76586p+0 +0x1.90007ap+0 +0x1.ef2d1p-84 +0x1.03d5b6p+0 +0x1.0164ecp+0 +0x1.4441d8p+0 +0x1.005c42p+0 +0x1.046838p+0 +0x1.51f04ap+0 +0x1.cf822cp+0 +0x1.033b4ap+0 +0x1p+0 +0x1.091bep+0 +0x1p+0 +0x1.5bb2a4p+0 +0x1.01fe2cp+0 +0x1.2b96p+1 +0x1.242d9p+0 +0x1.42ade4p+0 +0x1p+0 +0x1.689714p+2 +0x1.4ac756p+0 +0x1p+0 +0x1.101ad8p+0 +0x1.6208e8p+41 +0x1.47091p+0 +0x1.3e28p+3 +0x1.04b70ep+0 +0x1p+0 +0x1.086c9p+0 +0x1.70eb62p+54 +0x1.dfb744p+4 +0x1p+0 +0x1.f302bcp-8 +0x1.8d5fd4p+6 +0x1.12d9a8p+0 +0x1.00a39p+0 +0x1p+0 +0x1.00003cp+0 +0x1.00031p+0 +0x1.58743ep+0 +0x1.003ae4p+0 +0x1.7de5cep+2 +0x1.096c7ep+0 +0x1.57e436p+1 +0x1.21fcb4p+2 +0x1.31297ap-1 +0x1p+0 +0x1.ab5fcp+16 +0x1.91e912p+42 +0x1.5cb206p+1 +0x1.000072p+0 +0x1.00f4d2p+0 +0x1.0ee52p+0 +0x1.000014p+0 +0x1.2f3a5ep-1 +0x1.3fc07cp+1 +0x1.64bd36p+1 +0x1.f48f56p-1 +0x1.0115f4p+0 +0x1.1650bcp+2 +0x1.013494p+0 +0x1p+0 +0x1.684e92p+0 +0x1.0063a4p+0 +0x1.3ca364p+0 +0x1.197a48p+1 +0x1.00a6f4p+0 +0x1.31ce92p-1 +0x1.fea91ep+5 +0x1.6dd5cep+5 +0x1.05035ep+8 +0x1.6d6acep+5 +0x1.8c4fa2p+5 +0x1.f4e59cp-12 +0x1.6330e4p+0 +0x1.01a9fep+0 +0x1.4f48e4p+0 +0x1.d589c6p+1 +0x1.5be04ap+15 +0x1.f9e2f2p-1 +0x1.294bdp+1 +0x1.8bf1p+5 +0x1.967eb8p-9 +0x1.018d04p+0 +0x1.00032cp+0 +0x1p+0 +0x1.ba21bcp+14 +0x1.8dd6bp+0 +0x1.7455a8p+3 +0x1p+0 +0x1.8e8a02p+15 +0x1.015f06p+0 +0x1.04a26p+8 +0x1.000c58p+0 +0x1.26a58cp+3 +0x1.2719bap-19 +0x1p+0 +0x1.05194cp+7 +0x1.34d9f4p+0 +0x1p+0 +0x1.029fa2p+0 +0x1.99a9dap+0 +0x1.cee06ep+0 +0x1.3e921ap+0 +0x1.9f8eep+0 +0x1p+0 +0x1p+0 +0x1p+0 +0x1.13f606p+0 +0x1p+0 +0x1.0a176ep+2 +0x1.aa9c94p+7 +0x1.1211ep+0 +0x1.122594p+0 +0x1.b39642p+47 +0x1p+0 +0x1.000068p+0 +0x1.6600aep-12 +0x1.e0d6ecp+1 +0x1.0019ep+0 +0x1.34b8f4p-1 +0x1.581728p+2 +0x1.00016p+0 +0x1.12b1ep+8 +0x1.a679fp+14 +0x1.90005ap+4 +0x1.837996p-1 +0x1p+0 +0x1.0e2552p+1 +0x1.22160cp+9 +0x1p+0 +0x1.57e4b4p+1 +0x1p+0 +0x1.bf8d0cp+0 +0x1.d7e10ep+16 +0x1.06bcc8p+0 +0x1.133b12p+0 +0x1.1b6542p+6 +0x1p+0 +0x1.feddbcp-1 +0x1p+0 +0x1p+0 +0x1.2fd98ep-1 +0x1.03d5b6p+0 +0x1p+0 +0x1.db8a46p-1 +0x1.42e588p+0 +0x1.0ee1p+1 +0x1.361fep+0 +0x1.2f74a8p+0 +0x1p+0 +0x1.31596cp-1 +0x1.740a2p+3 +0x1p+0 +0x1.8dd672p+0 +0x1.00011cp+0 +0x1p+0 +0x1.000102p+0 +0x1.5cc2b2p+2 +0x1p+0 +0x1.17f4b4p+0 +0x1.619318p+12 +0x1.b14362p+0 +0x1.c1004ep+0 +0x1.318578p-1 +0x1.9728ecp+2 +0x1.25bdbcp+3 +0x1.37ac8ap+63 +0x1p+0 +0x1.41ef56p+2 +0x1.e65866p-1 +0x1p+0 +0x1.307e0ap+0 +0x1.ef570ep+54 +0x1.0290fap+1 +0x1.9dd308p+0 +0x1.21db9p+0 +0x1.00003cp+0 +0x1.eabf94p+0 +0x1.386614p+10 +0x1.f244dap+16 +0x1p+0 +0x1.00e094p+0 +0x1.5605e6p+1 +0x1.b16374p+2 +0x1.9a2d88p+0 +0x1.48748ap+9 +0x1p+0 +0x1.28e674p+0 +0x1.bf4324p+7 +0x1.2598c6p+3 +0x1.215484p+1 +0x1.05fb5p+51 +0x1.0000d8p+0 +0x1.f389dcp+6 +0x1.41a1bp+0 +0x1.001582p+0 +0x1.1928ecp+5 +0x1.00ff3ep+0 +0x1.3883c4p+13 +0x1.98b044p+2 +0x1.8a43eep+0 +0x1.733e8p+14 +0x1.73ebfcp+2 +0x1.0cd1fp+0 +0x1p+0 +0x1.af357p+5 +0x1.b2c586p+5 +0x1.470f58p+0 +0x1p+0 +0x1p+0 +0x1.0ffddep+0 +0x1.02c422p+1 +0x1.56c4a6p+1 +0x1.492014p-47 +0x1.192862p+5 +0x1p+0 +0x1.c7e222p+7 +0x1p+0 +0x1p+0 +0x1.1a0d3p+49 +0x1.946148p+0 +0x1.524f6ap+2 +0x1.31566ep-1 +0x1.000198p+0 +0x1.3d7efcp+3 +0x1.000264p+0 +0x1.4ed7ccp+0 +0x1.b667ecp+0 +0x1.81940ep+1 +0x1p+0 +0x1.088e6cp+0 +0x1.065bbcp+1 +0x1.009ae4p+1 +0x1.008bfp+6 +0x1.e9f5acp+7 +0x1.1e1c44p+8 +0x1.992348p+0 +0x1.3162fp+0 +0x1.fb0e1ap+48 +0x1.8bf0acp+5 +0x1p+0 +0x1.1f57b2p+60 +0x1.011f3p+0 +0x1.3af642p+0 +0x1.ccae9p+46 +0x1.21325cp+0 +0x1.07743p+7 +0x1.1ae49ep+8 +0x1.00006ap+0 +0x1.1928aap+5 +0x1.838206p-1 +0x1p+0 +0x1.00e9e8p+0 +0x1.4684cap+0 +0x1.02568p+0 +0x1.5efc62p+1 +0x1p+0 +0x1.000352p+0 +0x1.0578cap+0 +0x1.0039ecp+0 +0x1.2fc412p-1 +0x1.4a939ap+1 +0x1.ff27ep+5 +0x1.091a62p+0 +0x1.08c012p+0 +0x1.67c8p+4 +0x1.e26b74p-48 +0x1p+0 +0x1.283076p+3 +0x1.2fe494p-1 +0x1.4dcd9ep+5 +0x1p+0 +0x1.cdf4e4p+7 +0x1p+0 +0x1.c77d16p+1 +0x1.fccf76p-1 +0x1p+0 +0x1.120a84p+0 +0x1.054cdep+0 +0x1.002a0cp+0 +0x1.063b76p+0 +0x1.0000d8p+0 +0x1.30cedep-1 +0x1.003884p+0 +0x1p+0 +0x1.e0065cp-1 +0x1.693bd2p+15 +0x1.0fadc2p+0 +0x1.415d06p+0 +0x1.0002ecp+0 +0x1.27ce08p+0 +0x1.3b9762p+0 +0x1.2fb36p+2 +0x1.02c8f8p+0 +0x1.629facp+50 +0x1.281c56p+3 +0x1.4a93c8p+1 +0x1.0e6cacp-1 +0x1.f9ef4ap+0 +0x1.44f78ap+2 +0x1.9a1e18p+0 +0x1p+0 +0x1.3e566p+3 +0x1.000128p+0 +0x1p+0 +0x1.112c38p+0 +0x1.03d2dap+0 +0x1.5fb222p+12 +0x1.1f4b96p+0 +0x1.01422p+1 +0x1.ee5728p+63 +0x1.4bcdd8p+1 +0x1p+0 +0x1.30e0e4p-1 +0x1.6a36b2p+0 +0x1.00016cp+0 +0x1.04b966p+0 +0x1.106e16p+16 +0x1p+0 +0x1.1233d2p+0 +0x1p+0 +0x1.15d1cap+1 +0x1.137c02p+8 +0x1.00001ap+0 +0x1.07ab74p+0 +0x1.800b4ep-1 +0x1.55047p+0 +0x1.90017ap+4 +0x1.5c9898p+1 +0x1.8ce4ccp+6 +0x1p+0 +0x1.6ee34p+0 +0x1.bf600cp+0 +0x1.f13a7ep+8 +0x1.00015cp+0 +0x1.b9c51ep+12 +0x1.740826p+3 +0x1.c29e5p+1 +0x1.f56ba8p-1 +0x1.37fe18p+2 +0x1.190eap+0 +0x1.419f1cp+0 +0x1p+0 +0x1p+0 +0x1.20687ep+8 +0x1.938ecap+4 +0x1.01dd1cp+0 +0x1.bbe888p+7 +0x1.09d802p+0 +0x1.cf3b8p+0 +0x1.ea0d98p-1 +0x1.172472p+6 +0x1p+0 +0x1.61dce4p+1 +0x1.20b4fcp+0 +0x1.00038cp+0 +0x1p+0 +0x1.0822p+0 +0x1.9966ep+2 +0x1.21f47cp+0 +0x1.3a9762p+0 +0x1.8c4e0cp+5 +0x1p+0 +0x1.61878cp+12 +0x1.3ca348p+0 +0x1.289028p+0 +0x1.06e004p+0 +0x1.02b4b4p+0 +0x1.144eeep+1 +0x1.30a14ap-1 +0x1.07652p+0 +0x1p+0 +0x1.2ef288p+0 +0x1.1ba73cp+5 +0x1.48c714p+2 +0x1.25c508p+3 +0x1.b14382p+0 +0x1.b39acep+0 +0x1.0001c2p+0 +0x1.996938p+3 +0x1p+0 +0x1.e49b2ep+7 +0x1.000436p+0 +0x1.34712p+0 +0x1.47089p+0 +0x1.0353b8p-49 +0x1.2a818p+2 +0x1.00058p+0 +0x1.8a5a7ep+51 +0x1p+0 +0x1.8dbf04p+0 +0x1.5004d8p+61 +0x1.9557b2p+1 +0x1.0fa92cp+0 +0x1.16984ep+8 +0x1.72bd7ap+1 +0x1.980f0cp+1 +0x1.ae63fp+14 +0x1p+0 +0x1.085224p+0 +0x1.d8889ap-1 +0x1.1d3ff6p+4 +0x1.02c6ecp+1 +0x1.73eb4ep+2 +0x1.1916fp+4 +0x1.4a04e8p+5 +0x1.134906p+1 +0x1.0002dp+0 +0x1p+0 +0x1.32db7p+0 +0x1.0105b8p+0 +0x1.09f78p+0 +0x1.1d3e78p+4 +0x1.41b184p+0 +0x1.134914p+1 +0x1.410e6ep+1 +0x1.312a4ap-1 +0x1.7308f4p+1 +0x1p+0 +0x1.0afbe8p+0 +0x1p+0 +0x1.00026ap+0 +0x1.2ee012p+0 +0x1.001318p+0 +0x1.af1034p+4 +0x1.687b1cp-24 +0x1.a93ap+2 +0x1.084598p+0 +0x1.37031ap-1 +0x1.c046ep+5 +0x1.79a75ep+2 +0x1.46a9c8p+1 +0x1.000766p+0 +0x1.245d98p+0 +0x1.19287ap+5 +0x1.6a0fbep+0 +0x1p+0 +0x1.011424p+0 +0x1.879f4cp+0 +0x1p+0 +0x1p+0 +0x1.4ca7ecp-51 +0x1.5818c6p+2 +0x1p+0 +0x1.b4c9fap+7 +0x1.b14384p+0 +0x1.082fdp+0 +0x1.085672p+8 +0x1.918f3cp+6 +0x1p+0 +0x1.45623ep+0 +0x1.95515cp+2 +0x1.000068p+0 +0x1.31f33ap-1 +0x1.f9eed8p+0 +0x1.91b218p+6 +0x1.331446p-1 +0x1.000202p+0 +0x1p+0 +0x1.3cdfb8p-1 +0x1p+0 +0x1.08fb58p+7 +0x1.4dde38p+5 +0x1p+0 +0x1.0053a4p+0 +0x1p+0 +0x1.31e138p+7 +0x1p+0 +0x1.01c35cp+0 +0x1.dba85cp+7 +0x1.03682cp+2 +0x1.000108p+0 +0x1.bff348p+55 +0x1.582dbp+1 +0x1.31158p+0 +0x1.760bep+44 +0x1.e43226p+7 +0x1.082008p+0 +0x1.a03e4cp+7 +0x1.00b984p+0 +0x1.20c58ep+1 +0x1.221c1p+0 +0x1.594056p+7 +0x1.aabf58p+2 +0x1p+0 +0x1.b142e4p+0 +0x1.8bf166p+5 +0x1p+0 +0x1.000168p+0 +0x1.06c69cp+0 +0x1.900166p+4 +0x1.621b64p+12 +0x1.b142eep+0 +0x1p+0 +0x1.31c642p-1 +0x1p+0 +0x1.65b9cap+0 +0x1.4adbbep+0 +0x1p+0 +0x1.858ea2p+0 +0x1.076d06p+0 +0x1.000dap+0 +0x1.70cd96p+2 +0x1.347a2p-1 +0x1.73c75cp+2 +0x1p+0 +0x1.180c6ep+8 +0x1p+0 +0x1.1a32dcp+5 +0x1.342abp-1 +0x1.4a08p+5 +0x1.000484p+0 +0x1.e498b4p+7 +0x1.91e072p+0 +0x1p+0 +0x1.9ab2a8p+0 +0x1.0001dp+0 +0x1.6ab22p+0 +0x1.00036p+0 +0x1.00042cp+0 +0x1.0012a2p+0 +0x1.f2b45cp+0 +0x1.31b8fep-1 +0x1.2a3f48p+1 +0x1p+0 +0x1.d8ecc8p+49 +0x1.b143b2p+0 +0x1.4f7516p+0 +0x1.09a35cp+0 +0x1.000ap+0 +0x1.ad259ap+5 +0x1.8d9b38p-18 +0x1.92ef44p+0 +0x1.7407ep+3 +0x1.bcb74cp+7 +0x1.57d22p+0 +0x1.610e16p+0 +0x1.2ff3fap-1 +0x1.00aefcp+0 +0x1.6aaf1cp+0 +0x1.000298p+0 +0x1.10b236p+0 +0x1.2b6a4p+0 +0x1.25c852p+3 +0x1.000354p+0 +0x1p+0 +0x1.4fe4c2p+2 +0x1.8ea358p+6 +0x1.cd77f6p+2 +0x1.0000aap+0 +0x1.8c2a1ep-19 +0x1.000264p+0 +0x1.03001p+0 +0x1.0c772cp+0 +0x1.daea4p+4 +0x1p+0 +0x1.0f2d5ep+0 +0x1p+0 +0x1.1604d6p+0 +0x1.2f7b08p-1 +0x1.0002f4p+0 +0x1p+0 +0x1.91aaf8p+1 +0x1.896624p+0 +0x1.0024c2p+0 +0x1.0fde8cp+1 +0x1.3a7214p+16 +0x1.01ff8p+0 +0x1.02458p+1 +0x1.1d3f4cp+4 +0x1p+0 +0x1.c0d546p+1 +0x1.0ac2d4p+54 +0x1p+0 +0x1p+0 +0x1.75e65p+55 +0x1p+0 +0x1.010256p+0 +0x1.68165p+53 +0x1p+0 +0x1.013c3p+0 +0x1.bc712ep+13 +0x1p+0 +0x1.71d1cp+5 +0x1.49c482p+0 +0x1.00665p+0 +0x1.386324p+1 +0x1.385c4ap-1 +0x1p+0 +0x1.379e5p+0 +0x1.232592p+8 +0x1p+0 +0x1.000338p+0 +0x1p+0 +0x1p+0 +0x1.055404p+0 +0x1.208ef8p+1 +0x1p+0 +0x1p+0 +0x1p+0 +0x1p+0 +0x1.015d52p+0 +0x1.9ea35cp+1 +0x1.dc7eb4p+18 +0x1p+0 +0x1p+0 +0x1.b3d24ep+7 +0x1.fba328p+8 +0x1.00c7fp+0 +0x1.0d1acep+8 +0x1.779a24p+2 +0x1p+0 +0x1.19499ep+0 +0x1.25ddcep+3 +0x1.78346cp+3 +0x1.428e7ap+49 +0x1.003dp+0 +0x1p+0 +0x1.313dbcp-1 +0x1.6fef7p+1 +0x1p+0 +0x1.2ff116p-1 +0x1.00f598p+0 +0x1.45ab88p+0 +0x1p+0 +0x1.a93a36p+2 +0x1p+0 +0x1.54bb7p+2 +0x1p+0 +0x1.00004cp+0 +0x1.edac12p+0 +0x1.40f4fap+0 +0x1.45c0bcp+0 +0x1.0a2626p+0 +0x1.bfa67ap+51 +0x1.933f18p+0 +0x1p+0 +0x1.3f3fe8p+0 +0x1.006fc8p+0 +0x1.c04aecp+1 +0x1.0afc4p+0 +0x1.9b2f1ep+3 +0x1.11a134p+3 +0x1.0624dep-11 +0x1.eabf94p+0 +0x1.8950d8p+1 +0x1.35eba2p-1 +0x1.11c438p+0 +0x1.02073p+0 +0x1.483096p+0 +0x1.484bf4p+2 +0x1.1b86dcp+0 +0x1.0d3c56p+0 +0x1.0000e4p+0 +0x1.a93b64p+2 +0x1.b8db1cp+1 +0x1.308c0ep-1 +0x1p+0 +0x1.1e84fp+0 +0x1.3fc808p+0 +0x1.19179ap+4 +0x1p+0 +0x1.f1d3a4p+7 +0x1.273d1ep+1 +0x1.000a16p+0 +0x1.42ead6p+0 +0x1.b8c318p+1 +0x1.7226dp+1 +0x1.43af5cp+0 +0x1.450224p+0 +0x1.000234p+0 +0x1.358bc4p-1 +0x1.0000acp+0 +0x1.02ef5cp+0 +0x1.1d16fap+8 +0x1p+0 +0x1.0a9be6p+0 +0x1.2221d2p+8 +0x1.45abbp+0 +0x1p+0 +0x1.b787f6p-12 +0x1.960416p+0 +0x1.0af8b6p+1 +0x1.232048p+64 +0x1.f6b2fp+0 +0x1p+0 +0x1.02fc3ep+0 +0x1.19292ep+5 +0x1.00fdcap+0 +0x1.51ac2p+1 +0x1.020b04p+0 +0x1.3fe772p+1 +0x1p+0 +0x1.3a87dap+0 +0x1.00dbf8p+0 +0x1.dc825cp+1 +0x1.051eap+0 +0x1p+0 +0x1p+0 +0x1p+0 +0x1p+0 +0x1p+0 +0x1.000bp+0 +0x1.004874p+0 +0x1.ed7906p+14 +0x1.ba64fcp+12 +0x1.03e86ap+0 +0x1.5cdd2p+2 +0x1.2fc1c6p-1 +0x1.08a1b8p+0 +0x1p+0 +0x1.4e97bp+62 +0x1.364392p+0 +0x1.000236p+0 +0x1.32f478p-1 +0x1.362732p+4 +0x1.1d3f0ep+4 +0x1.205236p+44 +0x1p+0 +0x1.93afd4p+2 +0x1.2f40ecp-1 +0x1p+0 +0x1.0fe4a4p+1 +0x1.9975e8p+64 +0x1.4a93fap+1 +0x1.259756p+3 +0x1.1e1e64p+8 +0x1.000048p+0 +0x1p+0 +0x1.2f1f74p-1 +0x1.7a124ap+0 +0x1.5e3f8ep+2 +0x1.e58cd8p-1 +0x1.b3857ep+0 +0x1.6f4da4p+0 +0x1p+0 +0x1.44caaep+0 +0x1.6831b2p+0 +0x1.7537bep+1 +0x1p+0 +0x1.003054p+0 +0x1.4934p+2 +0x1.00005p+0 +0x1.000098p+0 +0x1.091ebcp+0 +0x1.465e2cp+9 +0x1.00017p+0 +0x1p+0 +0x1.31ab6cp-1 +0x1p+0 +0x1p+0 +0x1.f2386ep+57 +0x1.147d32p+3 +0x1.e480eep+7 +0x1.03b3b2p+0 +0x1.02035cp+0 +0x1.11d934p+3 +0x1.5776d8p+53 +0x1.2c73p+0 +0x1.63073ap+9 +0x1.2041aep+8 +0x1p+0 +0x1.00594cp+0 +0x1.3ee136p+0 +0x1p+0 +0x1.09548p+1 +0x1.05f1f4p-11 +0x1.0002a4p+0 +0x1.16ac18p+3 +0x1.b8531ep+7 +0x1.0fd73cp+1 +0x1.011f64p+0 +0x1.0ff65ep+0 +0x1.b1ecfp+4 +0x1.8f0888p+0 +0x1.f95e02p-1 +0x1p+0 +0x1.9000cep+0 +0x1.e9b4fep+52 +0x1.009838p+0 +0x1.5ef598p+1 +0x1.a6ad24p+7 +0x1.4913c6p+0 +0x1p+0 +0x1.3d7314p+0 +0x1p+0 +0x1.a591c8p+0 +0x1.017966p-13 +0x1.9825cep+3 +0x1.192898p+5 +0x1.cddc2p+42 +0x1p+0 +0x1p+0 +0x1.0dde0ap+8 +0x1.0e56e8p+1 +0x1.a6fbcep+3 +0x1.b92cc8p+7 +0x1.d57268p+0 +0x1.b8f132p+1 +0x1.4c257ap+0 +0x1.00000ap+0 +0x1.38635p+1 +0x1.1cc07ap+45 +0x1.71ff7ep+1 +0x1.ef8b44p+0 +0x1.6cf93ep+51 +0x1p+0 +0x1p+0 +0x1.11f506p+8 +0x1.77844ap+0 +0x1p+0 +0x1.bdd978p+7 +0x1.00006ap+0 +0x1.0e2602p+1 +0x1.045486p+0 +0x1.0002c8p+0 +0x1.4d67c8p+1 +0x1.e5b314p-1 +0x1.6a374cp+0 +0x1.99db52p+0 +0x1.f9eeap-1 +0x1.bf7f2cp+5 +0x1.da61b4p+4 +0x1.488ff4p+0 +0x1.003p+0 +0x1p+0 +0x1.02ffcp+0 +0x1.d09a76p+1 +0x1.225a2cp+0 +0x1.0637f2p+0 +0x1.b3893p+0 +0x1.00005p+0 +0x1.bcc5ccp+59 +0x1p+0 +0x1.01f38ep+0 +0x1.a720ecp+7 +0x1.05390cp+1 +0x1.bf3ffep+2 +0x1.6b9574p+0 +0x1.388f0cp+11 +0x1.29a6aap+0 +0x1.31e90ep-1 +0x1p+0 +0x1p+0 +0x1.2f1498p-1 +0x1.0000eep+0 +0x1p+0 +0x1.3190e2p-1 +0x1p+0 +0x1.7703c2p+1 +0x1.0ffd1cp-24 +0x1p+0 +0x1p+0 +0x1.f5c25p-24 +0x1.7407c8p+3 +0x1.45abd2p+0 +0x1.1304ecp+0 +0x1p+0 +0x1.0002f4p+0 +0x1.cd1cdap+1 +0x1.6ef2fp+15 +0x1.0002cap+0 +0x1.dc83cp+1 +0x1.0000ccp+0 +0x1.0093cep+0 +0x1.0066bap+0 +0x1.002dp+0 +0x1.0e6c8p+0 +0x1.7be50ap+16 +0x1.00b348p+0 +0x1.089b3p+16 +0x1.98b07cp+2 +0x1.3389b2p+0 +0x1.a41e1ep+7 +0x1.7195dep+5 +0x1.08b45cp+0 +0x1.29c1eap+56 +0x1.740b96p+3 +0x1.71fef4p+1 +0x1.07ba2cp+0 +0x1.5ee4a2p+1 +0x1p+0 +0x1.f9599cp-1 +0x1.b9154ep+14 +0x1.f8911cp+0 +0x1p+0 +0x1.373e1p+4 +0x1p+0 +0x1.00146cp+0 +0x1.4a05acp+5 +0x1.1928aap+5 +0x1.060cecp+0 +0x1.773996p+0 +0x1.af11c2p-11 +0x1p+0 +0x1.3f7d98p+7 +0x1.1361ep+52 +0x1.f9f064p+0 +0x1p+0 +0x1.a9b908p+7 +0x1.c55b46p+0 +0x1p+0 +0x1.682ec4p+46 +0x1.00003p+0 +0x1p+0 +0x1.2fdba4p-1 +0x1.9beca4p+0 +0x1.0004a8p+0 +0x1.2fb262p-1 +0x1.8bf118p+5 +0x1.0001aap+0 +0x1.31a74p-1 +0x1.25db7ep+3 +0x1p+0 +0x1.197a7cp+1 +0x1p+0 +0x1.2d315cp+0 +0x1.0024f8p+0 +0x1.2a7f04p+1 +0x1p+0 +0x1p+0 +0x1.01211cp+0 +0x1.f11d7ep-1 +0x1.d4f718p+2 +0x1.b233dep+0 +0x1.6d6b1cp+5 +0x1.7724fep+15 +0x1p+0 +0x1.a86fbap+7 +0x1p+0 +0x1p+0 +0x1.4aa984p+49 +0x1.000054p+0 +0x1p+0 +0x1.33d3f4p-1 +0x1p+0 +0x1.1b0cd8p+6 +0x1.000958p+0 +0x1p+0 +0x1.49ef4ep+4 +0x1.7cc648p+1 +0x1p+0 +0x1.23470ap+0 +0x1.3223a4p+0 +0x1p+0 +0x1.4d6912p+0 +0x1.51e25p+0 +0x1p+0 +0x1.34962cp+0 +0x1.0fdd0cp+1 +0x1.0001d8p+0 +0x1.38637cp+1 +0x1.9de754p+3 +0x1.8e020cp+5 +0x1.ad9158p+4 +0x1.094afap+0 +0x1.ea949ep+52 +0x1.ec6aa4p+1 +0x1.1a5e6cp+4 +0x1.07ed56p+0 +0x1.711ffp+0 +0x1p+0 +0x1.062702p+8 +0x1.233ffap+18 +0x1.10c252p+7 +0x1.002a14p+0 +0x1.98f468p+0 +0x1.833884p+0 +0x1p+0 +0x1.9179acp+4 +0x1.d944c4p-1 +0x1.00bc84p+0 +0x1p+0 +0x1.46c0aep+0 +0x1.ad157p+4 +0x1.13492cp+1 +0x1.4b0ceep+0 +0x1.000246p+0 +0x1p+0 +0x1p+0 +0x1.176dbep+0 +0x1.52e1b8p+0 +0x1.050ab8p+0 +0x1p+0 +0x1.ef2d1p-84 +0x1.d0999p+1 +0x1.00b594p+0 +0x1.19ae42p+54 +0x1p+0 +0x1p+0 +0x1.bf05cap-56 +0x1.fba48p+0 +0x1.19a5ecp+4 +0x1.000518p+0 +0x1.cd1cc6p+1 +0x1.0008d2p+0 +0x1.00291cp+0 +0x1.01ae5cp+0 +0x1.18229cp+0 +0x1.0000d6p+0 +0x1.00017p+0 +0x1.1083fep-25 +0x1p+0 +0x1.7d379ap+9 +0x1.2f5e0ep-1 +0x1.365e38p+0 +0x1.000912p+0 +0x1.8p+3 +0x1.13e39cp+1 +0x1p+0 +0x1.0ba4aep+0 +0x1.9deafcp+3 +0x1.2fead4p-1 +0x1p+0 +0x1.11a49cp+16 +0x1.968f3ap+62 +0x1p+0 +0x1p+0 +0x1p+0 +0x1.b85f8ep+6 +0x1.141a8ep+8 +0x1.0564ecp+0 +0x1.c6b168p+2 +0x1.05b106p+8 +0x1.000298p+0 +0x1p+0 +0x1.0001fap+0 +0x1.000164p+0 +0x1.31a84p+0 +0x1p+0 +0x1.403f5cp+5 +0x1.ea62dep-1 +0x1p+0 +0x1.131eeep+1 +0x1.3625d8p+4 +0x1.066f0cp+0 +0x1.e7a64p+7 +0x1.047e06p+0 +0x1p+0 +0x1.32aad8p-1 +0x1p+0 +0x1.000118p+0 +0x1.1b0d0cp+6 +0x1.a11c9p+0 +0x1.a2588ep+54 +0x1p+0 +0x1p+0 +0x1.09ffa8p+8 +0x1.bb2a7cp+5 +0x1p+0 +0x1.a1f9p+0 +0x1p+0 +0x1.f3d4b4p-1 +0x1.4dc16ap+5 +0x1.3b2274p+4 +0x1.457d56p+0 +0x1.01cfcp+0 +0x1p+0 +0x1.a93982p+2 +0x1.04054cp+0 +0x1.0080fap+0 +0x1.dc801cp+0 +0x1.0b77bep+1 +0x1.013094p+0 +0x1.0001e8p+0 +0x1.02e2ep+0 +0x1p+0 +0x1.000094p+0 +0x1.fb4382p-1 +0x1.00019p+0 +0x1.0007b8p+0 +0x1.127e1ap+8 +0x1p+0 +0x1p+0 +0x1.0e25cp+1 +0x1.2f4b78p+1 +0x1.015b26p+8 +0x1.0eb20cp+0 +0x1.081558p+7 +0x1.42ff58p+0 +0x1.1c5d1p+6 +0x1.887b42p+14 +0x1.02904p+1 +0x1.7ce25ap+1 +0x1.f96d6p-1 +0x1.5c64f4p+0 +0x1.0005c8p+0 +0x1.78e9d4p-33 +0x1.da628ep+4 +0x1.003634p+0 +0x1.3184d6p-1 +0x1.bd96f4p+6 +0x1.ba5156p+12 +0x1.8df4acp+0 +0x1p+0 +0x1.a3b92p+7 +0x1.3e4f26p+11 +0x1.543868p+4 +0x1.eabfe6p+0 +0x1.0073e6p+0 +0x1.0f2bdep+8 +0x1.3e3c3ep+13 +0x1.3884dp+6 +0x1p+0 +0x1.690fecp+0 +0x1.dfa074p-1 +0x1.000638p+0 +0x1.4a93acp+1 +0x1.8dd68ap+0 +0x1.0048dcp+0 +0x1.002f8ep+0 +0x1.00015p+0 +0x1.45abbcp+0 +0x1.f3f306p-1 +0x1.1b639p+0 +0x1.ef2d1p-84 +0x1.abd54p+0 +0x1.36f8aap+2 +0x1.e317cep-1 +0x1.36f9cap+2 +0x1.530ddp+0 +0x1.2f74bp+0 +0x1.3c4448p+0 +0x1.0718dcp+0 +0x1.0001bp+0 +0x1p+0 +0x1.1d3ebap+4 +0x1.42e55ap+0 +0x1.3ace3ep+50 +0x1.5b5108p+1 +0x1.13527cp+3 +0x1.0002ap+0 +0x1.6f3ebcp+2 +0x1.b0af06p+7 +0x1.016c28p+0 +0x1p+0 +0x1.4542a6p+0 +0x1p+0 +0x1.6120cep+55 +0x1.02a2p+0 +0x1.0714d6p+15 +0x1.21293ep+0 +0x1.023b38p+0 +0x1.000d12p+0 +0x1.4d9f06p+15 +0x1p+0 +0x1.dd3bb4p-1 +0x1p+0 +0x1.00029ep+0 +0x1.eabfa8p+0 +0x1.362a2ep+0 +0x1.000a5ap+48 +0x1.dfbac8p+4 +0x1.259742p+3 +0x1.0000acp+0 +0x1.00cc58p+1 +0x1.49155ep+0 +0x1p+0 +0x1p+0 +0x1.30d9ap-1 +0x1.02fc6p+0 +0x1.3cac76p+0 +0x1.b8c472p+1 +0x1.8bf1bcp+5 +0x1.2cd56p+0 +0x1.1d37a6p+0 +0x1p+0 +0x1.6b03dep+2 +0x1p+0 +0x1.4bc794p+0 +0x1.dc56e6p+1 +0x1.b1432ap+0 +0x1.5a6574p+2 +0x1.a21356p+4 +0x1.6269ep+64 +0x1.0000dp+0 +0x1.10766cp+7 +0x1.0096e6p+0 +0x1.adf486p+0 +0x1.309de8p-1 +0x1.085fb4p+0 +0x1.3afb0ep+0 +0x1.0002a2p+0 +0x1.085208p+0 +0x1.213daap+8 +0x1.000a5ap+0 +0x1.503f0cp+0 +0x1.000428p+0 +0x1.7ee7d4p+16 +0x1.8e5064p+61 +0x1.3f6054p+7 +0x1.3a78a6p+0 +0x1.0a197ap+0 +0x1.016ea8p+0 +0x1.0bbb28p+8 +0x1.000014p+0 +0x1.0010d4p+0 +0x1.5983f8p-26 +0x1.2dddep+0 +0x1.3f4af4p+0 +0x1.15f078p+0 +0x1p+0 +0x1.8ffae8p-20 +0x1.0000a4p+0 +0x1.4f32a8p+0 +0x1.8bf1f2p+5 +0x1.0000fp+0 +0x1.1e9612p+0 +0x1.000512p+0 +0x1.000184p+0 +0x1p+0 +0x1.4a071ap+5 +0x1.316586p-1 +0x1.026922p+0 +0x1.9323dcp+3 +0x1.0530acp+0 +0x1.18125p+0 +0x1.e39054p-1 +0x1.3ad2p+11 +0x1.005ad4p+0 +0x1.000208p+0 +0x1.b85f4cp+6 +0x1.002d02p+0 +0x1p+0 +0x1p+0 +0x1.da3556p+8 +0x1p+0 +0x1.02c298p+0 +0x1.11a35ep+3 +0x1.4a0a02p+1 +0x1.02741p+2 +0x1p+0 +0x1.2749a2p+0 +0x1.45abacp+0 +0x1p+0 +0x1.3920bcp+13 +0x1.000054p+0 +0x1.4ceda8p+0 +0x1p+0 +0x1.390b2p+7 +0x1.66764ep+7 +0x1p+0 +0x1.e11478p+7 +0x1.0f264cp+0 +0x1p+0 +0x1.2f7ec2p-1 +0x1p+0 +0x1.0ac6fcp+8 +0x1.3ca396p+0 +0x1.9ad138p+5 +0x1.e5b8acp+7 +0x1.0000b8p+0 +0x1.f14fd6p-11 +0x1.00009p+0 +0x1.01571ep+0 +0x1.17c726p+0 +0x1.00019p+0 +0x1.362514p+4 +0x1.004efp+0 +0x1.003f5cp+0 +0x1.43c41cp+0 +0x1p+0 +0x1.3e6c78p+12 +0x1.000c5cp+0 +0x1.3e795cp+6 +0x1.b825a6p+7 +0x1.ace64p+1 +0x1.36f8dp+2 +0x1.587484p+0 +0x1.94967ap+14 +0x1.af98e6p+17 +0x1.6488b6p+0 +0x1.1d3e98p+4 +0x1.009978p+0 +0x1.377d08p+0 +0x1.2fdc0ep+0 +0x1.045768p+0 +0x1.f9ef1ap+0 +0x1.003e4ap+0 +0x1.3e825p+9 +0x1.38da1p+0 +0x1p+0 +0x1p+0 +0x1.00d4a2p+0 +0x1.3e6838p+12 +0x1.0c24a8p+0 +0x1.00012cp+0 +0x1p+0 +0x1p+0 +0x1.001188p+0 +0x1.30be32p-1 +0x1.d20bfcp+0 +0x1.000314p+0 +0x1.467b6ap+1 +0x1.b14436p+0 +0x1.be3eccp+7 +0x1.035cc4p+0 +0x1p+0 +0x1.358ca4p+7 +0x1p+0 +0x1.052ef8p+8 +0x1.08ac7ep+0 +0x1p+0 +0x1.ef2d1p-84 +0x1p+0 +0x1.388d04p+56 +0x1.003836p+0 +0x1.65f1ecp+0 +0x1.5b141p+47 +0x1.fadea2p+0 +0x1.d1e872p+59 +0x1p+0 +0x1.acd704p+0 +0x1.d46c0ap-34 +0x1p+0 +0x1.015a84p+0 +0x1p+0 +0x1p+0 +0x1.02161ep+0 +0x1p+0 +0x1.02283cp+0 +0x1.2fb3d8p+2 +0x1.3b1854p+4 +0x1.9a69d8p+48 +0x1.f9ef08p+0 +0x1.7e849cp+3 +0x1.eabffp+0 +0x1.054884p+0 +0x1.9faadcp+7 +0x1.01dbfep+0 +0x1.a9a6aap+1 +0x1p+0 +0x1.ae82b2p+5 +0x1.423f6p-20 +0x1.42e57p+0 +0x1.41466p+2 +0x1p+0 +0x1.49ef3ep+4 +0x1.f264ccp-1 +0x1.0084dap+0 +0x1.07aabap+0 +0x1p+0 +0x1p+0 +0x1.009f06p+0 +0x1.008b44p+0 +0x1.3e2b8cp+5 +0x1.000324p+0 +0x1.0c4158p+0 +0x1.32644cp-1 +0x1.1929dp+5 +0x1.8ac548p+4 +0x1.01b036p+0 +0x1.7e3a98p+5 +0x1.34bc8p-1 +0x1.b14336p+0 +0x1.0cb4e2p+0 +0x1.b931bp+12 +0x1.2358fp+1 +0x1.f23b6cp+51 +0x1p+0 +0x1.16fa4cp+4 +0x1.0baf84p+0 +0x1.a856a8p+5 +0x1.066f6p+0 +0x1p+0 +0x1p+0 +0x1.20b7bp+0 +0x1.3fe392p+0 +0x1.388ae2p+0 +0x1.00035cp+0 +0x1.3adcf2p+12 +0x1.30393p-1 +0x1.e17338p+1 +0x1.aa6b1ap+7 +0x1.0000b6p+0 +0x1p+0 +0x1.345b46p-1 +0x1.74921cp+8 +0x1.b29bd6p+7 +0x1p+0 +0x1.77c706p+2 +0x1.c4d8ecp+65 +0x1.8d98bp+0 +0x1.8b8002p-6 +0x1.3881ecp+15 +0x1.010cd4p+0 +0x1.c8fdaap+7 +0x1.72b958p+2 +0x1.965c1cp+3 +0x1p+0 +0x1p+0 +0x1.2a515cp+0 +0x1.cd1e9p+1 +0x1.006674p+0 +0x1p+0 +0x1.66e4cp+2 +0x1.13aa9ep+8 +0x1p+0 +0x1.13101cp+1 +0x1.0004ecp+0 +0x1p+0 +0x1.c51ad2p+7 +0x1p+0 +0x1.2a0908p+8 +0x1.000182p+0 +0x1.ac40fcp+2 +0x1.30f308p-1 +0x1p+0 +0x1p+0 +0x1.1ceeaep+7 +0x1.0000a4p+0 +0x1.f407acp+7 +0x1.36f98ep+2 +0x1.1c60a8p+10 +0x1.617238p+12 +0x1p+0 +0x1.48fb3ap+0 +0x1p+0 +0x1.000d5p+0 +0x1.33833cp-1 +0x1p+0 +0x1.41be46p+51 +0x1.238e58p+0 +0x1.00266cp+0 +0x1.9fc4bp+58 +0x1.000618p+0 +0x1.88a592p+48 +0x1.0001c8p+0 +0x1p+0 +0x1.51c89cp+0 +0x1.317344p+7 +0x1.308e8ap-1 +0x1p+0 +0x1.0387e6p+0 +0x1.454a32p+0 +0x1.74a828p+7 +0x1.f57daep-8 +0x1.287a44p+0 +0x1.b84b08p+2 +0x1.27fc5ap+0 +0x1p+0 +0x1.0e423p+1 +0x1p+0 +0x1.079ddp+0 +0x1.f49a74p+14 +0x1.0f47bp+0 +0x1.9000bap+4 +0x1.000244p+0 +0x1p+0 +0x1.4a38ep+0 +0x1.36f8bp+2 +0x1.6bf43cp+0 +0x1.a3a9f4p+1 +0x1.001d24p+0 +0x1.106f8ap+0 +0x1.0003ep+0 +0x1.00025p+0 +0x1.89be24p+0 +0x1.3d65b4p+6 +0x1.44b46ep+0 +0x1.5caecap+1 +0x1.00327cp+2 +0x1.54bbep+2 +0x1.2597aap+3 +0x1.059a5ap-11 +0x1.43884ep+2 +0x1p+0 +0x1.c04628p+9 +0x1p+0 +0x1.c1b9bp-49 +0x1.73ed24p+2 +0x1.000598p+0 +0x1.44105p+0 +0x1.b7c192p+5 +0x1.312178p-1 +0x1p+0 +0x1.f9efc2p+0 +0x1.014252p-51 +0x1.017a66p+0 +0x1.1f3de4p+8 +0x1.02b182p+0 +0x1.257372p+0 +0x1.93944ap+48 +0x1.e2305cp+1 +0x1.3e0ee6p-8 +0x1.00011ep+0 +0x1.a31448p+5 +0x1.8c9ca6p+48 +0x1.194216p+0 +0x1p+0 +0x1.5cc2ap+2 +0x1p+0 +0x1.506fe6p+49 +0x1.2588fp+0 +0x1.26ffaep+1 +0x1p+0 +0x1p+0 +0x1.4ff01ap+66 +0x1.00009cp+0 +0x1.000f38p+0 +0x1.00e4d6p+0 +0x1.001d5cp+0 +0x1.02b29cp+50 +0x1.358d1p+7 +0x1.3eff02p+8 +0x1.900058p+4 +0x1.3ae0bcp+13 +0x1.034d3ep+0 +0x1.b9346p+5 +0x1p+0 +0x1.71b9cp+0 +0x1.2f7456p+0 +0x1.47ccf2p+0 +0x1.498974p+0 +0x1.046cb8p+0 +0x1.458c62p+1 +0x1.a93bf4p+2 +0x1.0f113ap+8 +0x1p+0 +0x1.04ae52p+0 +0x1.7c2a68p+0 +0x1.3b24fep+9 +0x1.04ef5p-11 +0x1.11a28ap+3 +0x1p+0 +0x1.056b24p+1 +0x1.0000e4p+0 +0x1.2c01cap+0 +0x1p+0 +0x1p+0 +0x1.c61f72p+15 +0x1p+0 +0x1.02fc2ap+0 +0x1p+0 +0x1.093acep+0 +0x1.5643eap+53 +0x1p+0 +0x1.0087a8p-47 +0x1.2f5868p+0 +0x1.38e848p+10 +0x1.e5c11cp+7 +0x1p+0 +0x1.129e64p+8 +0x1.5c6c98p+1 +0x1.00015ap+0 +0x1.b745e2p+48 +0x1.1bfb08p+0 +0x1.a92b86p+5 +0x1.7c2a54p+0 +0x1p+0 +0x1.3334b6p+0 +0x1.b5c006p+5 +0x1p+0 +0x1.bec8c6p+16 +0x1p+0 +0x1.dc5496p-1 +0x1.0a88ep+0 +0x1.f95e78p+1 +0x1p+0 +0x1.0037b4p+0 +0x1.1eaf62p+8 +0x1p+0 +0x1.43bfcp+5 +0x1.3af986p+15 +0x1.03dbf4p+0 +0x1.b1b5a8p-12 +0x1p+0 +0x1.90007ep+0 +0x1.0003b4p+0 +0x1p+0 +0x1.f8f086p-12 +0x1.dd7178p+4 +0x1.00207p+0 +0x1.118916p+0 +0x1p+0 +0x1.a298c4p+7 +0x1.006a6cp+0 +0x1.1dfa5p+0 +0x1.327c54p-1 +0x1p+0 +0x1.f7e922p-1 +0x1.3e365ap+13 +0x1p+0 +0x1.04318ap+0 +0x1.52381cp+0 +0x1.60a298p-1 +0x1.000076p+0 +0x1.977c42p+14 +0x1.a8cb5cp+7 +0x1.1b0d18p+6 +0x1.29cedp+0 +0x1.15a46ap+1 +0x1p+0 +0x1.639aaep-12 +0x1.004a8cp+0 +0x1.0ab1bcp+1 +0x1.b85ecp+6 +0x1.36279ep+4 +0x1.22ae32p+8 +0x1.615228p+1 +0x1.000898p+0 +0x1.001968p+0 +0x1p+0 +0x1.2f791ap-1 +0x1.00001cp+0 +0x1p+0 +0x1.0627aep+0 +0x1.0e38d4p+5 +0x1.490936p+57 +0x1p+0 +0x1.000358p+0 +0x1.57b4bp+7 +0x1.4b4766p+0 +0x1.26da06p+0 +0x1.cd1ec6p+1 +0x1.38ee44p+15 +0x1.c0ffbcp+15 +0x1.01caacp+0 +0x1.e2a336p-1 +0x1p+0 +0x1.0c69f4p+2 +0x1.50a08cp+55 +0x1.10d0b8p+0 +0x1.1eed7p+1 +0x1.b14428p+0 +0x1.004f94p+0 +0x1.31c2acp-1 +0x1p+0 +0x1p+0 +0x1p+0 +0x1.b47948p+0 +0x1.78d5eap+51 +0x1.01316ep+0 +0x1.4a937cp+0 +0x1.1ba54ap+1 +0x1.6ba304p+0 +0x1.3591c6p-1 +0x1p+0 +0x1.08a91ap+8 +0x1.19ade8p+0 +0x1.01535ap+0 +0x1.317184p-1 +0x1.36f9a4p+2 +0x1.7f08a8p+0 +0x1p+0 +0x1.00013p+0 +0x1.ff478p-1 +0x1.27e0d2p+0 +0x1.0ecbacp+7 +0x1.8dd6acp+0 +0x1.100ecep+0 +0x1.25edd8p+8 +0x1.198a9p+0 +0x1p+0 +0x1.5c6cc2p+1 +0x1.016276p+0 +0x1.329f88p-1 +0x1.9e35ap+0 +0x1.004612p+0 +0x1.fb9b82p-1 +0x1.000d84p+0 +0x1.43e8a8p+0 +0x1.57e548p+1 +0x1.057f18p+0 +0x1.a6dfbep+7 +0x1p+0 +0x1.341ce2p-1 +0x1p+0 +0x1p+0 +0x1.fcbce2p+56 +0x1.004454p+0 +0x1.909ec2p-6 +0x1p+0 +0x1.58649p+9 +0x1.4b96e6p+49 +0x1.3ca38cp+0 +0x1.00033ep+0 +0x1.0099f4p+0 +0x1p+0 +0x1.21869p+8 +0x1p+0 +0x1.65b514p+16 +0x1p+0 +0x1.740878p+3 +0x1.a4cea2p+43 +0x1.b143fep+0 +0x1.25ed36p+4 +0x1.003d7ap+0 +0x1.0d82d4p+1 +0x1.3389ap-1 +0x1p+0 +0x1.11a222p+3 +0x1.983f38p+3 +0x1.000162p+0 +0x1.46b986p+0 +0x1.3e3e9cp+8 +0x1.58747p+0 +0x1.45632cp+0 +0x1.3f738cp+3 +0x1.00d0bp+0 +0x1.5dca1p+0 +0x1p+0 +0x1.43257p+0 +0x1.0b38fap+0 +0x1.1ca4aep+8 +0x1p+0 +0x1p+0 +0x1.319a2p-1 +0x1.2d4fd4p+5 +0x1.02f006p+0 +0x1.e0c05ap+4 +0x1.98f464p+0 +0x1.05db3ap+8 +0x1.a2bd9ep+2 +0x1.a05a58p+0 +0x1.8bf254p+5 +0x1.3eb04cp+4 +0x1.3140a6p-1 +0x1.011d98p+0 +0x1p+0 +0x1.000ac8p+0 +0x1.3b2774p+10 +0x1.44d29p+0 +0x1p+0 +0x1.009f9ep+0 +0x1.0a8702p+2 +0x1.1349bep+1 +0x1.a585b4p+7 +0x1.00f23cp+0 +0x1.338168p+0 +0x1p+0 +0x1.3e7816p+14 +0x1.0e9d14p+0 +0x1.8f53ccp+1 +0x1.28c922p+0 +0x1.6bb30ep+15 +0x1.b58932p+14 +0x1.1c682p+0 +0x1.00846p+0 +0x1.00240cp+0 +0x1.000674p+0 +0x1.2c71ep+3 +0x1.750298p+67 +0x1.364684p+0 +0x1.134676p+16 +0x1.47a244p+0 +0x1p+0 +0x1.dee22ep-1 +0x1.3e8204p+9 +0x1.00007p+0 +0x1.31f1e6p-1 +0x1p+0 +0x1.a187f8p+7 +0x1.0097e4p+0 +0x1.08e1b2p+0 +0x1.0e3e7ap+0 +0x1.0006fap+0 +0x1p+0 +0x1.358ca6p+7 +0x1.83bcacp+3 +0x1.4603f4p+0 +0x1.3093c8p+0 +0x1.5c6cap+1 +0x1.1f5efcp+0 +0x1.6ba3e8p+0 +0x1.cba7b2p+7 +0x1.015e1ep+0 +0x1.b85f58p+6 +0x1.dc835ep+1 +0x1.000598p+0 +0x1.f9551ap-1 +0x1p+0 +0x1p+0 +0x1.0a67fp+0 +0x1.1bdf58p+0 +0x1.f75026p-1 +0x1.5e3b5p+1 +0x1.3f9b72p+0 +0x1.8ff798p-51 +0x1.0115bap+0 +0x1.4e13fcp+0 +0x1.6d6c54p+5 +0x1.0e7538p+0 +0x1.dcf5d8p-12 +0x1.134aa6p+1 +0x1.b7cc8p+12 +0x1.3e46dap+12 +0x1p+0 +0x1.3fb2fep+0 +0x1p+0 +0x1p+0 +0x1.0f8834p+0 +0x1p+0 +0x1.2f8fc8p-1 +0x1.0032aap+0 +0x1.0134d4p+0 +0x1.0006ecp+0 +0x1.36f9b8p+2 +0x1.d32d7p+43 +0x1.65f516p+1 +0x1.a71662p+5 +0x1.02731cp+2 +0x1.00002cp+0 +0x1.090ap+0 +0x1.8ce46ep+6 +0x1.0001bp+0 +0x1.003c82p+0 +0x1.a2cb78p+5 +0x1.1b3cc6p+0 +0x1p+0 +0x1.000698p+0 +0x1p+0 +0x1p+0 +0x1.0a01d2p+50 +0x1.000b52p+0 +0x1.63092ep+0 +0x1.0011fcp+0 +0x1.684b74p+2 +0x1.782834p+49 +0x1.213286p+0 +0x1.2b13b6p+9 +0x1.383ep+0 +0x1.f91f5cp+2 +0x1.bf1f3cp+7 +0x1.3e44f4p+7 +0x1p+0 +0x1.4637a4p+0 +0x1.3e8c48p+12 +0x1.192a3cp+8 +0x1.0008c2p+0 +0x1p+0 +0x1.01a4b6p+8 +0x1.0002d8p+0 +0x1.001054p-6 +0x1p+0 +0x1.275d2cp+0 +0x1.320582p-1 +0x1.02643ep+0 +0x1.aa4074p+5 +0x1.02528cp+0 +0x1.0adc1p+7 +0x1.e25f42p-1 +0x1p+0 +0x1.0076ap+0 +0x1.0008acp+0 +0x1.783ba4p+3 +0x1.01af66p+0 +0x1.192eep+0 +0x1.132ea6p+7 +0x1.a93964p+2 +0x1.9bc85p+14 +0x1.1e3f46p+8 +0x1.1d8db6p+13 +0x1.0007cap+0 +0x1.2fa568p-1 +0x1.3e8fd4p+12 +0x1.2f5bf6p-1 +0x1.a0994cp+14 +0x1.7ed6b2p+0 +0x1.0f2b1ap+0 +0x1.4ab6e6p+1 +0x1.04c838p+8 +0x1.000034p+0 +0x1p+0 +0x1.eadcd6p-1 +0x1.00008p+0 +0x1.12103cp-1 +0x1p+0 +0x1p+0 +0x1.2f93bp-1 +0x1.7b4b16p+5 +0x1.38fe8cp+6 +0x1p+0 +0x1.36f96cp+2 +0x1.716462p+39 +0x1.000048p+0 +0x1.7c680ep+4 +0x1p+0 +0x1.28cbfap+0 +0x1.a416eap+41 +0x1p+0 +0x1.57e51p+1 +0x1.0004f4p+0 +0x1p+0 +0x1.3167b6p-1 +0x1.984032p+3 +0x1.04f21ep+0 +0x1p+0 +0x1.73ed4p+2 +0x1.0f4eb8p+8 +0x1p+0 +0x1.2df9p+5 +0x1.54bbf8p+2 +0x1.0bf9a4p+0 +0x1.a91d34p+63 +0x1.130ed8p+0 +0x1p+0 +0x1.00036ap+0 +0x1.3ae7aep+8 +0x1.16524ap+8 +0x1.9f774ap+0 +0x1.ba601cp+2 +0x1.bb2f0cp+12 +0x1.a93bd4p+2 +0x1.32e318p+0 +0x1.0ab44ap+0 +0x1p+0 +0x1.2f871ep-1 +0x1p+0 +0x1.a78356p+7 +0x1.001e8cp+0 +0x1.4a08dap+5 +0x1.069e1cp+0 +0x1.e3e184p+1 +0x1.f60012p+18 +0x1p+0 +0x1.b8600ep+6 +0x1.300bc6p-1 +0x1.76f83cp+6 +0x1.16f978p+0 +0x1.0003a4p+0 +0x1.0b4f22p+7 +0x1.37409cp+0 +0x1p+0 +0x1.3e95dp+12 +0x1.00098p+0 +0x1.004038p+0 +0x1.301bfep-1 +0x1p+0 +0x1.9c872ep+0 +0x1.378344p+16 +0x1.18c55cp+0 +0x1.274a0ep-20 +0x1.2811b2p+0 +0x1p+0 +0x1.ba668cp+12 +0x1.7f2c8ap+13 +0x1.0f72fcp+8 +0x1.6308a6p+0 +0x1.b0cac6p+13 +0x1.4837p+0 +0x1p+0 +0x1.40bd6cp+0 +0x1p+0 +0x1.39133p+12 +0x1.c62f4cp+46 +0x1.0004bcp+0 +0x1.12257ap+8 +0x1p+0 +0x1.85645cp+9 +0x1.4cb85ep+0 +0x1p+0 +0x1.a234a8p-1 +0x1p+0 +0x1p+0 +0x1.3cf408p-27 +0x1.0e263ep+1 +0x1.00026p+0 +0x1p+0 +0x1p+0 +0x1.332f2cp-1 +0x1.04bb28p+0 +0x1.4a67cap+0 +0x1.0003dcp+0 +0x1p+0 +0x1.3482d4p-1 +0x1.134a04p+1 +0x1p+0 +0x1.9000ecp+4 +0x1p+0 +0x1.2f4e26p-1 +0x1.0395dp+9 +0x1.38dbb4p+11 +0x1p+0 +0x1.049432p+0 +0x1.1a9a96p+8 +0x1.54bcd2p+2 +0x1.14487cp+0 +0x1.020458p+0 +0x1.000b9p+0 +0x1.32254cp-1 +0x1.73ed2ep+2 +0x1p+0 +0x1.3d8be4p+0 +0x1.3e96d4p+15 +0x1.ffa44cp-1 +0x1.11a334p+3 +0x1.08317p+0 +0x1.000238p+0 +0x1.3e498p+9 +0x1.3389eap-1 +0x1.36f9ccp+2 +0x1.0bbe0ap+0 +0x1.0b53f4p+8 +0x1p+0 +0x1.0e42d2p+0 +0x1.d22332p+18 +0x1p+0 +0x1.05197ep+0 +0x1.205a74p+1 +0x1p+0 +0x1.0086dp+0 +0x1p+0 +0x1.296a6cp+0 +0x1.7ced1p+2 +0x1p+0 +0x1p+0 +0x1.0053eep+0 +0x1.09c5dcp+0 +0x1p+0 +0x1.a07194p+9 +0x1.0a151ap+0 +0x1.01e6ccp+0 +0x1.ef2d1p-84 +0x1.8eb89cp+3 +0x1.15dbb6p+0 +0x1.00307ap+0 +0x1.03571ep+0 +0x1.f5292ep-1 +0x1.59f064p+0 +0x1.0e26a8p+1 +0x1.6d6ab4p+5 +0x1.7ad0fcp+6 +0x1.40fc28p+0 +0x1.c6b9p+14 +0x1.071bfcp+0 +0x1.b0cb28p+7 +0x1.1614b2p+1 +0x1.4bdc7ep+0 +0x1.358db8p+7 +0x1.405dp+3 +0x1.0461d4p+0 +0x1p+0 +0x1.a8b5b2p+7 +0x1.130dbap+7 +0x1.259792p+3 +0x1.2fcf92p-1 +0x1.0092d2p+0 +0x1.0fea96p+0 +0x1.000024p+0 +0x1.a0abccp+5 +0x1.3b1076p+0 +0x1.192914p+5 +0x1.85f5dap-9 +0x1.0b2ae8p+0 +0x1.dc84ap+1 +0x1.2121acp+8 +0x1.b144fep+0 +0x1.131a68p+1 +0x1.28131p+0 +0x1.35dc48p+5 +0x1.b81b5p-51 +0x1.0a1caep+0 +0x1.f9ef34p+0 +0x1.95da52p+0 +0x1p+0 +0x1.3032a2p-1 +0x1.1cc56ep+0 +0x1.c77bfcp+0 +0x1.05370ep+0 +0x1.d6d0c6p+2 +0x1.2fbfap-1 +0x1p+0 +0x1.0000b8p+2 +0x1.b8c316p+1 +0x1.00010cp+0 +0x1.028104p+0 +0x1p+0 +0x1.13f12cp+0 +0x1p+0 +0x1p+0 +0x1.fb7e4ep+53 +0x1p+0 +0x1.780d04p+9 +0x1.1973c4p+6 +0x1.b09184p+0 +0x1.b4ed32p+51 +0x1p+0 +0x1.00b82p+0 +0x1.198ba4p+0 +0x1.57b63cp+7 +0x1.0016d4p+0 +0x1p+0 +0x1.01a3e4p+0 +0x1.e8d11ep+44 +0x1.b7e5d4p+13 +0x1.00667cp+0 +0x1.06ed08p+0 +0x1.05f47ap+0 +0x1.4aa86ap+0 +0x1.04aeap+0 +0x1p+0 +0x1p+0 +0x1.3b13a8p+11 +0x1.596846p+47 +0x1.0d8c64p+0 +0x1.0012aap+0 +0x1p+0 From patchwork Fri Oct 25 18:21:47 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 838382 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp444073wri; Fri, 25 Oct 2024 11:29:45 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVAycEs3Ldm981wcdu15uGJeolHqUMaZQYhWZAeBBavxRHzQf+x4Fjgq+jTHw5xMDzYKPg+0w==@linaro.org X-Google-Smtp-Source: AGHT+IGspKBQbmTLqbLKtWscmwkzcm5J89heOqJlpZuC79plL9Y9y2XWwBXbpHlK2GFEoD7IaxhH X-Received: by 2002:a05:6214:451a:b0:6ce:26d0:c7cd with SMTP id 6a1803df08f44-6d185431a74mr8602246d6.2.1729880985217; Fri, 25 Oct 2024 11:29:45 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729880985; cv=pass; d=google.com; s=arc-20240605; b=ES+cLKqlH/Z1Xye4HNmZP/OfBrf4P/4lIlvJwIGPKqCVy7MG8qUEtTWxIEPwwq8Gl6 uip12Zu3lTb/VYz/Ma/91kj+/wlTjp741a1NeMQje37BPg/o0P3c517iQH/tidaH4uwu VXLzXsgtOVwqCdTStjwn0agtGk2EfRLUluB4Lo4mP2E3dDMGp27I7UapjxT9hVOM8THv UXV1moUqfq6I5tzg8Hf99gajvH0OwxA2/u8Zbk/6d+QrTDY32h8R6iclUSXXHl78WLAr xvW4EsvC7tBzSkrC6mj6dT8N3tyQrGmL+2li56XNcuaDrpLin+OSTid3aVubKTuR86Ze UCWg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=sluZWnT1OXlLDwj6yswIHUjQpV85RNsGq6xq1ZtpeFc=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=hunFOLtvU/FojFYYYezB89GOyv4PWpou4hp9LtAxML8hJtvTEOBRoHC1X4oadrtawT 87lrMwlZ9cv6GHzYli1c/E/UKaqNHFJuM6nuU/0vuov7DodRLOT0ZlP/0F8ZlDQWCgCI Uix2GHPpAYQXnrx45NmNN5ued9i80UStTMcRr5+mXAaSCFLTkFj2ep4PIrTGLIz+VouO 5Da3QtDCUxyTY5P5w4GYUkrEcA+1yT/HSrfAft4DaIsoVjs0GVg/bpi7r1LjzY7qgH5X gkC+t6eZmr8gDiAKQelk5drzDhIoQ6DfaWCbtEt+G6BQ+F2OsIsuqIX3uwF4bYD/Jp+T H+bg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=iz2Ram52; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id 6a1803df08f44-6d1799004e8si20764246d6.132.2024.10.25.11.29.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:29:45 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=iz2Ram52; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CFE853858D21 for ; Fri, 25 Oct 2024 18:29:44 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com [IPv6:2607:f8b0:4864:20::62b]) by sourceware.org (Postfix) with ESMTPS id 554FC3858CDB for ; Fri, 25 Oct 2024 18:26:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 554FC3858CDB Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 554FC3858CDB Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62b ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880821; cv=none; b=pMKO7KnyUor74TCdSC9qz++334EUSF8jHELy93XSgdm2LJ4/8fs1S4RgXHE9BwtcHtsIl1bQ/TtB87Ftb2ooiEn6nHWiorBm/ik6j3zVgwdWFOaxSEvWQzMJ+83o3Gxr30vRft/8GcDwTUSaymkB19YmjDZ2kJd4vsRFHWxoKMU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880821; c=relaxed/simple; bh=fyUo5pCyc2i51n2DsK8A5hJMh5yxTHnMDtKjTOwAghc=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=R4In4FTz96Ecu7wJyZiTtuDJSnHN6r1dB3L06HG/AyzLH2wFnEjkFHBddGXYOHAsVbUb48u04AkMPoQ7Q6r8gmC4VW0qbxOyJqPzSZbuDbMxo2h7QdjfhQbB+83eRkAFgXMhFzn4nh+5d1NcUS7gzfORcEt+ROU0/dWL7F1L/3w= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-20c803787abso18497835ad.0 for ; Fri, 25 Oct 2024 11:26:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880813; x=1730485613; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sluZWnT1OXlLDwj6yswIHUjQpV85RNsGq6xq1ZtpeFc=; b=iz2Ram52BuPDvEw2RTwqfRyL8uOf4VlqRmGUp1EuHVcT3dvSQkSqfCU8zQRoePTRty IjdBK9AusxSYdHCpUr7T3pTQNqtjQDthA8xTSHRyvaTw2gxIH2BOlM3QemkYC+6/h1wk FfgI1EJAwgrNjwnY7PH/WS8KePdFUFGys0Z+oz8ubTpacXD64vHXsLzusyRZA9yqASAx 47mzy9NpQtQbCJHFsnLXiZKekQTG6ckjrZMLeaXhx+vbJzt5EMsXeEhUB609L+gyQfNE qIcwCx/t0hw59nh+4dKbkcNWqVn5ZuPolNIsi5fJPFVF8k1A1/58sNARvtdH4tymNl7y JyUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880813; x=1730485613; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sluZWnT1OXlLDwj6yswIHUjQpV85RNsGq6xq1ZtpeFc=; b=vO1aHgfSTQupmLfNS93rq7uaRtLf29DNrKZ6cZU4u23PLYuBlSHoMdQtnfrhEuma2o WIWWFAnnmKxdjOj0i4/pYCpDomHD9Xtj5i6wPlBLpCVD11xNzKDR6+LsClGjC7pquVT/ 9Ob0ebRP7Sxz12872umuLdAkP/QzUpDGV8o9RArZ0g8qzFhEBu/MT69+93taCz9YPBA2 4HIh96XzhKuUZd7HIUCcxtVjwpBIb1ikj+U+kLXPpfw/n7bg3ngIAfo40s0qveLKIcpK yGhqAnAseDPs8S8/RFcV6nwDvvdLCFcZJ7z0nU26ORd8wZirPrjKnUlOViJGzY0dQGHs n9IA== X-Gm-Message-State: AOJu0YyNHGzXy3MjEdFbTgM/7Zi1PSW5HJSUt/RjK0zkmA7B9hLNXX2m Acc/QU02Dv+UnlHnlIScroIOdLX0Gx1WDFCBl868pnfe1IY3hCBJ3U8hYxz0wpkI1j3KbB31TaD B X-Received: by 2002:a17:902:d50a:b0:20b:5ef8:10a6 with SMTP id d9443c01a7336-210c5967553mr5606895ad.8.1729880812452; Fri, 25 Oct 2024 11:26:52 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.26.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:26:50 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 09/17] math: Use exp10m1f from CORE-MATH Date: Fri, 25 Oct 2024 15:21:47 -0300 Message-ID: <20241025182614.2022697-10-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org The CORE-MATH implementation is correctly rounded (for any rounding mode) and shows better performance compared to the generic exp10m1f. The code was adapted to glibc style and to use the definition of math_config.h (to handle errno, overflow, and underflow). I mostly fixed some small issues in corner cases (sNaN handling, -INFINITY, a specific overflow check). Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (Neoverse-N1, gcc 13.3.1), and powerpc (POWER10, gcc 13.2.1): Latency master patched improvement x86_64 45.4690 49.5845 -9.05% x86_64v2 46.1604 36.2665 21.43% x86_64v3 37.8442 31.0359 17.99% i686 121.367 93.0079 23.37% aarch64 21.1126 15.0165 28.87% power10 12.7426 8.4929 33.35% reciprocal-throughput master patched improvement x86_64 19.6005 17.4005 11.22% x86_64v2 19.6008 11.1977 42.87% x86_64v3 17.5427 10.2898 41.34% i686 59.4215 60.9675 -2.60% aarch64 13.9814 7.9173 43.37% power10 6.7814 6.4258 5.24% The generic implementation calls __ieee754_exp10f which has an optimized version, although it is not correctly rounded, which is the main culprit of the the latency difference for x86_64 and throughp for i686. Signed-off-by: Alexei Sibidanov Signed-off-by: Paul Zimmermann Signed-off-by: Adhemerval Zanella --- SHARED-FILES | 4 + sysdeps/aarch64/libm-test-ulps | 4 - sysdeps/arc/fpu/libm-test-ulps | 1 - sysdeps/arc/nofpu/libm-test-ulps | 1 - sysdeps/arm/libm-test-ulps | 4 - sysdeps/hppa/fpu/libm-test-ulps | 4 - sysdeps/i386/fpu/libm-test-ulps | 4 - .../i386/i686/fpu/multiarch/libm-test-ulps | 4 - sysdeps/ieee754/flt-32/s_exp10m1f.c | 225 ++++++++++++++++++ sysdeps/loongarch/lp64/libm-test-ulps | 4 - sysdeps/m68k/m680x0/fpu/libm-test-ulps | 4 - sysdeps/mips/mips32/libm-test-ulps | 4 - sysdeps/mips/mips64/libm-test-ulps | 4 - sysdeps/powerpc/fpu/libm-test-ulps | 4 - sysdeps/powerpc/nofpu/libm-test-ulps | 4 - sysdeps/riscv/nofpu/libm-test-ulps | 1 - sysdeps/riscv/rvd/libm-test-ulps | 4 - sysdeps/s390/fpu/libm-test-ulps | 4 - sysdeps/sparc/fpu/libm-test-ulps | 4 - sysdeps/x86_64/fpu/libm-test-ulps | 4 - 20 files changed, 229 insertions(+), 63 deletions(-) create mode 100644 sysdeps/ieee754/flt-32/s_exp10m1f.c diff --git a/SHARED-FILES b/SHARED-FILES index 2aefac8a95..a1dd3878f9 100644 --- a/SHARED-FILES +++ b/SHARED-FILES @@ -231,3 +231,7 @@ sysdeps/ieee754/flt-32/e_gammaf_r.c - replace 0x1p127f * 0x1p127f by math_narrow_eval (x * 0x1p127f) - replace 0x1p-127f * sgn[k&1] by math_narrow_eval (0x1p-127f * sgn[k&1]) - add libm_alias_finite (__ieee754_gammaf_r, __gammaf_r) at the end +sysdeps/ieee754/flt-32/s_exp10m1f.c + (file src/binary32/exp10m1/exp10m1f.c in CORE_MATH) + - The code was adapted to use glibc code style and internal + functions to handle errno, overflow, and underflow. diff --git a/sysdeps/aarch64/libm-test-ulps b/sysdeps/aarch64/libm-test-ulps index 8c333fcd29..00832393f6 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -1083,22 +1083,18 @@ ldouble: 3 Function: "exp10m1": double: 4 -float: 2 ldouble: 3 Function: "exp10m1_downward": double: 3 -float: 3 ldouble: 6 Function: "exp10m1_towardzero": double: 2 -float: 3 ldouble: 6 Function: "exp10m1_upward": double: 5 -float: 3 ldouble: 6 Function: "exp2": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index d1665b9b72..ad4ae4c632 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -789,7 +789,6 @@ float: 1 Function: "exp10m1": double: 4 -float: 2 Function: "exp10m1_downward": double: 3 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index e768024eb5..4cecea6919 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -194,7 +194,6 @@ float: 1 Function: "exp10m1": double: 3 -float: 2 Function: "exp2": double: 1 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index 21fe98a7bd..bcbe82ca34 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -779,19 +779,15 @@ float: 1 Function: "exp10m1": double: 3 -float: 2 Function: "exp10m1_downward": double: 3 -float: 3 Function: "exp10m1_towardzero": double: 2 -float: 3 Function: "exp10m1_upward": double: 4 -float: 4 Function: "exp2": double: 1 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index 57c1155e8b..3dc1f2f8c3 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -798,19 +798,15 @@ float: 1 Function: "exp10m1": double: 4 -float: 2 Function: "exp10m1_downward": double: 3 -float: 3 Function: "exp10m1_towardzero": double: 2 -float: 3 Function: "exp10m1_upward": double: 5 -float: 4 Function: "exp2": double: 1 diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index d13b05a220..96d02334e4 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -1155,25 +1155,21 @@ ldouble: 2 Function: "exp10m1": double: 3 -float: 1 float128: 3 ldouble: 4 Function: "exp10m1_downward": double: 3 -float: 3 float128: 6 ldouble: 6 Function: "exp10m1_towardzero": double: 2 -float: 2 float128: 6 ldouble: 5 Function: "exp10m1_upward": double: 5 -float: 3 float128: 6 ldouble: 6 diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index 0a813aa8dd..c18e2bc8de 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -1158,25 +1158,21 @@ ldouble: 2 Function: "exp10m1": double: 3 -float: 1 float128: 3 ldouble: 4 Function: "exp10m1_downward": double: 3 -float: 3 float128: 6 ldouble: 6 Function: "exp10m1_towardzero": double: 2 -float: 2 float128: 6 ldouble: 5 Function: "exp10m1_upward": double: 5 -float: 3 float128: 6 ldouble: 6 diff --git a/sysdeps/ieee754/flt-32/s_exp10m1f.c b/sysdeps/ieee754/flt-32/s_exp10m1f.c new file mode 100644 index 0000000000..610f269b01 --- /dev/null +++ b/sysdeps/ieee754/flt-32/s_exp10m1f.c @@ -0,0 +1,225 @@ +/* Implementation of the exp10m1 function for binary32. + +Copyright (c) 2022-2024 Alexei Sibidanov. Paul Zimmermann. + +The original version of this file was copied from the CORE-MATH +project (file src/binary32/exp10m1/exp10m1f.c, revision d680516). + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + */ + +#include +#include "math_config.h" +#include + +float +__exp10m1f (float x) +{ + const double iln10h = 0x1.a934f09p+1 * 16; + const double iln10l = 0x1.e68dc57f2496p-29 * 16; + double z = x; + uint32_t ux = asuint (x); + uint32_t ax = ux & (~0u >> 1); + if (__glibc_unlikely (ux > 0xc0f0d2f1u)) + { /* x < -7.52575 */ + if (ax > (0xffu << 23)) + return x + x; /* nan */ + return (ux == 0xff800000) ? -0x1p+0 : -0x1p+0 + 0x1p-26f; + } + else if (__glibc_unlikely (ax > 0x421a209au)) + { /* x > 38.5318 */ + if (ax >= asuint (INFINITY)) + return x + x; /* +Inf or NaN */ + return __math_oflowf (0); + } + else if (__glibc_unlikely (ax < 0x3d89c604u)) + { /* |x| < 0.1549/log(10) */ + double z2 = z * z, r; + if (__glibc_unlikely (ax < 0x3d1622fbu)) + { /* |x| < 8.44e-2/log(10) */ + if (__glibc_unlikely (ax < 0x3c8b76a3u)) + { /* |x| < 3.92e-2/log(10) */ + if (__glibc_unlikely (ax < 0x3bcced04u)) + { /* |x| < 1.44e-2/log(10) */ + if (__glibc_unlikely (ax < 0x3acf33ebu)) + { /* |x| < 3.64e-3/log(10 */ + if (__glibc_unlikely (ax < 0x395a966bu)) + { /* |x| < 4.8e-4/log(10 */ + if (__glibc_unlikely (ax < 0x36fe4a4bu)) + { /* |x| < 1.745e-5/log(10) */ + if (__glibc_unlikely (ax < 0x32407f39u)) + { /* |x| < 2.58e-8/log(10) */ + if (__glibc_unlikely (ax < 0x245e5bd9u)) + { /* |x| < 4.82164e-17 */ + r = 0x1.26bb1bbb55516p+1; + } + else + { + if (__glibc_unlikely (ux == 0x2c994b7bu)) + return 0x1.60f974p-37f - 0x1p-90f; + r = 0x1.26bb1bbb55516p+1 + + z * 0x1.53524c73cea69p+1; + } + } + else + { + if (__glibc_unlikely (ux == 0xb6fa215bu)) + return -0x1.1ff87ep-16 + 0x1p-68; + r = 0x1.26bb1bbb55516p+1 + + z * (0x1.53524c73ea62fp+1 + + z * 0x1.0470591de2c75p+1); + } + } + else + { + static const double cp[] = + { + 0x1.26bb1bbb55515p+1, 0x1.53524c73cea69p+1, + 0x1.0470595038cc2p+1, 0x1.2bd7609fe1561p+0 + }; + r = (cp[0] + z * cp[1]) + + z2 * (cp[2] + z * cp[3]); + } + } + else + { + static const double cp[] = + { + 0x1.26bb1bbb55516p+1, 0x1.53524c73ce6dbp+1, + 0x1.0470591de3024p+1, 0x1.2bd76b79060e6p+0, + 0x1.1429ffd3a963dp-1 + }; + r = (cp[0] + z * cp[1]) + + z2 * (cp[2] + z * (cp[3] + z * cp[4])); + } + } + else + { + static const double cp[] = + { + 0x1.26bb1bbb55516p+1, 0x1.53524c73cea67p+1, + 0x1.0470591dc2953p+1, 0x1.2bd760a004d64p+0, + 0x1.142a85da6f072p-1, 0x1.a7ed70725b00ep-3 + }; + r = (cp[0] + z * cp[1]) + z2 + * ((cp[2] + z * cp[3]) + + z2 * (cp[4] + z * cp[5])); + } + } + else + { + static const double cp[] = + { + 0x1.26bb1bbb55516p+1, 0x1.53524c73ceadep+1, + 0x1.0470591de2bb4p+1, 0x1.2bd76099a9d33p+0, + 0x1.1429ffd829b0bp-1, 0x1.a7f2a6a0f7dc8p-3, + 0x1.16e4dfbce0f56p-4 + }; + r = (cp[0] + z * cp[1]) + + z2 * ((cp[2] + z * cp[3]) + + z2 * (cp[4] + z * (cp[5] + z * cp[6]))); + } + } + else + { + static const double cp[] = + { + 0x1.26bb1bbb55515p+1, 0x1.53524c73cea6ap+1, + 0x1.0470591de476p+1, 0x1.2bd7609fd4ee2p+0, + 0x1.1429ff70a9b48p-1, 0x1.a7ed71259ba5bp-3, + 0x1.16f3004fb3ac1p-4, 0x1.4116b0388aa9fp-6 + }; + r = ((cp[0] + z * cp[1]) + z2 * (cp[2] + z * cp[3])) + + (z2 * z2) * ((cp[4] + z * cp[5]) + z2 * (cp[6] + + z * cp[7])); + } + } + else + { + static const double cp[] = + { + 0x1.26bb1bbb55515p+1, 0x1.53524c73cea42p+1, 0x1.0470591de2d1dp+1, + 0x1.2bd760a010a53p+0, 0x1.1429ffd16170cp-1, 0x1.a7ed6b2a0d97fp-3, + 0x1.16e4e37fa51e4p-4, 0x1.4147fe4c1676fp-6, 0x1.4897c4b3e329ap-8 + }; + r = ((cp[0] + z * cp[1]) + z2 * (cp[2] + z * cp[3])) + + (z2 * z2) * ((cp[4] + z * cp[5]) + + z2 * (cp[6] + z * (cp[7] + z * cp[8]))); + } + r *= z; + return r; + } + else + { + /* -7.52575 < x < -0.1549/log(10) or 0.1549/log(10) < x < 38.5318 */ + static const double tb[] = + { + 0x1p+0, 0x1.0b5586cf9890fp+0, 0x1.172b83c7d517bp+0, + 0x1.2387a6e756238p+0, 0x1.306fe0a31b715p+0, 0x1.3dea64c123422p+0, + 0x1.4bfdad5362a27p+0, 0x1.5ab07dd485429p+0, 0x1.6a09e667f3bcdp+0, + 0x1.7a11473eb0187p+0, 0x1.8ace5422aa0dap+0, 0x1.9c49182a3f09p+0, + 0x1.ae89f995ad3adp+0, 0x1.c199bdd85529cp+0, 0x1.d5818dcfba487p+0, + 0x1.ea4afa2a490dap+0 + }; + static const double c[] = + { + 0x1.62e42fefa398bp-5, 0x1.ebfbdff84555ap-11, 0x1.c6b08d4ad86d3p-17, + 0x1.3b2ad1b1716a2p-23, 0x1.5d7472718ce9dp-30, 0x1.4a1d7f457ac56p-37 + }; + + if (__glibc_unlikely ((ux << 11) == 0)) + { + uint32_t k = (ux >> 21) - 0x1fc; + if (k <= 0xb) + { + if (k == 0) + return 10.0f - 1.0f; + if (k == 4) + return 100.0f - 1.0f; + if (k == 6) + return 1000.0f - 1.0f; + if (k == 8) + return 10000.0f - 1.0f; + if (k == 9) + return 100000.0f - 1.0f; + if (k == 10) + return 1000000.0f - 1.0f; + if (k == 11) + return 10000000.0f - 1.0f; + } + } + double a = iln10h * z; + double ia = floor (a); + double h = (a - ia) + iln10l * z; + int64_t i = ia; + int64_t j = i & 0xf; + int64_t e = i - j; + e >>= 4; + double s = tb[j]; + s *= asdouble ((e + 0x3ffull) << 52); + double h2 = h * h; + double c0 = c[0] + h * c[1]; + double c2 = c[2] + h * c[3]; + double c4 = c[4] + h * c[5]; + c0 += h2 * (c2 + h2 * c4); + double w = s * h; + return (s - 1.0) + w * c0; + } +} +libm_alias_float (__exp10m1, exp10m1) diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index 75e21ee2a8..de7e526008 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -977,22 +977,18 @@ ldouble: 3 Function: "exp10m1": double: 4 -float: 2 ldouble: 3 Function: "exp10m1_downward": double: 3 -float: 3 ldouble: 6 Function: "exp10m1_towardzero": double: 2 -float: 3 ldouble: 6 Function: "exp10m1_upward": double: 5 -float: 3 ldouble: 6 Function: "exp2": diff --git a/sysdeps/m68k/m680x0/fpu/libm-test-ulps b/sysdeps/m68k/m680x0/fpu/libm-test-ulps index 73e98eb479..96cd7b3fd5 100644 --- a/sysdeps/m68k/m680x0/fpu/libm-test-ulps +++ b/sysdeps/m68k/m680x0/fpu/libm-test-ulps @@ -882,19 +882,15 @@ ldouble: 3 Function: "exp10m1": double: 1 -float: 1 Function: "exp10m1_downward": double: 1 -float: 1 Function: "exp10m1_towardzero": double: 1 -float: 1 Function: "exp10m1_upward": double: 3 -float: 1 Function: "exp2": double: 1 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index cc1600c2ab..829da3ebf1 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -779,19 +779,15 @@ float: 1 Function: "exp10m1": double: 3 -float: 2 Function: "exp10m1_downward": double: 3 -float: 3 Function: "exp10m1_towardzero": double: 2 -float: 3 Function: "exp10m1_upward": double: 4 -float: 4 Function: "exp2": double: 1 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index 88dbb20401..5c7b050b11 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -978,22 +978,18 @@ ldouble: 3 Function: "exp10m1": double: 3 -float: 2 ldouble: 3 Function: "exp10m1_downward": double: 3 -float: 3 ldouble: 6 Function: "exp10m1_towardzero": double: 2 -float: 3 ldouble: 6 Function: "exp10m1_upward": double: 4 -float: 4 ldouble: 6 Function: "exp2": diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index dcefbcefcf..30ddbaf05f 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -1186,25 +1186,21 @@ ldouble: 4 Function: "exp10m1": double: 4 -float: 2 float128: 3 ldouble: 4 Function: "exp10m1_downward": double: 3 -float: 3 float128: 6 ldouble: 9 Function: "exp10m1_towardzero": double: 2 -float: 3 float128: 6 ldouble: 9 Function: "exp10m1_upward": double: 5 -float: 3 float128: 6 ldouble: 8 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index 14be978dc3..e15e1f8fc0 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -987,22 +987,18 @@ ldouble: 4 Function: "exp10m1": double: 3 -float: 2 ldouble: 3 Function: "exp10m1_downward": double: 3 -float: 3 ldouble: 9 Function: "exp10m1_towardzero": double: 2 -float: 3 ldouble: 9 Function: "exp10m1_upward": double: 4 -float: 4 ldouble: 10 Function: "exp2": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index 4adad138b0..2271e1ee6c 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -974,7 +974,6 @@ ldouble: 3 Function: "exp10m1": double: 2 -float: 1 ldouble: 1 Function: "exp2": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index 07a8794e48..0bc61bf3c8 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -977,22 +977,18 @@ ldouble: 3 Function: "exp10m1": double: 4 -float: 2 ldouble: 3 Function: "exp10m1_downward": double: 3 -float: 3 ldouble: 6 Function: "exp10m1_towardzero": double: 2 -float: 3 ldouble: 6 Function: "exp10m1_upward": double: 5 -float: 3 ldouble: 6 Function: "exp2": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index 6e4084ae37..860479f3ff 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -978,22 +978,18 @@ ldouble: 3 Function: "exp10m1": double: 4 -float: 2 ldouble: 3 Function: "exp10m1_downward": double: 3 -float: 3 ldouble: 6 Function: "exp10m1_towardzero": double: 2 -float: 3 ldouble: 6 Function: "exp10m1_upward": double: 5 -float: 3 ldouble: 6 Function: "exp2": diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index ccb6c794e7..4d8064b543 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -978,22 +978,18 @@ ldouble: 3 Function: "exp10m1": double: 3 -float: 2 ldouble: 3 Function: "exp10m1_downward": double: 3 -float: 3 ldouble: 6 Function: "exp10m1_towardzero": double: 2 -float: 3 ldouble: 6 Function: "exp10m1_upward": double: 4 -float: 4 ldouble: 6 Function: "exp2": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 80d0125642..3f438c2090 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1431,25 +1431,21 @@ float: 1 Function: "exp10m1": double: 4 -float: 2 float128: 3 ldouble: 4 Function: "exp10m1_downward": double: 3 -float: 3 float128: 6 ldouble: 6 Function: "exp10m1_towardzero": double: 2 -float: 3 float128: 6 ldouble: 5 Function: "exp10m1_upward": double: 5 -float: 4 float128: 6 ldouble: 6 From patchwork Fri Oct 25 18:21:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 838384 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp444161wri; Fri, 25 Oct 2024 11:29:55 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCU4zxrNspv7prL2TYvffgk8fb9PjgdjQueujcDRhLx8DUYEoUx8sSEvIsdIzMlP2CerZui7hA==@linaro.org X-Google-Smtp-Source: AGHT+IEMQw40XL+R6dy817L3Qe8mqYagmfBHqDhDSfnfmNkmF7AHGtLlmNI6qxqBjj7T14Dzuc6a X-Received: by 2002:a05:622a:351:b0:458:3a65:1d0d with SMTP id d75a77b69052e-4613bfc86acmr2797501cf.6.1729880995647; Fri, 25 Oct 2024 11:29:55 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729880995; cv=pass; d=google.com; s=arc-20240605; b=Ew6SGv+kXejMObAGAnt5AqBttUI+BddcMhxZMmtYW0TVJGRyfHM/8BRIkQZ7DaGUe7 BhtTgGQ50wjYY47fvA5CZToQKAGnmTGsaQlBpXWVBvbZZ52lAcf4kkLo/+xTD99q+BQQ HzvGOnF3tfoHHwOBnnrrLtel0+tAXbjKU6HCYS9ZMNvc7inBITSfXyAcptuc1vOUvNer uGz+maqNQpvd+OBPM8MFrpZtwZmsva4YycebikCDooRa23hosMln+wtuFWnyHx+IJwzM NH2nWEhHxQGIQpahuaG32MFf9Qt7m/pMwA5XqjDVKyEljmKYc0Qd1fSc0VvXytTJuMd9 Znfw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=dzCRLMc5v1YiRcBqIyOPLOytM90MbN38e5scntyeR00=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=IURMCVyzBy3nGbfdV8MUE5p9um3jYsYdIPQhLDKSxphTS1UHRlAKOY+i6shrg+eh5U IBYv/gL0vVGrOiUIS8lNPsD928vU39ociueTuRZCR2oOKgo6JLWUBV69oL948zMRuGYH dZQWUfSDhtpMS+ivypgy3PeUVDvq7Ib/ZQ68V/PyEWCY3IBAMKDAicDXZ/mknW77jnKl KdJOwy1q6R2UU0PJveAzpqAZ+kYfsn+QDt8Opwn+mieiN/LCSmub7VuNhRiCkFZT0So4 5GUDDJjuIA2Wk3N20WY2DyPpgchoipO3JoDp3QnCAgA8czivixHDKS/evXEnrdDwirwb H6+w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="R/XKU1SR"; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id d75a77b69052e-461323d68e9si22266641cf.632.2024.10.25.11.29.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:29:55 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="R/XKU1SR"; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 40CCA385842C for ; Fri, 25 Oct 2024 18:29:55 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) by sourceware.org (Postfix) with ESMTPS id A8CB6385841C for ; Fri, 25 Oct 2024 18:27:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A8CB6385841C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A8CB6385841C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62e ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880835; cv=none; b=Tge6RL5X+TM2StegPnAj5FLvQmFZ8KzRNVY+VHNy1LcvjlbchClxKC002BtvN5KVR2gKRGWJFDv0NugK1fwJKxbQWB/DP45lWqDm6Nxy+v3OaghexWWPfpVYF3ZKqq9F7BrU9FXC+Wl1E++uNcoCxRLQmyyMtJiWd6kegsbN7S4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880835; c=relaxed/simple; bh=9Z70Pdy3z9wVFrkyKHPaAFhA/BcnUfa1W2ZYRsQT+NQ=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=kuSbXCzgw1PwUF5D+AKD3RF6YqeKgYGBCOLncZfa9y79SZHSE55mubscxKmMOH8LTw0Zlp9P68l5LXxrIs86//RX27C5lk5FieHjNAouW2Zl8J+L4kW1dk6NCoPKJ2Rw9oEupUIBEtQnNUrolEcSarbp6Ff/TiaaTPD5sXFhhxE= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-207115e3056so20262945ad.2 for ; Fri, 25 Oct 2024 11:27:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880828; x=1730485628; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dzCRLMc5v1YiRcBqIyOPLOytM90MbN38e5scntyeR00=; b=R/XKU1SRIdX35sjuG0vWDcjHXGN1jYQHMG83Fe9tdWuRlkJCX198wC0M/OVd+F+0jM smJXEM4tbzloZmH5T4vI/3FyDowVGb+2U4P99dJ6GWuSGobeDSC97J19fgA/MoE+EGP8 56wipqzRjH/9qih05ivDpS0qGVROW0S2yuRJp4xz6YjDqKsJZtpO2WC9vYwnbVfBFkse o3JGAkGrRO/YpTV6aDNtcioYmsoKBHLdGFGCD63oWT9urmzZUgg4LnMmgVUMD99rTUt7 VpPQvtLTM5/NoLjpARO4edCvgZOkFJoFr/fRMKqDyu6k4wH1bWsIoik8g3e3FGMnZxJ0 68Ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880828; x=1730485628; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dzCRLMc5v1YiRcBqIyOPLOytM90MbN38e5scntyeR00=; b=Bs57jHAdsCe7WfkEQlGR0rsUZbfBsRcPRzQ16/uIQ2hPmGSIlxSbI+lCBOumayrmlt XVVEcdd6LXEBVUBk7L1qyZNNWNXBMkzzUT6RJO68710d0JW4U6QX0sFzbaovPpPyHM5G dXJILBi2HdS2sNRh7hSBXeXG0+xeyzayAQEhnzSrTjaVZBZyuOchTAKx0Qc1JJjk5TPr ICImWs37yaNLL8ILlIF8588VEjEc+0PQ4iMPEXwudZ+RNnxzIIGtRfRXADCDo9uY0HsW /UOK7cHnbpH9eX3d/iHt5vmYRMprXkaocPBUNz52N57nYlJEk8uw4l6OjXVjK798uLM8 8Iiw== X-Gm-Message-State: AOJu0Yx1qDa4zHwvqCJHklOEWRhyD+yP5I+Rn/a+PgQ+GwCsISfk8MPQ D8YChkqpTTtSdyJCeC/DB8u+uvicJeEYQB+KQcOKHR67/6F9m7uhyaAPNISQjNcWP4pXBneSvUC Q X-Received: by 2002:a17:902:da8f:b0:20c:c1bc:2253 with SMTP id d9443c01a7336-210c69edbeamr868215ad.32.1729880828094; Fri, 25 Oct 2024 11:27:08 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.27.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:27:07 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 10/17] math: Use exp2m1f from CORE-MATH Date: Fri, 25 Oct 2024 15:21:48 -0300 Message-ID: <20241025182614.2022697-11-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org The CORE-MATH implementation is correctly rounded (for any rounding mode) and shows better performance compared to the generic exp2m1f. The code was adapted to glibc style and to use the definition of math_config.h (to handle errno, overflow, and underflow). The only change is to handle FLT_MAX_EXP for FE_DOWNWARD or FE_TOWARDZERO. The benchmark inputs are based on exp2f ones. Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (Neoverse-N1, gcc 13.3.1), and powerpc (POWER10, gcc 13.2.1): Latency master patched improvement x86_64 40.6042 48.7104 -19.96% x86_64v2 40.7506 35.9032 11.90% x86_64v3 35.2301 31.7956 9.75% i686 102.094 94.6657 7.28% aarch64 18.2704 15.1387 17.14% power10 11.9444 8.2402 31.01% reciprocal-throughput master patched improvement x86_64 20.8683 16.1428 22.64% x86_64v2 19.5076 10.4474 46.44% x86_64v3 19.2106 10.4014 45.86% i686 56.4054 59.3004 -5.13% aarch64 12.0781 7.3953 38.77% power10 6.5306 5.9388 9.06% The generic implementation calls __ieee754_exp2f and x86_64 provides an optimized ifunc version (built with -mfma -mavx2, not correctly rounded). This explains the performance difference for x86_64. Same for i686, where the ABI provides an optimized __ieee754_exp2f version built with '-msse2 -mfpmath=sse'. When built wth same flags, the new algorithm shows a better performance: master patched improvement latency 102.094 91.2823 10.59% reciprocal-throughput 56.4054 52.7984 6.39% Signed-off-by: Alexei Sibidanov Signed-off-by: Paul Zimmermann Signed-off-by: Adhemerval Zanella --- SHARED-FILES | 4 + sysdeps/aarch64/libm-test-ulps | 4 - sysdeps/arc/fpu/libm-test-ulps | 4 - sysdeps/arc/nofpu/libm-test-ulps | 1 - sysdeps/arm/libm-test-ulps | 4 - sysdeps/hppa/fpu/libm-test-ulps | 4 - sysdeps/i386/fpu/libm-test-ulps | 4 - .../i386/i686/fpu/multiarch/libm-test-ulps | 4 - sysdeps/ieee754/flt-32/s_exp2m1f.c | 192 ++++++++++++++++++ sysdeps/loongarch/lp64/libm-test-ulps | 4 - sysdeps/m68k/m680x0/fpu/libm-test-ulps | 4 - sysdeps/mips/mips32/libm-test-ulps | 4 - sysdeps/mips/mips64/libm-test-ulps | 4 - sysdeps/powerpc/fpu/libm-test-ulps | 4 - sysdeps/powerpc/nofpu/libm-test-ulps | 4 - sysdeps/riscv/nofpu/libm-test-ulps | 1 - sysdeps/riscv/rvd/libm-test-ulps | 4 - sysdeps/s390/fpu/libm-test-ulps | 4 - sysdeps/sparc/fpu/libm-test-ulps | 4 - sysdeps/x86_64/fpu/libm-test-ulps | 4 - 20 files changed, 196 insertions(+), 66 deletions(-) create mode 100644 sysdeps/ieee754/flt-32/s_exp2m1f.c diff --git a/SHARED-FILES b/SHARED-FILES index a1dd3878f9..5e771cd1c4 100644 --- a/SHARED-FILES +++ b/SHARED-FILES @@ -235,3 +235,7 @@ sysdeps/ieee754/flt-32/s_exp10m1f.c (file src/binary32/exp10m1/exp10m1f.c in CORE_MATH) - The code was adapted to use glibc code style and internal functions to handle errno, overflow, and underflow. +sysdeps/ieee754/flt-32/s_exp2m1f.c + (file src/binary32/exp2m1/exp2m1f.c in CORE_MATH) + - The code was adapted to use glibc code style and internal + functions to handle errno, overflow, and underflow. diff --git a/sysdeps/aarch64/libm-test-ulps b/sysdeps/aarch64/libm-test-ulps index 00832393f6..29ccd1dfe9 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -1127,22 +1127,18 @@ ldouble: 2 Function: "exp2m1": double: 2 -float: 2 ldouble: 2 Function: "exp2m1_downward": double: 3 -float: 3 ldouble: 3 Function: "exp2m1_towardzero": double: 3 -float: 2 ldouble: 4 Function: "exp2m1_upward": double: 3 -float: 3 ldouble: 5 Function: "exp_advsimd": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index ad4ae4c632..fd6d4181f8 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -818,19 +818,15 @@ float: 1 Function: "exp2m1": double: 2 -float: 2 Function: "exp2m1_downward": double: 3 -float: 3 Function: "exp2m1_towardzero": double: 3 -float: 2 Function: "exp2m1_upward": double: 3 -float: 3 Function: "exp_downward": double: 1 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index 4cecea6919..574ae8b8be 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -200,7 +200,6 @@ double: 1 Function: "exp2m1": double: 2 -float: 2 Function: "expm1": double: 1 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index bcbe82ca34..28718c7d2c 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -807,19 +807,15 @@ float: 1 Function: "exp2m1": double: 2 -float: 2 Function: "exp2m1_downward": double: 3 -float: 3 Function: "exp2m1_towardzero": double: 3 -float: 2 Function: "exp2m1_upward": double: 3 -float: 3 Function: "exp_downward": double: 1 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index 3dc1f2f8c3..338ca77ade 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -826,19 +826,15 @@ float: 1 Function: "exp2m1": double: 2 -float: 2 Function: "exp2m1_downward": double: 3 -float: 3 Function: "exp2m1_towardzero": double: 3 -float: 2 Function: "exp2m1_upward": double: 3 -float: 3 Function: "exp_downward": double: 1 diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index 96d02334e4..98a5a538ff 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -1194,25 +1194,21 @@ ldouble: 1 Function: "exp2m1": double: 2 -float: 1 float128: 2 ldouble: 3 Function: "exp2m1_downward": double: 3 -float: 3 float128: 3 ldouble: 6 Function: "exp2m1_towardzero": double: 3 -float: 2 float128: 4 ldouble: 5 Function: "exp2m1_upward": double: 3 -float: 3 float128: 5 ldouble: 6 diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index c18e2bc8de..9afb63bc0f 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -1197,25 +1197,21 @@ ldouble: 1 Function: "exp2m1": double: 2 -float: 1 float128: 2 ldouble: 3 Function: "exp2m1_downward": double: 3 -float: 3 float128: 3 ldouble: 6 Function: "exp2m1_towardzero": double: 3 -float: 2 float128: 4 ldouble: 6 Function: "exp2m1_upward": double: 3 -float: 3 float128: 5 ldouble: 6 diff --git a/sysdeps/ieee754/flt-32/s_exp2m1f.c b/sysdeps/ieee754/flt-32/s_exp2m1f.c new file mode 100644 index 0000000000..f899152d2a --- /dev/null +++ b/sysdeps/ieee754/flt-32/s_exp2m1f.c @@ -0,0 +1,192 @@ +/* Correctly-rounded base-2 exponent function biased by 1 for binary32 value. + +Copyright (c) 2022-2024 Alexei Sibidanov. + +The original version of this file was copied from the CORE-MATH +project (file src/binary32/exp2m1/exp2m1f.c, revision bc385c2). + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#include +#include +#include "math_config.h" +#include +#include +#include + +float +__exp2m1f (float x) +{ + double z = x; + uint32_t ux = asuint (x); + uint32_t ax = ux & (~0u >> 1); + if (__glibc_unlikely (ux >= 0xc1c80000u)) + { /* x <= -25 */ + if (ax > (0xffu << 23)) + return x + x; /* nan */ + return (ux == 0xff800000) ? -0x1p+0 : -0x1p+0 + 0x1p-26f; + } + else if (__glibc_unlikely (ax >= 0x43000000u)) + { /* x >= 128 */ + if (ax >= asuint (INFINITY)) + return x + x; /* +Inf or NaN */ + /* exp2m1 (MAX_EXP) should not overflow when rounding towards zero + or towards -Inf. We round FLT_MAX + 2^103 which is in the middle + between FLT_MAX and 2^128 (the next number with unbounded range). */ + float ret = math_narrow_eval (FLT_MAX + 0x1p103f); + if (x == FLT_MAX_EXP && ret == FLT_MAX) + return ret; + return __math_oflowf (0); + } + else if (__glibc_unlikely (ax < 0x3df95f1fu)) + { /* |x| < 8.44e-2/log(2) */ + double z2 = z * z, r; + if (__glibc_unlikely (ax < 0x3d67a4ccu)) + { /* |x| < 3.92e-2/log(2) */ + if (__glibc_unlikely (ax < 0x3caa2feeu)) + { /* |x| < 1.44e-2/log(2) */ + if (__glibc_unlikely (ax < 0x3bac1405u)) + { /* |x| < 3.64e-3/log(2) */ + if (__glibc_unlikely (ax < 0x3a358876u)) + { /* |x| < 4.8e-4/log(2) */ + if (__glibc_unlikely (ax < 0x37d32ef6u)) + { /* |x| < 1.745e-5/log(2) */ + if (__glibc_unlikely (ax < 0x331fdd82u)) + { /* |x| < 2.58e-8/log(2) */ + if (__glibc_unlikely (ax < 0x2538aa3bu)) + /* |x| < 1.60171e-16 */ + r = 0x1.62e42fefa39efp-1; + else + r = 0x1.62e42fefa39fp-1 + + z * 0x1.ebfbdff82c58fp-3; + } + else + { + if (__glibc_unlikely (ux == 0xb3d85005u)) + return -0x1.2bdf76p-24 - 0x1.8p-77; + if (__glibc_unlikely (ux == 0x3338428du)) + return 0x1.fee08ap-26 + 0x1p-80; + static const double c[] = + { + 0x1.62e42fefa39efp-1, 0x1.ebfbdff8548fdp-3, + 0x1.c6b08d704a06dp-5 + }; + r = c[0] + z * (c[1] + z * c[2]); + } + } + else + { + if (__glibc_unlikely (ux == 0x388bca4fu)) + return 0x1.839702p-15 - 0x1.8p-68; + static const double c[] = + { + 0x1.62e42fefa39efp-1, 0x1.ebfbdff82c58fp-3, + 0x1.c6b08dc82b347p-5, 0x1.3b2ab6fbad172p-7 + }; + r = (c[0] + z * c[1]) + z2 * (c[2] + z * c[3]); + } + } + else + { + static const double c[] = + { + 0x1.62e42fefa39efp-1, 0x1.ebfbdff82c068p-3, + 0x1.c6b08d704a6dcp-5, 0x1.3b2ac262c3eedp-7, + 0x1.5d87fe7af779ap-10 + }; + r = (c[0] + z * c[1]) + + z2 * (c[2] + z * (c[3] + z * c[4])); + } + } + else + { + static const double c[] = + { + 0x1.62e42fefa39fp-1, 0x1.ebfbdff82c58dp-3, + 0x1.c6b08d7011d13p-5, 0x1.3b2ab6fbd267dp-7, + 0x1.5d88a81cea49ep-10, 0x1.430912ea9b963p-13 + }; + r = (c[0] + z * c[1]) + + z2 * ((c[2] + z * c[3]) + z2 * (c[4] + z * c[5])); + } + } + else + { + static const double c[] = + { + 0x1.62e42fefa39efp-1, 0x1.ebfbdff82c639p-3, + 0x1.c6b08d7049f1cp-5, 0x1.3b2ab6f5243bdp-7, + 0x1.5d87fe80a9e6cp-10, 0x1.430d0b9257fa8p-13, + 0x1.ffcbfc4cf0952p-17 + }; + r = (c[0] + z * c[1]) + + z2 * ((c[2] + z * c[3]) + + z2 * (c[4] + z * (c[5] + z * c[6]))); + } + } + else + { + static const double c[] = + { + 0x1.62e42fefa39efp-1, 0x1.ebfbdff82c591p-3, + 0x1.c6b08d704cf6bp-5, 0x1.3b2ab6fba00cep-7, + 0x1.5d87fdfdaadb4p-10, 0x1.4309137333066p-13, + 0x1.ffe5e90daf7ddp-17, 0x1.62c0220eed731p-20 + }; + r = ((c[0] + z * c[1]) + z2 * (c[2] + z * c[3])) + + (z2 * z2) * ((c[4] + z * c[5]) + z2 * (c[6] + z * c[7])); + } + r *= z; + return r; + } + else + { + static const double c[] = + { + 0x1.62e42fefa398bp-5, 0x1.ebfbdff84555ap-11, + 0x1.c6b08d4ad86d3p-17, 0x1.3b2ad1b1716a2p-23, + 0x1.5d7472718ce9dp-30, 0x1.4a1d7f457ac56p-37 + }; + static const double tb[] = + { + 0x1p+0, 0x1.0b5586cf9890fp+0, 0x1.172b83c7d517bp+0, + 0x1.2387a6e756238p+0, 0x1.306fe0a31b715p+0, 0x1.3dea64c123422p+0, + 0x1.4bfdad5362a27p+0, 0x1.5ab07dd485429p+0, 0x1.6a09e667f3bcdp+0, + 0x1.7a11473eb0187p+0, 0x1.8ace5422aa0dap+0, 0x1.9c49182a3f09p+0, + 0x1.ae89f995ad3adp+0, 0x1.c199bdd85529cp+0, 0x1.d5818dcfba487p+0, + 0x1.ea4afa2a490dap+0 + }; + double a = 16.0 * z; + double ia = floor (a); + double h = a - ia; + double h2 = h * h; + int64_t i = ia, j = i & 0xf, e = i - j; + e >>= 4; + double s = tb[j]; + s *= asdouble ((e + 0x3ffull) << 52); + double c0 = c[0] + h * c[1]; + double c2 = c[2] + h * c[3]; + double c4 = c[4] + h * c[5]; + c0 += h2 * (c2 + h2 * c4); + double w = s * h; + return (s - 1.0) + w * c0; + } +} +libm_alias_float (__exp2m1, exp2m1) diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index de7e526008..c6fc9fd4ed 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -1010,22 +1010,18 @@ ldouble: 2 Function: "exp2m1": double: 2 -float: 2 ldouble: 2 Function: "exp2m1_downward": double: 3 -float: 3 ldouble: 3 Function: "exp2m1_towardzero": double: 3 -float: 2 ldouble: 4 Function: "exp2m1_upward": double: 3 -float: 3 ldouble: 5 Function: "exp_downward": diff --git a/sysdeps/m68k/m680x0/fpu/libm-test-ulps b/sysdeps/m68k/m680x0/fpu/libm-test-ulps index 96cd7b3fd5..7fef8942ae 100644 --- a/sysdeps/m68k/m680x0/fpu/libm-test-ulps +++ b/sysdeps/m68k/m680x0/fpu/libm-test-ulps @@ -903,19 +903,15 @@ double: 1 Function: "exp2m1": double: 1 -float: 1 Function: "exp2m1_downward": double: 2 -float: 1 Function: "exp2m1_towardzero": double: 2 -float: 1 Function: "exp2m1_upward": double: 1 -float: 1 Function: "exp_upward": double: 1 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index 829da3ebf1..d8daca6326 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -807,19 +807,15 @@ float: 1 Function: "exp2m1": double: 2 -float: 2 Function: "exp2m1_downward": double: 3 -float: 3 Function: "exp2m1_towardzero": double: 3 -float: 2 Function: "exp2m1_upward": double: 3 -float: 3 Function: "exp_downward": double: 1 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index 5c7b050b11..39e94d5480 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -1014,22 +1014,18 @@ ldouble: 2 Function: "exp2m1": double: 2 -float: 2 ldouble: 2 Function: "exp2m1_downward": double: 3 -float: 3 ldouble: 3 Function: "exp2m1_towardzero": double: 3 -float: 2 ldouble: 4 Function: "exp2m1_upward": double: 3 -float: 3 ldouble: 5 Function: "exp_downward": diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index 30ddbaf05f..dd25aaf94a 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -1227,25 +1227,21 @@ ldouble: 2 Function: "exp2m1": double: 2 -float: 2 float128: 2 ldouble: 3 Function: "exp2m1_downward": double: 3 -float: 3 float128: 3 ldouble: 7 Function: "exp2m1_towardzero": double: 3 -float: 2 float128: 4 ldouble: 8 Function: "exp2m1_upward": double: 3 -float: 3 float128: 5 ldouble: 9 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index e15e1f8fc0..1e5bae039b 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -1023,22 +1023,18 @@ ldouble: 2 Function: "exp2m1": double: 2 -float: 2 ldouble: 2 Function: "exp2m1_downward": double: 3 -float: 3 ldouble: 7 Function: "exp2m1_towardzero": double: 3 -float: 2 ldouble: 8 Function: "exp2m1_upward": double: 3 -float: 3 ldouble: 9 Function: "exp_downward": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index 2271e1ee6c..11f891988e 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -995,7 +995,6 @@ ldouble: 2 Function: "exp2m1": double: 1 -float: 1 ldouble: 1 Function: "exp_downward": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index 0bc61bf3c8..7d303fcb6b 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -1010,22 +1010,18 @@ ldouble: 2 Function: "exp2m1": double: 2 -float: 2 ldouble: 2 Function: "exp2m1_downward": double: 3 -float: 3 ldouble: 3 Function: "exp2m1_towardzero": double: 3 -float: 2 ldouble: 4 Function: "exp2m1_upward": double: 3 -float: 3 ldouble: 5 Function: "exp_downward": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index 860479f3ff..aa7a94a2be 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -1011,22 +1011,18 @@ ldouble: 2 Function: "exp2m1": double: 2 -float: 2 ldouble: 2 Function: "exp2m1_downward": double: 3 -float: 3 ldouble: 3 Function: "exp2m1_towardzero": double: 3 -float: 2 ldouble: 4 Function: "exp2m1_upward": double: 3 -float: 3 ldouble: 5 Function: "exp_downward": diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index 4d8064b543..e7b3da6f1c 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -1014,22 +1014,18 @@ ldouble: 2 Function: "exp2m1": double: 2 -float: 2 ldouble: 2 Function: "exp2m1_downward": double: 3 -float: 3 ldouble: 3 Function: "exp2m1_towardzero": double: 3 -float: 2 ldouble: 4 Function: "exp2m1_upward": double: 3 -float: 3 ldouble: 5 Function: "exp_downward": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 3f438c2090..71697e99e0 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1495,25 +1495,21 @@ float: 1 Function: "exp2m1": double: 2 -float: 2 float128: 2 ldouble: 3 Function: "exp2m1_downward": double: 3 -float: 3 float128: 3 ldouble: 6 Function: "exp2m1_towardzero": double: 3 -float: 2 float128: 4 ldouble: 5 Function: "exp2m1_upward": double: 3 -float: 3 float128: 5 ldouble: 6 From patchwork Fri Oct 25 18:21:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 838386 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp444644wri; Fri, 25 Oct 2024 11:30:50 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWcam8pf0In6gBqi4KlrHGHOdxf/TIg/hnD2qPpg1WkCa2CW3nly/BERV+K5GD8l4ngsh/uHw==@linaro.org X-Google-Smtp-Source: AGHT+IEtLXienRvNHTg2qSwCWErKnZ7ILkMJ3fTAZvVFyNxDqbqQGi4V6+wQxkRrjBfic4Kgv6SB X-Received: by 2002:a05:620a:178c:b0:79f:879:63ad with SMTP id af79cd13be357-7b193f40060mr53435285a.46.1729881050352; Fri, 25 Oct 2024 11:30:50 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729881050; cv=pass; d=google.com; s=arc-20240605; b=alNckhEz3sKDCUoOhESG507tVJX+HpqMNpXKjw0zySdd0qvvwpLsec49TY0AvHVK3c T7xd3x+/jHyt8diJB0kmXvmOb96mhlf10fCZ/9FOqw/HM69+rmkNM0WaHTw9E6rNdQ2x yeFhzJPL25iY1W5SjYPGBnwwN1Jslbi+jIU7lcAQmIGIVZZJZg2h/X70V+5IDzYgDZan qHcTswF7aSF+mr3F5PJlUd05B6t7arpctQwXSXp1fIVyX6faegROaP1fY/2tpya+2oZ9 26xhAew22N9O8TbooLjvDqliY5hdXbN6NXsydtRjGgvRosDcUoG0AGiGuJABIxTs6YlB 4mlQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=t77ICl8vG0hzVlryxC3gny2bRBu5MsTbw30CWlj8fig=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=Y9ot4GPryytinfdzOMrbVK5ANO0Akeu+YfQ3emPvEiDH0ylZ2zvOMLAQQA3mty/RAe vzXUKqoiw0mbz4ArzMxQEcqtl8WkRhYndWpDPg/MAHijmJ0wqnmKUe8w8Vp6RcZzfmUc RzDu/fLUa4JSQ+ULit2JP+OkJbc8pEIsw8BDIvpVr7oHyS+LRiPic1Vq6jxW5cDuo+Zf ppFWfI7zRjH7VrIn5xp4CZQOPV98ZIFCrrsFKlfZwbh5OCoLRDfc73ddX6aW7UDFmouz nucO8KwajqfsGMCum3Vr+rP9RkPfDKJO74fKRsr/lfRp+q5xc+sjCJzdiynnJvakZPJR zEpg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=xfUcTPcr; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id af79cd13be357-7b18d26ad5bsi201436385a.124.2024.10.25.11.30.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:30:50 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=xfUcTPcr; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E79323858404 for ; Fri, 25 Oct 2024 18:30:49 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by sourceware.org (Postfix) with ESMTPS id 09F213858D3C for ; Fri, 25 Oct 2024 18:27:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 09F213858D3C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 09F213858D3C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::631 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880838; cv=none; b=cSrBybRjzBNBJlNuoWZRxwMhDjSXq4jko8v2JbJjfwK7/mcV9II+a9O1ywWpvue+N+KWdfpT5c55Y0R83a2BOmkRKZTjsIeHMiLQjqQ77C711wE3HWP6Jf9a4pEaZRzsvG1jCiD0deRbeftPv5Z6wywruU7p8zskdwKrzwUAsL8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880838; c=relaxed/simple; bh=SCVgyo40z2MZ20W0LcG0ylgkVjilqDePav1I1wW1OA0=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=nr0rGGcCvG1NL4/7oUoBHHDjLnxaGw+vZ/Colc6bkIOJIiTQ42/1Vjq093q3xBXN5wdLAgrBWn/BGMAMhP1fswwVL6YEzl+oGFL+MA0wEdR+RIkf+eWWG4+XAnXQV71BS1mOVG1khMR4+AnR/bxlFLe5bWG6Sbaf49Nnfnwp1j4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-20caea61132so18374025ad.2 for ; Fri, 25 Oct 2024 11:27:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880830; x=1730485630; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=t77ICl8vG0hzVlryxC3gny2bRBu5MsTbw30CWlj8fig=; b=xfUcTPcrWQmhNa5lb8eKarklRL4ImoFBdjYFZV8728a/9fqYxQz2iy/vNeqcai7uyV 89bwKHxrEikLon7uIpJLrTODqhkuY86N5Y7aL76PTIKMHUZxyRsBpAFuNoyq8hzVpVQl sPoZ0gq7kFedAk3NzdDIJC83CyVRrV6nJ6hFfDII7yOXAaPBUYyqCQQ5hQp0H06Il8ja I/K4rjLSnid2YjxUZyPKCBcvgEcHEEdZbhPdIJ0kOoHAkkO5y46fO17oojGjWFNjwsmN VhffiC6uYIwTpuMnCcPSAmBFgZrC5xmdkAIeM53038/gWR9g8lWYZQrCsU9cfj71VD08 sKNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880831; x=1730485631; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=t77ICl8vG0hzVlryxC3gny2bRBu5MsTbw30CWlj8fig=; b=GQRsbpuInd2CZV+YG5j2f69TeXg7hN3YIFtn71iWG2d2W9Dw5f7KsvqRXmR+EC/WPn VzfTj6PQZ4Tu00fHHH8RMzrFJzAhymtkGUp6ukaBkn1lwGUHVXYIDMRKRmug9SLyA19T FcO6DQ4yv+FNNT9ljrgpoTH7XCntn+yaBw7ZDUe+ahD9QfP+opEAr1RCACHsvl1ShzYI usXcVm84BvuzoOiqj3NLcY4bwq+gJJUE5RQc/0z/ydc7y81MUGvCgRbhZWMZQbxArKkm VWclJfZ332DNYSUm4LIRv20GsidUl7wIn2i39Bc0d67HB5SbTFTKKnzTcye4oGU2+hzH aCtg== X-Gm-Message-State: AOJu0YwYsTVu8SO21LrgPab7lnpufIeVGUlrGaZb8fBg/sF4AM9v6we5 8lzTU4igvLKr1eGu8KmdWUxT4iz/D/E0QmTf4cCEd/N3PhBEumNh4niekZJ7JjXtWthHvre1zsu o X-Received: by 2002:a17:902:ce03:b0:20c:81f2:3481 with SMTP id d9443c01a7336-210c69e5f99mr933885ad.22.1729880830100; Fri, 25 Oct 2024 11:27:10 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.27.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:27:09 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 11/17] math: Use expm1f from CORE-MATH Date: Fri, 25 Oct 2024 15:21:49 -0300 Message-ID: <20241025182614.2022697-12-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_ASCII_DIVIDERS, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org The CORE-MATH implementation is correctly rounded (for any rounding mode) and shows better performance compared to the generic expm1f. The code was adapted to glibc style and to use the definition of math_config.h (to handle errno, overflow, and underflow). Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (Neoverse-N1, gcc 13.3.1), and powerpc (POWER10, gcc 13.2.1): Latency master patched improvement x86_64 96.7402 36.4026 62.37% x86_64v2 97.5391 33.4625 65.69% x86_64v3 82.1778 30.8668 62.44% i686 120.58 94.8302 21.35% aarch64 32.3558 12.8881 60.17% power10 23.5087 9.8574 58.07% powerpc 23.4776 9.06325 61.40% reciprocal-throughput master patched improvement x86_64 27.8224 15.9255 42.76% x86_64v2 27.8364 9.6438 65.36% x86_64v3 20.3227 9.6146 52.69% i686 63.5629 59.4718 6.44% aarch64 17.4838 7.1082 59.34% power10 12.4644 8.7829 29.54% powerpc 14.2152 5.94765 58.16% Signed-off-by: Alexei Sibidanov Signed-off-by: Paul Zimmermann Signed-off-by: Adhemerval Zanella --- SHARED-FILES | 4 + sysdeps/aarch64/libm-test-ulps | 5 +- sysdeps/alpha/fpu/libm-test-ulps | 4 - sysdeps/arc/fpu/libm-test-ulps | 4 - sysdeps/arc/nofpu/libm-test-ulps | 1 - sysdeps/arm/libm-test-ulps | 7 +- sysdeps/csky/fpu/libm-test-ulps | 4 - sysdeps/csky/nofpu/libm-test-ulps | 4 - sysdeps/hppa/fpu/libm-test-ulps | 4 - sysdeps/i386/fpu/libm-test-ulps | 3 - sysdeps/i386/fpu/s_expm1f.S | 112 --------- .../i386/i686/fpu/multiarch/libm-test-ulps | 3 - sysdeps/ieee754/flt-32/s_expm1f.c | 232 +++++++++--------- sysdeps/loongarch/lp64/libm-test-ulps | 4 - sysdeps/microblaze/libm-test-ulps | 1 - sysdeps/mips/mips32/libm-test-ulps | 4 - sysdeps/mips/mips64/libm-test-ulps | 4 - sysdeps/nios2/libm-test-ulps | 1 - sysdeps/or1k/fpu/libm-test-ulps | 4 - sysdeps/or1k/nofpu/libm-test-ulps | 4 - sysdeps/powerpc/fpu/libm-test-ulps | 5 +- sysdeps/powerpc/nofpu/libm-test-ulps | 4 - sysdeps/riscv/nofpu/libm-test-ulps | 4 - sysdeps/riscv/rvd/libm-test-ulps | 4 - sysdeps/s390/fpu/libm-test-ulps | 4 - sysdeps/sh/libm-test-ulps | 2 - sysdeps/sparc/fpu/libm-test-ulps | 4 - sysdeps/x86_64/fpu/libm-test-ulps | 5 +- 28 files changed, 122 insertions(+), 319 deletions(-) delete mode 100644 sysdeps/i386/fpu/s_expm1f.S diff --git a/SHARED-FILES b/SHARED-FILES index 5e771cd1c4..a559e97318 100644 --- a/SHARED-FILES +++ b/SHARED-FILES @@ -239,3 +239,7 @@ sysdeps/ieee754/flt-32/s_exp2m1f.c (file src/binary32/exp2m1/exp2m1f.c in CORE_MATH) - The code was adapted to use glibc code style and internal functions to handle errno, overflow, and underflow. +sysdeps/ieee754/flt-32/s_expm1f.c + (file src/binary32/expm1/expm1f.c in CORE_MATH) + - The code was adapted to use glibc code style and internal + functions to handle errno, overflow, and underflow. diff --git a/sysdeps/aarch64/libm-test-ulps b/sysdeps/aarch64/libm-test-ulps index 29ccd1dfe9..c6c40df9fa 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -801,6 +801,7 @@ float: 1 ldouble: 1 Function: Imaginary part of "csin": +float: 1 ldouble: 1 Function: Real part of "csin_downward": @@ -1163,7 +1164,6 @@ float: 1 Function: "expm1": double: 1 -float: 1 ldouble: 2 Function: "expm1_advsimd": @@ -1172,7 +1172,6 @@ float: 1 Function: "expm1_downward": double: 1 -float: 1 ldouble: 2 Function: "expm1_sve": @@ -1181,12 +1180,10 @@ float: 1 Function: "expm1_towardzero": double: 1 -float: 2 ldouble: 4 Function: "expm1_upward": double: 1 -float: 1 ldouble: 3 Function: "gamma": diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps index 5c6175406b..09185dd902 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -1034,22 +1034,18 @@ float: 1 Function: "expm1": double: 1 -float: 1 ldouble: 2 Function: "expm1_downward": double: 1 -float: 1 ldouble: 2 Function: "expm1_towardzero": double: 1 -float: 2 ldouble: 4 Function: "expm1_upward": double: 1 -float: 1 ldouble: 3 Function: "gamma": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index fd6d4181f8..ca01eb3b4b 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -842,19 +842,15 @@ float: 2 Function: "expm1": double: 2 -float: 2 Function: "expm1_downward": double: 1 -float: 1 Function: "expm1_towardzero": double: 1 -float: 2 Function: "expm1_upward": double: 2 -float: 2 Function: "gamma": double: 7 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index 574ae8b8be..266381f6ea 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -203,7 +203,6 @@ double: 2 Function: "expm1": double: 1 -float: 1 Function: "gamma": double: 4 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index 28718c7d2c..12451d24a7 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -574,6 +574,9 @@ Function: Real part of "csin": double: 1 float: 1 +Function: Imaginary part of "csin": +float: 1 + Function: Real part of "csin_downward": double: 3 float: 3 @@ -831,19 +834,15 @@ float: 1 Function: "expm1": double: 1 -float: 1 Function: "expm1_downward": double: 1 -float: 1 Function: "expm1_towardzero": double: 1 -float: 2 Function: "expm1_upward": double: 1 -float: 1 Function: "gamma": double: 4 diff --git a/sysdeps/csky/fpu/libm-test-ulps b/sysdeps/csky/fpu/libm-test-ulps index 151df00638..3f17778d03 100644 --- a/sysdeps/csky/fpu/libm-test-ulps +++ b/sysdeps/csky/fpu/libm-test-ulps @@ -799,19 +799,15 @@ float: 1 Function: "expm1": double: 1 -float: 1 Function: "expm1_downward": double: 1 -float: 1 Function: "expm1_towardzero": double: 1 -float: 2 Function: "expm1_upward": double: 1 -float: 1 Function: "gamma": double: 4 diff --git a/sysdeps/csky/nofpu/libm-test-ulps b/sysdeps/csky/nofpu/libm-test-ulps index 48697a7b09..fdef935578 100644 --- a/sysdeps/csky/nofpu/libm-test-ulps +++ b/sysdeps/csky/nofpu/libm-test-ulps @@ -797,19 +797,15 @@ double: 1 Function: "expm1": double: 1 -float: 1 Function: "expm1_downward": double: 1 -float: 1 Function: "expm1_towardzero": double: 1 -float: 2 Function: "expm1_upward": double: 1 -float: 1 Function: "gamma": double: 4 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index 338ca77ade..05ad1cf9b3 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -850,20 +850,16 @@ float: 1 Function: "expm1": double: 1 -float: 1 ldouble: 1 Function: "expm1_downward": double: 1 -float: 1 Function: "expm1_towardzero": double: 1 -float: 2 Function: "expm1_upward": double: 1 -float: 1 Function: "gamma": double: 4 diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index 98a5a538ff..abf9a9192b 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -1234,19 +1234,16 @@ ldouble: 3 Function: "expm1_downward": double: 1 -float: 1 float128: 2 ldouble: 4 Function: "expm1_towardzero": double: 1 -float: 1 float128: 4 ldouble: 4 Function: "expm1_upward": double: 1 -float: 1 float128: 3 ldouble: 4 diff --git a/sysdeps/i386/fpu/s_expm1f.S b/sysdeps/i386/fpu/s_expm1f.S deleted file mode 100644 index a1cb5bf0ab..0000000000 --- a/sysdeps/i386/fpu/s_expm1f.S +++ /dev/null @@ -1,112 +0,0 @@ -/* ix87 specific implementation of exp(x)-1. - Copyright (C) 1996-2024 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - - /* Using: e^x - 1 = 2^(x * log2(e)) - 1 */ - -#include -#include -#include -#include - - .section .rodata - - .align ALIGNARG(4) - .type minus1,@object -minus1: .double -1.0 - ASM_SIZE_DIRECTIVE(minus1) - .type one,@object -one: .double 1.0 - ASM_SIZE_DIRECTIVE(one) - .type l2e,@object -l2e: .quad 0xb8aa3b295c17f0bc /* 1.442695040888963407359924681002 */ - .short 0x3fff - ASM_SIZE_DIRECTIVE(l2e) - -DEFINE_FLT_MIN - -#ifdef PIC -#define MO(op) op##@GOTOFF(%edx) -#else -#define MO(op) op -#endif - - .text -ENTRY(__expm1f) - movzwl 4+2(%esp), %eax - xorb $0x80, %ah // invert sign bit (now 1 is "positive") - cmpl $0xc2b1, %eax // is num >= 88.5? - jae HIDDEN_JUMPTARGET (__expf) - - flds 4(%esp) // x - fxam // Is NaN, +-Inf or +-0? - xorb $0x80, %ah - cmpl $0xc190, %eax // is num <= -18.0? - fstsw %ax - movb $0x45, %ch - jb 4f - - // Below -18.0 (may be -NaN or -Inf). - andb %ah, %ch -#ifdef PIC - LOAD_PIC_REG (dx) -#endif - cmpb $0x01, %ch - je 5f // If -NaN, jump. - jmp 2f // -large, possibly -Inf. - -4: // In range -18.0 to 88.5 (may be +-0 but not NaN or +-Inf). - andb %ah, %ch - cmpb $0x40, %ch - je 3f // If +-0, jump. -#ifdef PIC - LOAD_PIC_REG (dx) -#endif - -5: fldt MO(l2e) // log2(e) : x - fmulp // log2(e)*x - fld %st // log2(e)*x : log2(e)*x - // Set round-to-nearest temporarily. - subl $8, %esp - cfi_adjust_cfa_offset (8) - fstcw 4(%esp) - movl $0xf3ff, %ecx - andl 4(%esp), %ecx - movl %ecx, (%esp) - fldcw (%esp) - frndint // int(log2(e)*x) : log2(e)*x - fldcw 4(%esp) - addl $8, %esp - cfi_adjust_cfa_offset (-8) - fsubr %st, %st(1) // int(log2(e)*x) : fract(log2(e)*x) - fxch // fract(log2(e)*x) : int(log2(e)*x) - f2xm1 // 2^fract(log2(e)*x)-1 : int(log2(e)*x) - fscale // 2^(log2(e)*x)-2^int(log2(e)*x) : int(log2(e)*x) - fxch // int(log2(e)*x) : 2^(log2(e)*x)-2^int(log2(e)*x) - fldl MO(one) // 1 : int(log2(e)*x) : 2^(log2(e)*x)-2^int(log2(e)*x) - fscale // 2^int(log2(e)*x) : int(log2(e)*x) : 2^(log2(e)*x)-2^int(log2(e)*x) - fsubrl MO(one) // 1-2^int(log2(e)*x) : int(log2(e)*x) : 2^(log2(e)*x)-2^int(log2(e)*x) - fstp %st(1) // 1-2^int(log2(e)*x) : 2^(log2(e)*x)-2^int(log2(e)*x) - fsubrp %st, %st(1) // 2^(log2(e)*x) - FLT_CHECK_FORCE_UFLOW - ret - -2: fstp %st - fldl MO(minus1) // Set result to -1.0. -3: ret -END(__expm1f) -libm_alias_float (__expm1, expm1) diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index 9afb63bc0f..6d9d49d153 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -1237,19 +1237,16 @@ ldouble: 3 Function: "expm1_downward": double: 1 -float: 1 float128: 2 ldouble: 4 Function: "expm1_towardzero": double: 1 -float: 1 float128: 4 ldouble: 4 Function: "expm1_upward": double: 1 -float: 1 float128: 3 ldouble: 4 diff --git a/sysdeps/ieee754/flt-32/s_expm1f.c b/sysdeps/ieee754/flt-32/s_expm1f.c index 35f7b5214a..edd7c9acf8 100644 --- a/sysdeps/ieee754/flt-32/s_expm1f.c +++ b/sysdeps/ieee754/flt-32/s_expm1f.c @@ -1,132 +1,124 @@ -/* s_expm1f.c -- float version of s_expm1.c. - */ +/* Correctly-rounded natural exponent function biased by 1 for binary32 value. -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ +Copyright (c) 2022-2024 Alexei Sibidanov. + +This file is part of the CORE-MATH project +project (file src/binary32/expm1/expm1f.c, revision bc385c2). + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ -#include -#include #include -#include -#include #include #include - -static const float huge = 1.0e+30; -static const float tiny = 1.0e-30; - -static const float -one = 1.0, -o_threshold = 8.8721679688e+01,/* 0x42b17180 */ -ln2_hi = 6.9313812256e-01,/* 0x3f317180 */ -ln2_lo = 9.0580006145e-06,/* 0x3717f7d1 */ -invln2 = 1.4426950216e+00,/* 0x3fb8aa3b */ - /* scaled coefficients related to expm1 */ -Q1 = -3.3333335072e-02, /* 0xbd088889 */ -Q2 = 1.5873016091e-03, /* 0x3ad00d01 */ -Q3 = -7.9365076090e-05, /* 0xb8a670cd */ -Q4 = 4.0082177293e-06, /* 0x36867e54 */ -Q5 = -2.0109921195e-07; /* 0xb457edbb */ +#include "math_config.h" float -__expm1f(float x) +__expm1f (float x) { - float y,hi,lo,c,t,e,hxs,hfx,r1; - int32_t k,xsb; - uint32_t hx; - - GET_FLOAT_WORD(hx,x); - xsb = hx&0x80000000; /* sign bit of x */ - if(xsb==0) y=x; else y= -x; /* y = |x| */ - hx &= 0x7fffffff; /* high word of |x| */ - - /* filter out huge and non-finite argument */ - if(hx >= 0x4195b844) { /* if |x|>=27*ln2 */ - if(hx >= 0x42b17218) { /* if |x|>=88.721... */ - if(hx>0x7f800000) - return x+x; /* NaN */ - if(hx==0x7f800000) - return (xsb==0)? x:-1.0;/* exp(+-inf)={inf,-1} */ - if(x > o_threshold) { - __set_errno (ERANGE); - return huge*huge; /* overflow */ - } - } - if(xsb!=0) { /* x < -27*ln2, return -1.0 with inexact */ - math_force_eval(x+tiny);/* raise inexact */ - return tiny-one; /* return -1 */ - } - } - - /* argument reduction */ - if(hx > 0x3eb17218) { /* if |x| > 0.5 ln2 */ - if(hx < 0x3F851592) { /* and |x| < 1.5 ln2 */ - if(xsb==0) - {hi = x - ln2_hi; lo = ln2_lo; k = 1;} - else - {hi = x + ln2_hi; lo = -ln2_lo; k = -1;} - } else { - k = invln2*x+((xsb==0)?(float)0.5:(float)-0.5); - t = k; - hi = x - t*ln2_hi; /* t*ln2_hi is exact here */ - lo = t*ln2_lo; - } - x = hi - lo; - c = (hi-x)-lo; - } - else if(hx < 0x33000000) { /* when |x|<2**-25, return x */ - math_check_force_underflow (x); - t = huge+x; /* return x with inexact flags when x!=0 */ - return x - (t-(huge+x)); + static const double c[] = + { + 1, 0x1.62e42fef4c4e7p-6, 0x1.ebfd1b232f475p-13, 0x1.c6b19384ecd93p-20 + }; + static const double ch[] = + { + 0x1.62e42fefa39efp-6, 0x1.ebfbdff82c58fp-13, 0x1.c6b08d702e0edp-20, + 0x1.3b2ab6fb92e5ep-27, 0x1.5d886e6d54203p-35, 0x1.430976b8ce6efp-43 + }; + static const double td[] = + { + 0x1p+0, 0x1.059b0d3158574p+0, 0x1.0b5586cf9890fp+0, + 0x1.11301d0125b51p+0, 0x1.172b83c7d517bp+0, 0x1.1d4873168b9aap+0, + 0x1.2387a6e756238p+0, 0x1.29e9df51fdee1p+0, 0x1.306fe0a31b715p+0, + 0x1.371a7373aa9cbp+0, 0x1.3dea64c123422p+0, 0x1.44e086061892dp+0, + 0x1.4bfdad5362a27p+0, 0x1.5342b569d4f82p+0, 0x1.5ab07dd485429p+0, + 0x1.6247eb03a5585p+0, 0x1.6a09e667f3bcdp+0, 0x1.71f75e8ec5f74p+0, + 0x1.7a11473eb0187p+0, 0x1.82589994cce13p+0, 0x1.8ace5422aa0dbp+0, + 0x1.93737b0cdc5e5p+0, 0x1.9c49182a3f09p+0, 0x1.a5503b23e255dp+0, + 0x1.ae89f995ad3adp+0, 0x1.b7f76f2fb5e47p+0, 0x1.c199bdd85529cp+0, + 0x1.cb720dcef9069p+0, 0x1.d5818dcfba487p+0, 0x1.dfc97337b9b5fp+0, + 0x1.ea4afa2a490dap+0, 0x1.f50765b6e454p+0 + }; + const double iln2 = 0x1.71547652b82fep+5; + const double big = 0x1.8p52; + double z = x; + uint32_t ux = asuint (x); + uint32_t ax = ux << 1; + if (__glibc_likely (ax < 0x7c400000u)) + { /* |x| < 0.15625 */ + if (__glibc_unlikely (ax < 0x676a09e8u)) + { /* |x| < 0x1.6a09e8p-24 */ + if (__glibc_unlikely (ax == 0x0u)) + return x; /* x = +-0 */ + return fmaf (fabsf (x), 0x1p-25f, x); } - else k = 0; - - /* x is now in primary range */ - hfx = (float)0.5*x; - hxs = x*hfx; - r1 = one+hxs*(Q1+hxs*(Q2+hxs*(Q3+hxs*(Q4+hxs*Q5)))); - t = (float)3.0-r1*hfx; - e = hxs*((r1-t)/((float)6.0 - x*t)); - if(k==0) return x - (x*e-hxs); /* c is 0 */ - else { - e = (x*(e-c)-c); - e -= hxs; - if(k== -1) return (float)0.5*(x-e)-(float)0.5; - if(k==1) { - if(x < (float)-0.25) return -(float)2.0*(e-(x+(float)0.5)); - else return one+(float)2.0*(x-e); - } - if (k <= -2 || k>56) { /* suffice to return exp(x)-1 */ - int32_t i; - y = one-(e-x); - GET_FLOAT_WORD(i,y); - SET_FLOAT_WORD(y,i+(k<<23)); /* add k to y's exponent */ - return y-one; - } - t = one; - if(k<23) { - int32_t i; - SET_FLOAT_WORD(t,0x3f800000 - (0x1000000>>k)); /* t=1-2^-k */ - y = t-(e-x); - GET_FLOAT_WORD(i,y); - SET_FLOAT_WORD(y,i+(k<<23)); /* add k to y's exponent */ - } else { - int32_t i; - SET_FLOAT_WORD(t,((0x7f-k)<<23)); /* 2^-k */ - y = x-(e+t); - y += one; - GET_FLOAT_WORD(i,y); - SET_FLOAT_WORD(y,i+(k<<23)); /* add k to y's exponent */ - } + static const double b[] = + { + 0x1.fffffffffffc2p-2, 0x1.55555555555fep-3, 0x1.555555559767fp-5, + 0x1.1111111098dc1p-7, 0x1.6c16bca988aa9p-10, 0x1.a01a07658483fp-13, + 0x1.a05b04d2c3503p-16, 0x1.71de3a960b5e3p-19 + }; + double z2 = z * z, z4 = z2 * z2; + double r = z + z2 + * ((b[0] + z * b[1]) + z2 * (b[2] + z * b[3]) + + z4 * ((b[4] + z * b[5]) + z2 * (b[6] + z * b[7]))); + return r; + } + if (__glibc_unlikely (ax >= 0x8562e430u)) + { /* |x| > 88.72 */ + if (ax > (0xffu << 24)) + return x + x; /* nan */ + if (__glibc_unlikely (ux >> 31)) + { /* x < 0 */ + if (ax == (0xffu << 24)) + return -1.0f; + return -1.0f + 0x1p-26f; } - return y; + if (ax == (0xffu << 24)) + return INFINITY; + return __math_oflowf (0); + } + double a = iln2 * z; + double ia = roundeven (a); + double h = a - ia; + double h2 = h * h; + uint64_t u = asuint64 (ia + big); + double c2 = c[2] + h * c[3], c0 = c[0] + h * c[1]; + const uint64_t *tdl = (uint64_t *) ((void *) td); + double sv = asdouble (tdl[u & 0x1f] + ((u >> 5) << 52)); + double r = (c0 + h2 * c2) * sv - 1.0; + float ub = r, lb = r - sv * 0x1.3b3p-33; + if (__glibc_unlikely (ub != lb)) + { + if (__glibc_unlikely (ux > 0xc18aa123u)) /* x < -17.32 */ + return -1.0f + 0x1p-26f; + const double iln2h = 0x1.7154765p+5; + const double iln2l = 0x1.5c17f0bbbe88p-26; + double s = sv; + h = (iln2h * z - ia) + iln2l * z; + h2 = h * h; + double w = s * h; + r = (s - 1) + w + * ((ch[0] + h * ch[1]) + + h2 * ((ch[2] + h * ch[3]) + h2 * (ch[4] + h * ch[5]))); + ub = r; + } + return ub; } libm_alias_float (__expm1, expm1) diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index c6fc9fd4ed..5d407a49fe 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -1038,22 +1038,18 @@ float: 1 Function: "expm1": double: 1 -float: 1 ldouble: 2 Function: "expm1_downward": double: 1 -float: 1 ldouble: 2 Function: "expm1_towardzero": double: 1 -float: 2 ldouble: 4 Function: "expm1_upward": double: 1 -float: 1 ldouble: 3 Function: "gamma": diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps index 98ea940ccc..a84494b8f8 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -191,7 +191,6 @@ float: 1 Function: "expm1": double: 1 -float: 1 Function: "gamma": double: 4 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index d8daca6326..f9d7bf8598 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -831,19 +831,15 @@ float: 1 Function: "expm1": double: 1 -float: 1 Function: "expm1_downward": double: 1 -float: 1 Function: "expm1_towardzero": double: 1 -float: 2 Function: "expm1_upward": double: 1 -float: 1 Function: "gamma": double: 4 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index 39e94d5480..4f3c82d64c 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -1042,22 +1042,18 @@ float: 1 Function: "expm1": double: 1 -float: 1 ldouble: 2 Function: "expm1_downward": double: 1 -float: 1 ldouble: 2 Function: "expm1_towardzero": double: 1 -float: 2 ldouble: 4 Function: "expm1_upward": double: 1 -float: 1 ldouble: 3 Function: "gamma": diff --git a/sysdeps/nios2/libm-test-ulps b/sysdeps/nios2/libm-test-ulps index df6e932cb6..33f714e713 100644 --- a/sysdeps/nios2/libm-test-ulps +++ b/sysdeps/nios2/libm-test-ulps @@ -197,7 +197,6 @@ float: 1 Function: "expm1": double: 1 -float: 1 Function: "gamma": double: 4 diff --git a/sysdeps/or1k/fpu/libm-test-ulps b/sysdeps/or1k/fpu/libm-test-ulps index 4ccb136298..9ced4b0052 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/fpu/libm-test-ulps @@ -804,19 +804,15 @@ float: 1 Function: "expm1": double: 1 -float: 1 Function: "expm1_downward": double: 1 -float: 1 Function: "expm1_towardzero": double: 1 -float: 2 Function: "expm1_upward": double: 1 -float: 1 Function: "gamma": double: 4 diff --git a/sysdeps/or1k/nofpu/libm-test-ulps b/sysdeps/or1k/nofpu/libm-test-ulps index 7087cf9add..6862551b79 100644 --- a/sysdeps/or1k/nofpu/libm-test-ulps +++ b/sysdeps/or1k/nofpu/libm-test-ulps @@ -802,19 +802,15 @@ float: 1 Function: "expm1": double: 1 -float: 1 Function: "expm1_downward": double: 1 -float: 1 Function: "expm1_towardzero": double: 1 -float: 2 Function: "expm1_upward": double: 1 -float: 1 Function: "gamma": double: 4 diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index dd25aaf94a..ddbd184e58 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -870,6 +870,7 @@ float128: 1 ldouble: 2 Function: Imaginary part of "csin": +float: 1 float128: 1 ldouble: 1 @@ -1262,25 +1263,21 @@ ldouble: 1 Function: "expm1": double: 1 -float: 1 float128: 2 ldouble: 1 Function: "expm1_downward": double: 1 -float: 1 float128: 2 ldouble: 7 Function: "expm1_towardzero": double: 1 -float: 2 float128: 4 ldouble: 6 Function: "expm1_upward": double: 1 -float: 1 float128: 3 ldouble: 6 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index 1e5bae039b..c79dfcc2cc 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -1054,22 +1054,18 @@ ldouble: 1 Function: "expm1": double: 1 -float: 1 ldouble: 1 Function: "expm1_downward": double: 1 -float: 1 ldouble: 5 Function: "expm1_towardzero": double: 1 -float: 2 ldouble: 5 Function: "expm1_upward": double: 1 -float: 1 ldouble: 6 Function: "fma": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index 11f891988e..4caf84f316 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -1011,22 +1011,18 @@ float: 1 Function: "expm1": double: 1 -float: 1 ldouble: 2 Function: "expm1_downward": double: 1 -float: 1 ldouble: 2 Function: "expm1_towardzero": double: 1 -float: 2 ldouble: 4 Function: "expm1_upward": double: 1 -float: 1 ldouble: 3 Function: "gamma": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index 7d303fcb6b..e9c4b72c04 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -1038,22 +1038,18 @@ float: 1 Function: "expm1": double: 1 -float: 1 ldouble: 2 Function: "expm1_downward": double: 1 -float: 1 ldouble: 2 Function: "expm1_towardzero": double: 1 -float: 2 ldouble: 4 Function: "expm1_upward": double: 1 -float: 1 ldouble: 3 Function: "gamma": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index aa7a94a2be..a42c9f273a 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -1039,22 +1039,18 @@ float: 1 Function: "expm1": double: 1 -float: 1 ldouble: 2 Function: "expm1_downward": double: 1 -float: 1 ldouble: 2 Function: "expm1_towardzero": double: 1 -float: 2 ldouble: 4 Function: "expm1_upward": double: 1 -float: 1 ldouble: 3 Function: "gamma": diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index 36f21ed395..fc4556e977 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -394,11 +394,9 @@ float: 1 Function: "expm1": double: 1 -float: 1 Function: "expm1_towardzero": double: 1 -float: 2 Function: "fma_towardzero": double: 1 diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index e7b3da6f1c..3bee496247 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -1042,22 +1042,18 @@ float: 1 Function: "expm1": double: 1 -float: 1 ldouble: 2 Function: "expm1_downward": double: 1 -float: 1 ldouble: 2 Function: "expm1_towardzero": double: 1 -float: 2 ldouble: 4 Function: "expm1_upward": double: 1 -float: 1 ldouble: 3 Function: "gamma": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 71697e99e0..ffb1d4f3c9 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1062,6 +1062,7 @@ float128: 1 ldouble: 1 Function: Imaginary part of "csin": +float: 1 float128: 1 Function: Real part of "csin_downward": @@ -1550,25 +1551,21 @@ float: 1 Function: "expm1": double: 1 -float: 1 float128: 2 ldouble: 3 Function: "expm1_downward": double: 1 -float: 1 float128: 2 ldouble: 4 Function: "expm1_towardzero": double: 1 -float: 2 float128: 4 ldouble: 4 Function: "expm1_upward": double: 1 -float: 1 float128: 3 ldouble: 4 From patchwork Fri Oct 25 18:21:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 838389 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp445195wri; Fri, 25 Oct 2024 11:31:59 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXbmxaNuFXC3nHXrM1eMl/AKqI3YslULmvOdSlhil96wWO79ji4Dy0qSt2CKAmnxMOOlOx6Iw==@linaro.org X-Google-Smtp-Source: AGHT+IHzCPwm4sKfN4AHVOjFHr4bkzgWdhEYcbgWlZNqNQz1thsgDxU5a/TvmTOdnA1wARSqwWgq X-Received: by 2002:a05:6870:2154:b0:25e:1edb:5bcf with SMTP id 586e51a60fabf-29051ade6f1mr442730fac.6.1729881118773; Fri, 25 Oct 2024 11:31:58 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729881118; cv=pass; d=google.com; s=arc-20240605; b=bxAcariFhcp0sggXsvwCC1E6jRQP5wt0BhD8yomnrIIVJGQ9GOMeq1XUX3hjgrCMqT x6+FcNssn7K2GZZU9kOLEi2UflGMmsSKiLqP6zFC2/l+t/TbFaZSGKX0owDsuKkqhtxU MJtWUh9WOSD23jR6/NDHh+OCIVSiT8NLbVQEqiwVRoQqwN+rrGYZNAZMyh9ezLrQW2M8 meWl8MAxFUTzsufhlWU3GjNlUfAckwvndB3PXrF9lSpw0ZDQmKQjkKT4cASRQmHIa+N3 iFCCNs7HTW+dVsgUxd5nPeHtzwGedWMzGJTtlPXeypLTDaiRylBqw2aebfGsLwm4Wq34 ssMw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=QHlm6lG26mBbWkA7bcRJrhHOpgTJ5K6vhGZwHdzW2Ko=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=WqnnenU+R6wEYOcnxbMvwZiQ8P66qawhhCZd/UIlDDFPX9EXDwVdlOKIbccUJd2dLm 7KB4edjUL1f/rjU/Kpw5SLI60hzGAl5srokY7tG4e5Uos7Ov/JZn/rEqkDjQHmQHe4G+ S1dYIem9OuGfIql9CPKzl6Xm0XGFkmQ2Jam/B5WKd5vwKf0yuLB/rH5+Z/7AlvW1n9Iu NjDUaSq1jLlQDhg7/0joejnRkUH0Ywb0wEsrH+o/aCnETk66RIV1YKLKolLkzX4bJdzo IFGe73iCDBObEndHSmeFrGTAIvhoDNV/tTAFR3sNRIH+EnugYv+2ca9yBM0cyU3s2Qh7 L7Zg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=xGvQfkpg; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id af79cd13be357-7b18d343ce4si209654885a.502.2024.10.25.11.31.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:31:58 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=xGvQfkpg; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5D2203858401 for ; Fri, 25 Oct 2024 18:31:58 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by sourceware.org (Postfix) with ESMTPS id C5AED385840A for ; Fri, 25 Oct 2024 18:27:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C5AED385840A Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C5AED385840A Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62a ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880846; cv=none; b=MITMSooj6RE9mXAbNv3zOSonFJB6AsgFr4W7MT3Ea2MhQ8PJzD/unqeeeoqrqKbfwSr+Vn+/3iKMOZ1m8D9L+qekvplnfXeAiY0F9uHYYAmsHb4KeDR+nC4GyCSHpiS27sObxeIYLA5vDDdMFCKuvgLThdEyAs5UC7fXwycTC1Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880846; c=relaxed/simple; bh=zIFP+ypC2hIrAorVUG7tPjsLSIiQIB9EW8lqjMbz7h4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=YkvPT5MraPaBFcQKiTBHbvcR3ouVcHvI5+xBtdF6w48PRml+u8gNkY117MMkAikZ75T6EUXfQmFrQnkYhD3hDiVGFEl4fEn5M5qET/hvgf6sv5EOi26CUZp7WbD1A1QlE51IECovq9CepQNBmL75xX/bxiDQ8pRI1oQ4ITLn1uQ= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-20c693b68f5so24214055ad.1 for ; Fri, 25 Oct 2024 11:27:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880834; x=1730485634; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QHlm6lG26mBbWkA7bcRJrhHOpgTJ5K6vhGZwHdzW2Ko=; b=xGvQfkpgOZAcLY5S1pf0QkOclN0Zw94KQ7QDti//YwYc/Xy3bqgHhJWmjntg5/UqEV 4LSjicdyjhpN15Ax4ECBxjdURerPE8sSFnZN0SWT3H+uBMZb9qDI77MccIrBzCVVkR6S F6PfNRyMP7ymzUszNb8AbSX7BH/WDxJGEqI097iBZf39/j7HQ822RHO6cC7I42JM4XTn v+MJ/RQgPvYZ4h4bzBKk3xbnoom3ZpneeOkn5JCoS/CqI631NTZgj/avbQzgTLbcgL0S L2Myhae+3Y+54cAgO4eE+Q93NTdzXJ+7JuO4VROzsA5C6v5OaFUz6/bzf/qLpo00r4GP mXQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880834; x=1730485634; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QHlm6lG26mBbWkA7bcRJrhHOpgTJ5K6vhGZwHdzW2Ko=; b=aQ2GaQboXHPsMQp5N4QOVg/GlaTQKD9JTdateYC7r2ag8y4lTbdMzwcxxqhKogT+Im dXckkrz1JGsevgkmwkp3kcSN6DBjH52ND7Z9dWFHc7p+82JR/nNVCPOB5WZiKY05AKlR doixN7WGlOHeHl9RJh/IQYhcz4jltFTcOxGoJBZH0JllJDAnXq/TUm67ib6Pm18SD8/3 T3DCF5jt8cU9D+3rnqT24yFSzs0qx+dvjrVKCbnG0RGZ6+3PZTSAckBp0NeV5nrwd+GU ShSGqyDP4cY9YhLLeDC742KR1w26LJ+LVuEnaCe+JI/Jb46Ctkr+zib6Ny4zWcYfPe1g bRbA== X-Gm-Message-State: AOJu0YxAMKHrNuD53WTdbqvhDvxuyJK1HXJi7Po0JN7xPSRP4nDujSrD Xx+KUb/Hj27DZUa+gK9lI+G+Q2QfNdoWUhFHwQccZyzRVhFLMl+ULYIMp/5jCI72X7O0hq5rDzs U X-Received: by 2002:a17:903:192:b0:20b:7be8:8eb9 with SMTP id d9443c01a7336-210c6ccc963mr425955ad.54.1729880833926; Fri, 25 Oct 2024 11:27:13 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.27.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:27:13 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 13/17] math: Use log2p1f from CORE-MATH Date: Fri, 25 Oct 2024 15:21:51 -0300 Message-ID: <20241025182614.2022697-14-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org The CORE-MATH implementation is correctly rounded (for any rounding mode) and shows better performance compared to the generic log2p1f. The code was adapted to glibc style and to use the definition of math_config.h (to handle errno, overflow, and underflow). Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (Neoverse-N1, gcc 13.3.1), and powerpc (POWER10, gcc 13.2.1): Latency master patched improvement x86_64 70.1462 47.0090 32.98% x86_64v2 70.2513 47.6160 32.22% x86_64v3 60.4840 39.9443 33.96% i686 164.068 122.909 25.09% aarch64 25.9169 16.9207 34.71% power10 18.1261 9.8592 45.61% powerpc 17.2683 9.38665 45.64% reciprocal-throughput master patched improvement x86_64 26.2240 16.4082 37.43% x86_64v2 25.0911 15.7480 37.24% x86_64v3 20.9371 11.7264 43.99% i686 90.4209 95.3073 -5.40% aarch64 16.8537 8.9561 46.86% power10 12.9401 6.5555 49.34% powerpc 9.01763 7.54745 16.30% The performance decrease for i686 is mostly due the use of x87 fpu, when building with '-msse2 -mfpmath=sse: master patched improvement latency 164.068 102.982 37.23% reciprocal-throughput 89.1968 82.5117 7.49% Signed-off-by: Alexei Sibidanov Signed-off-by: Paul Zimmermann Signed-off-by: Adhemerval Zanella --- SHARED-FILES | 4 + sysdeps/aarch64/libm-test-ulps | 4 - sysdeps/arc/fpu/libm-test-ulps | 4 - sysdeps/arc/nofpu/libm-test-ulps | 2 - sysdeps/arm/libm-test-ulps | 4 - sysdeps/hppa/fpu/libm-test-ulps | 4 - sysdeps/i386/fpu/libm-test-ulps | 4 - .../i386/i686/fpu/multiarch/libm-test-ulps | 4 - sysdeps/ieee754/flt-32/s_log2p1f.c | 248 ++++++++++++++++++ sysdeps/loongarch/lp64/libm-test-ulps | 4 - sysdeps/m68k/m680x0/fpu/libm-test-ulps | 4 - sysdeps/mips/mips32/libm-test-ulps | 4 - sysdeps/mips/mips64/libm-test-ulps | 4 - sysdeps/powerpc/fpu/libm-test-ulps | 4 - sysdeps/powerpc/nofpu/libm-test-ulps | 4 - sysdeps/riscv/nofpu/libm-test-ulps | 1 - sysdeps/riscv/rvd/libm-test-ulps | 4 - sysdeps/s390/fpu/libm-test-ulps | 4 - sysdeps/sparc/fpu/libm-test-ulps | 4 - sysdeps/x86_64/fpu/libm-test-ulps | 4 - 20 files changed, 252 insertions(+), 67 deletions(-) create mode 100644 sysdeps/ieee754/flt-32/s_log2p1f.c diff --git a/SHARED-FILES b/SHARED-FILES index a559e97318..98ad2671b1 100644 --- a/SHARED-FILES +++ b/SHARED-FILES @@ -243,3 +243,7 @@ sysdeps/ieee754/flt-32/s_expm1f.c (file src/binary32/expm1/expm1f.c in CORE_MATH) - The code was adapted to use glibc code style and internal functions to handle errno, overflow, and underflow. +sysdeps/ieee754/flt-32/s_log2p1f.c + (file src/binary32/log2p1/log2p1f.c in CORE_MATH) + - The code was adapted to use glibc code style and internal + functions to handle errno, overflow, and underflow. diff --git a/sysdeps/aarch64/libm-test-ulps b/sysdeps/aarch64/libm-test-ulps index c6c40df9fa..cb1c18cb50 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -1422,22 +1422,18 @@ ldouble: 1 Function: "log2p1": double: 2 -float: 2 ldouble: 3 Function: "log2p1_downward": double: 2 -float: 2 ldouble: 3 Function: "log2p1_towardzero": double: 2 -float: 2 ldouble: 2 Function: "log2p1_upward": double: 2 -float: 2 ldouble: 3 Function: "log_advsimd": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index ca01eb3b4b..d233bd75a0 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -1012,19 +1012,15 @@ float: 1 Function: "log2p1": double: 2 -float: 2 Function: "log2p1_downward": double: 2 -float: 2 Function: "log2p1_towardzero": double: 2 -float: 2 Function: "log2p1_upward": double: 2 -float: 2 Function: "log_towardzero": double: 1 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index 266381f6ea..fe74fb8ea9 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -246,11 +246,9 @@ float: 1 Function: "log2p1": double: 1 -float: 2 Function: "logp1": double: 1 -float: 1 Function: "pow": double: 1 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index 12451d24a7..b6b194143a 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -1006,19 +1006,15 @@ float: 3 Function: "log2p1": double: 1 -float: 2 Function: "log2p1_downward": double: 2 -float: 2 Function: "log2p1_towardzero": double: 2 -float: 2 Function: "log2p1_upward": double: 2 -float: 2 Function: "log_downward": float: 2 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index 05ad1cf9b3..9f89528947 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -1029,19 +1029,15 @@ float: 3 Function: "log2p1": double: 2 -float: 2 Function: "log2p1_downward": double: 2 -float: 2 Function: "log2p1_towardzero": double: 2 -float: 2 Function: "log2p1_upward": double: 2 -float: 2 Function: "log_downward": float: 2 diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index abf9a9192b..d0bd63371d 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -1484,25 +1484,21 @@ ldouble: 1 Function: "log2p1": double: 1 -float: 1 float128: 3 ldouble: 4 Function: "log2p1_downward": double: 2 -float: 2 float128: 3 ldouble: 3 Function: "log2p1_towardzero": double: 2 -float: 2 float128: 2 ldouble: 3 Function: "log2p1_upward": double: 2 -float: 2 float128: 3 ldouble: 5 diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index 6d9d49d153..a97722b7e7 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -1487,25 +1487,21 @@ ldouble: 1 Function: "log2p1": double: 1 -float: 1 float128: 3 ldouble: 4 Function: "log2p1_downward": double: 2 -float: 2 float128: 3 ldouble: 4 Function: "log2p1_towardzero": double: 2 -float: 2 float128: 2 ldouble: 4 Function: "log2p1_upward": double: 1 -float: 2 float128: 3 ldouble: 5 diff --git a/sysdeps/ieee754/flt-32/s_log2p1f.c b/sysdeps/ieee754/flt-32/s_log2p1f.c new file mode 100644 index 0000000000..a185ddc376 --- /dev/null +++ b/sysdeps/ieee754/flt-32/s_log2p1f.c @@ -0,0 +1,248 @@ +/* Correctly-rounded biased argument natural logarithm function for binary32 + value. + +Copyright (c) 2022-2024 Alexei Sibidanov. + +This file is part of the CORE-MATH project +project (file src/binary32/log2p1/log2p1f.c revision bc385c2). + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#include +#include +#include +#include +#include "math_config.h" + +float +__log2p1f (float x) +{ + static const double ix[] = + { + 0x1p+0, 0x1.fc07f01fcp-1, 0x1.f81f81f82p-1, + 0x1.f44659e4ap-1, 0x1.f07c1f07cp-1, 0x1.ecc07b302p-1, + 0x1.e9131abfp-1, 0x1.e573ac902p-1, 0x1.e1e1e1e1ep-1, + 0x1.de5d6e3f8p-1, 0x1.dae6076bap-1, 0x1.d77b654b8p-1, + 0x1.d41d41d42p-1, 0x1.d0cb58f6ep-1, 0x1.cd8568904p-1, + 0x1.ca4b3055ep-1, 0x1.c71c71c72p-1, 0x1.c3f8f01c4p-1, + 0x1.c0e070382p-1, 0x1.bdd2b8994p-1, 0x1.bacf914c2p-1, + 0x1.b7d6c3ddap-1, 0x1.b4e81b4e8p-1, 0x1.b2036406cp-1, + 0x1.af286bca2p-1, 0x1.ac5701ac6p-1, 0x1.a98ef606ap-1, + 0x1.a6d01a6dp-1, 0x1.a41a41a42p-1, 0x1.a16d3f97ap-1, + 0x1.9ec8e951p-1, 0x1.9c2d14ee4p-1, 0x1.99999999ap-1, + 0x1.970e4f80cp-1, 0x1.948b0fcd6p-1, 0x1.920fb49dp-1, + 0x1.8f9c18f9cp-1, 0x1.8d3018d3p-1, 0x1.8acb90f6cp-1, + 0x1.886e5f0acp-1, 0x1.861861862p-1, 0x1.83c977ab2p-1, + 0x1.818181818p-1, 0x1.7f405fd02p-1, 0x1.7d05f417ep-1, + 0x1.7ad2208ep-1, 0x1.78a4c8178p-1, 0x1.767dce434p-1, + 0x1.745d1745ep-1, 0x1.724287f46p-1, 0x1.702e05c0cp-1, + 0x1.6e1f76b44p-1, 0x1.6c16c16c2p-1, 0x1.6a13cd154p-1, + 0x1.681681682p-1, 0x1.661ec6a52p-1, 0x1.642c8590cp-1, + 0x1.623fa7702p-1, 0x1.605816058p-1, 0x1.5e75bb8dp-1, + 0x1.5c9882b94p-1, 0x1.5ac056b02p-1, 0x1.58ed23082p-1, + 0x1.571ed3c5p-1, 0x1.555555556p-1, 0x1.5390948f4p-1, + 0x1.51d07eae2p-1, 0x1.501501502p-1, 0x1.4e5e0a73p-1, + 0x1.4cab88726p-1, 0x1.4afd6a052p-1, 0x1.49539e3b2p-1, + 0x1.47ae147aep-1, 0x1.460cbc7f6p-1, 0x1.446f86562p-1, + 0x1.42d6625d6p-1, 0x1.414141414p-1, 0x1.3fb013fbp-1, + 0x1.3e22cbce4p-1, 0x1.3c995a47cp-1, 0x1.3b13b13b2p-1, + 0x1.3991c2c18p-1, 0x1.381381382p-1, 0x1.3698df3dep-1, + 0x1.3521cfb2cp-1, 0x1.33ae45b58p-1, 0x1.323e34a2cp-1, + 0x1.30d19013p-1, 0x1.2f684bda2p-1, 0x1.2e025c04cp-1, + 0x1.2c9fb4d82p-1, 0x1.2b404ad02p-1, 0x1.29e4129e4p-1, + 0x1.288b01288p-1, 0x1.27350b882p-1, 0x1.25e22708p-1, + 0x1.24924924ap-1, 0x1.23456789ap-1, 0x1.21fb78122p-1, + 0x1.20b470c68p-1, 0x1.1f7047dc2p-1, 0x1.1e2ef3b4p-1, + 0x1.1cf06ada2p-1, 0x1.1bb4a4046p-1, 0x1.1a7b9611ap-1, + 0x1.19453808cp-1, 0x1.181181182p-1, 0x1.16e068942p-1, + 0x1.15b1e5f76p-1, 0x1.1485f0e0ap-1, 0x1.135c81136p-1, + 0x1.12358e75ep-1, 0x1.111111112p-1, 0x1.0fef010fep-1, + 0x1.0ecf56be6p-1, 0x1.0db20a89p-1, 0x1.0c9714fbcp-1, + 0x1.0b7e6ec26p-1, 0x1.0a6810a68p-1, 0x1.0953f3902p-1, + 0x1.084210842p-1, 0x1.073260a48p-1, 0x1.0624dd2f2p-1, + 0x1.05197f7d8p-1, 0x1.041041042p-1, 0x1.03091b52p-1, + 0x1.020408102p-1, 0x1.01010101p-1, 0x1p-1 + }; + + static const double lix[] = { + 0x0p+0, -0x1.6fe50b6f1eafap-7, -0x1.6e79685c160d5p-6, + -0x1.11cd1d51955bap-5, -0x1.6bad37591e03p-5, -0x1.c4dfab908ddb5p-5, + -0x1.0eb389fab4795p-4, -0x1.3aa2fdd26ae99p-4, -0x1.663f6faca846bp-4, + -0x1.918a16e4cb157p-4, -0x1.bc84240a78a13p-4, -0x1.e72ec1181cfb1p-4, + -0x1.08c588cd964e4p-3, -0x1.1dcd19759f2e3p-3, -0x1.32ae9e27627c6p-3, + -0x1.476a9f989a58ap-3, -0x1.5c01a39fa6533p-3, -0x1.70742d4eed455p-3, + -0x1.84c2bd02d6434p-3, -0x1.98edd077e9f0ap-3, -0x1.acf5e2db31eeap-3, + -0x1.c0db6cddaa82dp-3, -0x1.d49ee4c33121ap-3, -0x1.e840be751d775p-3, + -0x1.fbc16b9003e0bp-3, -0x1.0790adbae3fcp-2, -0x1.11307dad465b5p-2, + -0x1.1ac05b2924cc5p-2, -0x1.24407ab0cc41p-2, -0x1.2db10fc4ea424p-2, + -0x1.37124cea58697p-2, -0x1.406463b1d455dp-2, -0x1.49a784bcbaa37p-2, + -0x1.52dbdfc4f341dp-2, -0x1.5c01a39ff2c9bp-2, -0x1.6518fe46abaa5p-2, + -0x1.6e221cd9d6933p-2, -0x1.771d2ba7f5791p-2, -0x1.800a56315ee2ap-2, + -0x1.88e9c72df8611p-2, -0x1.91bba891d495fp-2, -0x1.9a8023920fa4dp-2, + -0x1.a33760a7fbca6p-2, -0x1.abe18797d2effp-2, -0x1.b47ebf734b923p-2, + -0x1.bd0f2e9eb2b84p-2, -0x1.c592fad2be1aap-2, -0x1.ce0a4923cf5e6p-2, + -0x1.d6753e02f4ebcp-2, -0x1.ded3fd445afp-2, -0x1.e726aa1e558fep-2, + -0x1.ef6d67325ba38p-2, -0x1.f7a8568c8aea6p-2, -0x1.ffd799a81be87p-2, + 0x1.f804ae8d33c4p-2, 0x1.efec61b04af4ep-2, 0x1.e7df5fe572606p-2, + 0x1.dfdd89d5b0009p-2, 0x1.d7e6c0abbd924p-2, 0x1.cffae611a74d6p-2, + 0x1.c819dc2d8578cp-2, 0x1.c043859e5bdbcp-2, 0x1.b877c57b47c04p-2, + 0x1.b0b67f4f29a66p-2, 0x1.a8ff97183ed07p-2, 0x1.a152f14293c74p-2, + 0x1.99b072a9289cap-2, 0x1.921800927e284p-2, 0x1.8a8980ac4113p-2, + 0x1.8304d90c2859dp-2, 0x1.7b89f02cbd49ap-2, 0x1.7418aceb84ab1p-2, + 0x1.6cb0f68656c95p-2, 0x1.6552b49993dc2p-2, 0x1.5dfdcf1eacd7bp-2, + 0x1.56b22e6b97c18p-2, 0x1.4f6fbb2ce6943p-2, 0x1.48365e6957b42p-2, + 0x1.4106017c0dbcfp-2, 0x1.39de8e15727d9p-2, 0x1.32bfee37489bcp-2, + 0x1.2baa0c34989c3p-2, 0x1.249cd2b177fd5p-2, 0x1.1d982c9d50468p-2, + 0x1.169c0536677acp-2, 0x1.0fa848045f67bp-2, 0x1.08bce0d9a7c6p-2, + 0x1.01d9bbcf66a2cp-2, 0x1.f5fd8a90e2d85p-3, 0x1.e857d3d3af1e5p-3, + 0x1.dac22d3ec5f4ep-3, 0x1.cd3c712db459ap-3, 0x1.bfc67a7ff3c22p-3, + 0x1.b2602497678f4p-3, 0x1.a5094b555a1f8p-3, 0x1.97c1cb136b96fp-3, + 0x1.8a8980ac8652dp-3, 0x1.7d60496c83f66p-3, 0x1.7046031c7cdafp-3, + 0x1.633a8bf460335p-3, 0x1.563dc2a08b102p-3, 0x1.494f863bbc1dep-3, + 0x1.3c6fb6507a37ep-3, 0x1.2f9e32d5257ecp-3, 0x1.22dadc2a627efp-3, + 0x1.1625931802e49p-3, 0x1.097e38cef9519p-3, 0x1.f9c95dc138295p-4, + 0x1.e0b1ae90505f6p-4, 0x1.c7b528b5fcffap-4, 0x1.aed391abb17a1p-4, + 0x1.960caf9bd35eap-4, 0x1.7d60496e3edebp-4, 0x1.64ce26bf2108ep-4, + 0x1.4c560fe5b573bp-4, 0x1.33f7cde24adfbp-4, 0x1.1bb32a5ed9353p-4, + 0x1.0387efbd3006ep-4, 0x1.d6ebd1f1d0955p-5, 0x1.a6f9c37a8beabp-5, + 0x1.77394c9d6762cp-5, 0x1.47aa07358e1a4p-5, 0x1.184b8e4d490efp-5, + 0x1.d23afc4d95c78p-6, 0x1.743ee8678a7cbp-6, 0x1.16a21e243bf78p-6, + 0x1.72c7ba20c907ep-7, 0x1.720d9c0536e17p-8, 0x0p+0 + }; + + double z = x; + uint32_t ux = asuint (x); + uint32_t ax = ux & (~0u >> 1); + if (__glibc_unlikely (ux >= 0x17fu << 23)) + { /* x <= -1 */ + if (ux == (0x17fu << 23)) + return __math_divzerof (1); + if (ux > (0x1ffu << 23)) + return x + x; /* nan */ + return __math_invalidf (x); + } + else if (__glibc_unlikely (ax >= (0xff << 23))) + { /* +inf, nan */ + if (ax > (0xff << 23)) + return x + x; /* nan */ + return INFINITY; + } + else if (__glibc_likely (ax < 0x3cb7aa26u)) + { /* |x| < 0x1.6f544cp-6 */ + double z2 = z * z, z4 = z2 * z2; + if ( __glibc_likely(ax < 0x3b9d9d34u)) + { /* |x| < 0x1.3b3a68p-8 */ + if (__glibc_likely (ax < 0x39638a7eu)) + { /* |x| < 0x1.c714fcp-13 */ + if (__glibc_likely (ax < 0x329c5639u)) + { /* |x| < 0x1.38ac72p-26 */ + static const double c[] = + { + 0x1.71547652b82fep+0, -0x1.71547652b82ffp-1 + }; + return z * (c[0] + z * c[1]); + } + else + { + if (__glibc_unlikely (ux == 0x32ff7045u)) + return 0x1.70851ap-25f - 0x1.8p-80f; + if (__glibc_unlikely (ux == 0xb395efbbu)) + return -0x1.b0a00ap-24f + 0x1p-76f; + if (__glibc_unlikely (ux == 0x35a14df7u)) + return 0x1.d16d2p-20f + 0x1p-72f; + if (__glibc_unlikely (ux == 0x3841cb81u)) + return 0x1.17949ep-14f + 0x1p-67f; + static const double c[] = + { + 0x1.71547652b82fep+0, -0x1.71547652b82fdp-1, + 0x1.ec709ead0c9a7p-2, -0x1.7154773c1cb29p-2 + }; + return z * ((c[0] + z * c[1]) + z2 * (c[2] + z * c[3])); + } + } + else + { + if (__glibc_unlikely (ux == 0xbac9363du)) + return -0x1.2282aap-9f + 0x1p-61f; + static const double c[] = + { + 0x1.71547652b82fep+0, -0x1.71547652b83p-1, + 0x1.ec709dc28f51bp-2, -0x1.7154765157748p-2, + 0x1.2778a510a3682p-2, -0x1.ec745df1551fcp-3 + }; + return z + * ((c[0] + z * c[1]) + z2 * (c[2] + z * c[3]) + + z4 * ((c[4] + z * c[5]))); + } + } + else + { + static const double c[] = + { + 0x1.71547652b82fep+0, -0x1.71547652b82fbp-1, + 0x1.ec709dc3b6a73p-2, -0x1.71547652dc09p-2, + 0x1.2776c1a88901p-2, -0x1.ec7095bd4d208p-3, + 0x1.a66bec7fc8f7p-3, -0x1.71a900fc3f3f9p-3 + }; + return z + * ((c[0] + z * c[1]) + z2 * (c[2] + z * c[3]) + + z4 * ((c[4] + z * c[5]) + z2 * (c[6] + z * c[7]))); + } + } + else + { /* |x| >= 0x1.6f544cp-6 */ + float h, l; + /* With gcc 6.3.0, if we return 0x1.e90026p+4f + 0x1.fp-21 + in the second exceptional case, with rounding up it yields + 0x1.e90026p+4 which is incorrect, thus we use this workaround. See + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112367. */ + if (__glibc_unlikely (ux == 0x52928e33u)) + { + h = 0x1.318ffap+5f; + l = 0x1.fp-20f; + return h + l; + } + if (__glibc_unlikely (ux == 0x4ebd09e3u)) + { + h = 0x1.e90026p+4f; + l = 0x1.fp-21; + return h + l; + } + uint64_t tp = asuint64 (z + 1.0); + uint64_t m = tp & (~(uint64_t) 0 >> 12); + int e = (tp >> 52) - 0x3ff; + int j = (m + ((int64_t) 1 << (52 - 8))) >> (52 - 7), k = j > 53; + e += k; + double xd = asdouble (m | (uint64_t) 0x3ff << 52); + z = fma (xd, ix[j], -1.0); + static const double c[] = + { + 0x1.71547652b82fep+0, -0x1.71547652b82ffp-1, 0x1.ec709dc32988bp-2, + -0x1.715476521ec2bp-2, 0x1.277801a1ad904p-2, -0x1.ec731704d6a88p-3 + }; + double z2 = z * z; + double c0 = c[0] + z * c[1]; + double c2 = c[2] + z * c[3]; + double c4 = c[4] + z * c[5]; + c0 += z2 * (c2 + z2 * c4); + return (z * c0 - lix[j]) + e; + } +} +libm_alias_float (__log2p1, log2p1) diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index 5d407a49fe..b59d68202e 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -1252,22 +1252,18 @@ ldouble: 1 Function: "log2p1": double: 2 -float: 2 ldouble: 3 Function: "log2p1_downward": double: 2 -float: 2 ldouble: 3 Function: "log2p1_towardzero": double: 2 -float: 2 ldouble: 2 Function: "log2p1_upward": double: 2 -float: 2 ldouble: 3 Function: "log_downward": diff --git a/sysdeps/m68k/m680x0/fpu/libm-test-ulps b/sysdeps/m68k/m680x0/fpu/libm-test-ulps index 7fef8942ae..3964b83b81 100644 --- a/sysdeps/m68k/m680x0/fpu/libm-test-ulps +++ b/sysdeps/m68k/m680x0/fpu/libm-test-ulps @@ -1091,19 +1091,15 @@ double: 1 Function: "log2p1": double: 1 -float: 2 Function: "log2p1_downward": double: 1 -float: 2 Function: "log2p1_towardzero": double: 1 -float: 2 Function: "log2p1_upward": double: 1 -float: 2 Function: "logp1": double: 1 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index f9d7bf8598..f1d0543aea 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -1003,22 +1003,18 @@ float: 3 Function: "log2p1": double: 1 -float: 2 ldouble: 1 Function: "log2p1_downward": double: 2 -float: 2 ldouble: 2 Function: "log2p1_towardzero": double: 2 -float: 2 ldouble: 2 Function: "log2p1_upward": double: 2 -float: 2 ldouble: 1 Function: "log_downward": diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index 4f3c82d64c..fecd998560 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -1260,22 +1260,18 @@ ldouble: 1 Function: "log2p1": double: 1 -float: 2 ldouble: 3 Function: "log2p1_downward": double: 2 -float: 2 ldouble: 3 Function: "log2p1_towardzero": double: 2 -float: 2 ldouble: 2 Function: "log2p1_upward": double: 2 -float: 2 ldouble: 3 Function: "log_downward": diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index ddbd184e58..f775c56618 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -1569,25 +1569,21 @@ ldouble: 4 Function: "log2p1": double: 2 -float: 2 float128: 3 ldouble: 2 Function: "log2p1_downward": double: 2 -float: 2 float128: 3 ldouble: 4 Function: "log2p1_towardzero": double: 2 -float: 2 float128: 2 ldouble: 5 Function: "log2p1_upward": double: 2 -float: 2 float128: 3 ldouble: 6 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index c79dfcc2cc..a732166765 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -1317,22 +1317,18 @@ ldouble: 4 Function: "log2p1": double: 1 -float: 2 ldouble: 2 Function: "log2p1_downward": double: 2 -float: 2 ldouble: 4 Function: "log2p1_towardzero": double: 2 -float: 2 ldouble: 5 Function: "log2p1_upward": double: 2 -float: 2 ldouble: 6 Function: "log_downward": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index 4caf84f316..739d04bc5c 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -1209,7 +1209,6 @@ ldouble: 1 Function: "log2p1": double: 1 -float: 1 ldouble: 3 Function: "log_downward": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index e9c4b72c04..f6bb6e05e1 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -1252,22 +1252,18 @@ ldouble: 1 Function: "log2p1": double: 2 -float: 2 ldouble: 3 Function: "log2p1_downward": double: 2 -float: 2 ldouble: 3 Function: "log2p1_towardzero": double: 2 -float: 2 ldouble: 2 Function: "log2p1_upward": double: 2 -float: 2 ldouble: 3 Function: "log_downward": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index a42c9f273a..b444d4475e 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -1251,22 +1251,18 @@ ldouble: 1 Function: "log2p1": double: 2 -float: 2 ldouble: 3 Function: "log2p1_downward": double: 2 -float: 2 ldouble: 3 Function: "log2p1_towardzero": double: 2 -float: 2 ldouble: 2 Function: "log2p1_upward": double: 2 -float: 2 ldouble: 3 Function: "log_downward": diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index 3bee496247..c7f8531d6d 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -1260,22 +1260,18 @@ ldouble: 1 Function: "log2p1": double: 1 -float: 2 ldouble: 3 Function: "log2p1_downward": double: 2 -float: 2 ldouble: 3 Function: "log2p1_towardzero": double: 2 -float: 2 ldouble: 2 Function: "log2p1_upward": double: 2 -float: 2 ldouble: 3 Function: "log_downward": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index ffb1d4f3c9..de19bf26f7 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1910,25 +1910,21 @@ float: 1 Function: "log2p1": double: 2 -float: 2 float128: 3 ldouble: 4 Function: "log2p1_downward": double: 2 -float: 2 float128: 3 ldouble: 4 Function: "log2p1_towardzero": double: 2 -float: 2 float128: 2 ldouble: 4 Function: "log2p1_upward": double: 2 -float: 2 float128: 3 ldouble: 5 From patchwork Fri Oct 25 18:21:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 838390 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp445341wri; Fri, 25 Oct 2024 11:32:18 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVvCF9ci105WOqDReYV68SYgnTPmdWfSMOoq9D3g17BBk5q7WZS2oBf/SntHUU0+0GSTj6S8Q==@linaro.org X-Google-Smtp-Source: AGHT+IFYJ/LOnl9XlJpYgHdLZxrNuzqJlrzlz5F5UcTDw2sTih5EDL/nsYpmoV4/Etqih38PLuIb X-Received: by 2002:a05:6214:5d0a:b0:6cb:e453:590 with SMTP id 6a1803df08f44-6d1858375camr3692016d6.37.1729881138070; Fri, 25 Oct 2024 11:32:18 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729881138; cv=pass; d=google.com; s=arc-20240605; b=EJXdYCHAGkkN7I7hNOixnFfIElbcyDCMBynSxWQWicXrz+qXSF+h/axKtZ1T1Zaz5N hEeLpjfaGbaBxK9kRhvZdhCfa1PGUmqzQ9+sSleevZpJdwEPdK8sXruEMsSEwhnSwfL+ pfcdkf/qEMzFsYTJ/CCBIxC//T5EZgutP/Wp3pd+Yz3aBnwOGR+PInSito9IXW9wsqwC Jk4uDqRp/yMmO/4iGU9PRfxUOntaphofsTZIcgMBtubJVSeLKg3epkp4SM0y4DDeIncF tvkPS+lgmq0gv+xn7vPI0Ocnu7oVw7LhDZExN+/vjBoTRz3isHHkH9Xuj6zX4PCD0Svf 4X4g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=Zjl8a2kjFZa4yK8gXQLN2kGl9ztVVa31ulGKFj+rqQE=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=ZcjqK3Jy7jFlEnQCVel5nF8BDwfS1/xmoq+IJPsNH3LXqBmSeEG4VenDqgD3m3W565 ande2Qxlh4y0byeT5plrCfrpL9A2vUPiv9fSo5REe3uLocEDs5a711IOTaQlLQ7ovyPz SiO+e8+WH+27muhRaGjp03DXpQoLdpBhfKGMdQHv8o5+FkfUrLX3639d6p5OH/yi8Mag wVirUhBHi1OcNqC883cFmRVojGlUjbM/33x91lEZjMyQ7jtatk5f+KjZxnvDI9xfQ4fG dfIt8NMebA2fNG/3m0nDYQSWvJbytlnbboK6+yBVmvFreXv3G62Rdd4qmPJWcnt+ANYf J4dw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=rSKoC0hr; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id 6a1803df08f44-6d1799004e8si20815156d6.132.2024.10.25.11.32.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:32:18 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=rSKoC0hr; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B4C7F3858C5F for ; Fri, 25 Oct 2024 18:32:17 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by sourceware.org (Postfix) with ESMTPS id 5490A385840F for ; Fri, 25 Oct 2024 18:27:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5490A385840F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5490A385840F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62a ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880844; cv=none; b=XHq2W5c3QWq7/LgL0omP3t65pmilh7BhkO1MpiC5hyay9WgGkMG0OTc15xMCAmC/+pncZOhTdTnauEbQIT+kq1sKQYvmz5pCu9A3aNCM2ryWj+t9frwVp5L3cJur05uedqNfAR/S0FAmbXRj/v3KZEcx7XcmoxTk9jdtV2/PcAQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880844; c=relaxed/simple; bh=1KAFhPxefaNE2gUtpV2zXxYc+MIjPXJYS97OgzYqHls=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=aVBjOGcShhNWQcauViWZFr18ZA0Q5UuCNvkrGrkfuugmi5Rh1kRnj1f3QYWEV5a2QXMKSxlsgCjwyfhaPh3qlC+os/05xM824ugnIqodfICGtzhW2b3jD8RGptBS9OHOALP4bu/DAB4Lo/7sa7AXd3nxHn02TZjMfuykcjA098E= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-20c8b557f91so20183625ad.2 for ; Fri, 25 Oct 2024 11:27:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880838; x=1730485638; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Zjl8a2kjFZa4yK8gXQLN2kGl9ztVVa31ulGKFj+rqQE=; b=rSKoC0hrIJ+VWrQiSFuQ75RJ0SNz7lNteq/29O3DX2IBz0A7zaDynxZqFP7V51LcRm EZZ5N8kw2oTcAD4eIAxqM7uuMSkJ6Vi+FY7o/u0k+Gk1YZwuV2P4SzsGBfGi/HxpURWD dSXGVH7/PHWSs+6r/ZGVfSKUgfpJy+IsETpKKW9zUcxOClY2tqgGHU3LIhQfuhznRAhT EpRCaQMsT9r5GMxzr6Fj+FBWEw+5ClGKRiO199RFeYvSa4zbyxHv+vrcoe/UCTDnVa/6 dE+zkmnpCRTTe1pCREQv1XQ/It3aT5R4//IQUhConq0dPbc7N5DbArlNbpLOYxp8W+m3 jyVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880838; x=1730485638; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Zjl8a2kjFZa4yK8gXQLN2kGl9ztVVa31ulGKFj+rqQE=; b=EB3EY3MWZoqDSYhR+Jy6MToYEmiV4YHJ9EaDdq/XAoNm2p28551+RilI47TnKkXWUN o6EO6E6xEypEIlUt2bvbeixyzGlqla02XC+SoR/cqLswlvft2mB1pVHq4oQvzKkj4siS fojxnr0yG0iak7TJunBKTK5oJ10U6nu9NkNL2MXj1uOcBQSEGtWC54g4ojLtrMbTZhuQ Gr7wfEkD8ViYkRj4JXzd00QcWqDYZaU9qmGIhTvGdDLzGXqZEUoLk8I2XFTuuwxomLVr hrre8etCFm5WTYZUSi5VxYwZF6LOlcb0DXmv0aABnpjwh5P7OTKQIz7dlokC+SrU9dS2 C6cA== X-Gm-Message-State: AOJu0YxcyqF0CgZsKcMXQOqlHbt3M6veLcqOjWRVrDcdbOaKB0ltEdZE bA7c6X+jGgBC4hRW5NuMJ2tzycSCpfPeFVDPoC2bSWqezoQM3RgYOX/t5LKZohI9IpjopDsaAFl h X-Received: by 2002:a17:902:fc45:b0:20b:9f8c:e9d3 with SMTP id d9443c01a7336-210c6ccfa73mr536115ad.55.1729880837864; Fri, 25 Oct 2024 11:27:17 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.27.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:27:17 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 15/17] math: Use log10p1f from CORE-MATH Date: Fri, 25 Oct 2024 15:21:53 -0300 Message-ID: <20241025182614.2022697-16-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org The CORE-MATH implementation is correctly rounded (for any rounding mode) and shows slight better performance to the generic log10p1f. The code was adapted to glibc style and to use the definition of math_config.h (to handle errno, overflow, and underflow). Benchtest on x64_64 (Ryzen 9 5900X, gcc 14.2.1), aarch64 (M1, gcc 13.2.1), and powerpc (POWER10, gcc 13.2.1): Latency master patched improvement x86_64 68.5251 32.2627 52.92% x86_64v2 68.8912 32.7887 52.41% x86_64v3 59.3427 27.0521 54.41% i686 162.026 103.383 36.19% aarch64 26.8513 14.5695 45.74% power10 12.7426 8.4929 33.35% powerpc 16.6768 9.29135 44.29% reciprocal-throughput master patched improvement x86_64 26.0969 12.4023 52.48% x86_64v2 25.0045 11.0748 55.71% x86_64v3 20.5610 10.2995 49.91% i686 89.8842 78.5211 12.64% aarch64 17.1200 9.4832 44.61% power10 6.7814 6.4258 5.24% powerpc 15.769 7.6825 51.28% Signed-off-by: Alexei Sibidanov Signed-off-by: Paul Zimmermann Signed-off-by: Adhemerval Zanella --- sysdeps/aarch64/libm-test-ulps | 4 - sysdeps/arc/fpu/libm-test-ulps | 4 - sysdeps/arc/nofpu/libm-test-ulps | 1 - sysdeps/arm/libm-test-ulps | 4 - sysdeps/hppa/fpu/libm-test-ulps | 4 - sysdeps/i386/fpu/libm-test-ulps | 4 - .../i386/i686/fpu/multiarch/libm-test-ulps | 4 - sysdeps/ieee754/flt-32/s_log10p1f.c | 182 ++++++++++++++++++ sysdeps/loongarch/lp64/libm-test-ulps | 4 - sysdeps/mips/mips32/libm-test-ulps | 4 - sysdeps/mips/mips64/libm-test-ulps | 4 - sysdeps/powerpc/fpu/libm-test-ulps | 4 - sysdeps/powerpc/nofpu/libm-test-ulps | 4 - sysdeps/riscv/nofpu/libm-test-ulps | 1 - sysdeps/riscv/rvd/libm-test-ulps | 4 - sysdeps/s390/fpu/libm-test-ulps | 4 - sysdeps/sparc/fpu/libm-test-ulps | 4 - sysdeps/x86_64/fpu/libm-test-ulps | 4 - 18 files changed, 182 insertions(+), 62 deletions(-) create mode 100644 sysdeps/ieee754/flt-32/s_log10p1f.c diff --git a/sysdeps/aarch64/libm-test-ulps b/sysdeps/aarch64/libm-test-ulps index 5700c712ff..c523d45802 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -1346,22 +1346,18 @@ ldouble: 1 Function: "log10p1": double: 2 -float: 2 ldouble: 3 Function: "log10p1_downward": double: 2 -float: 3 ldouble: 4 Function: "log10p1_towardzero": double: 3 -float: 2 ldouble: 3 Function: "log10p1_upward": double: 2 -float: 3 ldouble: 4 Function: "log1p": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index 54dc4d6760..c12e241c48 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -968,19 +968,15 @@ float: 4 Function: "log10p1": double: 2 -float: 2 Function: "log10p1_downward": double: 2 -float: 3 Function: "log10p1_towardzero": double: 3 -float: 2 Function: "log10p1_upward": double: 2 -float: 3 Function: "log1p": double: 1 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index f6d1ef062c..d0cfa46c3d 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -234,7 +234,6 @@ float: 2 Function: "log10p1": double: 1 -float: 2 Function: "log1p": double: 1 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index 502680ff1b..6cdd3d53d6 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -958,19 +958,15 @@ float: 2 Function: "log10p1": double: 1 -float: 2 Function: "log10p1_downward": double: 2 -float: 3 Function: "log10p1_towardzero": double: 3 -float: 2 Function: "log10p1_upward": double: 2 -float: 3 Function: "log1p": double: 1 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index b56f512b39..021a2a482c 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -981,19 +981,15 @@ float: 2 Function: "log10p1": double: 2 -float: 2 Function: "log10p1_downward": double: 2 -float: 3 Function: "log10p1_towardzero": double: 3 -float: 2 Function: "log10p1_upward": double: 2 -float: 3 Function: "log1p": double: 1 diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index 63ef3569b4..a77ded2648 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -1414,25 +1414,21 @@ ldouble: 1 Function: "log10p1": double: 1 -float: 2 float128: 3 ldouble: 4 Function: "log10p1_downward": double: 2 -float: 3 float128: 4 ldouble: 8 Function: "log10p1_towardzero": double: 2 -float: 1 float128: 3 ldouble: 8 Function: "log10p1_upward": double: 2 -float: 3 float128: 4 ldouble: 6 diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index f6393dbdf1..a9cd01bf03 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -1417,25 +1417,21 @@ ldouble: 1 Function: "log10p1": double: 1 -float: 2 float128: 3 ldouble: 4 Function: "log10p1_downward": double: 2 -float: 1 float128: 4 ldouble: 8 Function: "log10p1_towardzero": double: 2 -float: 1 float128: 3 ldouble: 8 Function: "log10p1_upward": double: 2 -float: 2 float128: 4 ldouble: 6 diff --git a/sysdeps/ieee754/flt-32/s_log10p1f.c b/sysdeps/ieee754/flt-32/s_log10p1f.c new file mode 100644 index 0000000000..29dad2ea94 --- /dev/null +++ b/sysdeps/ieee754/flt-32/s_log10p1f.c @@ -0,0 +1,182 @@ +/* Correctly-rounded biased argument base-10 logarithm function for binary32 value. + +Copyright (c) 2022-2023 Alexei Sibidanov. + +This file is part of the CORE-MATH project +project (file src/binary32/log10p1/log10p1f.c revision bc385c2). + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +#include +#include +#include +#include +#include "math_config.h" + +static __attribute__ ((noinline)) float +as_special (float x) +{ + uint32_t ux = asuint (x); + if (ux == 0x7f800000u) + return x; /* +inf */ + uint32_t ax = ux << 1; + if (ax == 0x17fu << 24) + /* x+1 = 0.0 */ + return __math_divzerof (1); + if (ax > 0xff000000u) + return x + x; /* nan */ + return __math_invalidf (x); +} + +float +__log10p1f (float x) +{ + static const double tr[] = + { + 0x1p+0, 0x1.f81f82p-1, 0x1.f07c1fp-1, 0x1.e9131acp-1, + 0x1.e1e1e1ep-1, 0x1.dae6077p-1, 0x1.d41d41dp-1, 0x1.cd85689p-1, + 0x1.c71c71cp-1, 0x1.c0e0704p-1, 0x1.bacf915p-1, 0x1.b4e81b5p-1, + 0x1.af286bdp-1, 0x1.a98ef6p-1, 0x1.a41a41ap-1, 0x1.9ec8e95p-1, + 0x1.999999ap-1, 0x1.948b0fdp-1, 0x1.8f9c19p-1, 0x1.8acb90fp-1, + 0x1.8618618p-1, 0x1.8181818p-1, 0x1.7d05f41p-1, 0x1.78a4c81p-1, + 0x1.745d174p-1, 0x1.702e05cp-1, 0x1.6c16c17p-1, 0x1.6816817p-1, + 0x1.642c859p-1, 0x1.605816p-1, 0x1.5c9882cp-1, 0x1.58ed231p-1, + 0x1.5555555p-1, 0x1.51d07ebp-1, 0x1.4e5e0a7p-1, 0x1.4afd6ap-1, + 0x1.47ae148p-1, 0x1.446f865p-1, 0x1.4141414p-1, 0x1.3e22cbdp-1, + 0x1.3b13b14p-1, 0x1.3813814p-1, 0x1.3521cfbp-1, 0x1.323e34ap-1, + 0x1.2f684bep-1, 0x1.2c9fb4ep-1, 0x1.29e412ap-1, 0x1.27350b9p-1, + 0x1.2492492p-1, 0x1.21fb781p-1, 0x1.1f7047ep-1, 0x1.1cf06aep-1, + 0x1.1a7b961p-1, 0x1.1811812p-1, 0x1.15b1e5fp-1, 0x1.135c811p-1, + 0x1.1111111p-1, 0x1.0ecf56cp-1, 0x1.0c9715p-1, 0x1.0a6810ap-1, + 0x1.0842108p-1, 0x1.0624dd3p-1, 0x1.041041p-1, 0x1.0204081p-1, + 0.5 + }; + static const double tl[] = + { + 0x1.562ec497ef351p-43, 0x1.b9476892ea99cp-8, 0x1.b5e909c959eecp-7, + 0x1.45f4f59ec84fp-6, 0x1.af5f92cbcf2aap-6, 0x1.0ba01a6069052p-5, + 0x1.3ed119b99dd41p-5, 0x1.714834298a088p-5, 0x1.a30a9d98309c1p-5, + 0x1.d41d51266b9d9p-5, 0x1.02428c0f62dfcp-4, 0x1.1a23444eea521p-4, + 0x1.31b30543f2597p-4, 0x1.48f3ed39bd5e7p-4, 0x1.5fe8049a0bd06p-4, + 0x1.769140a6a78eap-4, 0x1.8cf1836c96595p-4, 0x1.a30a9d5551a84p-4, + 0x1.b8de4d1ee5b21p-4, 0x1.ce6e4202c7bc9p-4, 0x1.e3bc1accaa6eap-4, + 0x1.f8c9683b584b7p-4, 0x1.06cbd68ca86ep-3, 0x1.11142f19de3a2p-3, + 0x1.1b3e71fa795fp-3, 0x1.254b4d37a3354p-3, 0x1.2f3b6912cab79p-3, + 0x1.390f6831144f7p-3, 0x1.42c7e7fffb21ap-3, 0x1.4c65808c779aep-3, + 0x1.55e8c507508c7p-3, 0x1.5f52445deb049p-3, 0x1.68a288c3efe72p-3, + 0x1.71da17bdef98bp-3, 0x1.7af9736089c4bp-3, 0x1.84011952a11ebp-3, + 0x1.8cf1837a7d6d1p-3, 0x1.95cb2891e3048p-3, 0x1.9e8e7b0f85651p-3, + 0x1.a73beaa5d9dfep-3, 0x1.afd3e39454544p-3, 0x1.b856cf060c662p-3, + 0x1.c0c5134de0c6dp-3, 0x1.c91f1371bb611p-3, 0x1.d1652ffcd2bc5p-3, + 0x1.d997c6f634ae6p-3, 0x1.e1b733ab8fbadp-3, 0x1.e9c3ceadab4c8p-3, + 0x1.f1bdeec438f77p-3, 0x1.f9a5e7a5f906fp-3, 0x1.00be05ac02564p-2, + 0x1.04a054d81990cp-2, 0x1.087a083594e33p-2, 0x1.0c4b457098b4fp-2, + 0x1.101431aa1f48ap-2, 0x1.13d4f08b98411p-2, 0x1.178da53edaecbp-2, + 0x1.1b3e71e9f9391p-2, 0x1.1ee777defd526p-2, 0x1.2288d7b48d874p-2, + 0x1.2622b0f52dad8p-2, 0x1.29b522a4c594cp-2, 0x1.2d404b0e305b9p-2, + 0x1.30c4478f3f21dp-2, 0x1.34413509f6f4dp-2 + }; + static const union + { + float f; + uint32_t u; + } st[] = + { + { 0x0p+0 }, { 0x1.2p+3 }, { 0x1.8cp+6 }, + { 0x1.f38p+9 }, { 0x1.3878p+13 }, { 0x1.869fp+16 }, + { 0x1.e847ep+19 }, { 0x1.312cfep+23 } + }; + double z = x; + uint32_t ux = asuint (x); + if (__glibc_unlikely (ux >= 0x17fu << 23)) /* x <= -1 */ + return as_special (x); + uint32_t ax = ux & (~0u >> 1); + if (__glibc_unlikely (ax == 0)) + return copysign (0, x); + if (__glibc_unlikely (ax >= (0xff << 23))) /* +inf, nan */ + return as_special (x); + int ie = ux; + ie >>= 23; + unsigned int je = ie - 126; + je = (je * 0x9a209a8) >> 29; + if (__glibc_unlikely (ux == st[je].u)) + return je; + + uint64_t tz = asuint64 (z + 1.0); + uint64_t m = tz & (~(uint64_t) 0 >> 12); + int32_t e = (tz >> 52) - 1023, j = ((m + ((int64_t) 1 << 45)) >> 46); + tz = m | ((uint64_t) 0x3ff << 52); + double ix = tr[j], l = tl[j]; + double off = e * 0x1.34413509f79ffp-2 + l; + double v = asdouble (tz) * ix - 1; + + static const double h[] = + { + 0x1.bcb7b150bf6d8p-2, -0x1.bcb7b1738c07ep-3, + 0x1.287de19e795c5p-3, -0x1.bca44edc44bc4p-4 + }; + double v2 = v * v; + double f = (h[0] + v * h[1]) + v2 * (h[2] + v * h[3]); + double r = off + v * f; + float ub = r; + float lb = r + 0x1.5cp-42; + if (__glibc_unlikely (ub != lb)) + { + if (__glibc_unlikely (ax < 0x3d32743eu)) + { /* 0x1.64e87cp-5f */ + if (__glibc_unlikely (ux == 0xa6aba8afu)) + return -0x1.2a33bcp-51f + 0x1p-76f; + if (__glibc_unlikely (ux == 0xaf39b9a7u)) + return -0x1.42a342p-34f + 0x1p-59f; + if (__glibc_unlikely (ux == 0x399a7c00u)) + return 0x1.0c53cap-13f + 0x1p-38f; + z /= 2.0 + z; + double z2 = z * z, z4 = z2 * z2; + static const double c[] = + { + 0x1.bcb7b1526e50fp-1, 0x1.287a76370129dp-2, + 0x1.63c62378fa3dbp-3, 0x1.fca4139a42374p-4 + }; + float ret = z * ((c[0] + z2 * c[1]) + z4 * (c[2] + z2 * c[3])); + if (x != 0.0f && ret == 0.0) + __set_errno (ERANGE); + return ret; + } + if (__glibc_unlikely (ux == 0x7956ba5eu)) + return 0x1.16bebap+5f + 0x1p-20f; + if (__glibc_unlikely (ux == 0xbd86ffb9u)) + return -0x1.e53536p-6f + 0x1p-31f; + static const double c[] = + { + 0x1.bcb7b1526e50ep-2, -0x1.bcb7b1526e53dp-3, 0x1.287a7636f3fa2p-3, + -0x1.bcb7b146a14b3p-4, 0x1.63c627d5219cbp-4, -0x1.2880736c8762dp-4, + 0x1.fc1ecf913961ap-5 + }; + f = v + * ((c[0] + v * c[1]) + + v2 * ((c[2] + v * c[3]) + v2 * (c[4] + v * c[5] + v2 * c[6]))); + f += l - tl[0]; + double el = e * 0x1.34413509f79ffp-2; + r = el + f; + ub = r; + } + return ub; +} +libm_alias_float (__log10p1, log10p1) diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index 846ddb4b3e..ecd9cc5873 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -1195,22 +1195,18 @@ ldouble: 1 Function: "log10p1": double: 2 -float: 2 ldouble: 3 Function: "log10p1_downward": double: 2 -float: 3 ldouble: 4 Function: "log10p1_towardzero": double: 3 -float: 2 ldouble: 3 Function: "log10p1_upward": double: 2 -float: 3 ldouble: 4 Function: "log1p": diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index 2ba46a0749..c319e0642c 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -955,19 +955,15 @@ float: 2 Function: "log10p1": double: 1 -float: 2 Function: "log10p1_downward": double: 2 -float: 3 Function: "log10p1_towardzero": double: 3 -float: 2 Function: "log10p1_upward": double: 2 -float: 3 Function: "log1p": double: 1 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index f73f95cdad..365b860c54 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -1200,22 +1200,18 @@ ldouble: 1 Function: "log10p1": double: 1 -float: 2 ldouble: 3 Function: "log10p1_downward": double: 2 -float: 3 ldouble: 4 Function: "log10p1_towardzero": double: 3 -float: 2 ldouble: 3 Function: "log10p1_upward": double: 2 -float: 3 ldouble: 4 Function: "log1p": diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index 48a3ea10db..8d0c18eed1 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -1497,25 +1497,21 @@ ldouble: 2 Function: "log10p1": double: 2 -float: 2 float128: 3 ldouble: 3 Function: "log10p1_downward": double: 2 -float: 3 float128: 4 ldouble: 6 Function: "log10p1_towardzero": double: 3 -float: 2 float128: 3 ldouble: 6 Function: "log10p1_upward": double: 2 -float: 3 float128: 4 ldouble: 6 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index ec9104806a..20036c779c 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -1257,22 +1257,18 @@ ldouble: 2 Function: "log10p1": double: 1 -float: 2 ldouble: 3 Function: "log10p1_downward": double: 2 -float: 3 ldouble: 6 Function: "log10p1_towardzero": double: 3 -float: 2 ldouble: 6 Function: "log10p1_upward": double: 2 -float: 3 ldouble: 6 Function: "log1p": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index 0189fc5bd0..cccc864a7a 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -1167,7 +1167,6 @@ ldouble: 1 Function: "log10p1": double: 1 -float: 1 ldouble: 3 Function: "log1p": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index a0b43761a2..14fc7633af 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -1195,22 +1195,18 @@ ldouble: 1 Function: "log10p1": double: 2 -float: 2 ldouble: 3 Function: "log10p1_downward": double: 2 -float: 3 ldouble: 4 Function: "log10p1_towardzero": double: 3 -float: 2 ldouble: 3 Function: "log10p1_upward": double: 2 -float: 3 ldouble: 4 Function: "log1p": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index 658752c41e..288054aafc 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -1196,22 +1196,18 @@ ldouble: 1 Function: "log10p1": double: 2 -float: 2 ldouble: 3 Function: "log10p1_downward": double: 2 -float: 3 ldouble: 4 Function: "log10p1_towardzero": double: 3 -float: 2 ldouble: 3 Function: "log10p1_upward": double: 2 -float: 3 ldouble: 4 Function: "log1p": diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index 4c4d8ff238..6ea02058e9 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -1200,22 +1200,18 @@ ldouble: 1 Function: "log10p1": double: 1 -float: 2 ldouble: 3 Function: "log10p1_downward": double: 2 -float: 3 ldouble: 4 Function: "log10p1_towardzero": double: 3 -float: 2 ldouble: 3 Function: "log10p1_upward": double: 2 -float: 3 ldouble: 4 Function: "log1p": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index ef9ef51e5e..e3c811549c 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -1798,25 +1798,21 @@ float: 1 Function: "log10p1": double: 2 -float: 2 float128: 3 ldouble: 4 Function: "log10p1_downward": double: 2 -float: 3 float128: 4 ldouble: 8 Function: "log10p1_towardzero": double: 3 -float: 2 float128: 3 ldouble: 8 Function: "log10p1_upward": double: 2 -float: 3 float128: 4 ldouble: 6 From patchwork Fri Oct 25 18:21:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 838388 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp444953wri; Fri, 25 Oct 2024 11:31:30 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXDlRFf+tYX4MeUogl5RCbmv1HWChGEsE6b5zLiH3lhEBTt1bX3hlgpmcvQ5+H15z0OiNfLrg==@linaro.org X-Google-Smtp-Source: AGHT+IHpHNpg/tLe4GBmQD+8QXaRtgHof5FNZXGIvngrpICO3n18IOVZ+x+vZ8ENHmza66EjQ0Hq X-Received: by 2002:a05:6102:512c:b0:4a5:e2a8:ec8f with SMTP id ada2fe7eead31-4a8cfb5de31mr438004137.9.1729881089894; Fri, 25 Oct 2024 11:31:29 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729881089; cv=pass; d=google.com; s=arc-20240605; b=Bh4lFaNlmmh5P1FyL9ecdwX+HnmwdA34sJ+WLhMWrFgA/EBQLRayypXJSJM9YuCFr3 8WG+cHEEhIY+ma024ux1cohyJ0KjsSxnFt21SzNyi40X6K7hxkbR/9Ly10aNUJXmh8om 4/k8Dxq7wWTypreoGelTljDHbRquh4tyvmeqwm93Ul9J2DtlmP10/CW/b9+CeqI+WK7m 7uol7CXFdfE5NEyT8MHUSJhGRlDu1HBzRtDZ9mGXVFfzzmmrXHD29Y3Z31lk0hgMNfAw yyrRY2t/LVoPTtKz39nc0MElOJWXIKpitC/mulEfWFDWIHFbX9oNzeT5Lky38hSeoLvb tBNQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=xyGPGMlYmM4osUTc1NN7SiyHWdyIHL4A/JrR1aCnMF0=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=D90MSmPCiyBw4QIrrmmnGzq9cbRppTEKz86ElM33N6HwmL6KKg27Bc//guwNr0vL1t TTlUiN/S+g9yddIRreszPRZibN4qSRdkvipSFGZmknBAeJ8pimBwi5OrpxjMzmzwareQ eLyx1SjUDpT3hYE3gT+htFSeSd2ghbPRE+0zccDJQHCudvSZLvV283sST0s5xj3CnaJ8 MEo1mPyukQo77iZ0OXAvpMal9WnEFkQNJscGmCcyFmLlXgMxwkuIxrR36Cy5PJPp3w9I TQy3ngTGTlXy10mqAMp5mXFLLDQ5pXToJaYOmD+HgcTO5JveogJxSInQnKth6WAuuDX7 2SaA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="RJ/GcpsN"; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id a1e0cc1a2514c-85580a833b8si539349241.66.2024.10.25.11.31.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:31:29 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="RJ/GcpsN"; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7B2293858403 for ; Fri, 25 Oct 2024 18:31:29 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) by sourceware.org (Postfix) with ESMTPS id EE3253858415 for ; Fri, 25 Oct 2024 18:27:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EE3253858415 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EE3253858415 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::632 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880843; cv=none; b=FdsWXuLeBSx6dWpnSUxkma9UPj8zUN+K6MOa3ZKBFt0nyiYOUr58PqHullUR8AN6+WCISnfn/PvNEgxrIHGHZAfDa6X+yYzoL+URc7kawqBerpp+MUOkCdPtmmcPLpCr4OotPbd9otuPBJ6mb79X8mrO2LJCqfcau0Z266DARYM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880843; c=relaxed/simple; bh=3UGnSedWSu6ydS7c5jLCgKun80gK6rYWwh8+Y5GQZJk=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=Y/6NiOhhidHhrwSIUIxc9CU/ZWh7zprxu/CfNDTUr2ONIpcH8SApliJ5mWJ/Q44WjEAFtjjY/0YIWZCULJEmESYkLCz9ZTG1TlorDjXaphpx8qdVK3P4eVGCON1uzXfFYh/c7QFiCcCDHCYFwLryn3hcU3TJi2VdvChPTJybtg4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-20c767a9c50so20216275ad.1 for ; Fri, 25 Oct 2024 11:27:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880840; x=1730485640; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xyGPGMlYmM4osUTc1NN7SiyHWdyIHL4A/JrR1aCnMF0=; b=RJ/GcpsNiokUgFW8zUZebvG0ShNfxuJRmAUWzyEWJRDlYI+WmW/6WmnRkf0sRcwCkO 3otL9CC21+8G9YwsXN7jwJpCNsB7S84bEqreuZTYatEkxqNj2xMSEAAny8La7kaHBg24 09etMQyI6nqCwpJWdmMDeHI1wnb6kkEw7DwI7deWZgY4cC/g6l1jWsK3O/BF2DBdsDyF SppuUDBjxoWjQRm6EKsUfSwK71NAHOFIH8LmvdD+sh2uJg6Bv3tlspQUVQVrsQtGk78P JPNE7LpqtC+q2BQ4lkr6n/NfMZLi6I7SPGFJsZBsWA0Cs51oXztd4WQ3M+SofPTmhbO4 +MYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880840; x=1730485640; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xyGPGMlYmM4osUTc1NN7SiyHWdyIHL4A/JrR1aCnMF0=; b=kNHLsZUBIt4If3IChSTyCquqEoT0FGIVNpexeM9V7+6zhBq203uQsJZBR2GlysYvIJ G0cO858Jv+/YXVc7IAIBcI9R9uOnLnYk0UXTFYhdXLwW3tNLTAuyEujPFdAVGok3kzDQ qCxT9MjlaMHB5rnlzU+XAGosMqIesueH5zSlWedfM3LM/iv9W/zJIe5XYLQoc7HHImEZ cINzcIHDzixn9DB3XAZ98gKYN/BTe8pBDyiEjAFByljAQTqc6IoHOwZ3OMLikUsaCoTU Ki5WrCSnn+k4Oap4IF2QjQSxy7XCcZsbxDYOKbPyTGhzS06EsCLOGDderwD34tM4Qbkk syDA== X-Gm-Message-State: AOJu0Yw5WlMNAW6owwcjbmLMyY1qsoc2Y4rMCR7o8SPzu0UNUn6GGNNB clUGOWrmPONwhD7raSAAN13PG5SkSqhiJguw3mkCnQ0Mo3j47Dz7v1cJ0T1I/SVuGb9X3vk8g7d A X-Received: by 2002:a17:903:32c4:b0:20c:7796:5e76 with SMTP id d9443c01a7336-210c68d82f3mr967495ad.18.1729880839645; Fri, 25 Oct 2024 11:27:19 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.27.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:27:19 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 16/17] x86_64: Add exp10m1f with FMA Date: Fri, 25 Oct 2024 15:21:54 -0300 Message-ID: <20241025182614.2022697-17-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, KAM_STOCKGEN, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org The CORE-MATH exp10m1f implementation showed slight worse latency when using x86_64 baseline ABI. This patch adds a ifunc variant with similar performance for x86_64-v3. Reviewed-by: Noah Goldstein --- sysdeps/ieee754/flt-32/s_exp10m1f.c | 2 ++ sysdeps/x86_64/fpu/multiarch/Makefile | 2 ++ sysdeps/x86_64/fpu/multiarch/s_exp10m1f-fma.c | 4 +++ sysdeps/x86_64/fpu/multiarch/s_exp10m1f.c | 33 +++++++++++++++++++ 4 files changed, 41 insertions(+) create mode 100644 sysdeps/x86_64/fpu/multiarch/s_exp10m1f-fma.c create mode 100644 sysdeps/x86_64/fpu/multiarch/s_exp10m1f.c diff --git a/sysdeps/ieee754/flt-32/s_exp10m1f.c b/sysdeps/ieee754/flt-32/s_exp10m1f.c index 610f269b01..c918c905e8 100644 --- a/sysdeps/ieee754/flt-32/s_exp10m1f.c +++ b/sysdeps/ieee754/flt-32/s_exp10m1f.c @@ -222,4 +222,6 @@ __exp10m1f (float x) return (s - 1.0) + w * c0; } } +#ifndef __exp10m1f libm_alias_float (__exp10m1, exp10m1) +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile index cbe09d49f4..dcff4df2f1 100644 --- a/sysdeps/x86_64/fpu/multiarch/Makefile +++ b/sysdeps/x86_64/fpu/multiarch/Makefile @@ -11,6 +11,7 @@ CFLAGS-s_log1p-fma.c = -mfma -mavx2 CFLAGS-s_sin-fma.c = -mfma -mavx2 CFLAGS-s_tan-fma.c = -mfma -mavx2 CFLAGS-s_sincos-fma.c = -mfma -mavx2 +CFLAGS-s_exp10m1f-fma.c = -mfma -mavx2 CFLAGS-e_exp2f-fma.c = -mfma -mavx2 CFLAGS-e_expf-fma.c = -mfma -mavx2 @@ -72,6 +73,7 @@ libm-sysdep_routines += \ s_ceilf-sse4_1 \ s_cosf-fma \ s_cosf-sse2 \ + s_exp10m1f-fma \ s_expm1-fma \ s_floor-sse4_1 \ s_floorf-sse4_1 \ diff --git a/sysdeps/x86_64/fpu/multiarch/s_exp10m1f-fma.c b/sysdeps/x86_64/fpu/multiarch/s_exp10m1f-fma.c new file mode 100644 index 0000000000..3dda04e2dd --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/s_exp10m1f-fma.c @@ -0,0 +1,4 @@ +#define __exp10m1f __exp10m1f_fma +#define SECTION __attribute__ ((section (".text.fma"))) + +#include diff --git a/sysdeps/x86_64/fpu/multiarch/s_exp10m1f.c b/sysdeps/x86_64/fpu/multiarch/s_exp10m1f.c new file mode 100644 index 0000000000..8040b7ed79 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/s_exp10m1f.c @@ -0,0 +1,33 @@ +/* Multiple versions of exp10m1. + Copyright (C) 2024 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL +# include + +extern float __redirect_exp10m1f (float); + +# define SYMBOL_NAME exp10m1f +# include "ifunc-fma.h" + +libc_ifunc_redirected (__redirect_exp10m1f, __exp10m1f, IFUNC_SELECTOR ()); +libm_alias_float (__exp10m1, exp10m1) + +# define __exp10m1f __exp10m1f_sse2 +#endif +#include From patchwork Fri Oct 25 18:21:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 838387 Delivered-To: patch@linaro.org Received: by 2002:adf:e287:0:b0:37d:45d0:187 with SMTP id v7csp444928wri; Fri, 25 Oct 2024 11:31:27 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUURdHxAhgfYrDaiHjQ50ApoQKLQBZbutZJqyUGzDX8Wizc0azOo2AFfEEOKxs4DCA8346eNw==@linaro.org X-Google-Smtp-Source: AGHT+IFt7CPIwkc88r72jgzzWF1cLaOeFeSQbwlNBvT0/cFe8hSgokT3uykPr5K4zCal/YFNArxp X-Received: by 2002:ac8:59c6:0:b0:458:1651:b235 with SMTP id d75a77b69052e-4613c01539dmr3052101cf.20.1729881087187; Fri, 25 Oct 2024 11:31:27 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1729881087; cv=pass; d=google.com; s=arc-20240605; b=fNtB4rGjxw77d/Ukq7sb13Rkgl07xZKRDBRdrnSZ3Hun44fjUZo+WtY7gww2QhZt6w ppo2DAlacJ2t9LZr+I761bU4/0g6MFw1R+S4JTS6mfA6zK2Ec0fTTKVRa+Tr61oQbeKn grSO+fk863qmzT0NgQM8MidY5kakK+4FIP35np/DAkmtRRHYZ9YV89jJOqee5EdyW/24 iQYZjq2MCTYSW7Re3uLb6UJz5lHI9vjw1nI5ejl1hDo19xbqO1StTirCj0dcqrrgnw/q ceym0vYVSTgLDurNPkPR/eudVDluv1aOwxv/DYgztJHF9Qa1g6XFrFJJMyUWgR5YKLxo w8NA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=5OAc+/NGN0baJk6SiaAr/65j5nqTCd3UWGHwvoTfYZU=; fh=t7K9SrKfAVamsrcTQr7hpJTc6WX7Vbl5hwH62Vkp0W0=; b=dzMKLibKDP83nMxg9DBpPy2cgBvD0hnSduvTY1OZ1ziqLDkoETEYuF1M7YbXR5wdw+ OthBjhEasQEJsBp7GKiVZQYBmXQHsSz9JtwbGMTCzQ3oE8wgfV/z7xFhR4U3nCqNODAB lpAmecZapHnJ70o9o6Q83+nSxawBgCtRezt5At7JxalZ4Cu4hKSmUvmfZ3MLl5GZdOAq HMjrIGVKmVaFNA3EiMwmynAvX25udRsXD5nyaD74p9YcL6E+I46nJqwt1KFX2SemzXOR ylNT/a1VtW4O4Mqm5XkJ58PKyU+LYWQ/Vmopar3+swSdy55UUJpza/HmyQRJ26RODiMJ vuHw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Cmot7N0l; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id d75a77b69052e-46132110220si22233381cf.137.2024.10.25.11.31.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:31:27 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Cmot7N0l; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CA46A3858416 for ; Fri, 25 Oct 2024 18:31:26 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by sourceware.org (Postfix) with ESMTPS id 1DFAE3858C56 for ; Fri, 25 Oct 2024 18:27:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1DFAE3858C56 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 1DFAE3858C56 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::629 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880847; cv=none; b=A8ELzN0krIfBU1I5LhrMrx9zIqjaUuJfRXvmYjvfTY1vB8SSYVeD5W6Xy9/Fsm5vOAYZg5oiBBVM8J38SJbKh6NmGKbl2wJLUASaakscMX6NDVap8nUPqTYA086kQVjQDhu6GAo8PM9DxgfVhEbsi7Ykuo3vZP5epRF4Co+RZ50= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1729880847; c=relaxed/simple; bh=SnNogSj2Px/uEoz5EQt5UVCBDPyz+Eptj6gWSqvDOs4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=cDzWgwtT2tq8Nb3M/GVU16x8qE5SYIPOQpPke5RtF0qddygTdi5KmnCdy6zXjwK4hOzvQmt0qKjVL4laEtaMsbbDGPv4bRsyU8VY5D/KUsT7t59b1oCzfinwCkKfA7qFASPV/lGfylyYKPttfUnyZs+HyRJD/6UgG103cSjcEX0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-20caccadbeeso23983585ad.2 for ; Fri, 25 Oct 2024 11:27:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1729880841; x=1730485641; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5OAc+/NGN0baJk6SiaAr/65j5nqTCd3UWGHwvoTfYZU=; b=Cmot7N0lRrIHzTSIAxyr+HD7AIJgEmJ0gdV/M3QzuruqW8f9YF+9XkpWom506abC9e hOipCajNFqxbZLIKwbP7JeVPyN6S+Op7gDONStmLETgAmrU2T2qRD/jHIc3AsxqET7jA mWIIBlBy9M4bmpwBG+ymuaU7C0X/wEVu9KCCYOyOorRIBplUz74HT+G4Ggf0f+Z1/qKH fk87QNQbvMgCgetUdzG+cmQVjS0mHP3DL392rKGfTu8NWvANiKwrqzKFiFicsGqktDug CscqIz2JAsy1Kl3q87LQj6cILgbuqIYCVIM/tuqQBR32+dduVR6XInOjD0cPZ1Wz6a9x mwxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729880841; x=1730485641; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5OAc+/NGN0baJk6SiaAr/65j5nqTCd3UWGHwvoTfYZU=; b=FtodIF3qtGJ+0mC3CIO5TmPDU8Sz1wSYp9UCnYBdKUs+1GRunJTus6K+em/D4bBB8o rNyDiRe9/UkoLx5n7kUN6H1VX5sWSdtxwQ5+i3JH9SqzUowexwARoD/TDG8TbEQH67IU dbyAfwdOIyZXkdPNfq6Ubj41qoT5iGbkJ5B1/7xu+uaH2DMz656xUBHF7telZd2Q5Vo6 DTXvXw2KQ4+9NBVUpmTbQ55OKH3USAAmKMimYFEHxF7hoQlCvktOAL2OJTDaBUOfACqw jVIwVItbRirHxXE3yliWMD6lrydQaVhsaCoecnR6zu/khkj1gkUZfA2EXQuRwK6zBq7V J6Iw== X-Gm-Message-State: AOJu0YwiD61aF/2iAuK5w6w3Z7qrr8U7VqNuWfQTnAjN9qZdxVnnKpzQ T8BasHRIaFRAr/rHBJBfU0H/pzAxd4Ldvg2+pK7/fP02ypj9uKSyD5r2eTxCgaRv1T0wg0Hro6I G X-Received: by 2002:a17:903:1cf:b0:20b:7ed8:3978 with SMTP id d9443c01a7336-210c6c3ac64mr515215ad.26.1729880841561; Fri, 25 Oct 2024 11:27:21 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c3:a8a8:cb9e:64f4:66fb:5ca2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-210bbf44550sm12314075ad.14.2024.10.25.11.27.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2024 11:27:21 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann , Alexei Sibidanov Subject: [PATCH 17/17] x86_64: Add exp2m1f with FMA Date: Fri, 25 Oct 2024 15:21:55 -0300 Message-ID: <20241025182614.2022697-18-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> References: <20241025182614.2022697-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, KAM_STOCKGEN, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org The CORE-MATH exp10m1f implementation showed slight worse latency when using x86_64 baseline ABI. This patch adds a ifunc variant with similar performance for x86_64-v3. Reviewed-by: Noah Goldstein --- sysdeps/ieee754/flt-32/s_exp2m1f.c | 2 ++ sysdeps/x86_64/fpu/multiarch/Makefile | 2 ++ sysdeps/x86_64/fpu/multiarch/s_exp2m1f-fma.c | 4 +++ sysdeps/x86_64/fpu/multiarch/s_exp2m1f.c | 33 ++++++++++++++++++++ 4 files changed, 41 insertions(+) create mode 100644 sysdeps/x86_64/fpu/multiarch/s_exp2m1f-fma.c create mode 100644 sysdeps/x86_64/fpu/multiarch/s_exp2m1f.c diff --git a/sysdeps/ieee754/flt-32/s_exp2m1f.c b/sysdeps/ieee754/flt-32/s_exp2m1f.c index f899152d2a..3e79030888 100644 --- a/sysdeps/ieee754/flt-32/s_exp2m1f.c +++ b/sysdeps/ieee754/flt-32/s_exp2m1f.c @@ -189,4 +189,6 @@ __exp2m1f (float x) return (s - 1.0) + w * c0; } } +#ifndef __exp2m1f libm_alias_float (__exp2m1, exp2m1) +#endif diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile index dcff4df2f1..e823d2fcc6 100644 --- a/sysdeps/x86_64/fpu/multiarch/Makefile +++ b/sysdeps/x86_64/fpu/multiarch/Makefile @@ -12,6 +12,7 @@ CFLAGS-s_sin-fma.c = -mfma -mavx2 CFLAGS-s_tan-fma.c = -mfma -mavx2 CFLAGS-s_sincos-fma.c = -mfma -mavx2 CFLAGS-s_exp10m1f-fma.c = -mfma -mavx2 +CFLAGS-s_exp2m1f-fma.c = -mfma -mavx2 CFLAGS-e_exp2f-fma.c = -mfma -mavx2 CFLAGS-e_expf-fma.c = -mfma -mavx2 @@ -74,6 +75,7 @@ libm-sysdep_routines += \ s_cosf-fma \ s_cosf-sse2 \ s_exp10m1f-fma \ + s_exp2m1f-fma \ s_expm1-fma \ s_floor-sse4_1 \ s_floorf-sse4_1 \ diff --git a/sysdeps/x86_64/fpu/multiarch/s_exp2m1f-fma.c b/sysdeps/x86_64/fpu/multiarch/s_exp2m1f-fma.c new file mode 100644 index 0000000000..bfa00eae4e --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/s_exp2m1f-fma.c @@ -0,0 +1,4 @@ +#define __exp2m1f __exp2m1f_fma +#define SECTION __attribute__ ((section (".text.fma"))) + +#include diff --git a/sysdeps/x86_64/fpu/multiarch/s_exp2m1f.c b/sysdeps/x86_64/fpu/multiarch/s_exp2m1f.c new file mode 100644 index 0000000000..8e2d7ec384 --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/s_exp2m1f.c @@ -0,0 +1,33 @@ +/* Multiple versions of exp2m1. + Copyright (C) 2024 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL +# include + +extern float __redirect_exp2m1f (float); + +# define SYMBOL_NAME exp2m1f +# include "ifunc-fma.h" + +libc_ifunc_redirected (__redirect_exp2m1f, __exp2m1f, IFUNC_SELECTOR ()); +libm_alias_float (__exp2m1, exp2m1) + +# define __exp2m1f __exp2m1f_sse2 +#endif +#include