From patchwork Fri Nov 29 13:17:25 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: 846122 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp854815wrp; Fri, 29 Nov 2024 05:21:48 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCV81DrpQAJ2S6lzh5yCFjbOgP/W0muDRH7MDcKU/TSUUgMNM3RdLMJGNwoaKtfleI0lSLTRpA==@linaro.org X-Google-Smtp-Source: AGHT+IFnP2FjLrXLxDcRn0rHnRZQKKIjdCjaPGI9gA9gETVewcBXLs51vdY7pL3XEQc9gZLpLBqS X-Received: by 2002:a0c:de03:0:b0:6d8:7eb9:9bd7 with SMTP id 6a1803df08f44-6d87eb99cffmr48077536d6.43.1732886507888; Fri, 29 Nov 2024 05:21:47 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732886507; cv=pass; d=google.com; s=arc-20240605; b=gKU2M3O+zPbjRi1Fz3qjZpVS5MMJmcqgdGGRcdszoKpFj2ehKJT7GDxSzF7NXII2/V +HRJXd2Pjao8qKS3LCFux1ImBbmS8vDK3N8k6iOpV7pWrpAKUTkUkTNChWSCi3gFjXAt XxUZJ85tlYCyYEWTDzdzzdf4zEKPLZHjkFS36cREs/N+aOuVlOh5RnzWEUOayx6aYGeT k1Ju1giMVQ76QeEjrBDGr8foYZES5ap9JFrWXJDtwUGzfD2lmqmzAg4GMGTgQcUqNz9o aWo5K+xFKysjw/dlHQVyjuVgosyu/fAvsMFzYjy05rNP11/SA6SDoWBvR5A8x43YevVQ /o/Q== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=Xg2D6TDmy+pF7c6Ojd4GLxcjMRXPsF7LAgmaDUsy0dY=; fh=/bzLn4Pu6wt5yJOmVA6NJX5WuFMrzV1CRzIGBeRqGpk=; b=gIPWthZra6dJtka8R4l9kMd5tP63FIUjE5yAELaZ7B6sVSB7mEA3UPtOCA6A1z/AN2 XfUJZuY8eMw69kP0jvZmFsFT/HLJrP1J2fFenH//d5trLeMnfCJpMDsmkGjGQfihsGc2 /Hn42E3jKO6ZWFw8J4mxwzge8iEWP7nkttwY7vMl2LNXtSUeHGJkwvTbEW41Vt7EIstM eUoxfnlrYlUTjyx8UZ4I+KNenx2fB8u7RYmPYirGU3s5T5dMJ7ay6xtqW2vh24ZbxHgp 6SDVTuDBU8TsuptFVEyRjdB83vopu+NoxS1nba//NcFInLRphnvvIsqRUi5C+hvjSZCW xypQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=H8lkQSdJ; 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-6d8751acc09si48096746d6.36.2024.11.29.05.21.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:21:47 -0800 (PST) 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=H8lkQSdJ; 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 6A1B6385840D for ; Fri, 29 Nov 2024 13:21:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6A1B6385840D Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=H8lkQSdJ 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 D3F4D3858D33 for ; Fri, 29 Nov 2024 13:20:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D3F4D3858D33 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 D3F4D3858D33 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=1732886442; cv=none; b=OWvdt3dB6prwXVRpode6W3Ur87Nm++xkUmKitVl904NoZqPOS4Lee4nZejppoWoVv59niHCVXPkogXaSHrBXDA1Q17qKfdPOF3sbrTONUIo/zuVQz+scW+a6ePKkT7rEoPt8/Ai8V38ImZ4SYqWKHMCUZS8LpZb8gt4aEJizYqQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886442; c=relaxed/simple; bh=IZQbvAwYdVp01KqklMMaVxQKFEhmc8i/w+TUad7h6PE=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=JfbIS9wB7Mnku5OQDXl79vP3Qw5SkZ7czSCAtAdgBlfRh+dCh6eoIQPbC08Y7CCxp2U2YLhqBonmfmpmocubODRckW1ZmFkYOrC3XMl4U7bnEmlXhUMjw6V1dzm+/lZ9yHqwVY5oBCYQElzNpxQoAHOd53+NnHqxrWK+VxS0Dc8= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D3F4D3858D33 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-2129fd7b1a5so15339395ad.1 for ; Fri, 29 Nov 2024 05:20:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886440; x=1733491240; 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=Xg2D6TDmy+pF7c6Ojd4GLxcjMRXPsF7LAgmaDUsy0dY=; b=H8lkQSdJZXGs5mClA9aM2BgdJud0FDImtxWF8EKApfYi5bYBn1t4kt2geeCQzQPPfo +uUV0pOzVXvfA6oCQ5swbUwbENeWnE+bGHPiGs+ijSyrKP365jK6rpLqqV/Nh6mZa5Eq sVQkuFb0a2deQQPMZkoShloWotvbjBPkAhC34xm1wv8iEsRTajjmZHHXbcpoWG3W1QZ5 cgKMXSG6hM7rhhJAuIJ3XLQIhBRZpvaJcjU4oDrEZLJDwIRoNkt2Gsf5Fb5LU4qeOVWw TEIizNTiVPJkXCM5ZKHhn/8qxEG6DJZOFa42oog91DwY3jXjrx5AAZoX3TUx89mVuHPU 07qA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886440; x=1733491240; 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=Xg2D6TDmy+pF7c6Ojd4GLxcjMRXPsF7LAgmaDUsy0dY=; b=l7RR3/6nwFI8/PHmV/um8/HKUisAkreMhvRPDwlMLMdTKsu1WdLTQqvTiLuXlcFPWF fSqtwV2qR1vc6F0pOwfKZ8hkQzz59rac+D//F72YtS+P90PQmkWsANPcAt80WlK1F5cr JFgfA4psfMkauKrT4LTnWcLoMU6Fc0IXGtE8knHDxe24lj9K5eaheH/GlPUgPgd0QpP/ Icyc1bnRk3zr7RqjDaljGCK/Lv4GDv1YLeZJMFzzFdVJcPxVK0gevBMlQPmldDOkML6I eD7bKcsTIrrhwbOV0WdRxbzau5h22xQcpNdzMY77A7YzwDmva2iQH5WiQXwZDARkBw8U ohJw== X-Gm-Message-State: AOJu0YykV0DIBkZZN6grB6pHWwhwq19e1qLSkrazRYzPm3fn2NovLbJG RY7ESuDMGjAci7nXQX5wZOhCb5m7z1RgNP8f2w2bCY6Mu8zZYM9dktDB5OaukKSbsryb8+r0uWY KzJLEuA== X-Gm-Gg: ASbGncs1KKdxEdVEB76gWDXHb+kTWtzWy4Ijt8/ItK/JNnm/ixyEDMMVCWSaOyuINIR YbjTpzSCkfxY8IXsEeHhG98JXE/wDPGT2X95l+MSPC7z0uAW2gZOTb/e0sRfjH79G5HJh4mcDLi ngKoIryjX3N3OT9IiOBNDnJPell626jgazzLq7RlUzjBC2DgIYxY9Jsro05wr07TCSwrC/enpO4 praGuX782R+EfrUpt7qLBE1+lsTX2U04mNjm0oC8kromOjPQTXENXyIL+rKuls= X-Received: by 2002:a17:902:d48e:b0:20b:8bf5:cd72 with SMTP id d9443c01a7336-21501f68a91mr133126335ad.49.1732886438266; Fri, 29 Nov 2024 05:20:38 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.20.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:20:37 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie Subject: [PATCH 01/23] benchtests: Add acosf benchmark Date: Fri, 29 Nov 2024 10:17:25 -0300 Message-ID: <20241129132032.476978-2-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 acosf one (random inputs in [-1,1]). --- benchtests/Makefile | 1 + benchtests/acosf-inputs | 2710 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 2711 insertions(+) create mode 100644 benchtests/acosf-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index 2ee5516d55..924434903a 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -25,6 +25,7 @@ include ../Makeconfig bench-math := \ acos \ + acosf \ acosh \ asin \ asinh \ diff --git a/benchtests/acosf-inputs b/benchtests/acosf-inputs new file mode 100644 index 0000000000..bda4c44162 --- /dev/null +++ b/benchtests/acosf-inputs @@ -0,0 +1,2710 @@ +## args: float +## ret: float +## includes: math.h +# Random inputs in [-1,1] +## name: workload-core-math1 +0x1.8c9cfp-3 +0x1.c8d8bp-1 +-0x1.58bbe8p-2 +0x1.eb50a4p-1 +-0x1.5b76c4p-1 +0x1.b5e46p-4 +-0x1.f91254p-2 +-0x1.51759cp-1 +0x1.527b9p-2 +-0x1.92a00cp-1 +0x1.efdf4p-1 +0x1.1cac7p-2 +0x1.c75788p-1 +-0x1.2aac54p-1 +0x1.41949p-1 +0x1.bcf2e4p-1 +0x1.e2b218p-2 +-0x1.b376bp-4 +-0x1.0f72dep-1 +-0x1.eb30d8p-1 +0x1.6b3b2p-4 +-0x1.55baccp-1 +-0x1.2faacp-4 +0x1.cde2ep-4 +-0x1.a14bdep-1 +-0x1.328b6p-3 +0x1.fb7178p-1 +0x1.9a03b4p-1 +0x1.b91fbp-1 +-0x1.bfbbp-8 +-0x1.d16c1p-1 +-0x1.4e4ffp-4 +-0x1.2efb9p-2 +0x1.fdefp-5 +-0x1.85cep-7 +-0x1.707678p-1 +-0x1.37a458p-1 +0x1.f272p-2 +0x1.1fc8bp-3 +-0x1.7a868p-6 +0x1.c1b58p-2 +0x1.285cfp-2 +0x1.f9afp-7 +0x1.6ab26p-1 +-0x1.96672ap-1 +0x1.fcdde8p-1 +-0x1.1aa73cp-1 +-0x1.b9fdf4p-2 +-0x1.fce29cp-2 +-0x1.abb48p-7 +-0x1.8df834p-2 +0x1.3f4d28p-2 +-0x1.7b98bp-4 +-0x1.ef142ep-1 +-0x1.c055d4p-1 +0x1.cba9ap-1 +-0x1.fcc368p-3 +-0x1.70794p-4 +0x1.bb1bbp-3 +-0x1.9079acp-2 +0x1.6ddbf8p-1 +0x1.2133e4p-1 +-0x1.fdaef2p-1 +-0x1.d48c2cp-1 +0x1.0ce47cp-1 +0x1.428ep-4 +0x1.2ab62p-4 +0x1.1ee7fp-3 +0x1.e8432p-2 +-0x1.85742p-4 +-0x1.eb7d7cp-1 +-0x1.9b078ap-1 +0x1.2bb6acp-1 +-0x1.d295dcp-1 +0x1.7e94f4p-1 +0x1.07e96p-1 +-0x1.32fd1ep-1 +-0x1.cc1fcp-2 +-0x1.17b5ccp-2 +0x1.775828p-1 +0x1.52e23cp-1 +-0x1.765864p-1 +0x1.6549c8p-1 +-0x1.3014e4p-2 +0x1.bfb9c8p-2 +0x1.1069b8p-1 +-0x1.20c7a6p-1 +-0x1.f96ebp-3 +0x1.250bd4p-1 +-0x1.5288ep-1 +0x1.9c2a18p-1 +0x1.c674b8p-1 +0x1.2bf0fp-2 +-0x1.f96ce8p-1 +-0x1.d48f8p-4 +-0x1.87b764p-1 +0x1.e4d7f8p-2 +0x1.906b84p-1 +-0x1.47e24ep-1 +-0x1.fa0b8p-2 +-0x1.8f9be8p-3 +-0x1.f86d88p-3 +-0x1.e15708p-1 +0x1.db3058p-2 +0x1.981f88p-1 +0x1.eecd6p-3 +0x1.cd565p-1 +0x1.7752cp-4 +0x1.7a5ap-2 +0x1.8a807cp-1 +-0x1.926984p-2 +0x1.0ac4fp-3 +-0x1.82a85p-1 +0x1.e70ecp-5 +-0x1.e07efp-4 +0x1.07e544p-1 +-0x1.ddc9p-6 +-0x1.47396p-1 +0x1.2fc07p-2 +-0x1.7e6c74p-1 +-0x1.834114p-1 +-0x1.15e31cp-2 +0x1.cfda6p-1 +-0x1.788c9p-3 +0x1.d8c598p-2 +-0x1.f1fe12p-1 +-0x1.4cf38ap-1 +0x1.d76d98p-2 +-0x1.28f1p-2 +-0x1.24558cp-1 +0x1.e8d678p-1 +0x1.5c1fa4p-1 +0x1.6de52p-2 +0x1.043f4p-5 +-0x1.0ad15p-4 +-0x1.e9c354p-1 +0x1.971ae8p-1 +-0x1.3ece3cp-1 +0x1.ba77ep-3 +0x1.8679c8p-2 +-0x1.672324p-1 +-0x1.b95fap-2 +-0x1.0bececp-1 +0x1.9b0308p-1 +-0x1.e31474p-2 +-0x1.921624p-2 +-0x1.6f2bf8p-3 +0x1.f4f1cp-3 +0x1.b57b44p-1 +-0x1.2ab02cp-2 +-0x1.b478d8p-2 +-0x1.08b88cp-1 +0x1.7c89p-1 +-0x1.6fd16p-1 +-0x1.b127c8p-1 +-0x1.7c35acp-1 +-0x1.13731p-4 +0x1.9018a8p-2 +-0x1.eee584p-2 +0x1.ac36b4p-1 +0x1.7fbdbp-2 +0x1.ff4f6p-3 +-0x1.60be4cp-2 +0x1.b907dp-2 +-0x1.036b6p-2 +-0x1.92af6cp-1 +0x1.3bb34p-2 +-0x1.1af2fcp-1 +-0x1.d26926p-1 +-0x1.17c40ep-1 +-0x1.d73a98p-3 +-0x1.d12ecp-4 +0x1.cf7278p-2 +-0x1.3f7e6p-3 +-0x1.0c4804p-1 +-0x1.fcf74cp-1 +0x1.a69bp-2 +-0x1.23c674p-1 +-0x1.6d5048p-1 +-0x1.f6e8dp-4 +0x1.4614c4p-1 +-0x1.3b2b5cp-1 +-0x1.c54cd4p-1 +-0x1.f6e898p-1 +-0x1.a49974p-2 +-0x1.c5f35p-3 +0x1.7b2728p-2 +0x1.5230dcp-1 +0x1.cca1b4p-1 +-0x1.f0ca8p-5 +0x1.31945cp-1 +0x1.d54dap-2 +0x1.44bb7p-1 +0x1.6584b8p-2 +-0x1.15f1aep-1 +-0x1.fee2p-3 +0x1.de2298p-1 +0x1.f2528p-2 +0x1.e8daa8p-1 +-0x1.3b6d4cp-1 +-0x1.9d4b28p-3 +-0x1.d91ceep-1 +-0x1.f4bf06p-1 +-0x1.14870cp-1 +0x1.ba9204p-1 +-0x1.33e97ep-1 +0x1.f03c54p-1 +0x1.dd85b8p-1 +0x1.a26bc8p-2 +0x1.69b07p-3 +0x1.9ca5ccp-1 +-0x1.626fp-1 +-0x1.e3dfp-6 +-0x1.516bacp-2 +0x1.d99954p-1 +0x1.44ddf4p-1 +-0x1.03dfdp-2 +0x1.96bdf4p-1 +0x1.5f25dp-3 +-0x1.8dad02p-1 +0x1.7b12ap-3 +0x1.56f558p-1 +-0x1.cd827ep-1 +0x1.40c7acp-1 +0x1.8b756p-3 +-0x1.8a8b18p-1 +-0x1.810568p-2 +0x1.f3c3a8p-2 +0x1.456e2cp-1 +0x1.e99f6p-3 +-0x1.93576p-4 +-0x1.e61e6p-5 +0x1.274db8p-2 +0x1.dd9bep-2 +-0x1.ce019p-4 +-0x1.76d02cp-1 +-0x1.d225ccp-1 +0x1.4c3b1p-3 +-0x1.cf4928p-1 +0x1.2edec4p-1 +-0x1.c0d97p-1 +0x1.b6fac8p-2 +-0x1.cbcfecp-2 +0x1.faf36p-1 +0x1.dde1ap-4 +0x1.668aap-2 +-0x1.3ffd5cp-1 +-0x1.86692cp-2 +0x1.0bc238p-2 +0x1.30d92p-4 +-0x1.bd55fp-4 +-0x1.58eac4p-2 +0x1.347414p-1 +-0x1.6b648p-4 +0x1.0fef74p-1 +0x1.4f3618p-2 +-0x1.66fd2p-2 +0x1.810778p-2 +0x1.ee12p-6 +0x1.f9949cp-1 +-0x1.ae9e9ap-1 +-0x1.380c2cp-1 +-0x1.2ea26p-4 +0x1.5d92a8p-2 +0x1.e5555p-1 +0x1.5912dp-3 +-0x1.268ef4p-1 +-0x1.c163b6p-1 +0x1.6a8f2p-3 +0x1.41c624p-1 +-0x1.ce8a4p-4 +0x1.b1a81cp-1 +-0x1.a921a4p-1 +-0x1.49c1a8p-2 +0x1.40892p-4 +-0x1.933f08p-1 +-0x1.5c207cp-2 +0x1.d795ep-3 +-0x1.69fc7p-1 +-0x1.4b0338p-2 +0x1.8a2a38p-1 +0x1.e7258p-6 +0x1.0e9418p-2 +0x1.99a6ap-3 +0x1.69bf9p-2 +0x1.03db4p-4 +-0x1.0008e4p-2 +-0x1.a75e98p-1 +-0x1.31c73cp-2 +-0x1.9eddcp-1 +0x1.a4b81p-3 +0x1.157a3p-2 +0x1.2682cp-5 +0x1.b52518p-2 +-0x1.e8f2dp-1 +-0x1.8bf898p-3 +-0x1.d11d4cp-1 +-0x1.1cd3d8p-1 +-0x1.8bf4c8p-2 +0x1.45565cp-1 +-0x1.6646bcp-1 +-0x1.b172f6p-1 +-0x1.9ff22p-1 +-0x1.c8821ep-1 +-0x1.cf2424p-1 +0x1.c44f9p-3 +-0x1.7d7edp-4 +-0x1.97aa0ep-1 +0x1.a90628p-1 +0x1.97b52p-3 +-0x1.6a9eap-1 +0x1.d83f1p-1 +-0x1.211e8p-6 +-0x1.91045p-2 +0x1.c98658p-2 +-0x1.4dccdp-1 +0x1.68848p-5 +0x1.ea171p-2 +-0x1.b2c366p-1 +0x1.c255fp-2 +0x1.33612p-4 +-0x1.08924p-4 +-0x1.9267b8p-3 +-0x1.07eacp-3 +0x1.3333ap-4 +0x1.0c658p-5 +-0x1.abd594p-1 +-0x1.df689p-2 +0x1.e451ap-4 +-0x1.2faa7p-4 +0x1.d3f904p-1 +-0x1.e9d488p-2 +0x1.39d704p-1 +0x1.2eedcp-4 +0x1.1046d4p-1 +0x1.a033f8p-2 +0x1.4b5604p-1 +-0x1.b4317cp-2 +0x1.48d6p-4 +0x1.6fcbcp-4 +-0x1.04d67ep-1 +0x1.ae1cp-6 +-0x1.5e6fdp-1 +-0x1.baea74p-2 +0x1.668f9p-1 +-0x1.05cd4p-4 +0x1.953d24p-1 +-0x1.2b0d1ap-1 +0x1.12feep-2 +-0x1.060168p-2 +0x1.728198p-1 +0x1.5a596cp-1 +0x1.ece6cp-2 +-0x1.c805a4p-1 +0x1.ffa02p-1 +0x1.7fb54p-5 +-0x1.b9963p-1 +-0x1.8913b2p-1 +0x1.598104p-1 +-0x1.ba5404p-2 +-0x1.e963e8p-3 +-0x1.fd352p-5 +0x1.c2baecp-1 +0x1.9d8328p-2 +-0x1.7ac8f4p-2 +-0x1.936498p-2 +-0x1.8bf0b8p-2 +0x1.1b1778p-1 +0x1.5f8ep-5 +0x1.a55f8p-5 +0x1.16ad2cp-1 +0x1.b967e8p-1 +-0x1.cc178p-7 +0x1.b55cep-2 +0x1.3fe028p-2 +-0x1.da683p-3 +0x1.e6de3p-3 +0x1.f4aecp-4 +0x1.69df24p-1 +-0x1.bca46cp-2 +-0x1.93fdaep-1 +0x1.13dd8p-4 +-0x1.244a24p-2 +0x1.321da8p-2 +0x1.edc6dp-2 +0x1.edfe98p-1 +0x1.296098p-1 +0x1.eaa688p-2 +-0x1.8161d8p-3 +0x1.09c3f4p-1 +-0x1.fa1002p-1 +0x1.444bb8p-1 +0x1.091448p-2 +-0x1.f69148p-2 +-0x1.b1778p-2 +0x1.7bf43cp-1 +-0x1.7a09fp-1 +0x1.698008p-2 +0x1.3eb238p-1 +-0x1.e6889p-3 +0x1.16547p-1 +0x1.a87cep-3 +-0x1.b51e7cp-2 +-0x1.d43874p-1 +-0x1.46154p-6 +0x1.0d72p-2 +-0x1.15677p-4 +-0x1.6612a6p-1 +0x1.3ae37cp-1 +-0x1.7e5a44p-1 +-0x1.e56f68p-2 +0x1.c1aecp-1 +0x1.6418ep-3 +-0x1.ac9ef8p-1 +-0x1.8ecf8p-7 +0x1.4a3d88p-2 +-0x1.75f878p-3 +0x1.257c08p-1 +-0x1.0f8e1cp-2 +0x1.baa5cp-4 +0x1.58451p-2 +0x1.067ef8p-2 +0x1.aa7bd4p-1 +-0x1.1940cp-1 +0x1.2447d8p-1 +-0x1.cbb2p-2 +-0x1.8648cp-2 +0x1.b6b71cp-1 +0x1.9e5984p-1 +0x1.4441ecp-1 +-0x1.018568p-2 +-0x1.7adfcp-3 +0x1.a68e8p-3 +0x1.3fc408p-2 +0x1.3d38bcp-1 +0x1.2af66cp-1 +-0x1.0a0a78p-2 +-0x1.8bf288p-2 +-0x1.4eaep-9 +0x1.0a60bp-3 +-0x1.ba930ep-1 +-0x1.501a9p-1 +-0x1.6c81c4p-1 +0x1.a1aa08p-2 +0x1.9ab98p-3 +-0x1.59ba9p-4 +-0x1.29d9f4p-1 +-0x1.b1422ep-1 +-0x1.ae0c0ep-1 +-0x1.2bcdccp-1 +-0x1.f5b8ccp-1 +0x1.cc039cp-1 +-0x1.8104c2p-1 +-0x1.77a26cp-2 +0x1.9e474p-5 +-0x1.879db4p-2 +-0x1.097058p-1 +-0x1.3bd3d4p-2 +-0x1.e49c6cp-1 +0x1.9d79ep-4 +0x1.d9b77cp-1 +-0x1.3aecfcp-2 +-0x1.23c17p-1 +-0x1.575016p-1 +0x1.80391p-3 +0x1.a1034p-2 +0x1.6b83acp-1 +-0x1.82cdap-5 +-0x1.50c1p-8 +0x1.9f7d3p-3 +0x1.72c8f8p-2 +0x1.b1dec4p-1 +0x1.5a698p-4 +-0x1.4ba728p-3 +0x1.05a6f8p-1 +0x1.40ec6p-2 +-0x1.a71dfcp-1 +-0x1.bf64b6p-1 +-0x1.d62bc4p-2 +0x1.30b6dp-1 +-0x1.b7cd5ap-1 +-0x1.6b06bp-1 +-0x1.95ef16p-1 +-0x1.48fc8cp-2 +0x1.2f0414p-1 +-0x1.2cd9d8p-1 +-0x1.f943e6p-1 +-0x1.cdf16p-3 +-0x1.4d112p-5 +0x1.26d5ap-1 +-0x1.a24a62p-1 +-0x1.d1a2dp-4 +0x1.39ac9p-2 +0x1.a88e68p-2 +-0x1.0d4004p-1 +0x1.09d6d8p-1 +-0x1.86ca34p-1 +-0x1.0157dp-3 +0x1.e777fp-2 +-0x1.9c9f98p-3 +0x1.b906p-6 +-0x1.f08ef4p-1 +-0x1.8b8988p-1 +-0x1.698e6p-4 +-0x1.2f70a8p-1 +0x1.940ap-4 +-0x1.820e04p-1 +-0x1.2fa1acp-2 +0x1.f0db58p-2 +0x1.90dbep-2 +-0x1.62a5a4p-1 +0x1.57d88cp-1 +-0x1.7d3948p-1 +-0x1.97245p-2 +0x1.cc092p-4 +0x1.93a84p-5 +-0x1.f21614p-2 +-0x1.0dd32cp-1 +-0x1.fa2892p-1 +0x1.771e68p-1 +0x1.fdc7ap-4 +-0x1.8f0ad2p-1 +-0x1.f937p-4 +-0x1.11c7cp-3 +-0x1.81b184p-1 +0x1.9f091p-1 +0x1.bfedcp-2 +-0x1.b2d218p-2 +0x1.0e26fcp-1 +-0x1.249208p-1 +0x1.4b0cf8p-1 +0x1.fa5a7p-1 +0x1.c9225p-1 +0x1.102b78p-2 +-0x1.eb7b44p-1 +-0x1.78da4p-1 +-0x1.c70504p-2 +0x1.c8c99p-2 +-0x1.4e1dbap-1 +0x1.972d0cp-1 +0x1.f4c26p-4 +-0x1.685adcp-1 +0x1.38c168p-1 +0x1.efa73p-1 +0x1.98b338p-1 +-0x1.73a764p-1 +-0x1.f1a11ap-1 +-0x1.d8ea98p-2 +-0x1.c0ee0ap-1 +0x1.9d7318p-1 +-0x1.9180b4p-2 +0x1.e5e97p-1 +-0x1.4e20cp-2 +-0x1.3d18d4p-1 +-0x1.3d62d8p-1 +-0x1.723e9cp-2 +-0x1.a1e7fep-1 +-0x1.b0ac28p-1 +0x1.8647f8p-1 +-0x1.f08522p-1 +-0x1.11b40ap-1 +0x1.93d63p-1 +0x1.84f4d8p-2 +0x1.1b9418p-1 +-0x1.a220ep-4 +0x1.230b4p-3 +0x1.274bb4p-1 +-0x1.827ccep-1 +0x1.42c21cp-1 +0x1.c189ep-4 +0x1.fbb74p-5 +-0x1.cd41b4p-1 +-0x1.c74854p-1 +-0x1.7843cp-3 +0x1.0dea9p-1 +0x1.6003p-7 +-0x1.5c765cp-1 +0x1.ef168p-3 +-0x1.a08242p-1 +0x1.e4723p-3 +-0x1.ab4322p-1 +0x1.5dc228p-2 +0x1.c37c08p-1 +-0x1.c4a7eap-1 +-0x1.5d7274p-2 +0x1.aa46p-8 +0x1.371b3p-2 +-0x1.76d036p-1 +-0x1.e1520ep-1 +0x1.c61d5p-3 +-0x1.b181bcp-1 +0x1.8099p-5 +-0x1.fdeda8p-1 +0x1.a4d24p-5 +0x1.f92fcp-3 +0x1.18eb3p-3 +0x1.38073p-2 +-0x1.8ce8ep-3 +0x1.a74288p-1 +0x1.ad6ac8p-1 +0x1.3a22fp-2 +0x1.525b78p-2 +0x1.5ebd28p-2 +-0x1.739a66p-1 +0x1.06838p-5 +-0x1.bab68cp-2 +0x1.88d948p-1 +-0x1.c3d784p-2 +-0x1.95637ap-1 +0x1.fe58acp-1 +-0x1.c4271p-1 +0x1.a338fp-1 +0x1.143fap-4 +0x1.893d4p-1 +0x1.74ae28p-1 +0x1.9745b4p-1 +-0x1.40c59p-4 +0x1.907578p-2 +-0x1.74dd5p-4 +-0x1.9a9p-11 +-0x1.729bbp-4 +0x1.72ffccp-1 +0x1.d523ep-2 +-0x1.8ee628p-2 +-0x1.056238p-1 +0x1.b70f9p-2 +0x1.e9598p-4 +-0x1.522b5p-3 +0x1.5da878p-2 +-0x1.d4c3d8p-2 +-0x1.9cdd48p-1 +0x1.1f1c4p-1 +0x1.15bdfp-2 +-0x1.52f28p-1 +-0x1.6171bp-2 +0x1.7d7bp-4 +-0x1.d699f8p-2 +-0x1.9386p-9 +0x1.1bce9p-3 +0x1.01683cp-1 +0x1.56994p-3 +0x1.199868p-2 +0x1.566e78p-1 +0x1.2680d8p-2 +-0x1.9dcbfp-2 +0x1.8407f4p-1 +0x1.c66584p-1 +-0x1.3d8738p-3 +-0x1.d444eap-1 +0x1.90dc5p-1 +-0x1.cd3774p-2 +0x1.10530cp-1 +0x1.1c40c8p-2 +-0x1.28e052p-1 +0x1.326a68p-1 +0x1.8ec564p-1 +-0x1.3e58cap-1 +0x1.c9e1fcp-1 +0x1.77f598p-2 +0x1.5ed3cp-4 +0x1.58d55p-3 +-0x1.e91694p-1 +-0x1.986a88p-3 +0x1.0c4bf8p-1 +0x1.208fap-1 +-0x1.390b08p-1 +0x1.689248p-1 +0x1.ee5588p-1 +-0x1.f9dfp-4 +-0x1.372f3p-1 +0x1.134fc4p-1 +-0x1.ac21fcp-1 +-0x1.763e38p-2 +-0x1.81a438p-1 +-0x1.f383ep-5 +-0x1.1b03e8p-3 +-0x1.e97972p-1 +-0x1.26a4dp-4 +0x1.38b05p-2 +0x1.20cd78p-1 +-0x1.64408p-2 +-0x1.c894b8p-1 +0x1.906d6p-2 +0x1.330e9p-1 +-0x1.8a03aap-1 +-0x1.e1d6ap-3 +-0x1.f6c786p-1 +-0x1.577d24p-1 +0x1.86bc58p-1 +-0x1.8157a4p-2 +-0x1.0f70e4p-1 +-0x1.d7f7ecp-1 +0x1.ccb84p-4 +0x1.5542e4p-1 +0x1.d04dap-1 +-0x1.0257f8p-1 +0x1.37f21cp-1 +0x1.65485cp-1 +0x1.d4fb7p-2 +0x1.2d2e38p-2 +-0x1.515a86p-1 +0x1.26544p-5 +-0x1.e2474cp-2 +-0x1.ac6ap-2 +-0x1.2064bcp-1 +-0x1.00ad58p-3 +0x1.4ef9f4p-1 +-0x1.1366ep-1 +0x1.fad468p-2 +-0x1.61ca1p-1 +-0x1.100008p-3 +0x1.ee911cp-1 +0x1.dcbdecp-1 +-0x1.3e00fep-1 +0x1.de35ap-3 +-0x1.69dd98p-1 +0x1.73d2bp-2 +0x1.8429ap-2 +0x1.2be348p-2 +0x1.20701p-3 +0x1.ff398p-3 +-0x1.c5013p-4 +0x1.7c342p-1 +-0x1.a845e8p-1 +-0x1.afb16p-1 +0x1.cc39f4p-1 +-0x1.832e1p-1 +0x1.4bce48p-1 +0x1.d0232p-1 +-0x1.a4abcp-1 +-0x1.858358p-3 +0x1.50e414p-1 +-0x1.dc03ep-2 +0x1.4270a8p-2 +-0x1.4374bcp-2 +-0x1.fd507cp-1 +0x1.76387p-1 +-0x1.eb394cp-1 +-0x1.3d8158p-2 +0x1.2c70ecp-1 +0x1.a78a8p-3 +0x1.492fp-1 +0x1.108b48p-1 +-0x1.6831ccp-2 +0x1.33dp-10 +0x1.348784p-1 +0x1.67a508p-2 +0x1.5cb538p-2 +0x1.031d2p-3 +0x1.e242fp-3 +-0x1.6bb81p-1 +0x1.857f88p-1 +-0x1.00dd02p-1 +-0x1.9572bep-1 +-0x1.84db3p-1 +0x1.ff0cap-1 +0x1.8fd424p-1 +-0x1.9ca7bp-3 +0x1.183334p-1 +-0x1.be41c8p-2 +-0x1.a5918ap-1 +0x1.1ecc88p-1 +-0x1.de05bep-1 +-0x1.221bfap-1 +0x1.1af2ep-4 +0x1.539a2p-2 +0x1.40f608p-2 +-0x1.84dcfp-3 +-0x1.6a1cdp-4 +-0x1.bb2398p-1 +-0x1.4a96d8p-2 +-0x1.a1a32p-1 +0x1.08396p-4 +0x1.fa25e8p-1 +-0x1.5e8c1cp-2 +0x1.2394fcp-1 +0x1.71076p-1 +0x1.314898p-2 +0x1.062888p-2 +-0x1.50a4ap-1 +-0x1.729ba4p-2 +-0x1.5cefp-8 +0x1.d7389p-3 +-0x1.5a7d2p-3 +0x1.712a2p-1 +-0x1.f7b81ep-1 +0x1.e7p-4 +-0x1.224068p-3 +0x1.cba074p-1 +0x1.b50cep-1 +-0x1.2580dp-1 +0x1.aafd1p-3 +0x1.b0049cp-1 +0x1.85971p-2 +-0x1.4a284p-6 +-0x1.9c410cp-1 +-0x1.9441e6p-1 +0x1.3b406p-3 +-0x1.1fe41p-4 +-0x1.8f38b8p-2 +-0x1.d59b5ap-1 +-0x1.386c6cp-2 +0x1.a7bebp-2 +0x1.7c31f8p-2 +0x1.ea459p-3 +-0x1.b9f772p-1 +-0x1.f2100ep-1 +0x1.fd5fcp-1 +0x1.56f02p-4 +0x1.ddcdacp-1 +0x1.9654ecp-1 +-0x1.30712p-5 +0x1.b93f44p-1 +-0x1.212558p-3 +-0x1.5d6124p-1 +-0x1.e7a8fap-1 +0x1.342acp-1 +0x1.953d7p-2 +-0x1.87a416p-1 +0x1.c641f4p-1 +0x1.671f44p-1 +-0x1.5f31p-6 +0x1.59e5a8p-2 +0x1.8e05ep-3 +-0x1.bf48bcp-2 +-0x1.728778p-3 +-0x1.9b56bap-1 +0x1.a90b9p-2 +-0x1.40a52cp-1 +-0x1.07332p-3 +0x1.5c2c08p-2 +-0x1.6e30b8p-3 +-0x1.42cffcp-2 +-0x1.a134dp-3 +-0x1.85d5dcp-1 +-0x1.523596p-1 +-0x1.fe2438p-1 +-0x1.598978p-1 +-0x1.2b2a4p-1 +0x1.aa809p-3 +0x1.3f9914p-1 +0x1.405bap-3 +0x1.c70454p-1 +0x1.36f2f8p-1 +0x1.4c3aa8p-1 +-0x1.c1e014p-2 +-0x1.4f6648p-2 +0x1.5e03dp-1 +-0x1.3150cp-2 +-0x1.08f5bp-1 +0x1.14a4e4p-1 +-0x1.69baccp-2 +0x1.5c6bd8p-1 +-0x1.949aa8p-2 +0x1.8c7288p-2 +0x1.4c80ap-1 +0x1.5e8afp-3 +-0x1.7f0cap-5 +0x1.469818p-2 +-0x1.fef2ap-4 +-0x1.da08a8p-2 +0x1.e24e28p-2 +-0x1.98861p-3 +-0x1.8695c8p-1 +-0x1.1235p-5 +0x1.96ea1p-2 +0x1.67b6b4p-1 +0x1.b1efdcp-1 +0x1.640398p-1 +-0x1.668bbp-1 +-0x1.a35d9p-3 +-0x1.2d5878p-1 +0x1.5f78f8p-2 +-0x1.0ba6p-8 +-0x1.17df4p-4 +0x1.84b1a4p-1 +-0x1.0a7e3p-3 +-0x1.acabf6p-1 +0x1.2c2ep-8 +0x1.fdcfd8p-2 +0x1.414p-2 +0x1.d8979cp-1 +-0x1.3fa564p-2 +-0x1.5d229p-4 +-0x1.f82a22p-1 +0x1.9a8484p-1 +-0x1.8fa7c4p-2 +0x1.850bdp-3 +-0x1.3e681p-4 +0x1.638aecp-1 +-0x1.b4f48p-1 +-0x1.86c564p-1 +-0x1.19e898p-2 +0x1.0d577p-2 +0x1.2a314p-2 +-0x1.93b68p-2 +0x1.36278p-1 +-0x1.6d31c8p-1 +0x1.f18e58p-2 +-0x1.cdcbd8p-3 +-0x1.ca28e4p-2 +0x1.1ae9ep-2 +0x1.0d21p-3 +-0x1.48e734p-2 +0x1.35f08cp-1 +-0x1.323a68p-1 +0x1.49d17cp-1 +0x1.f80954p-1 +-0x1.5f84acp-1 +-0x1.4bcap-7 +0x1.cdda2p-3 +0x1.f2bp-8 +-0x1.17d654p-1 +-0x1.69356cp-1 +0x1.2e51cp-5 +-0x1.524878p-2 +-0x1.0b81fep-1 +0x1.f5d04p-3 +-0x1.ed8e0cp-1 +0x1.bd1fap-2 +-0x1.178b74p-2 +0x1.1729ep-2 +0x1.77f65p-3 +0x1.d857e8p-1 +0x1.4dc2c8p-2 +0x1.ac638cp-1 +0x1.acef24p-1 +-0x1.2af754p-1 +0x1.ec528p-4 +0x1.cbf484p-1 +0x1.c3218p-3 +0x1.c8a76p-2 +-0x1.1774fp-3 +-0x1.585588p-1 +0x1.a83b7p-3 +0x1.76bd2cp-1 +-0x1.7055p-1 +-0x1.12059cp-1 +0x1.7df63p-3 +0x1.4dfcecp-1 +0x1.b06dcp-4 +0x1.21909p-2 +-0x1.adb7f4p-1 +0x1.35a29cp-1 +0x1.422274p-1 +0x1.1b608p-1 +-0x1.0fc8ep-4 +0x1.30daap-4 +0x1.1e1868p-2 +0x1.8d589p-1 +-0x1.2dd244p-1 +0x1.384398p-1 +-0x1.df6b4p-5 +-0x1.05027p-2 +-0x1.2a6d58p-1 +-0x1.f23712p-1 +-0x1.913d58p-1 +0x1.c91718p-1 +0x1.a0a708p-1 +0x1.d417ep-2 +-0x1.a340f8p-2 +0x1.754e38p-2 +0x1.be1ab4p-1 +-0x1.3cab48p-3 +-0x1.d53d2p-1 +0x1.8e9c8p-1 +0x1.b316c8p-2 +-0x1.767e0cp-2 +-0x1.32d4p-7 +0x1.f002dp-2 +-0x1.877594p-1 +0x1.45e0ap-4 +0x1.2adfcp-3 +-0x1.a8413p-4 +0x1.b2b778p-2 +0x1.d0edcp-1 +0x1.209d78p-1 +-0x1.25fccp-5 +0x1.55938cp-1 +0x1.31d1p-2 +-0x1.3cbc88p-3 +-0x1.418b5cp-1 +0x1.c6028p-4 +0x1.ad7efp-1 +-0x1.081ecp-1 +0x1.c5d75p-3 +-0x1.c6d666p-1 +0x1.2518fp-3 +0x1.25f96cp-1 +0x1.b583ep-3 +-0x1.b5e2d2p-1 +-0x1.31646p-1 +0x1.cb9e3p-2 +0x1.5eafbp-3 +-0x1.96aa84p-1 +-0x1.22c11p-1 +-0x1.db5e1p-1 +-0x1.fcb18p-1 +-0x1.99a06ap-1 +0x1.afc798p-1 +0x1.2f0bfp-2 +-0x1.0465dep-1 +-0x1.d51642p-1 +-0x1.894918p-1 +0x1.e99fe8p-1 +-0x1.692f62p-1 +-0x1.318544p-1 +0x1.a20408p-2 +0x1.d95ecp-5 +0x1.c0bea4p-1 +-0x1.31faacp-1 +0x1.f0a6p-4 +-0x1.231458p-2 +0x1.9babep-3 +-0x1.648858p-1 +-0x1.a48p-13 +0x1.27235cp-1 +-0x1.f4fc4p-4 +0x1.d04398p-1 +-0x1.4588cp-1 +0x1.79e6f8p-2 +-0x1.b5e0dp-1 +-0x1.74e75p-1 +-0x1.85a8d4p-1 +-0x1.8a2c54p-1 +-0x1.53682cp-2 +0x1.b90238p-2 +0x1.77d7e8p-2 +0x1.114dap-2 +-0x1.3896fp-2 +0x1.373138p-2 +0x1.27ap-4 +-0x1.808038p-3 +0x1.2cbeccp-1 +-0x1.a0ebdap-1 +0x1.01d518p-2 +0x1.98c9cp-1 +-0x1.1c964p-6 +0x1.8c7f24p-1 +-0x1.55fc28p-3 +-0x1.9b0934p-1 +-0x1.c09f76p-1 +0x1.fa2e2p-4 +-0x1.12a7a4p-1 +-0x1.605ep-9 +-0x1.965ddcp-2 +0x1.64694p-4 +0x1.4c8418p-2 +-0x1.9b124ep-1 +-0x1.5aec6cp-2 +-0x1.fb0c4cp-1 +-0x1.d6913cp-1 +-0x1.26bc88p-1 +-0x1.7dbb98p-2 +-0x1.4177dep-1 +0x1.c243p-2 +-0x1.f01a7p-1 +-0x1.9ecf3p-2 +-0x1.9b227cp-2 +-0x1.7cb464p-1 +-0x1.8416a4p-1 +0x1.e7c09p-2 +0x1.13db1p-1 +0x1.bdbd38p-2 +-0x1.a4f08ap-1 +-0x1.fbe974p-2 +0x1.addd9cp-1 +-0x1.e5cdacp-1 +-0x1.e20414p-2 +0x1.94fbap-1 +-0x1.b4375cp-1 +0x1.f13a08p-1 +0x1.575358p-2 +-0x1.8630ccp-2 +-0x1.46fb4p-4 +0x1.42063cp-1 +0x1.9ae6p-3 +0x1.7ba2ap-4 +0x1.6a044p-2 +0x1.2ac6e4p-1 +0x1.4861ep-4 +-0x1.bb7896p-1 +0x1.bda4ccp-1 +0x1.2330ap-4 +-0x1.bdfa8p-5 +0x1.f8112cp-1 +0x1.2445d8p-2 +-0x1.5538a8p-1 +-0x1.679378p-2 +0x1.2719p-4 +0x1.fa0bep-3 +-0x1.fc70ep-5 +0x1.62216p-2 +0x1.83ff48p-2 +0x1.3e9cdcp-1 +-0x1.cf2c98p-1 +0x1.4c31acp-1 +-0x1.6ce49p-3 +-0x1.2a84b8p-2 +0x1.9f9ad8p-2 +-0x1.0857fp-4 +0x1.849c88p-2 +0x1.19916p-3 +0x1.70102p-3 +-0x1.cf75dp-4 +0x1.84936p-1 +0x1.f7464p-3 +-0x1.90a9d4p-1 +-0x1.4d3194p-1 +-0x1.3d593cp-2 +-0x1.e34388p-2 +0x1.e04fep-3 +-0x1.a22dacp-1 +0x1.f9fa5p-2 +0x1.361b5p-3 +-0x1.705ad4p-1 +0x1.23f008p-2 +-0x1.61d048p-3 +-0x1.2dd418p-1 +-0x1.37e58ep-1 +-0x1.81bdbp-1 +0x1.e7282p-3 +-0x1.aa294p-6 +0x1.068b2p-4 +0x1.37d808p-2 +0x1.758f08p-1 +-0x1.91a19cp-1 +-0x1.649e4p-2 +-0x1.94484cp-1 +0x1.22e68p-4 +0x1.70073p-2 +0x1.2c494p-3 +-0x1.12f38p-2 +0x1.93822p-2 +-0x1.84dd88p-2 +-0x1.e3f2ep-1 +-0x1.2b4868p-3 +0x1.0f5a08p-1 +0x1.3510cp-4 +0x1.3c215p-1 +0x1.89ad6p-4 +-0x1.286e9cp-2 +-0x1.1f09eep-1 +-0x1.f681d4p-2 +0x1.ba89cp-1 +0x1.5ca468p-1 +-0x1.6d2006p-1 +-0x1.061b38p-1 +-0x1.b4195p-3 +0x1.1e6b6p-3 +-0x1.60512p-4 +-0x1.1f5084p-1 +-0x1.2b840ap-1 +0x1.eadd2p-4 +0x1.14a84p-4 +0x1.d26e2p-2 +0x1.2ca5c4p-1 +-0x1.8e971cp-1 +-0x1.9a49f6p-1 +0x1.d1af98p-1 +0x1.2ffbccp-1 +0x1.591e6p-3 +-0x1.285bacp-2 +0x1.2fe374p-1 +-0x1.affc56p-1 +-0x1.a2d172p-1 +0x1.3a8edcp-1 +-0x1.ba54acp-1 +0x1.d1b8b4p-1 +0x1.30c64p-3 +0x1.3df434p-1 +-0x1.2ca26p-1 +-0x1.9697e8p-2 +0x1.fc368p-6 +0x1.85f6f8p-2 +-0x1.778d14p-1 +-0x1.e2157ap-1 +0x1.0d9694p-1 +0x1.6c963p-2 +0x1.8c932p-3 +-0x1.06079ap-1 +-0x1.a73064p-1 +0x1.a814e8p-1 +0x1.aeb2a8p-1 +0x1.06122cp-1 +0x1.626148p-2 +0x1.69dep-4 +-0x1.0573e4p-1 +-0x1.41c8ep-4 +0x1.88fce8p-1 +-0x1.c53652p-1 +-0x1.c99ab4p-2 +0x1.a61cc4p-1 +0x1.4d8bacp-1 +-0x1.8bfeap-3 +0x1.8ece2p-2 +-0x1.2060fp-1 +-0x1.d75118p-1 +0x1.090628p-1 +-0x1.292c6p-2 +0x1.08f5p-4 +-0x1.e89ba4p-2 +0x1.e51ddp-1 +0x1.4c674cp-1 +0x1.29e71p-1 +0x1.935e68p-2 +-0x1.35eb8ap-1 +0x1.52ce3p-3 +-0x1.27b43p-2 +-0x1.948258p-3 +0x1.380afcp-1 +-0x1.3a4e6ep-1 +0x1.4b2fp-2 +-0x1.1edc3p-1 +0x1.c41968p-1 +0x1.f7f42p-4 +-0x1.722b3p-2 +0x1.a42bb8p-2 +-0x1.33b07p-2 +-0x1.c56d88p-2 +-0x1.0f55p-8 +-0x1.e7501cp-2 +0x1.47bb8p-6 +0x1.4d18f8p-2 +-0x1.aacbe8p-3 +-0x1.804978p-3 +-0x1.781a18p-2 +0x1.c5793cp-1 +-0x1.f996ap-2 +0x1.fa7258p-2 +0x1.bd60b4p-1 +0x1.e15f0cp-1 +0x1.9a8fep-2 +0x1.8214f4p-1 +-0x1.472e3p-1 +0x1.27556p-4 +0x1.a4c3ccp-1 +-0x1.26cefp-1 +0x1.e4b2b8p-1 +0x1.08dd3p-2 +0x1.fce6e8p-1 +-0x1.9cb258p-1 +-0x1.69bf9p-1 +-0x1.a2325p-3 +-0x1.1b1bf6p-1 +0x1.416a78p-1 +-0x1.b70672p-1 +-0x1.7ad0a8p-1 +-0x1.f8218p-7 +0x1.b1a98p-3 +0x1.a9b24p-3 +0x1.ce5868p-2 +-0x1.18c59p-3 +0x1.6a83f4p-1 +-0x1.9e65p-3 +0x1.7b4ce4p-1 +0x1.5538dp-1 +-0x1.08a4c8p-3 +-0x1.76f35p-3 +0x1.39c77p-2 +-0x1.392acp-6 +-0x1.6cb536p-1 +-0x1.91b05p-4 +0x1.9116ap-3 +0x1.eb32ep-3 +0x1.2b4b3p-2 +-0x1.725d9p-2 +-0x1.dbd06p-4 +-0x1.26e8b4p-1 +-0x1.d743dcp-2 +0x1.d465e8p-2 +0x1.3fd128p-2 +0x1.93775p-1 +-0x1.891b5ep-1 +-0x1.79c1bp-1 +0x1.8abc4p-4 +0x1.1ea21p-1 +-0x1.432cfp-4 +0x1.6fdda4p-1 +-0x1.a1146p-3 +0x1.a1c2ap-1 +-0x1.3e82bp-1 +0x1.b61c8p-5 +-0x1.4ca1bp-2 +-0x1.b23fbap-1 +0x1.26c188p-2 +-0x1.e960fp-4 +0x1.a4269cp-1 +0x1.7c2b58p-1 +0x1.d39278p-1 +0x1.df5704p-1 +-0x1.aebd64p-1 +0x1.aad6p-7 +0x1.144444p-1 +-0x1.38d1fcp-2 +0x1.98ebap-2 +-0x1.f3c554p-2 +0x1.f3134p-1 +0x1.2f76bp-3 +0x1.d1b55p-2 +-0x1.6f05e8p-2 +0x1.6c23fp-1 +-0x1.bdb89ep-1 +0x1.81b4ecp-1 +-0x1.025c98p-2 +-0x1.a1a2f8p-3 +0x1.a53574p-1 +-0x1.8dbbecp-2 +0x1.fe5448p-1 +-0x1.e2e422p-1 +0x1.65fffp-1 +-0x1.80a774p-2 +0x1.001928p-2 +-0x1.903938p-1 +-0x1.95032ep-1 +-0x1.3058e8p-2 +-0x1.212576p-1 +0x1.8908b8p-1 +-0x1.16ba8p-6 +-0x1.4b7688p-3 +-0x1.447fd4p-1 +-0x1.320788p-2 +-0x1.ee416cp-1 +-0x1.a4386p-5 +0x1.c61ap-1 +-0x1.489834p-1 +-0x1.9045d8p-1 +0x1.a39558p-2 +-0x1.5e9ac2p-1 +-0x1.5f8128p-2 +-0x1.becf74p-2 +-0x1.7461bcp-2 +0x1.40c6cp-2 +0x1.ce357p-2 +-0x1.a699a4p-2 +0x1.0d01ap-3 +0x1.336008p-1 +-0x1.0b1edp-2 +-0x1.ba435cp-1 +-0x1.01046ep-1 +0x1.47b478p-1 +-0x1.990b24p-2 +0x1.e06aap-3 +0x1.23e47cp-1 +0x1.2b8e7p-2 +0x1.a72a88p-1 +-0x1.225c5p-1 +-0x1.f68ecp-1 +-0x1.336df4p-1 +0x1.b5fa6cp-1 +-0x1.8e9274p-1 +0x1.46f504p-1 +-0x1.260fap-1 +0x1.3f7414p-1 +0x1.e1e65p-1 +0x1.8012p-2 +-0x1.a48a58p-3 +-0x1.061ep-4 +0x1.5a8b2cp-1 +-0x1.787024p-2 +0x1.287528p-1 +-0x1.af8bp-8 +0x1.45da8p-3 +0x1.94371p-3 +-0x1.ec39fap-1 +0x1.3b47ep-2 +-0x1.f836d4p-1 +0x1.4e5588p-1 +0x1.d7bbep-3 +0x1.8e72d8p-2 +-0x1.b8815p-3 +-0x1.fd6436p-1 +0x1.69a54p-5 +0x1.328344p-1 +-0x1.bb84b8p-2 +0x1.989bap-4 +-0x1.6d8608p-2 +0x1.c4603p-3 +0x1.5fd3acp-1 +-0x1.8bb058p-1 +-0x1.ae221ap-1 +0x1.0d08fp-2 +0x1.3ca3p-3 +0x1.e96194p-1 +-0x1.fe6054p-1 +-0x1.1a4bc4p-1 +-0x1.bf4a98p-2 +-0x1.9c958p-6 +-0x1.9b860ap-1 +-0x1.9479a8p-2 +0x1.798a48p-2 +0x1.6872ccp-1 +-0x1.45cfb8p-2 +-0x1.ed3af8p-1 +-0x1.43a73cp-1 +-0x1.b08b28p-3 +-0x1.14c2ep-4 +0x1.4e950cp-1 +0x1.968e64p-1 +0x1.98479p-2 +-0x1.ccb406p-1 +0x1.61d2c4p-1 +-0x1.48c666p-1 +-0x1.d5a1dp-1 +0x1.667404p-1 +0x1.ec08e8p-2 +0x1.63e518p-1 +0x1.a6f0fcp-1 +0x1.287428p-1 +0x1.f9f7c4p-1 +-0x1.4ad524p-2 +0x1.1a182p-2 +-0x1.5f184ep-1 +-0x1.bd0b5p-2 +-0x1.a9d3f2p-1 +0x1.8e1b38p-2 +-0x1.5ab7c4p-2 +-0x1.5e1c5cp-2 +-0x1.fcf9fp-4 +-0x1.81c7ep-2 +-0x1.e16dp-4 +0x1.0bc118p-1 +0x1.89e9bp-3 +-0x1.283ee8p-2 +0x1.fade64p-1 +-0x1.ec4ef2p-1 +0x1.6d5fd8p-1 +-0x1.933eap-2 +-0x1.9b6328p-1 +-0x1.13dd78p-1 +0x1.6db5ccp-1 +0x1.9412p-8 +0x1.54cd18p-1 +0x1.e66278p-2 +0x1.dae12p-1 +0x1.34p-8 +-0x1.3ce9f8p-3 +-0x1.d0f65ap-1 +0x1.66612cp-1 +0x1.53a9ap-3 +0x1.f9f2c4p-1 +-0x1.ab27fp-3 +0x1.322594p-1 +-0x1.b2ebcp-3 +-0x1.36ac68p-1 +0x1.da4718p-2 +-0x1.14f9p-4 +0x1.5bbe5p-2 +0x1.dea8fp-1 +0x1.e3282cp-1 +0x1.f7f8e8p-1 +0x1.fe98p-4 +-0x1.08f05cp-1 +-0x1.6d7ecp-6 +0x1.99c7b4p-1 +0x1.19855p-2 +0x1.9bf918p-1 +0x1.168814p-1 +0x1.69b5b8p-2 +0x1.c67d58p-2 +-0x1.bd1acp-2 +-0x1.c6af68p-1 +0x1.ebe9b4p-1 +0x1.a2aedp-3 +0x1.b7c8fcp-1 +0x1.e0835cp-1 +-0x1.49213ep-1 +0x1.8f5908p-2 +-0x1.9e6256p-1 +-0x1.5fb8a4p-1 +-0x1.935d56p-1 +-0x1.7d1f38p-3 +0x1.dfec8cp-1 +0x1.4ad78p-6 +-0x1.267be8p-3 +0x1.0ef2cp-4 +-0x1.49e024p-1 +0x1.09425cp-1 +0x1.1a52dcp-1 +-0x1.f5f92ep-1 +0x1.95dd38p-2 +0x1.e48ap-8 +-0x1.61434cp-1 +-0x1.a5a3f4p-1 +-0x1.c8b218p-2 +-0x1.96172ap-1 +-0x1.2d159cp-1 +0x1.61af78p-2 +0x1.52bdc8p-1 +-0x1.c111b8p-3 +-0x1.afaa88p-1 +0x1.156f78p-2 +0x1.48b6d8p-1 +0x1.be93dp-2 +-0x1.bbb406p-1 +0x1.1aa294p-1 +-0x1.e33d1cp-2 +0x1.1c19ep-3 +-0x1.75163p-2 +-0x1.00accp-2 +-0x1.43539p-3 +0x1.ed86d4p-1 +-0x1.031eecp-2 +0x1.778aecp-1 +0x1.c4d214p-1 +0x1.ac52p-4 +0x1.0e738cp-1 +-0x1.dda9p-6 +-0x1.0c787p-2 +0x1.cbe728p-2 +-0x1.78c63p-2 +-0x1.dacaep-3 +-0x1.8baf4p-6 +0x1.9c462cp-1 +-0x1.818176p-1 +-0x1.a9dp-9 +-0x1.dadb4cp-2 +-0x1.8ab3fap-1 +-0x1.bb487cp-1 +-0x1.449954p-1 +0x1.d518ecp-1 +-0x1.2270a8p-1 +0x1.942e9p-3 +-0x1.9ccc88p-1 +0x1.a869dcp-1 +0x1.cc054p-2 +0x1.85bb7p-1 +-0x1.60a87p-3 +-0x1.0cd9d4p-2 +-0x1.52c74p-5 +-0x1.76f2c8p-2 +-0x1.810f2p-5 +-0x1.158d6p-2 +0x1.5995cp-2 +0x1.a4e2ep-4 +0x1.caae6cp-1 +-0x1.586254p-1 +0x1.11c938p-1 +0x1.e9776p-4 +0x1.fc8308p-2 +-0x1.266696p-1 +-0x1.e6bdeep-1 +-0x1.b8e7p-1 +-0x1.e1180ap-1 +-0x1.d1c2dcp-1 +0x1.9a463p-3 +-0x1.1d2d8cp-1 +0x1.907dcp-4 +0x1.b2cb1p-2 +-0x1.44cf1cp-2 +0x1.e2d8dp-2 +0x1.439a88p-1 +0x1.a05bp-7 +-0x1.30be6cp-1 +-0x1.e15d1p-1 +-0x1.0f6648p-1 +0x1.91bf4p-1 +-0x1.1441acp-1 +-0x1.4dcc3cp-1 +0x1.e4b0b8p-2 +-0x1.809284p-2 +-0x1.81fc5p-1 +0x1.5db9f8p-1 +-0x1.ca6a4cp-2 +-0x1.9e1abp-3 +0x1.3ab18p-3 +-0x1.3c874p-4 +-0x1.5e5a94p-2 +0x1.19dd3p-1 +-0x1.92e7f4p-2 +0x1.ddcd2p-4 +0x1.b5158p-1 +0x1.355f78p-2 +0x1.d2be7p-2 +0x1.0057cp-5 +0x1.f7374p-2 +-0x1.f1c45p-3 +0x1.cbde9p-2 +0x1.94ce8p-3 +-0x1.ac877ep-1 +0x1.98193p-1 +0x1.a4749p-3 +0x1.8cc3cp-1 +-0x1.6d6c54p-1 +0x1.88d97cp-1 +-0x1.63cbep-4 +-0x1.0032cp-1 +0x1.7b2a9p-2 +-0x1.b2d9a8p-1 +0x1.908c1p-1 +0x1.64aed4p-1 +-0x1.57d1c4p-2 +0x1.d5c9cp-3 +-0x1.89a5c6p-1 +-0x1.a94ep-1 +-0x1.b372a8p-1 +0x1.5beba8p-2 +-0x1.4f07cp-1 +-0x1.8c56e4p-2 +0x1.ee76d4p-1 +0x1.9abd6cp-1 +0x1.67fd58p-2 +-0x1.ba886cp-1 +0x1.02392p-2 +-0x1.089a5p-2 +-0x1.946cfap-1 +0x1.64976p-3 +0x1.9654f8p-1 +0x1.1b694p-2 +0x1.1fb21cp-1 +0x1.3dc8bp-2 +0x1.ba03cp-5 +0x1.ed162p-1 +0x1.77da38p-2 +0x1.552dc8p-1 +0x1.856d8p-5 +-0x1.190afcp-1 +0x1.4027dp-2 +0x1.a612ap-1 +-0x1.cb77ecp-2 +0x1.6a9fe8p-2 +0x1.6996f8p-1 +0x1.e38608p-2 +-0x1.f6d586p-1 +-0x1.72d6dcp-1 +-0x1.ef382cp-2 +0x1.ee151p-3 +0x1.b494p-3 +-0x1.6f86bcp-1 +0x1.95768p-6 +0x1.eae68cp-1 +-0x1.399258p-1 +0x1.d16cfp-3 +0x1.a57a4cp-1 +0x1.2ea8a8p-2 +0x1.ec5528p-2 +-0x1.fe484cp-2 +-0x1.8ddef4p-2 +-0x1.ab8ba6p-1 +-0x1.a0f18p-3 +-0x1.28bep-2 +0x1.9e82cp-3 +-0x1.f1e0e6p-1 +-0x1.3c79bcp-1 +-0x1.9a87fcp-1 +0x1.792708p-1 +-0x1.1c71fp-1 +-0x1.0a085p-1 +0x1.608ddp-2 +-0x1.0769p-5 +0x1.692534p-1 +0x1.26f1ep-4 +0x1.3c20dp-1 +0x1.8d294p-4 +-0x1.46eb2ep-1 +0x1.caf9fcp-1 +-0x1.6d29a8p-1 +0x1.5a87c8p-1 +-0x1.375bcap-1 +0x1.0828p-8 +0x1.774b8p-5 +-0x1.0f7848p-3 +0x1.891d04p-1 +0x1.e534fcp-1 +-0x1.ea4f98p-3 +-0x1.133d34p-1 +0x1.b1396p-3 +0x1.2753bcp-1 +0x1.81258p-4 +0x1.0713cp-5 +-0x1.3f8c18p-3 +-0x1.bf195p-3 +0x1.b437p-3 +-0x1.ed7b7ep-1 +0x1.efa8d4p-1 +-0x1.2efa04p-2 +0x1.89baa8p-1 +0x1.85063p-1 +-0x1.4b3d58p-3 +0x1.b3e7ep-1 +-0x1.1e95p-7 +-0x1.618e8cp-1 +-0x1.6a5eecp-1 +0x1.de0f98p-2 +0x1.39bf18p-2 +-0x1.cbcc8p-3 +0x1.c8966p-4 +0x1.ce66fp-3 +-0x1.81bf3cp-2 +0x1.0dd1e4p-1 +0x1.c3993p-1 +-0x1.170b8p-5 +0x1.c6b08p-4 +0x1.3f19d8p-1 +0x1.d61218p-1 +0x1.11c79p-1 +0x1.8e718p-1 +-0x1.73a83p-2 +-0x1.468d7cp-1 +0x1.40ebdp-1 +-0x1.4be614p-1 +0x1.de0edcp-1 +0x1.6e6a0cp-1 +0x1.1b9accp-1 +-0x1.f0d63ep-1 +0x1.34bd98p-1 +-0x1.8d74ccp-1 +-0x1.8cd78p-6 +-0x1.e2d7a8p-2 +0x1.bcc26p-4 +0x1.c02864p-1 +-0x1.6b88bp-3 +-0x1.b410fp-2 +-0x1.d23932p-1 +0x1.3a7fa8p-1 +0x1.194becp-1 +-0x1.921a3ep-1 +0x1.768064p-1 +0x1.b6c698p-1 +0x1.b50c7cp-1 +-0x1.bcf1dp-3 +-0x1.536ca8p-1 +0x1.4ad6a8p-2 +0x1.c67a68p-2 +0x1.0f0c8p-3 +-0x1.bd993ep-1 +-0x1.65fe7p-3 +-0x1.99ea6p-1 +0x1.9434ap-1 +-0x1.95f358p-3 +-0x1.35697p-1 +0x1.ee40fp-3 +0x1.bddf94p-1 +0x1.7d8cp-1 +-0x1.17f258p-2 +0x1.475af8p-1 +0x1.c653ep-1 +-0x1.b9bc7p-2 +0x1.9a4a08p-2 +0x1.e06624p-1 +0x1.23ddcp-5 +-0x1.ba9cfcp-2 +0x1.1a540cp-1 +0x1.40bccp-4 +-0x1.e89c6p-5 +0x1.6ea018p-2 +0x1.92b224p-1 +0x1.13d818p-2 +0x1.7316p-8 +-0x1.6e49c8p-3 +-0x1.d34166p-1 +-0x1.ca54cp-3 +0x1.2799dcp-1 +0x1.1a246p-2 +-0x1.4aa578p-2 +0x1.a9c7p-3 +-0x1.9c7608p-2 +-0x1.bde8a8p-1 +-0x1.491f7cp-2 +-0x1.99d3a8p-3 +0x1.282738p-1 +-0x1.e58254p-1 +0x1.9aa3cp-4 +-0x1.7f0a3cp-1 +-0x1.30fe42p-1 +-0x1.866674p-1 +-0x1.8d7f2p-2 +0x1.5abd2p-1 +0x1.9f7c3p-1 +-0x1.4b26d8p-3 +-0x1.bd9f8p-5 +-0x1.80f1c8p-1 +-0x1.10d204p-1 +0x1.9dabp-2 +0x1.94713p-3 +-0x1.cd5cdp-1 +-0x1.0b233p-1 +-0x1.91b61cp-1 +0x1.9d46fp-1 +0x1.eb2d6p-1 +-0x1.d623ap-3 +-0x1.ead2f2p-1 +0x1.6c1a8p-3 +-0x1.e94758p-2 +-0x1.0f325cp-1 +-0x1.4ab6d2p-1 +-0x1.40b128p-1 +0x1.58a5acp-1 +0x1.1664f8p-1 +-0x1.5d318ep-1 +0x1.7885dp-1 +0x1.aea8ap-2 +-0x1.470eb8p-1 +-0x1.6043a4p-1 +0x1.8d9f54p-1 +0x1.4f0e4p-2 +0x1.20000cp-1 +0x1.649004p-1 +-0x1.d4fa8p-7 +0x1.df8a6p-1 +0x1.92befp-2 +0x1.7e82f8p-1 +-0x1.5f3cb8p-1 +0x1.c5b2b8p-1 +0x1.1759acp-1 +-0x1.0b76f8p-1 +-0x1.e35b7p-1 +0x1.5a5888p-1 +-0x1.9eff88p-3 +-0x1.07a584p-1 +-0x1.43d2e8p-2 +0x1.ab216p-4 +0x1.62d6ccp-1 +-0x1.6eef8p-5 +0x1.bc3768p-2 +-0x1.d8dbep-4 +0x1.10fa4p-4 +-0x1.12476p-1 +0x1.d21p-7 +-0x1.f92424p-1 +0x1.17164p-5 +0x1.3931d4p-1 +0x1.e8e3fp-3 +-0x1.bc2c98p-2 +-0x1.95c828p-1 +0x1.2397p-5 +-0x1.26ef7ap-1 +0x1.befb34p-1 +-0x1.2742p-4 +0x1.81d89p-2 +-0x1.e251a4p-1 +0x1.ec6bap-4 +0x1.2c0598p-2 +0x1.751fbp-3 +0x1.d4c418p-1 +-0x1.cecf3p-2 +-0x1.4f1b1cp-1 +0x1.12a8d8p-1 +-0x1.8f8ebap-1 +-0x1.8e70dcp-1 +-0x1.52aea8p-1 +-0x1.49609p-2 +0x1.f54958p-2 +0x1.b48d8p-2 +-0x1.806b9p-1 +0x1.c5485p-1 +0x1.3ba6ccp-1 +-0x1.e59618p-3 +-0x1.a63a8p-1 +-0x1.58c74cp-2 +0x1.721d2p-1 +0x1.8bb06p-1 +0x1.c8fe1p-1 +0x1.6c64bcp-1 +-0x1.e9364p-5 +-0x1.6411eap-1 +0x1.657e9p-2 +-0x1.9b99dp-2 +0x1.46c1e8p-2 +0x1.870224p-1 +-0x1.128cap-4 +-0x1.15b758p-3 +-0x1.72a4bp-1 +-0x1.11d774p-1 +0x1.bc97a8p-2 +-0x1.5d0a94p-2 +-0x1.7ba41cp-1 +-0x1.e7401cp-1 +0x1.7c2894p-1 +-0x1.bd52cp-1 +0x1.671b3p-3 +0x1.a87318p-2 +-0x1.d063cap-1 +0x1.36a67p-3 +-0x1.aacbe8p-1 +0x1.b72c94p-1 +-0x1.d9bb94p-1 +-0x1.48ab08p-1 +-0x1.7fa5d8p-1 +0x1.5b67e8p-1 +0x1.7fe46p-2 +-0x1.48afbp-3 +-0x1.eda8fp-1 +-0x1.c09c2ep-1 +-0x1.c05f1ap-1 +0x1.be718p-4 +-0x1.817fa2p-1 +0x1.ebd12p-4 +-0x1.50d0f8p-1 +-0x1.479d9p-1 +-0x1.3bb4dp-4 +0x1.43b0e4p-1 +0x1.9df84cp-1 +0x1.e2c8c8p-1 +0x1.202078p-2 +-0x1.4a0fccp-2 +-0x1.7d95bcp-1 +-0x1.fd0f22p-1 +0x1.b10cap-2 +0x1.f8563p-1 +-0x1.a0af74p-2 +-0x1.8dc108p-1 +-0x1.23de08p-2 +0x1.7be88p-4 +0x1.a0947p-2 +-0x1.b040d8p-1 +0x1.cc5d48p-1 +0x1.3930e4p-1 +-0x1.8d87f8p-1 +0x1.390854p-1 +-0x1.6da8f2p-1 +0x1.84e89p-3 +-0x1.61410ap-1 +-0x1.8f11ccp-1 +-0x1.ac117p-4 +0x1.a31048p-1 +-0x1.3c0688p-2 +-0x1.403a7p-2 +0x1.22229p-3 +0x1.9266cp-3 +0x1.8056ecp-1 +0x1.ee2a2p-1 +-0x1.aa8bf8p-2 +-0x1.47ac58p-3 +0x1.c102p-1 +0x1.1ae2c4p-1 +-0x1.a29b58p-1 +-0x1.e5121cp-1 +0x1.fdac28p-1 +-0x1.0573p-7 +-0x1.a10552p-1 +0x1.2ceeb8p-1 +-0x1.acbfa4p-2 +0x1.e402ap-1 +0x1.9c909p-1 +-0x1.ee9518p-1 +-0x1.0e51fcp-1 +0x1.44fda4p-1 +-0x1.939588p-1 +-0x1.4728ccp-1 +-0x1.f1d8f8p-1 +-0x1.292efp-3 +-0x1.4a1316p-1 +-0x1.dca41cp-1 +0x1.1c4578p-2 +0x1.99f24p-2 +-0x1.93dd8p-1 +-0x1.8fc9ap-1 +0x1.ae9ap-8 +-0x1.a98568p-3 +-0x1.8a484p-4 +0x1.b58878p-2 +-0x1.477e6cp-2 +-0x1.183a54p-2 +-0x1.b65e6p-1 +-0x1.9515ep-1 +0x1.38e938p-2 +0x1.ff6e2p-4 +0x1.62c28p-5 +0x1.1735fp-1 +-0x1.8fdba4p-2 +0x1.6bceb8p-1 +-0x1.3dfc3cp-2 +0x1.ed20f8p-1 +0x1.4b0808p-2 +-0x1.d35dc8p-2 +-0x1.53e398p-3 +-0x1.c301e6p-1 +0x1.7c342p-3 +-0x1.f9ac18p-3 +0x1.04209p-2 +-0x1.7ba282p-1 +0x1.e699ep-4 +-0x1.7165c4p-1 +-0x1.3e822cp-1 +-0x1.df17bp-4 +0x1.18a97cp-1 +0x1.5b2a5p-3 +-0x1.d82458p-1 +-0x1.fb966p-4 +0x1.9a6298p-2 +0x1.f5e0f4p-1 +-0x1.387d8p-4 +0x1.65d94p-2 +0x1.63172p-4 +0x1.6ca568p-2 +0x1.2bb2p-1 +-0x1.28747cp-1 +0x1.aa0cp-3 +-0x1.91b796p-1 +0x1.35811p-1 +-0x1.f41d8p-2 +-0x1.4ed444p-2 +-0x1.a59e08p-2 +0x1.8fbf14p-1 +-0x1.47c0f8p-1 +0x1.773ap-1 +-0x1.60fac6p-1 +-0x1.90a446p-1 +0x1.f794ecp-1 +0x1.8909f4p-1 +-0x1.a5c7ap-1 +0x1.cf29ccp-1 +0x1.6355ep-3 +-0x1.38cbe8p-1 +-0x1.8f7528p-3 +0x1.cea1ep-2 +0x1.cdd02p-1 +0x1.8008cp-1 +0x1.f309dp-3 +-0x1.ecf988p-1 +-0x1.266338p-3 +0x1.c0ff8p-2 +-0x1.e2182cp-2 +-0x1.e4cc6cp-1 +0x1.88ce1p-1 +0x1.954f5p-3 +0x1.2505bp-3 +-0x1.de514cp-1 +0x1.19dc1cp-1 +0x1.4533f8p-2 +-0x1.bb8758p-1 +-0x1.5efdp-5 +0x1.a66c94p-1 +0x1.927b88p-2 +-0x1.9b0636p-1 +-0x1.3a32e4p-2 +0x1.c5b98p-5 +0x1.94108p-6 +-0x1.d5dde8p-2 +-0x1.294b34p-2 +0x1.c125acp-1 +0x1.411efp-2 +0x1.eda6cp-3 +0x1.01ec1cp-1 +-0x1.0e8872p-1 +-0x1.4bc83p-4 +0x1.8c0ff4p-1 +-0x1.e94f7cp-1 +-0x1.084fap-1 +-0x1.0f477p-1 +0x1.c54cacp-1 +0x1.0b8038p-1 +-0x1.104864p-2 +-0x1.d6176ep-1 +-0x1.93b5e8p-3 +-0x1.b0e46p-5 +-0x1.dd6e1p-3 +-0x1.fa22bp-1 +-0x1.33fb3p-2 +0x1.ce25ccp-1 +0x1.40a508p-2 +-0x1.d6bbap-1 +-0x1.8211dp-3 +-0x1.1847b4p-2 +0x1.b600fp-1 +-0x1.2c3c8cp-2 +0x1.b210ap-1 +-0x1.68e73cp-2 +0x1.d1c8dp-3 +-0x1.1bc4fp-3 +-0x1.43464p-2 +0x1.498124p-1 +0x1.6b9becp-1 +-0x1.5660bp-1 +-0x1.936926p-1 +0x1.9effc8p-2 +-0x1.30a128p-2 +-0x1.a8c6c4p-2 +0x1.6828bp-1 +0x1.d12358p-1 +0x1.ad7e7p-1 +-0x1.0156dep-1 +-0x1.de9524p-2 +-0x1.689254p-1 +-0x1.51642p-5 +-0x1.44cfc4p-1 +0x1.87dc3p-2 +0x1.bffbap-3 +0x1.5bf42p-4 +0x1.0c8eap-4 +-0x1.8ab7bep-1 +0x1.d82a5p-2 +0x1.587844p-1 +0x1.3b891p-2 +0x1.88b85p-3 +-0x1.8915p-7 +0x1.3ed25p-3 +0x1.a0f45cp-1 +0x1.96d7p-5 +-0x1.b2b2d2p-1 +0x1.02e6dcp-1 +-0x1.34b1a2p-1 +0x1.c657p-1 +-0x1.709c18p-1 +-0x1.30cc4p-3 +-0x1.43aadp-1 +0x1.24d568p-1 +-0x1.69fd6p-1 +-0x1.81e90cp-2 +-0x1.40a9a6p-1 +-0x1.d1609p-3 +-0x1.f6ff6cp-1 +-0x1.4bb574p-1 +-0x1.ef6e6ap-1 +-0x1.99742p-1 +0x1.d1dep-7 +0x1.05a3b8p-1 +0x1.fbbd28p-2 +-0x1.15188p-3 +-0x1.492f6p-5 +-0x1.46c1f4p-1 +0x1.c55p-3 +0x1.7e26ecp-1 +-0x1.fda03p-1 +0x1.b85f24p-1 +0x1.1edd1cp-1 +0x1.a3dap-7 +0x1.a7c19p-1 +0x1.a5024p-5 +0x1.3be09p-3 +-0x1.15ef04p-2 +-0x1.31d3cp-1 +-0x1.406d6cp-1 +0x1.6916bp-2 +0x1.7804ap-1 +-0x1.2cdbb8p-1 +-0x1.029b9cp-2 +0x1.39b94p-2 +-0x1.4232dp-1 +-0x1.317fc4p-1 +-0x1.93f07p-1 +-0x1.465054p-1 +0x1.07ab38p-1 +-0x1.4f1ffap-1 +0x1.3c0a24p-1 +-0x1.7df404p-1 +0x1.83a4cp-2 +0x1.771408p-1 +0x1.486d9cp-1 +0x1.350f1p-2 +-0x1.228db8p-1 +0x1.ba9ae8p-2 +0x1.161f0cp-1 +-0x1.ec32b4p-1 +0x1.c4bd08p-2 +-0x1.440884p-1 +-0x1.14d6p-9 +0x1.76923p-2 +-0x1.e8adc6p-1 +0x1.056a1p-1 +0x1.09cf74p-1 +-0x1.bbc326p-1 +0x1.2153e8p-2 +0x1.9fdf9p-3 +0x1.e73718p-2 +-0x1.6b6d8p-5 +0x1.98abcp-1 +-0x1.859a44p-2 +0x1.c5caf8p-2 +0x1.eca62p-4 +0x1.bea554p-1 +0x1.8e776cp-1 +-0x1.984ca8p-3 +-0x1.e91918p-3 +0x1.f84fc8p-1 +-0x1.64539cp-1 +0x1.605c88p-2 +-0x1.aacccep-1 +0x1.64411p-3 +-0x1.7050fp-4 +-0x1.8431p-2 +0x1.c1787p-2 +0x1.36407p-1 +0x1.d4d26p-3 +-0x1.3455fap-1 +-0x1.13bap-8 +-0x1.e771e4p-1 +0x1.7cddc4p-1 +0x1.7ab64p-4 +0x1.a50024p-1 +-0x1.8fdf14p-1 +-0x1.a48a98p-2 +0x1.bc1c4p-1 +-0x1.88317cp-1 +0x1.a24c2p-3 +-0x1.8e1dacp-2 +-0x1.f9b944p-2 +-0x1.a6d268p-2 +0x1.f3ba1p-1 +0x1.080aep-4 +-0x1.0ff25cp-1 +0x1.ff2f48p-2 +0x1.bd7b3p-2 +-0x1.0b26c8p-3 +0x1.d22574p-1 +0x1.3e1edp-2 +0x1.23bf58p-1 +-0x1.cd196cp-2 +0x1.d6a11p-2 +0x1.ca577p-2 +0x1.1be164p-1 +-0x1.70244p-4 +0x1.9ff5ccp-1 +-0x1.e723dp-3 +0x1.f73a8p-6 +-0x1.02cb7p-1 +-0x1.138568p-2 +0x1.f8152p-3 +0x1.1d89bp-2 +-0x1.c1b86p-5 +0x1.c1fcp-4 +0x1.39d844p-1 +-0x1.1fa0fap-1 +-0x1.492474p-1 +0x1.429904p-1 +-0x1.5d99fcp-2 +0x1.17614p-1 +-0x1.4a3ep-5 +0x1.1623d4p-1 +-0x1.97aa68p-2 +-0x1.c826cp-6 +0x1.5ecc48p-1 +0x1.873db8p-1 +0x1.4254dp-2 +-0x1.a36bfp-2 +-0x1.e4e216p-1 +-0x1.627e4p-1 +-0x1.ed2818p-2 +0x1.0db438p-1 +-0x1.c0229p-2 +-0x1.45231cp-1 +0x1.e65d7p-2 +-0x1.752bep-1 +-0x1.cd48d8p-1 +-0x1.75f5fp-1 +0x1.fbe3bp-3 +-0x1.f2c466p-1 +-0x1.4b4518p-2 +-0x1.fb6098p-3 +0x1.8b43p-5 +0x1.c37c9p-2 +0x1.1e628cp-1 +-0x1.15a404p-1 +-0x1.c7fc1cp-1 +-0x1.5c993p-2 +-0x1.1d2eep-4 +-0x1.0b5c3p-1 +-0x1.470a06p-1 +0x1.2ecd9p-2 +-0x1.0695c8p-1 +-0x1.3e5c0cp-1 +0x1.830a38p-2 +-0x1.a24b2p-3 +-0x1.9f8c3p-2 +-0x1.78e13cp-1 +-0x1.97fd1p-2 +0x1.a7a2bp-3 +-0x1.e2364p-3 +-0x1.075236p-1 +0x1.65bec8p-1 +-0x1.d2b7bcp-1 +-0x1.27201p-3 +0x1.d8c98p-1 +-0x1.341c9cp-1 +0x1.0bfffp-1 +0x1.25c13p-3 +0x1.d36a7p-1 +0x1.457fcp-1 +0x1.956cp-7 +-0x1.41d0acp-1 +-0x1.e49e8p-1 +-0x1.112c2cp-1 +0x1.4d0b88p-1 +0x1.ae3b5p-2 +-0x1.7c1694p-1 +-0x1.ef5da8p-1 +0x1.1326ep-1 +-0x1.77d9cp-6 +-0x1.b0f88p-6 +0x1.81d9ep-3 +0x1.eb1ff4p-1 +0x1.a8a24cp-1 +-0x1.9b928cp-1 +0x1.58e44p-1 +-0x1.56b534p-1 +0x1.859258p-1 +0x1.a72fecp-1 +-0x1.f4a014p-1 +-0x1.acdc8p-6 +-0x1.603f88p-1 +0x1.fbef84p-1 +0x1.c6bdfcp-1 +-0x1.130074p-2 +0x1.57c5p-4 +-0x1.328234p-2 +-0x1.e3163cp-2 +0x1.473ep-3 +0x1.1a4a6p-4 +0x1.3faac4p-1 +-0x1.7a0fep-3 +-0x1.1f9d98p-2 +-0x1.16df88p-2 +0x1.33569p-1 +-0x1.9a7cbcp-1 +-0x1.6415fp-4 +-0x1.259cecp-2 +-0x1.9a7298p-3 +-0x1.adcac8p-1 +0x1.ef6274p-1 +-0x1.b1238ap-1 +-0x1.d71258p-2 +0x1.fc8ac8p-1 +0x1.c92c94p-1 +0x1.adbadp-3 +0x1.4cae2p-1 +0x1.3cffap-2 +-0x1.2e79ap-1 +-0x1.e17beap-1 +0x1.3728d8p-1 +-0x1.85542p-2 +0x1.e068f8p-1 +-0x1.4f6538p-2 +-0x1.b9f986p-1 +0x1.47914cp-1 +0x1.d3aep-8 +-0x1.0285p-2 +0x1.2c6d1cp-1 +-0x1.d8e6a4p-1 +0x1.5bed38p-1 +0x1.3bea6p-3 +0x1.74a82cp-1 +-0x1.f738ep-4 +0x1.a4d334p-1 +-0x1.06d248p-3 +0x1.3b7cb8p-2 +-0x1.01eb4ap-1 +0x1.0b7464p-1 +0x1.76e75cp-1 +0x1.793b98p-2 +0x1.718fap-4 +-0x1.4a8ffcp-1 +-0x1.bc3c4p-5 +-0x1.5cdf7p-1 +-0x1.343a6p-3 +-0x1.3fb9a8p-2 +-0x1.c002cp-6 +-0x1.9815ep-3 +-0x1.a6592p-4 +0x1.5de8dcp-1 +0x1.1e8bdp-1 +0x1.276d98p-1 +-0x1.fefb78p-1 +0x1.dcb9cp-1 +-0x1.86837cp-1 +0x1.c774d4p-1 +0x1.b7bf68p-2 +0x1.090dd8p-2 +-0x1.1995d4p-2 +0x1.cad7p-6 +0x1.612368p-2 +0x1.84b1p-6 +-0x1.84ddd4p-1 +0x1.24f0dcp-1 +-0x1.1c1a76p-1 +0x1.66464p-3 +-0x1.65f69cp-1 +0x1.6a4c6cp-1 +0x1.3367d8p-1 +0x1.ec357cp-1 +-0x1.f67484p-2 +-0x1.4f07e4p-2 +0x1.43714p-4 +-0x1.45c39cp-1 +-0x1.2b967p-1 +0x1.ccd4cp-3 +0x1.44af5p-1 +-0x1.6b453p-2 +-0x1.d90ad4p-1 +-0x1.48b7d6p-1 +0x1.ce338p-5 +0x1.7abe78p-1 +-0x1.a7c904p-1 +-0x1.5c962cp-1 +-0x1.13db58p-3 +-0x1.d8a38cp-2 +-0x1.8ef7ap-1 +-0x1.45aa6p-3 +-0x1.d52e1p-2 +-0x1.ccee5p-3 +0x1.30c3fp-3 +-0x1.ffb8a2p-1 +-0x1.36280ap-1 +-0x1.7a0d6cp-2 +0x1.222ad8p-1 +-0x1.8827p-6 +0x1.20a4p-4 +0x1.f37f1p-2 +-0x1.94a08p-5 +-0x1.07e19cp-1 +-0x1.b229dep-1 +-0x1.97038p-6 +-0x1.406c4cp-1 +-0x1.c71438p-1 +-0x1.ffa768p-2 +0x1.ed67acp-1 +0x1.1dbf6p-4 +-0x1.a57cacp-1 +-0x1.c3a4fp-4 +0x1.14a6p-6 +-0x1.2bbc22p-1 +-0x1.b0e40cp-1 +0x1.fd4fep-1 +0x1.0a10cp-4 +0x1.99949cp-1 +0x1.dae58p-4 +0x1.567954p-1 +0x1.472p-10 +-0x1.7da138p-1 +-0x1.054dd8p-1 +0x1.27fb4p-1 +-0x1.82ae8cp-2 +-0x1.6a6288p-3 +0x1.6aeecp-3 +0x1.92cfcp-3 +0x1.e87f88p-2 +0x1.33b01p-2 +0x1.f7ecfp-3 +-0x1.704738p-1 +0x1.d84ea8p-2 +-0x1.68782p-5 +0x1.b940e8p-1 +0x1.1484e8p-1 +-0x1.acbf8p-5 +0x1.ea651p-2 +0x1.35c7ep-3 +-0x1.8d8bd8p-2 +-0x1.644668p-1 +0x1.b51b9p-1 +-0x1.9b4dap-3 +-0x1.91f8ep-3 +0x1.9bf3dp-2 +-0x1.625414p-1 +0x1.e35c4p-3 +0x1.bba7c8p-2 +-0x1.12d974p-2 +-0x1.83f5ap-4 +-0x1.3f1bep-1 +0x1.fc782p-4 +0x1.19316p-3 +0x1.7a145p-1 +0x1.43f318p-1 +-0x1.6e1a32p-1 +-0x1.bf9604p-2 +-0x1.ddab9p-2 +0x1.c031ep-3 +0x1.c7152p-3 +0x1.67b5p-2 +0x1.0f4648p-1 +-0x1.704dccp-2 +-0x1.259fcp-2 +-0x1.dc7e48p-3 +-0x1.b67b3cp-1 +0x1.6d8804p-1 +0x1.acea74p-1 +-0x1.8347cp-3 +-0x1.b0893cp-2 +-0x1.eedb6p-3 +0x1.64d95p-3 +-0x1.540e58p-1 +-0x1.4bcbb8p-3 +0x1.bd04ep-2 +0x1.e00f3p-2 +0x1.617218p-1 +-0x1.fb0d64p-2 +-0x1.f3602p-5 +-0x1.ec69e4p-1 +-0x1.e3054ap-1 +0x1.dfdc08p-1 +-0x1.f03488p-3 +-0x1.b9be24p-2 +0x1.04c4c8p-2 +0x1.17a0dp-2 +-0x1.79f4p-7 +0x1.afaf78p-1 +0x1.a2870cp-1 +0x1.f5425p-3 +0x1.05a3dcp-1 +0x1.6b312p-4 +-0x1.8d0fdp-4 +0x1.c86878p-2 +0x1.c64b8p-4 +-0x1.833262p-1 +-0x1.748d18p-3 +-0x1.877d8p-2 +0x1.2e271p-1 +0x1.0c2b34p-1 +-0x1.7fba34p-1 +-0x1.e0c3a8p-3 +0x1.02b2fp-3 +-0x1.3f9598p-1 +0x1.2b091p-2 +-0x1.858f8cp-2 +-0x1.e1703cp-1 +0x1.2cdc38p-2 +-0x1.cf402p-1 +0x1.2eee3p-2 +0x1.d081c8p-1 +-0x1.352fb4p-1 +-0x1.ae16cep-1 +0x1.aee7p-1 +0x1.21553p-2 +-0x1.a037cp-2 +0x1.40522p-2 +-0x1.dd90bap-1 +0x1.29a54p-4 +-0x1.0971cep-1 +0x1.ead8fcp-1 +0x1.18a5fp-3 +-0x1.febe4p-1 +0x1.274cap-2 +0x1.394cfp-3 +-0x1.9bc1b2p-1 +0x1.ec7e0cp-1 +0x1.1d0668p-1 +-0x1.5ff6c4p-1 +0x1.1b7688p-2 +0x1.0eb3ep-2 +0x1.d80e18p-2 +0x1.54a7ap-1 +-0x1.70714cp-2 +-0x1.dcb4bp-2 +-0x1.05e4d8p-2 +0x1.0133cp-4 +-0x1.7c0498p-2 +-0x1.6a8a4ap-1 +0x1.ecf9ap-1 +-0x1.d1addp-4 +-0x1.ac2478p-3 +0x1.11884p-3 +0x1.59788p-5 +-0x1.b407fp-1 +0x1.c0d6ap-2 +-0x1.110efp-1 +0x1.4355dp-1 +0x1.7fced8p-2 +-0x1.13edcp-1 +-0x1.ba1c2p-3 +-0x1.647a8p-5 +-0x1.233314p-1 +-0x1.9b07dep-1 +0x1.f64718p-2 +-0x1.8c6bcp-6 +-0x1.80a694p-2 +0x1.d788p-9 +-0x1.841ba6p-1 +-0x1.a35edcp-1 +0x1.adce24p-1 +0x1.7f312p-1 +0x1.0078b8p-1 +-0x1.b5f24p-5 +0x1.966408p-2 +0x1.228e4cp-1 +0x1.3a7c5p-1 +-0x1.5b5d02p-1 +0x1.3d4f5cp-1 +0x1.12cd68p-1 +0x1.a12198p-1 +-0x1.f01cdap-1 +0x1.1bd16p-3 +-0x1.ffdf08p-2 +0x1.f619ecp-1 +-0x1.d6395p-4 +0x1.5c2ecp-1 +-0x1.7cc404p-2 +0x1.fc0148p-1 +0x1.3e42f8p-1 +0x1.63314p-2 +0x1.af6fdp-1 +0x1.d9f29p-2 +-0x1.563948p-3 +0x1.f2076p-2 +-0x1.11e6a8p-1 +-0x1.b255cp-4 +0x1.5bcep-4 +-0x1.8c7b68p-2 +-0x1.7c93p-5 +0x1.3e7ae8p-1 +0x1.e6f28p-2 +-0x1.2d0636p-1 +-0x1.271b8p-5 +-0x1.622cep-5 +-0x1.529f38p-2 +0x1.8bcf88p-2 +-0x1.9e738p-1 +-0x1.39d62cp-1 +0x1.8dfc2cp-1 +-0x1.53182p-4 +0x1.cabdb8p-2 +-0x1.7fd7bcp-1 +-0x1.5e12c4p-2 +0x1.c05ce8p-1 +0x1.567acp-2 +0x1.f6fec4p-1 +-0x1.ca738cp-2 +0x1.01eaf8p-1 +0x1.718448p-2 +-0x1.d1d58p-1 +0x1.bb4498p-2 +0x1.d91f7p-2 +0x1.f4da48p-1 +0x1.2ea16p-1 +0x1.be2p-5 +0x1.bcf21p-1 +-0x1.dfcep-7 +0x1.9248cp-4 +0x1.b9038p-3 +-0x1.4442f4p-1 +-0x1.1d8ec8p-1 +0x1.d78844p-1 +-0x1.52b5b2p-1 +0x1.89f4fcp-1 +0x1.4d34ecp-1 +-0x1.cbbc28p-2 +-0x1.10688ep-1 +0x1.38e314p-1 +-0x1.a4b55p-3 +-0x1.5e6298p-2 +-0x1.a1965p-4 +0x1.00ff38p-2 +0x1.d431bcp-1 +0x1.26bdcp-1 +0x1.bf6a5p-1 +0x1.ea06ap-2 +0x1.41853p-3 +-0x1.3d158cp-1 +0x1.afe018p-1 +-0x1.b80e8cp-1 +0x1.d2aa14p-1 +-0x1.6ea768p-1 +-0x1.86c3d4p-2 +-0x1.d2c38p-3 +0x1.99361p-3 +-0x1.e48452p-1 +0x1.3f4de8p-1 +-0x1.c7b382p-1 +0x1.35d29p-2 +0x1.4f9374p-1 +0x1.9066p-8 +0x1.89b5dcp-1 +0x1.33620cp-1 +-0x1.6c9db8p-3 +0x1.bb1694p-1 +0x1.14e3bp-1 +-0x1.f11dfp-1 +0x1.58bab4p-1 +0x1.1e5abcp-1 +0x1.42a33p-2 +-0x1.424c0ep-1 +-0x1.4b965p-1 +-0x1.5e3058p-2 +0x1.f24ac8p-1 +0x1.fa34fp-2 +0x1.21a48p-4 +0x1.14d5d8p-2 +-0x1.c77128p-2 +0x1.92dee8p-1 +-0x1.ed7a3p-3 +0x1.6cdcf4p-1 +-0x1.6be754p-1 +-0x1.3fbe7cp-2 +-0x1.94838p-5 +0x1.c8b4fp-2 +-0x1.46a9bcp-2 +-0x1.c3eb26p-1 +-0x1.2e6184p-1 +0x1.cd102p-4 +0x1.2a698cp-1 +0x1.c17314p-1 +-0x1.fab6dp-1 +-0x1.5228ap-2 +-0x1.c0fd6p-5 +0x1.53cc1p-2 +0x1.7ecb2p-1 +-0x1.87927p-2 +-0x1.4016dp-3 +0x1.244d2cp-1 +-0x1.61d944p-1 +-0x1.5cd0fcp-1 +-0x1.8bf6p-2 +0x1.7b1c7cp-1 +-0x1.21aaaap-1 +-0x1.8583b4p-1 +0x1.239938p-2 +0x1.424678p-2 +-0x1.b86776p-1 +-0x1.2ef7b4p-1 +-0x1.7b048p-4 +-0x1.1a65ap-4 +0x1.5f749cp-1 +0x1.9e884p-1 +-0x1.39e488p-1 +0x1.b0384cp-1 +0x1.3e9f5p-2 +-0x1.00d68p-2 From patchwork Fri Nov 29 13:17:26 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: 846121 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp854734wrp; Fri, 29 Nov 2024 05:21:41 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVdItH8o55XmLiIlLgiA9vnGBoFnJlEf9Y+KjaFHq+PCYX/zQXQ8zGtZOvAEmYyGNuryB82Rw==@linaro.org X-Google-Smtp-Source: AGHT+IEArztGOjWbgbNTRo83ftKuGtMxCjEBkui1526w3DA/HswZE/OsaPON6+FIeBqvXnEmivVT X-Received: by 2002:a05:620a:2794:b0:7b6:6634:5a42 with SMTP id af79cd13be357-7b67c282599mr1398369785a.23.1732886500813; Fri, 29 Nov 2024 05:21:40 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732886500; cv=pass; d=google.com; s=arc-20240605; b=fZrRBZ3JHpiVKHUDIg/sP+BHgYQxLrmra+e40fkj9GdpHa9OkUtSoWe6nTtXTg2vzU sb/eJIMdtfo3vkp3p7DVsRrfgzniXnBvkIYVGCaUSFEtbpXj1++SW9d15YCcAD20EwUQ YHyHdHCvQDYjCA7nnZ93iRQHmeXaR9GjvvHpRsM9MCn53PqONTM1rCbYs2FPtnpWC42H 4c9c8gCBJZgNTpz+6UW+dws4YEfhPGsOGV3gKJOLVi7yVm+b4JlYHtdvewwmKhkA2NCM KwA2gjiqrwQrynN1Z7K3okknA1XkM8Czunoroj4eIgzwcetoUVqcitrdwv9Rvc2N+24f Fg+w== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=qXGp9HyuNbdVfLBHelq22DTT7i4uAxHM3mWVvHaRaxY=; fh=/bzLn4Pu6wt5yJOmVA6NJX5WuFMrzV1CRzIGBeRqGpk=; b=AJ7ILWKxaPAGRGVV/7fSK7garqzzJ2F3jicZ7f7z2hkOa8xDNal058/fvlqDPLHYbW qcotHLAzrpA6b6mjXGgHobphFPPCAWueoMB9cyGRpjxefjTOhlpri8qwMI+/2wKfoiQQ 1xXo6pATB2J4eCfC+8REWoBK+YQi8+MHcy15d+fZrwVRBg96GgVxSUDRzlzLGsNdrYsq vQtflBXdwRl/yXYgqSxY00FfkBbWAjRfDwTGNW/9qV7W/EEqG7L1l5kOdGp29vmHBYgW 7CUhXKjBpF4TLHOQnmO5SqfQv80WHMIqCc39sg6z9vZmSmKJqPdK4+uLsolyQUOYz8F8 KGog==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ky7cKXl4; 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-7b68493081fsi455301185a.145.2024.11.29.05.21.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:21:40 -0800 (PST) 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=ky7cKXl4; 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 2858C3858C48 for ; Fri, 29 Nov 2024 13:21:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2858C3858C48 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=ky7cKXl4 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 3284A3858D35 for ; Fri, 29 Nov 2024 13:20:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3284A3858D35 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 3284A3858D35 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=1732886442; cv=none; b=DmscQwIBegVoI2Rt/dutXi29TcY/RKYFkXg1dWFj9bOEad/qY1eQa8vEeUkYZ0TzOEXAnAhYQ+8ipHxPMV3/r5+pphzT+s1gySHTQzqfY0NVqWqO1E5byu39irZOC4r6mreJMq5wTVosrMFZgxRXMOCGGqBzbMrwCOhANYZZuA0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886442; c=relaxed/simple; bh=ELUuUmDHlozeWJAsGNYe5SmM4zv2NssukZK15m79kbw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=EO5WB9jFrbqjHU2mJJKh7mAAA1DpVa+wpOXL4IVrU9/+wrShD7kUyRsP+VuFKLSQHpOwpxREOGiB5ROu8le7jW/B4OcPCPIE6gAc21GELTojoAhwjKSqpVTH++9jvXN1Ayv1Q5kBXpcHtIdbRkjap9ogxLdRJMgCV846aMi5m2E= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3284A3858D35 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-2124a86f4cbso14088535ad.3 for ; Fri, 29 Nov 2024 05:20:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886441; x=1733491241; 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=qXGp9HyuNbdVfLBHelq22DTT7i4uAxHM3mWVvHaRaxY=; b=ky7cKXl4D5kT9k3KQRWVRvW0HJWsbVJG/6y3mvwPrFcSSP1kxTfcjuHh+dyyeE8Ra1 yi0SLFsFFp/8dT6jmBljY+aC324jZ7Q4w5Hne0HZeNTEcx8pCNui4RNIMws6/Ih+gugZ iSP/7ezpNcaH+yWMI+y1N6wJw9RkQHMrf0ALP0l2i69QxMn0KN5Lfgn+iJ9SDOYHimXm iqO1eEfPhp+9J6dsMK90Utx6+UDJ1DBl8X+imgoFH4YpfebCFjdEC4WkH1Ls3WbvK93L qK9vvSU4BPTdkXqJPAmxcnqZd2Wy2kYjuvUZ5R+SGxru/RewdajaUAQgvy2245bRDGTu Kytg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886441; x=1733491241; 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=qXGp9HyuNbdVfLBHelq22DTT7i4uAxHM3mWVvHaRaxY=; b=lD8pJGcTHUPCSoLRdz8rn3O3BrqYVjh+ii9/IDZDXCFL6opH0AgclVxobT84zJ1lrS ts607HiOhv7EXz5GOZ48xkX8118+otSc6tnk0GOdAsIKUWXpmOhR2B8ewMmTbwze1j5v SYYaujToE3H9VrKIY2wfWTQP7WdFKTjiBgCBZ8CaN2hwMJz8FEuMGPZEr9Xj8JkGdEPn cWibG5yne11NGzeojoeDtLs7nCH+7ozLS3KGccvSxZj4MaDmnk+bQ+FvjTNc51KvZOeD qmsKMfZAVTzAYTbeW/GTCUBaDkybciOcIbY4yV7Ef1MmP/G7SD+U3SCEwaVP87c6HY0w VrUQ== X-Gm-Message-State: AOJu0Yzrzd1p4pDY9Vaan8bY5dr2bJhESA9VYQzttdUssEZSmqPV7feH QNdUQ4Lp+F0LfCKiiFSpLJLfVEiwyd+VHkk7bAY4P1rHYYYH0M6XYpIy5Xq4rIgCrtVrNXQ+wFI Uud7IzA== X-Gm-Gg: ASbGnctqsOU5OOLIqQbZer+xa6qfA6E+IsrA4AALFliAluuU4MEbAas6HmOUiGzHKGd Q0sIC6hx0/gGEeJzINfmRIWEKn9I+mvaNfRNucwHXOjy+lM9eqqcpKPA45pt6Xl65VfHwo1P7LQ cFC9m1OdLqKdflP9Juef7C71VP4R43swY6FWS8YpRM2/vvwBd1LbULMyu+0CWufHuSyV6i83hQn yUwEUU8xFHu+oTp0dqKxbQebhqEHQ0tSO+v4zdibIiwBfPgG2bOQr4l0JYLUt8= X-Received: by 2002:a17:902:f54d:b0:20c:bb35:dae2 with SMTP id d9443c01a7336-21501385d0amr128953135ad.28.1732886440084; Fri, 29 Nov 2024 05:20:40 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.20.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:20:39 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie Subject: [PATCH 02/23] benchtests: Add acoshf benchmark Date: Fri, 29 Nov 2024 10:17:26 -0300 Message-ID: <20241129132032.476978-3-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 in the range [1,21]. --- benchtests/Makefile | 1 + benchtests/acoshf-inputs | 1005 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 1006 insertions(+) create mode 100644 benchtests/acoshf-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index 924434903a..5d5c20780f 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -27,6 +27,7 @@ bench-math := \ acos \ acosf \ acosh \ + acoshf \ asin \ asinh \ atan \ diff --git a/benchtests/acoshf-inputs b/benchtests/acoshf-inputs new file mode 100644 index 0000000000..c4d8298fa3 --- /dev/null +++ b/benchtests/acoshf-inputs @@ -0,0 +1,1005 @@ +## args: float +## ret: float +## includes: math.h +# Random inputs in the range [1,21] +## name: workload-random-1-21 +0x1.0baaacp+2 +0x1.2a9368p+4 +0x1.32b4bcp+3 +0x1.364bbap+4 +0x1.a5cdcp+2 +0x1.0927p+1 +0x1.e83048p+1 +0x1.f90eap+2 +0x1.c5b666p+3 +0x1.70db1p+2 +0x1.c9fb7cp+1 +0x1.d6ae04p+3 +0x1.35444cp+1 +0x1.26be8p+2 +0x1.2ebce8p+4 +0x1.30799p+3 +0x1.7f2a48p+3 +0x1.039fe4p+4 +0x1.70e2b4p+3 +0x1.a4e6e8p+3 +0x1.a0b3bp+3 +0x1.c0bec4p+2 +0x1.07f23cp+2 +0x1.dccf98p+0 +0x1.7992dcp+1 +0x1.68b664p+3 +0x1.16eeb8p+4 +0x1.0aff36p+4 +0x1.37a63cp+1 +0x1.3807d8p+3 +0x1.75a5fcp+2 +0x1.4e91d6p+2 +0x1.d67bd8p+1 +0x1.0f67ap+2 +0x1.b18c96p+0 +0x1.1cdfa6p+4 +0x1.2a5a5p+2 +0x1.2e7c2ap+0 +0x1.da2fb4p+3 +0x1.4a90d2p+3 +0x1.cea664p+1 +0x1.72c2ap+3 +0x1.1c501ep+3 +0x1.3af46ap+4 +0x1.72524cp+1 +0x1.9ed628p+3 +0x1.6bd54ap+3 +0x1.de2dbap+0 +0x1.42b648p+3 +0x1.bc2288p+3 +0x1.de940ep+3 +0x1.81db2ep+3 +0x1.a012c6p+1 +0x1.07f74cp+3 +0x1.fe46bep+3 +0x1.a38ccap+1 +0x1.ddebb8p+2 +0x1.99cbdap+1 +0x1.b052e2p+3 +0x1.976df8p+3 +0x1.36025cp+4 +0x1.e6cfe8p+0 +0x1.da99aap+3 +0x1.4d50ccp+2 +0x1.2684cap+4 +0x1.505d44p+2 +0x1.721a78p+2 +0x1.563454p+3 +0x1.241368p+3 +0x1.3b9f0cp+4 +0x1.92ffb4p+3 +0x1.38da2p+4 +0x1.d5db94p+2 +0x1.041ea2p+2 +0x1.bf2f64p+3 +0x1.81e34p+1 +0x1.2d62bcp+4 +0x1.d5fc6cp+3 +0x1.904f7p+3 +0x1.722a8ep+3 +0x1.ba93e2p+1 +0x1.55293p+3 +0x1.9b4eb8p+3 +0x1.4776a6p+2 +0x1.8e0884p+3 +0x1.d90dc2p+3 +0x1.c3597p+1 +0x1.289c84p+3 +0x1.3cba5p+2 +0x1.0febeap+4 +0x1.417cbap+4 +0x1.65d6c4p+3 +0x1.683adap+2 +0x1.1b3d3ep+4 +0x1.40aa48p+4 +0x1.738484p+2 +0x1.1fc66cp+2 +0x1.24f9c2p+4 +0x1.8a407p+3 +0x1.078d5cp+2 +0x1.6e73aap+0 +0x1.e4809cp+3 +0x1.d5cd7ep+3 +0x1.61394ap+3 +0x1.5d7718p+0 +0x1.49edfcp+4 +0x1.aa4f2ep+1 +0x1.e2539cp+1 +0x1.cc937p+2 +0x1.75b9e2p+1 +0x1.1dad1p+4 +0x1.503c4cp+0 +0x1.4b09dp+1 +0x1.4a69ccp+4 +0x1.cb117ep+2 +0x1.e4047p+3 +0x1.59253cp+2 +0x1.a8228ep+3 +0x1.123e5ep+4 +0x1.4a98ap+3 +0x1.220374p+2 +0x1.3061acp+2 +0x1.04857cp+4 +0x1.279314p+2 +0x1.a82496p+1 +0x1.6bfcd4p+3 +0x1.386118p+1 +0x1.454ep+2 +0x1.32e40ap+4 +0x1.0f7026p+3 +0x1.17ac6p+1 +0x1.172914p+1 +0x1.07e37ap+3 +0x1.c29ab4p+3 +0x1.159e72p+4 +0x1.2b3554p+2 +0x1.2c7e2ap+4 +0x1.65ac48p+3 +0x1.3b730ep+4 +0x1.b5bce6p+3 +0x1.f92a78p+2 +0x1.b286e4p+1 +0x1.36ca7p+4 +0x1.2e3f7cp+2 +0x1.08a46p+2 +0x1.ac2dp+1 +0x1.adc4c2p+3 +0x1.e6e1aep+1 +0x1.3f6514p+3 +0x1.2e3204p+1 +0x1.41d44cp+4 +0x1.562c76p+2 +0x1.1076bcp+4 +0x1.318f78p+4 +0x1.329a2cp+4 +0x1.3eb6f6p+4 +0x1.8b6546p+2 +0x1.495b68p+4 +0x1.06e1dp+4 +0x1.0f6702p+4 +0x1.689a7p+3 +0x1.7d6ee4p+3 +0x1.52423ap+0 +0x1.f775d4p+3 +0x1.1126dp+2 +0x1.091d9p+4 +0x1.0dcab4p+4 +0x1.09f3b2p+3 +0x1.2ee4b6p+4 +0x1.020498p+3 +0x1.4bcf72p+4 +0x1.18655cp+4 +0x1.c4bd36p+3 +0x1.52e834p+1 +0x1.3f1e8p+4 +0x1.ec03f6p+1 +0x1.d2e288p+3 +0x1.9d4688p+3 +0x1.a4ed2ap+2 +0x1.53b8a8p+2 +0x1.90309p+2 +0x1.19e8aap+3 +0x1.1ddb64p+1 +0x1.23b752p+4 +0x1.d4675ep+0 +0x1.4ca22ep+4 +0x1.0d5c2p+3 +0x1.fc3c1p+1 +0x1.3344aap+4 +0x1.11a2ep+3 +0x1.59eb4p+3 +0x1.189f12p+1 +0x1.0cfe9ap+1 +0x1.12f5c2p+4 +0x1.1e673ap+3 +0x1.a8cf92p+3 +0x1.135dp+4 +0x1.404a3cp+4 +0x1.923598p+2 +0x1.5b0f3ep+3 +0x1.209806p+4 +0x1.0c8572p+4 +0x1.4f7616p+3 +0x1.f9ec7p+3 +0x1.41749p+2 +0x1.0ab154p+4 +0x1.72ab72p+3 +0x1.283194p+4 +0x1.49cef8p+3 +0x1.05f5d4p+3 +0x1.5de992p+1 +0x1.4e18a6p+4 +0x1.1eeeap+0 +0x1.3e2dacp+4 +0x1.ac54e8p+2 +0x1.02d852p+1 +0x1.395b6ap+3 +0x1.a2ed38p+1 +0x1.dc2018p+3 +0x1.71565cp+3 +0x1.66fa5cp+0 +0x1.84697ep+3 +0x1.31d39cp+4 +0x1.6e93d4p+0 +0x1.45c5c4p+2 +0x1.5a800ap+2 +0x1.6d31cap+2 +0x1.298068p+0 +0x1.176d24p+3 +0x1.0083cp+4 +0x1.0f599ep+3 +0x1.d4f6a8p+3 +0x1.eea512p+2 +0x1.1a44eep+4 +0x1.34706ap+4 +0x1.a4846ep+3 +0x1.500eb8p+3 +0x1.eb8da4p+3 +0x1.65bbcep+0 +0x1.f053ap+3 +0x1.97081ap+2 +0x1.4fbb88p+3 +0x1.18a06p+3 +0x1.415152p+4 +0x1.089de4p+2 +0x1.10c8acp+4 +0x1.012dep+4 +0x1.14c154p+4 +0x1.3283bap+4 +0x1.9f5faep+3 +0x1.2e263ep+4 +0x1.391deep+4 +0x1.ef6278p+3 +0x1.2ba596p+4 +0x1.799c78p+3 +0x1.dba9d4p+0 +0x1.f1fcdcp+3 +0x1.95f51ap+2 +0x1.1fb528p+2 +0x1.6f931p+2 +0x1.5baab2p+3 +0x1.32ce2p+4 +0x1.33d9p+3 +0x1.25fb1ep+4 +0x1.1a0db6p+4 +0x1.5a5e12p+3 +0x1.07578ap+4 +0x1.1c3708p+0 +0x1.44577p+4 +0x1.558694p+3 +0x1.476ccp+4 +0x1.e8f40ep+1 +0x1.d21322p+3 +0x1.2202d2p+2 +0x1.5380eep+0 +0x1.499272p+4 +0x1.48e1ep+3 +0x1.4ceb1ap+4 +0x1.931584p+3 +0x1.5d9ebcp+3 +0x1.31d606p+4 +0x1.3620c8p+4 +0x1.3756bep+4 +0x1.737838p+3 +0x1.68aa16p+0 +0x1.2daf4cp+2 +0x1.0c162cp+3 +0x1.0a6a34p+4 +0x1.386d28p+1 +0x1.aa68bcp+3 +0x1.1fd898p+4 +0x1.1f21b6p+3 +0x1.30a2b6p+4 +0x1.bb4156p+2 +0x1.1efae6p+4 +0x1.b87162p+1 +0x1.39ff36p+0 +0x1.315ea4p+4 +0x1.0e5ecap+4 +0x1.52fb5ep+3 +0x1.2d5c16p+3 +0x1.d669ap+2 +0x1.0a53f8p+0 +0x1.0a4974p+2 +0x1.d6f712p+3 +0x1.006704p+4 +0x1.6c3d72p+3 +0x1.615b76p+3 +0x1.600826p+2 +0x1.3f772p+3 +0x1.0a82ecp+3 +0x1.253f58p+4 +0x1.18ce7cp+2 +0x1.cea54p+3 +0x1.4a1c38p+4 +0x1.2bf43p+2 +0x1.92bdeap+1 +0x1.1d30cp+4 +0x1.07016ep+4 +0x1.5b31f8p+1 +0x1.a89698p+3 +0x1.9f6bb6p+3 +0x1.127734p+3 +0x1.247434p+4 +0x1.888c08p+3 +0x1.2f3af4p+2 +0x1.b122bp+3 +0x1.116aa2p+4 +0x1.45b8dp+3 +0x1.4d620ep+4 +0x1.9efe8ep+3 +0x1.421314p+1 +0x1.0777d4p+4 +0x1.430faap+3 +0x1.476b1cp+4 +0x1.47f52ep+4 +0x1.3767ecp+3 +0x1.8cfb08p+3 +0x1.551c06p+3 +0x1.7e0c62p+2 +0x1.c76fa4p+2 +0x1.689224p+3 +0x1.8c248cp+3 +0x1.c39fb6p+3 +0x1.c05e2ap+3 +0x1.5b9e72p+3 +0x1.027748p+4 +0x1.16eb68p+3 +0x1.18afc6p+4 +0x1.b6597p+2 +0x1.8be5a8p+2 +0x1.d5f86ap+0 +0x1.162e9ep+3 +0x1.dc39c2p+3 +0x1.e2c8c8p+2 +0x1.beb0eep+1 +0x1.98fd6p+3 +0x1.7b0decp+3 +0x1.d60dfcp+1 +0x1.519bbcp+1 +0x1.d66eccp+2 +0x1.c18a44p+2 +0x1.5ab722p+3 +0x1.5902b8p+3 +0x1.0ce54p+4 +0x1.01ebb8p+0 +0x1.38cfd6p+4 +0x1.539ebp+3 +0x1.278012p+4 +0x1.ed1416p+1 +0x1.44c3b8p+4 +0x1.dd1ecep+0 +0x1.c052ccp+3 +0x1.cf4c56p+3 +0x1.97b328p+2 +0x1.041138p+1 +0x1.09ba76p+0 +0x1.845b3ap+3 +0x1.e869dcp+3 +0x1.2ff5ep+4 +0x1.3acd9cp+3 +0x1.d16cdp+3 +0x1.3da71ep+3 +0x1.a6379ap+2 +0x1.a41e52p+3 +0x1.28b56cp+4 +0x1.4ca9ap+1 +0x1.0321fcp+4 +0x1.240bacp+4 +0x1.cf468p+1 +0x1.26bee2p+4 +0x1.23d19ap+1 +0x1.acb24cp+0 +0x1.1c9236p+3 +0x1.15f3cp+3 +0x1.703a3ep+2 +0x1.679c14p+2 +0x1.f824dcp+2 +0x1.379a5p+3 +0x1.a9075ep+2 +0x1.95a87p+0 +0x1.0b973ap+4 +0x1.2667acp+3 +0x1.a71568p+3 +0x1.d11aaap+0 +0x1.b467f2p+2 +0x1.129592p+4 +0x1.1a2a74p+4 +0x1.0f67d4p+4 +0x1.fc240ap+3 +0x1.634f82p+0 +0x1.eda17ep+3 +0x1.96d4f2p+1 +0x1.f9aa3p+3 +0x1.796b84p+2 +0x1.0bdbd6p+2 +0x1.462c5p+3 +0x1.9372bp+3 +0x1.3b8ed2p+4 +0x1.841a1ap+1 +0x1.85dff4p+3 +0x1.ac6eacp+3 +0x1.06d7fp+4 +0x1.c4619cp+1 +0x1.687dbep+3 +0x1.6ccdb4p+2 +0x1.1bfc3p+1 +0x1.48497ep+3 +0x1.25f53cp+4 +0x1.96cbdcp+2 +0x1.26f9f8p+1 +0x1.e7b998p+2 +0x1.fc55cap+3 +0x1.373144p+4 +0x1.acdb94p+3 +0x1.e81628p+2 +0x1.f0d584p+2 +0x1.a4389p+3 +0x1.1f1a84p+4 +0x1.45ff3ap+4 +0x1.645d12p+3 +0x1.663874p+3 +0x1.40e858p+3 +0x1.37031ep+4 +0x1.165c44p+2 +0x1.217e64p+3 +0x1.3ad7dcp+4 +0x1.109634p+4 +0x1.070d78p+4 +0x1.d3cc76p+3 +0x1.00b57ap+4 +0x1.090c9ap+4 +0x1.9f21aep+3 +0x1.139cfcp+2 +0x1.55280ap+2 +0x1.65bdbp+0 +0x1.62e4b2p+3 +0x1.280198p+3 +0x1.0d86f4p+1 +0x1.3d11d6p+3 +0x1.064428p+3 +0x1.a8bd2ep+3 +0x1.21afcp+4 +0x1.0460cep+4 +0x1.df98ep+1 +0x1.8a10d4p+3 +0x1.3d4426p+4 +0x1.bba48cp+2 +0x1.2f0972p+4 +0x1.1582f4p+3 +0x1.ac3b44p+3 +0x1.44054ep+3 +0x1.dffce8p+3 +0x1.3e9174p+4 +0x1.091074p+3 +0x1.899aep+3 +0x1.b7b35p+0 +0x1.54c2dap+2 +0x1.1810bep+4 +0x1.e1f116p+3 +0x1.25a172p+4 +0x1.b0795p+2 +0x1.aa91c8p+3 +0x1.4c5b04p+4 +0x1.a61a98p+1 +0x1.107bdp+1 +0x1.a43d9cp+3 +0x1.1113acp+4 +0x1.ca51aap+3 +0x1.bb8a14p+3 +0x1.adb22cp+3 +0x1.f8eb2ep+3 +0x1.bf180cp+3 +0x1.1ff79cp+4 +0x1.824c02p+3 +0x1.5f27f2p+2 +0x1.279a8ep+4 +0x1.ed108ep+1 +0x1.f6a7ap+3 +0x1.d32124p+0 +0x1.8632dp+2 +0x1.3214f8p+3 +0x1.18e5d8p+3 +0x1.736bbp+1 +0x1.972664p+3 +0x1.f459bp+3 +0x1.04735p+4 +0x1.c1d0ccp+2 +0x1.67c284p+3 +0x1.4368ep+2 +0x1.202512p+3 +0x1.ffce3p+3 +0x1.43f16ep+4 +0x1.b0746ap+2 +0x1.77868p+3 +0x1.e5d0e2p+3 +0x1.09c064p+3 +0x1.724434p+2 +0x1.243398p+4 +0x1.30242ap+4 +0x1.091286p+4 +0x1.aab796p+2 +0x1.17aedp+3 +0x1.175604p+4 +0x1.19a71p+3 +0x1.21b618p+4 +0x1.005f2p+4 +0x1.10c75ep+3 +0x1.fb33eap+3 +0x1.f51daep+3 +0x1.84cd44p+3 +0x1.f3c864p+3 +0x1.d4b384p+3 +0x1.3d0aeep+4 +0x1.7edeacp+3 +0x1.0d271p+1 +0x1.82eadcp+0 +0x1.66277p+3 +0x1.41602ap+3 +0x1.2c8cc8p+4 +0x1.2e86e6p+4 +0x1.44ed4ap+3 +0x1.193ea6p+4 +0x1.a012d4p+2 +0x1.525f38p+2 +0x1.3488a4p+4 +0x1.8dcff4p+3 +0x1.30232ep+3 +0x1.6c6168p+3 +0x1.4d23e4p+3 +0x1.1fa9d8p+3 +0x1.35b8cep+3 +0x1.d312a8p+3 +0x1.b858fep+3 +0x1.c82392p+2 +0x1.0a570cp+2 +0x1.af8c5ep+3 +0x1.c09bbap+3 +0x1.6dccbap+3 +0x1.7a291ap+3 +0x1.4d5086p+1 +0x1.0b14ap+3 +0x1.2e0deep+4 +0x1.228b9p+3 +0x1.a8bacap+2 +0x1.d6e76cp+2 +0x1.fac94ep+3 +0x1.940d5p+3 +0x1.22af48p+1 +0x1.09b054p+4 +0x1.356f72p+3 +0x1.562cc8p+1 +0x1.4a848p+3 +0x1.2e905ap+3 +0x1.d6b03cp+3 +0x1.056096p+4 +0x1.9b9568p+1 +0x1.fb1cc8p+2 +0x1.24eb4ap+4 +0x1.50aa32p+2 +0x1.32ea4p+0 +0x1.c6a48cp+3 +0x1.02ec4ep+4 +0x1.ea3eb4p+1 +0x1.46d96p+3 +0x1.d9db48p+0 +0x1.3351c8p+4 +0x1.3b80fap+3 +0x1.c10e28p+2 +0x1.ca403ep+3 +0x1.2ae3a2p+4 +0x1.4cb41cp+4 +0x1.ecbe1p+3 +0x1.b23256p+3 +0x1.29f3cp+4 +0x1.cb7fe4p+2 +0x1.a10f6ep+1 +0x1.9234a4p+2 +0x1.a4e42p+3 +0x1.2fcaeep+4 +0x1.a2f7b4p+3 +0x1.11ff68p+2 +0x1.17b7bp+4 +0x1.46b8acp+4 +0x1.d8ded2p+3 +0x1.2926bp+2 +0x1.5c4466p+3 +0x1.a6711ep+3 +0x1.9de064p+1 +0x1.3d8f4ep+4 +0x1.7b8552p+3 +0x1.21ca64p+2 +0x1.13c87ep+1 +0x1.5af3b8p+3 +0x1.f88764p+3 +0x1.2cda1ep+3 +0x1.8baf2ap+3 +0x1.44d0acp+4 +0x1.7ce078p+1 +0x1.0e6552p+2 +0x1.6e778ap+1 +0x1.a1e168p+0 +0x1.a5cf06p+3 +0x1.1b976p+3 +0x1.f2d2bcp+1 +0x1.c97c62p+3 +0x1.ea1866p+2 +0x1.4e02aep+3 +0x1.259572p+2 +0x1.be5cap+2 +0x1.470346p+3 +0x1.e7985ap+3 +0x1.82a82p+3 +0x1.27585ap+4 +0x1.bd3eaap+2 +0x1.b8f9ap+2 +0x1.3a5bcp+4 +0x1.867d18p+3 +0x1.ef5aeap+3 +0x1.97bb62p+0 +0x1.d2f3e4p+3 +0x1.77d152p+2 +0x1.66d8acp+3 +0x1.7fe7ecp+3 +0x1.9ca34ap+3 +0x1.4831dap+4 +0x1.efb31ep+3 +0x1.4ed918p+1 +0x1.92a938p+3 +0x1.6fa41ap+3 +0x1.72ba78p+2 +0x1.9d380ap+3 +0x1.1648a8p+4 +0x1.0929eep+3 +0x1.737468p+3 +0x1.7445p+3 +0x1.6e4d6ap+3 +0x1.d7fecap+3 +0x1.f39be6p+3 +0x1.5d017cp+3 +0x1.32e1c2p+3 +0x1.3c0e68p+4 +0x1.6b0b4ep+2 +0x1.9cc87ap+3 +0x1.eaa5dcp+3 +0x1.27a344p+2 +0x1.49b7cep+4 +0x1.3082d8p+3 +0x1.073abcp+3 +0x1.44f7f2p+4 +0x1.3c9072p+4 +0x1.1b5202p+4 +0x1.64efep+1 +0x1.e8f4fp+3 +0x1.025e82p+3 +0x1.2a0b9cp+4 +0x1.1f991p+3 +0x1.496b9ep+3 +0x1.d2f46p+3 +0x1.d86dcp+3 +0x1.e6f1f6p+1 +0x1.127782p+4 +0x1.3f115cp+2 +0x1.beaf94p+2 +0x1.db7408p+3 +0x1.01ee7p+4 +0x1.0931acp+0 +0x1.caaf94p+3 +0x1.dda1e4p+0 +0x1.a18acp+2 +0x1.ef59eep+0 +0x1.b14346p+3 +0x1.0baa98p+4 +0x1.15f4b4p+3 +0x1.1494a2p+4 +0x1.1af7b8p+4 +0x1.d1e50ap+2 +0x1.bab2e2p+2 +0x1.bd9adcp+3 +0x1.434b3ep+2 +0x1.c2b9dep+3 +0x1.5def98p+2 +0x1.35519ep+4 +0x1.2b345p+3 +0x1.3932f4p+2 +0x1.f16468p+1 +0x1.14170cp+2 +0x1.10878cp+4 +0x1.9c781ep+2 +0x1.baa768p+3 +0x1.0e327cp+2 +0x1.bbffacp+3 +0x1.20d616p+3 +0x1.a0f506p+2 +0x1.0b6e32p+3 +0x1.8632e6p+3 +0x1.0b1f4ap+4 +0x1.f45dbep+1 +0x1.813a16p+3 +0x1.43b344p+4 +0x1.4c56c4p+3 +0x1.08634ap+4 +0x1.e5bc3p+3 +0x1.d3b9bcp+3 +0x1.f66c66p+2 +0x1.2a95c8p+4 +0x1.2cae7cp+2 +0x1.1c2d6p+2 +0x1.1b3f24p+4 +0x1.bb22fap+3 +0x1.4fe80cp+3 +0x1.3296cp+4 +0x1.0be784p+3 +0x1.fe6794p+3 +0x1.098ebep+2 +0x1.0e725cp+2 +0x1.3feb36p+3 +0x1.eaf2fp+3 +0x1.f21138p+3 +0x1.5a5906p+1 +0x1.185066p+4 +0x1.19d1d2p+3 +0x1.c8914ep+2 +0x1.4bdf22p+4 +0x1.51c59ep+2 +0x1.0814a8p+3 +0x1.071a5p+2 +0x1.0bb6d2p+4 +0x1.3ecc12p+3 +0x1.177cfap+4 +0x1.9698ap+2 +0x1.4a1d9ap+3 +0x1.24b70ep+2 +0x1.95cfbcp+1 +0x1.4b7798p+3 +0x1.603548p+3 +0x1.20a28cp+4 +0x1.d481ep+3 +0x1.28975cp+3 +0x1.464618p+2 +0x1.99d52cp+3 +0x1.02240cp+2 +0x1.63d4cap+3 +0x1.34dbfep+2 +0x1.b9d5d4p+1 +0x1.050a42p+0 +0x1.013cc4p+2 +0x1.7e674ep+1 +0x1.48ac92p+2 +0x1.6dff84p+0 +0x1.90255p+2 +0x1.014f86p+3 +0x1.66737cp+3 +0x1.af679p+3 +0x1.100bd6p+2 +0x1.6e14eap+2 +0x1.3c923ap+4 +0x1.e432f6p+3 +0x1.aa0ebp+3 +0x1.4b7bc8p+4 +0x1.c0568p+2 +0x1.07ceb8p+4 +0x1.b34c08p+1 +0x1.58789p+3 +0x1.2a164cp+3 +0x1.c9633p+3 +0x1.ec4936p+3 +0x1.ce912ap+3 +0x1.689d78p+3 +0x1.359ec8p+2 +0x1.5969d8p+3 +0x1.389e9ep+4 +0x1.099becp+2 +0x1.3bef46p+4 +0x1.4d29f4p+3 +0x1.fc3248p+3 +0x1.1dfd86p+3 +0x1.f9e2cp+3 +0x1.6e4eb8p+1 +0x1.b75818p+3 +0x1.4a1a58p+4 +0x1.1dacb6p+2 +0x1.718158p+3 +0x1.b2567cp+0 +0x1.685be2p+3 +0x1.34c0e4p+2 +0x1.54a04p+3 +0x1.eb4cc8p+2 +0x1.46db22p+2 +0x1.07c9d4p+4 +0x1.e4354cp+2 +0x1.b7151cp+3 +0x1.51c05p+1 +0x1.838c96p+3 +0x1.4b0ecap+2 +0x1.b68a44p+3 +0x1.27fe5p+3 +0x1.3aca48p+3 +0x1.4610ccp+0 +0x1.6620aap+3 +0x1.f23422p+3 +0x1.76439p+2 +0x1.15d68p+1 +0x1.14c12cp+4 +0x1.08009ep+4 +0x1.433ab2p+3 +0x1.749f68p+3 +0x1.2d7fa8p+1 +0x1.10d3e2p+3 +0x1.49157cp+2 +0x1.290368p+4 +0x1.4a489cp+2 +0x1.1334c2p+3 +0x1.197e5p+0 +0x1.eb1bp+2 +0x1.03acb6p+4 +0x1.e2414ep+3 +0x1.d7c224p+3 +0x1.3d556p+2 +0x1.01b70ap+3 +0x1.b66d7p+2 +0x1.f465ccp+3 +0x1.1f843ap+3 +0x1.733ef2p+3 +0x1.2613fap+4 +0x1.09e7e8p+3 +0x1.d5105cp+3 +0x1.5479dap+3 +0x1.1d128ap+4 +0x1.484d9p+4 +0x1.7dac7ep+3 +0x1.f5ffa8p+2 +0x1.4d3368p+4 +0x1.0aefc4p+4 +0x1.87c63p+2 +0x1.b5eaf8p+3 +0x1.57a34ap+3 +0x1.9ee1b4p+1 +0x1.10e354p+4 +0x1.ecb6p+3 +0x1.56e866p+2 +0x1.475f08p+4 +0x1.603d72p+3 +0x1.3d5f86p+4 +0x1.21c614p+3 +0x1.1a9c9cp+4 +0x1.6f176cp+3 +0x1.e6b4dcp+0 +0x1.63dd1cp+3 +0x1.161f9ep+4 +0x1.041f14p+2 +0x1.b4ea18p+1 +0x1.b038eap+3 +0x1.0040d4p+4 +0x1.ad12e8p+3 +0x1.0206ccp+2 +0x1.3b1c3cp+3 +0x1.2ec92p+4 +0x1.0ef272p+4 +0x1.cbdbf4p+3 +0x1.811c64p+3 +0x1.dbf62cp+3 +0x1.371516p+4 +0x1.a3e27p+3 +0x1.2d924ep+2 +0x1.32744cp+3 +0x1.9a734ap+2 +0x1.b15e04p+2 +0x1.4aa708p+0 +0x1.2d3ea8p+4 +0x1.3c9e46p+1 +0x1.ea62fcp+0 +0x1.46c786p+4 +0x1.3a66fap+4 +0x1.5d802cp+0 +0x1.34328ap+4 +0x1.374d98p+4 +0x1.d23196p+3 +0x1.ffbb18p+3 +0x1.f85964p+3 +0x1.e1120cp+2 +0x1.64cb66p+1 +0x1.8ab4p+3 +0x1.87d2fcp+2 +0x1.1cc628p+3 +0x1.2e2a6ap+4 +0x1.22d5d6p+4 +0x1.0bf478p+4 +0x1.7dc0f8p+0 +0x1.114b42p+4 +0x1.251192p+4 +0x1.47a55p+4 +0x1.c4e5a4p+3 +0x1.44b5d2p+3 +0x1.3ec862p+4 +0x1.7de74p+1 +0x1.a51bdp+2 +0x1.e52acap+3 +0x1.35499p+4 +0x1.0d7198p+2 +0x1.6a0d64p+2 +0x1.4b0f62p+3 +0x1.ef7b6p+3 +0x1.f2ffa6p+3 +0x1.4378e4p+3 +0x1.3bd61cp+2 +0x1.d35474p+3 +0x1.fab41p+2 +0x1.6e3234p+1 +0x1.1567c4p+4 +0x1.60567ep+3 +0x1.a9339ep+2 +0x1.c8e51cp+3 +0x1.9d1bbcp+3 +0x1.66d0d6p+1 +0x1.22159ep+3 +0x1.4e25ecp+3 +0x1.82690cp+3 +0x1.272c4cp+4 +0x1.3a6434p+0 +0x1.4e8232p+3 +0x1.ccea56p+3 +0x1.e466bap+3 +0x1.9dce18p+3 +0x1.62b1b6p+0 +0x1.e64908p+2 +0x1.c1c508p+2 +0x1.24d478p+4 +0x1.10935cp+3 +0x1.a23da4p+3 +0x1.23e8fcp+3 +0x1.993f6ep+3 +0x1.4e0f4ep+4 +0x1.b0191p+2 +0x1.b9eff2p+1 +0x1.23c248p+4 +0x1.758a22p+3 +0x1.4c85f8p+4 +0x1.2595c8p+4 +0x1.25ada8p+2 +0x1.72bf76p+3 +0x1.69befcp+3 +0x1.5f978ep+3 +0x1.1b9cf2p+4 +0x1.6ecc36p+3 +0x1.5fb83p+3 +0x1.42b356p+4 +0x1.141254p+4 +0x1.8436bp+2 +0x1.285edap+4 +0x1.41bdf4p+3 +0x1.c05a2ap+1 +0x1.44918p+4 +0x1.acd322p+1 +0x1.14918p+1 +0x1.9fb30ap+2 +0x1.ade1bep+2 +0x1.f2fd44p+3 +0x1.aa140cp+2 +0x1.26e278p+4 +0x1.70d1bp+3 +0x1.ba403p+3 +0x1.1aaf66p+0 +0x1.62edf8p+3 +0x1.db45fcp+0 +0x1.40c182p+4 +0x1.038cp+4 +0x1.2d1d96p+4 +0x1.a5a694p+3 +0x1.144bc4p+3 +0x1.052428p+4 +0x1.ea1c34p+0 +0x1.0b6468p+4 +0x1.ab4164p+3 +0x1.3a360cp+2 +0x1.3bea88p+3 +0x1.02e116p+4 +0x1.2e3b94p+2 +0x1.94dc9cp+3 +0x1.225ce8p+1 From patchwork Fri Nov 29 13:17:27 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: 846128 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp858846wrp; Fri, 29 Nov 2024 05:28:04 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVvUtR7dPvmZY+kHRyWVPwyqY0YJwBR8W+8yqLjhFix4OF+eYR/dqSejaeoEW/OTcjAHzzF3w==@linaro.org X-Google-Smtp-Source: AGHT+IGm/ZutKadM8VCPpwsAxIc/yAmRK5IjNR0eqq7T9LXzGP6waRmpjZwWBysVwmf4jzzcf7Ap X-Received: by 2002:a05:620a:4481:b0:7b6:6add:4a3c with SMTP id af79cd13be357-7b67c31fcecmr1659851085a.21.1732886883987; Fri, 29 Nov 2024 05:28:03 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732886883; cv=pass; d=google.com; s=arc-20240605; b=kOT2rykStSAZT7CHGXLJdztgphIPEYKHk1Cil32HrTKbDHn1Sh7SaLuIBnCBd6D21j OI6GjbvYFlP10Dk9Hw5/CW1ipCNkgHr5/rjUR2HlmZKgSqZVTFY9ykg1lMsEzVkRtW0h j27RI88rULNQ5r5PvaIDCkft6Nj+79+fWo+v6oUFm0pzS5AUJ2V3Q1ejSuIrR0c9eiT9 RSqj7KvKK61HpJ23jpsyBtek7BmIqxcPuSiQO9gjmLHzonMkWn9R0T2aDBnDESVLa2sl D3GfTLuXA+S84Q0zOPdga7d87a+vsLVgoC2sncsKj8OgDnKgCQ/KDWHv9fK9AfG41xCX FUAQ== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to; bh=uxYoESU2ehABwls8+ur/odb1ukj+MklCbAVZE+zwV4A=; fh=/bzLn4Pu6wt5yJOmVA6NJX5WuFMrzV1CRzIGBeRqGpk=; b=luVNKEq9k/PbthLJKYZfdkvmV23Zadtm09Ud99hrBv2JBXJj3JmWe2J7xD96KObNJM kzzmPbSJXr9eYtj3XLNGI8xwPNnY4DWNRJamVoLwCnCT7urkYfpq64BGTG5wHcQ+8+yW Q02KuGjwvbX6+ZbNsAVQlaRy5Kww1h4nbDq+qOa47gaTqv57HbbV5AA/Z3FyMkKwNdeI i8fQF/bjLaRZcRBYdYAZojUUrxj3Ydkmqk7osU3EaAXfQklyveUMqadv87hpm9SJ+Fd9 1wGFapXsa5Ggpyt+wSIQT2RmTDNWMJSlpHnQ0fWyiwBJQG4kndwFIIm2eAY3tqAn2Yua pagA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DS0FU5nv; 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-6d87545a927si43331746d6.342.2024.11.29.05.28.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:28:03 -0800 (PST) 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=DS0FU5nv; 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 9FA633858CDA for ; Fri, 29 Nov 2024 13:28:03 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com [IPv6:2607:f8b0:4864:20::636]) by sourceware.org (Postfix) with ESMTPS id F24733858D39 for ; Fri, 29 Nov 2024 13:20:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F24733858D39 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 F24733858D39 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::636 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886445; cv=none; b=ivRInCky2wxOBjLxpgSZxpgo5bE2fJm+t2fUbovIS2Mzee2R+vuXu7xFETEj1TjHZtOBPGgHI/f6bXmSMVsJLidCBn1ltpB9UjLSe4WIXMyhbFpx1iEXH3HUrkpsAgz604878TokA/IdYjpVb/Q3dQI8B9Sb82QeE/OZtbH+CbA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886445; c=relaxed/simple; bh=7AJKLoY/KrAqOVhNvy28v+wpzjCnLFZfeurZF/vCIaw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=h24KoRPwoASC1Z6SZfr18zyBKyF5E2c1WnBqMm5zJCAe7hM5EZ9we3LStK8XgbSLO8b1OzkseWcHdGt1SrtWSxLtUnCQfVU80cSaUp04dHIissICXEVt96rzqOGc+v9lOmOw9Zxcm6GMlCL2Iwn1NF5Z6ktkj34RkCFAw0UkSHk= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F24733858D39 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=DS0FU5nv Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-212348d391cso14352355ad.2 for ; Fri, 29 Nov 2024 05:20:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886443; x=1733491243; 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=uxYoESU2ehABwls8+ur/odb1ukj+MklCbAVZE+zwV4A=; b=DS0FU5nvyyNxFOOTPCVS9HUzRtvtzildhau5Auvcc7ISilQ/uXd+10n4VgHzVBMbK9 EhpybFEDTLrAbVSiQBMvx5YeGKalRWRgnoXGNoNCHur3KXYe//+v+zmILdoYHfGziT5H K4L6SOB4xYE1rxRshWa7Ip9xEn4Xty/PqJHN8TQzaSGRYjSq2rrbwL7ZUpNh+jlXlqlH 5JcPiLf078Z69ZFN3hcYHsDiz8jFMX6H6GjlhvGVFbf3Q6rwQ5sfGue66esUaDa3tLcg C0whA2MbOWgSLnCRjCwQxVncIVAD+Hg5n0WzKvk4dmRc5vu6ChAudkAtgcKVbD9akiyj nb5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886443; x=1733491243; 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=uxYoESU2ehABwls8+ur/odb1ukj+MklCbAVZE+zwV4A=; b=YD6oJ1PuZ3tySjvrhyBKKm+Mmqe1y3TK4MULKRQp5xf+YUG/715kmnFTex1rcTf6L5 vujqIH7BDQtsFCLy8Mj/VpJkLod7JChMf9B4qp/3PrLW9O0mOsuTV3w5tl9D8fgu01Ea RnIo9Xm9+p/SEwCJmG6YqJyhE7Uxtzy+V/fSK7DlaNKMZ9Vzpq9jbcThjFcogezwinCt 8rpW8R5fQAH8NewHQ3WcGE15Bw5XOu94SluESzMSZOdvysMqKf/nTIJalexr4Ez4Bybz oNPtM581hLLjmNlyPtOf71aSt0r8hJVD3IBTseNXYSP5dN6C7zxu44ydPS9JLllFnfKp FtgQ== X-Gm-Message-State: AOJu0YwhdxVs255OIf+S6kDE31Uexr9zYf1l/tycNy1RkgNf7Zs75y7h Q8oQZzjtkIJqTrf6hBJtqWgum8+Jk/mm4FHzBSHQZBP3rlloxTzA4bJgpy6Le0yj4tdxNz31JYw pXsvSNA== X-Gm-Gg: ASbGncs99kcBqFk+KQRvVE0cCURpAm613+y/sW5bmsre5kWilCSdYphIvC9ssk3CUPs 3MXYiOnFnMFgOezS6InCQaa+Qh3MieFefrlJhhPD5PODVagVMgLQN+j2WXQSdzoI/P2Yir7+Rlg s57aj37LQbPHVoJJDJi529TLTmzFdjdQyefhV9nQforpTRh+jr5aRKm3ZPE7A3Y+JJkZVxshdx4 Rnia4Ahqf2ivylZ5r6nACDBgPmgT4mv2ILTcwpzLmmXQUGQIxG0LnCN8H6QlxE= X-Received: by 2002:a17:902:d54e:b0:212:5b57:80ed with SMTP id d9443c01a7336-21501087642mr157313955ad.11.1732886442193; Fri, 29 Nov 2024 05:20:42 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.20.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:20:41 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie Subject: [PATCH 03/23] benchtests: Add asinf benchmark Date: Fri, 29 Nov 2024 10:17:27 -0300 Message-ID: <20241129132032.476978-4-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 acosf one (random inputs in [-1,1]). --- benchtests/Makefile | 1 + benchtests/asinf-inputs | 2710 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 2711 insertions(+) create mode 100644 benchtests/asinf-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index 5d5c20780f..ba280a86a3 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -29,6 +29,7 @@ bench-math := \ acosh \ acoshf \ asin \ + asinf \ asinh \ atan \ atan2 \ diff --git a/benchtests/asinf-inputs b/benchtests/asinf-inputs new file mode 100644 index 0000000000..740d730710 --- /dev/null +++ b/benchtests/asinf-inputs @@ -0,0 +1,2710 @@ +## args: float +## ret: float +## includes: math.h +# Random inputs in [-1,1] +## name: workload-random +0x1.9e6e2p-3 +0x1.13fdap-4 +-0x1.399d9p-1 +0x1.86c888p-1 +0x1.e219c8p-2 +0x1.6dfd9cp-1 +-0x1.f17a7ep-1 +-0x1.ae8d2cp-2 +0x1.3c0e9p-3 +0x1.1f1f4p-2 +0x1.f0c838p-2 +-0x1.5092f8p-3 +-0x1.8bf674p-2 +-0x1.903886p-1 +0x1.a7e6f8p-2 +-0x1.a1b9p-5 +-0x1.069668p-2 +-0x1.d4a228p-2 +0x1.0bc12p-1 +0x1.6807b8p-1 +0x1.824adp-3 +0x1.9d0ccp-2 +0x1.0f3c5cp-1 +0x1.36dd88p-2 +-0x1.393fap-4 +0x1.01e434p-1 +0x1.f669a8p-2 +0x1.36b8a8p-2 +-0x1.12898p-1 +0x1.f5d474p-1 +-0x1.f7b0ep-3 +0x1.1fcd6p-3 +0x1.54d07cp-1 +-0x1.41a7fcp-1 +0x1.6a2c7cp-1 +-0x1.689bf4p-1 +-0x1.f04eep-1 +0x1.aa2p-2 +-0x1.24baf4p-1 +0x1.6f5bep-2 +0x1.5bffccp-1 +-0x1.196fe4p-2 +-0x1.1e72f4p-2 +0x1.84ff48p-1 +-0x1.31cddcp-1 +0x1.a41ee8p-1 +0x1.52139p-1 +-0x1.bdf884p-1 +-0x1.6ba974p-1 +-0x1.f4a77cp-2 +-0x1.5c52e8p-1 +0x1.4f5eep-4 +-0x1.09d278p-1 +-0x1.768c02p-1 +0x1.f3142p-1 +-0x1.d5574cp-1 +0x1.ad008cp-1 +-0x1.a8bcep-3 +-0x1.127288p-3 +-0x1.57548p-1 +0x1.c5c68p-4 +0x1.b0753p-1 +0x1.e586p-8 +-0x1.e0f51p-4 +-0x1.39abfcp-1 +0x1.3c317p-2 +-0x1.1eafd4p-2 +0x1.e4934p-4 +-0x1.da20cp-3 +-0x1.1edb14p-2 +0x1.8c3764p-1 +-0x1.946c9p-4 +0x1.3ad28p-3 +0x1.4fb5fcp-1 +0x1.4f83e8p-2 +-0x1.08e1a8p-3 +0x1.38819p-2 +-0x1.6152ap-3 +0x1.9efep-7 +-0x1.c174fep-1 +0x1.221ec4p-1 +0x1.fcbdcp-3 +0x1.31ee5p-3 +0x1.51ceb4p-1 +-0x1.c88ec8p-2 +0x1.38eap-5 +-0x1.8075e8p-1 +0x1.2aeaf8p-2 +-0x1.eb4ap-5 +-0x1.d58448p-2 +0x1.5c66ep-4 +0x1.a92174p-1 +-0x1.a5d8a2p-1 +0x1.74278p-5 +0x1.389474p-1 +-0x1.a56b84p-1 +-0x1.0b820ap-1 +0x1.14b65p-2 +-0x1.ccaa8p-5 +-0x1.595138p-3 +0x1.afc1fp-1 +-0x1.41680cp-1 +-0x1.0fba74p-1 +-0x1.caae4ap-1 +0x1.ee336cp-1 +0x1.177bap-1 +0x1.a054fp-3 +0x1.24cab8p-1 +0x1.2e48ep-3 +0x1.662568p-2 +0x1.61a7ccp-1 +-0x1.43d4f4p-1 +-0x1.01273p-4 +0x1.643624p-1 +-0x1.18026p-3 +-0x1.0bbc74p-2 +0x1.ba33c8p-2 +-0x1.9609fcp-1 +-0x1.1fb9dp-1 +0x1.83637cp-1 +0x1.85a08p-3 +-0x1.36f9a8p-1 +-0x1.6815d8p-3 +0x1.9c5cc8p-2 +0x1.a005acp-1 +-0x1.265fdcp-1 +-0x1.eb9p-3 +-0x1.63e808p-2 +-0x1.fbd95cp-1 +-0x1.8196cp-5 +0x1.010518p-1 +0x1.614eap-3 +0x1.a9dca4p-1 +0x1.1de0c8p-1 +-0x1.c538b6p-1 +0x1.fecb2p-4 +-0x1.af2288p-1 +0x1.32d6c4p-1 +0x1.af88acp-1 +0x1.626c7p-2 +-0x1.ec3638p-1 +0x1.e8356p-1 +-0x1.afb6b8p-3 +0x1.a3c87p-2 +0x1.896c8p-4 +0x1.9b2fd8p-1 +-0x1.5e7c84p-1 +-0x1.69294p-2 +0x1.65d3ccp-1 +-0x1.19628p-7 +-0x1.846a74p-1 +0x1.361028p-1 +-0x1.f0f8d2p-1 +0x1.f9e4c8p-1 +-0x1.6589cp-3 +0x1.304a8p-2 +-0x1.6fe238p-2 +0x1.371938p-1 +0x1.b64dp-2 +0x1.81f05p-1 +-0x1.11eaa8p-1 +0x1.c0dc78p-2 +-0x1.1e9p-12 +-0x1.7d9c8p-1 +-0x1.128dfp-4 +0x1.94b3p-5 +-0x1.2aa0a4p-1 +0x1.72224p-5 +0x1.cca618p-2 +-0x1.9b6b8p-6 +-0x1.a36028p-3 +-0x1.f59866p-1 +-0x1.4c08e8p-2 +-0x1.c88066p-1 +0x1.e58c9p-3 +0x1.11cc68p-1 +-0x1.8c2bd8p-1 +-0x1.66e8d8p-1 +-0x1.9473a8p-2 +-0x1.be6158p-3 +-0x1.bc66fp-4 +-0x1.f592bap-1 +0x1.52d5e8p-1 +-0x1.37d488p-1 +0x1.1a482p-4 +-0x1.bc9692p-1 +0x1.7b55a8p-1 +-0x1.58038p-7 +0x1.1aab6p-1 +-0x1.beeb9p-3 +-0x1.dc9f94p-1 +0x1.8ba628p-2 +0x1.482948p-1 +0x1.1c1d8p-1 +-0x1.6241ccp-2 +0x1.2db94p-2 +-0x1.b74d9p-2 +0x1.45c138p-1 +0x1.be01a8p-1 +-0x1.53975p-1 +-0x1.25fd8p-2 +0x1.ebf57cp-1 +-0x1.275e38p-1 +-0x1.b18aep-2 +-0x1.f9ba5p-2 +-0x1.0e3554p-2 +-0x1.552f94p-1 +-0x1.41494p-4 +-0x1.dd9c6p-4 +-0x1.12c8a4p-2 +0x1.088e2p-4 +0x1.e4964p-5 +0x1.61bde8p-1 +0x1.598a38p-2 +-0x1.d5c8ccp-2 +-0x1.eb2448p-1 +-0x1.c2728p-1 +-0x1.bfdae2p-1 +0x1.2d32c8p-1 +-0x1.7cc0bp-3 +-0x1.447c52p-1 +-0x1.d52598p-3 +0x1.5dd678p-2 +-0x1.db8f34p-1 +0x1.e2fc3p-2 +0x1.711078p-2 +0x1.ee09fp-1 +0x1.635b38p-2 +-0x1.3c467p-3 +-0x1.1963p-7 +0x1.5a00cp-4 +0x1.8db0b8p-2 +-0x1.861354p-2 +-0x1.8759cp-4 +-0x1.d1f2e4p-2 +0x1.001d2cp-1 +-0x1.0f00ecp-1 +-0x1.941a8cp-1 +-0x1.3da868p-3 +-0x1.eed69p-1 +-0x1.2731c4p-1 +0x1.5c4cdcp-1 +-0x1.dffbfcp-2 +-0x1.cd104p-6 +-0x1.c6b65p-2 +-0x1.1ba854p-2 +-0x1.26f5b8p-1 +0x1.25d00cp-1 +-0x1.3c4594p-1 +-0x1.7cfacp-1 +-0x1.b399d4p-1 +0x1.15231p-1 +-0x1.f7663p-3 +-0x1.2616a2p-1 +0x1.ef3aap-4 +-0x1.4ca9bp-2 +-0x1.8f5a1cp-1 +-0x1.4d8eecp-1 +0x1.2b043p-3 +-0x1.b850bp-2 +-0x1.41c0c4p-2 +-0x1.cbcc2ep-1 +-0x1.a3299cp-2 +0x1.095p-4 +-0x1.fae2p-8 +0x1.90eb1p-2 +0x1.669acp-5 +0x1.389468p-1 +-0x1.e2a54p-6 +0x1.48b7c8p-1 +0x1.708784p-1 +0x1.5b266p-4 +0x1.6e25cp-5 +0x1.fe8a6p-4 +-0x1.9924e8p-2 +-0x1.7cb2dcp-1 +0x1.47457cp-1 +-0x1.3e12bp-1 +-0x1.d539cp-6 +-0x1.dff8cep-1 +-0x1.3abe08p-3 +-0x1.c507a4p-2 +0x1.42869p-3 +-0x1.23f3fp-2 +-0x1.83d1b8p-1 +-0x1.9b4e3p-4 +-0x1.c8477p-3 +-0x1.0531p-8 +-0x1.f29e1ap-1 +0x1.307bp-6 +0x1.e57bfp-2 +0x1.65c5f4p-1 +-0x1.fae4d4p-2 +-0x1.64676p-3 +-0x1.f799f6p-1 +0x1.6846ep-1 +0x1.e34e6p-4 +0x1.345818p-2 +0x1.a3d2e8p-2 +-0x1.9f2ac8p-2 +-0x1.2cc618p-1 +-0x1.97e6bp-4 +0x1.dacd58p-2 +-0x1.aab568p-2 +-0x1.a6d2fp-2 +0x1.16e64cp-1 +0x1.7f29ep-3 +0x1.adca7p-1 +0x1.db39ap-4 +0x1.c8bb88p-2 +-0x1.3137ap-1 +-0x1.9c342p-3 +0x1.98213p-3 +0x1.df3a7p-1 +0x1.62a17cp-1 +0x1.726ae4p-1 +0x1.b538ap-2 +0x1.5a7798p-2 +0x1.ddb02p-3 +-0x1.11dc2p-4 +0x1.fcae4p-2 +0x1.cdb4dp-3 +-0x1.1677p-1 +-0x1.a0caap-5 +0x1.ba7bfp-2 +0x1.29904p-2 +0x1.4360dp-1 +0x1.6f983cp-1 +-0x1.f45c2ap-1 +-0x1.197e08p-3 +0x1.82b4bp-2 +-0x1.67dd1p-2 +-0x1.243p-6 +-0x1.1975b8p-1 +-0x1.25a6dap-1 +-0x1.a312fp-2 +-0x1.daa496p-1 +-0x1.0484b4p-2 +0x1.149808p-1 +0x1.b928cp-1 +0x1.cc3d9cp-1 +0x1.f2d324p-1 +0x1.6d4454p-1 +-0x1.87cadap-1 +0x1.1c441p-2 +-0x1.199924p-1 +-0x1.330538p-1 +-0x1.f1b88p-3 +-0x1.aa1f94p-2 +-0x1.c9815p-2 +-0x1.206c3cp-2 +0x1.6d7af8p-1 +-0x1.56d678p-1 +0x1.75432p-3 +-0x1.d56c82p-1 +0x1.77bbd4p-1 +-0x1.f28a14p-1 +-0x1.209p-1 +-0x1.824e78p-3 +0x1.37776p-3 +0x1.a77cd4p-1 +-0x1.4c06d8p-2 +0x1.a20ep-7 +0x1.608c9p-2 +-0x1.46ef8p-5 +-0x1.8e959ep-1 +0x1.90cp-10 +-0x1.521b4p-1 +0x1.7999e8p-1 +-0x1.9020d4p-1 +0x1.3b1b1p-1 +-0x1.9b7e22p-1 +-0x1.3e5868p-2 +-0x1.c5321ap-1 +-0x1.0defep-1 +0x1.66544cp-1 +0x1.e1baep-4 +-0x1.901954p-2 +0x1.7b751p-1 +0x1.f3206p-1 +0x1.2c276p-1 +0x1.a41b8p-3 +0x1.28f134p-1 +-0x1.85a00cp-2 +0x1.e53704p-1 +0x1.0dfe18p-2 +-0x1.f29138p-3 +-0x1.c1837p-1 +-0x1.ba8d04p-2 +0x1.56c7a4p-1 +0x1.2fee4p-5 +-0x1.96cc78p-1 +0x1.cf1a8p-1 +0x1.4431ep-2 +0x1.7e06ap-1 +0x1.cf7e8cp-1 +0x1.8d52ep-4 +-0x1.9c012cp-1 +0x1.89704p-1 +0x1.c7d788p-2 +-0x1.09298p-5 +-0x1.231cd8p-2 +-0x1.2c9048p-1 +0x1.89b09p-2 +0x1.c4b79p-2 +-0x1.5e7c3cp-2 +0x1.b8ab8p-3 +0x1.fc228p-2 +0x1.a2e96p-1 +-0x1.9f41cp-1 +0x1.fefff8p-2 +-0x1.1174p-8 +0x1.d7ddf4p-1 +-0x1.986facp-2 +-0x1.35f6c8p-2 +-0x1.f9387p-3 +-0x1.7521d8p-3 +0x1.b86aep-2 +0x1.db2ac4p-1 +0x1.10c24p-2 +-0x1.ad2ep-2 +-0x1.fa1f94p-1 +0x1.18a7p-7 +0x1.e3ee7cp-1 +-0x1.0762ep-5 +0x1.3a9d2p-4 +0x1.08356p-2 +-0x1.92a048p-3 +-0x1.767994p-2 +-0x1.5ce1d8p-2 +-0x1.bb1deep-1 +0x1.b094fcp-1 +0x1.ca05p-3 +0x1.df9dp-6 +0x1.bff35cp-1 +0x1.3a1bcp-2 +0x1.3ad0b8p-1 +-0x1.c3d82cp-1 +-0x1.aeb17cp-1 +0x1.7ae9a8p-1 +0x1.0a108cp-1 +0x1.64cb98p-1 +0x1.3fa4e8p-2 +-0x1.7e4458p-3 +0x1.116a58p-1 +-0x1.3f3158p-2 +-0x1.e2c3b8p-2 +0x1.fc6ee8p-2 +-0x1.812434p-2 +0x1.efcdp-3 +-0x1.f59cb8p-1 +-0x1.4c61ecp-1 +-0x1.2f68e8p-2 +0x1.40f99p-1 +0x1.85894p-4 +0x1.fc5dc8p-2 +0x1.bff3c4p-1 +-0x1.1adc8p-3 +-0x1.8323dp-4 +-0x1.b8a88p-4 +0x1.dafdap-1 +-0x1.ab065cp-2 +0x1.d7a32cp-1 +-0x1.c98e48p-2 +-0x1.7724bcp-1 +-0x1.50e6acp-2 +0x1.4a60ap-1 +-0x1.1f8c9p-4 +0x1.0ad158p-1 +0x1.19548p-3 +0x1.b6d01p-2 +0x1.1cc6e4p-1 +-0x1.c5dbap-3 +-0x1.9798cp-1 +0x1.84103p-3 +0x1.7bc3ep-2 +-0x1.745f64p-1 +0x1.f0bd4p-4 +-0x1.990fap-1 +0x1.ccb71p-2 +0x1.2dba6p-2 +0x1.411b2cp-1 +-0x1.5c95ep-1 +0x1.dcd3fp-1 +-0x1.cf1a3ep-1 +0x1.d5a0b8p-2 +-0x1.c2a978p-2 +-0x1.bd91cp-5 +0x1.98ad88p-2 +-0x1.6dc57cp-1 +0x1.e2c6b8p-1 +0x1.8eecc8p-2 +-0x1.b72aa6p-1 +-0x1.170aacp-2 +0x1.d7fcfp-1 +-0x1.6126d8p-3 +0x1.6d8a8p-2 +-0x1.f9deap-2 +0x1.b6ed6p-2 +-0x1.36b546p-1 +0x1.6fd54p-3 +0x1.09c818p-2 +0x1.d5a97p-1 +-0x1.8ca37cp-2 +-0x1.96ca84p-1 +0x1.60359p-3 +-0x1.1bb6f4p-2 +-0x1.53e72ep-1 +0x1.994654p-1 +-0x1.8b80b8p-3 +0x1.c7879p-3 +-0x1.71ccp-9 +-0x1.23c2dp-1 +0x1.da288p-5 +-0x1.e5dc2p-1 +0x1.d708p-3 +-0x1.555e4p-4 +-0x1.b0036cp-1 +0x1.eb2bp-6 +0x1.00297p-2 +-0x1.9edc24p-1 +0x1.2fde9cp-1 +0x1.c07d3p-2 +0x1.883534p-1 +-0x1.ba74ep-3 +0x1.d6edb8p-1 +0x1.1c5acp-2 +-0x1.3717p-6 +0x1.7aa76cp-1 +0x1.410ep-6 +0x1.0a07e8p-1 +-0x1.a308eep-1 +-0x1.b549ep-4 +-0x1.6627ap-5 +-0x1.9ad30cp-1 +-0x1.fb3dc8p-3 +-0x1.e056p-9 +0x1.2c82b4p-1 +0x1.24f8b8p-2 +-0x1.82ec26p-1 +0x1.b4e11cp-1 +-0x1.473e6p-2 +-0x1.f49598p-1 +-0x1.e377dp-3 +-0x1.8d94ecp-2 +-0x1.a8e06p-5 +-0x1.989bdep-1 +-0x1.f86ee8p-1 +-0x1.47a614p-1 +0x1.3eed54p-1 +0x1.9f3c4p-5 +-0x1.9cdb08p-1 +0x1.8b8144p-1 +-0x1.0d9d18p-1 +0x1.92865p-2 +-0x1.0b3b6cp-2 +-0x1.76fa3p-2 +0x1.963658p-2 +-0x1.514cp-5 +-0x1.ccbp-4 +0x1.85d178p-1 +-0x1.c89cecp-2 +-0x1.256626p-1 +-0x1.8c24ep-2 +-0x1.fc3b7cp-1 +-0x1.54d9ecp-2 +0x1.86acfcp-1 +0x1.64008p-5 +-0x1.3bc79cp-1 +0x1.a90e54p-1 +-0x1.cc26dp-2 +0x1.c51734p-1 +-0x1.628ddp-1 +0x1.a04b2p-2 +0x1.97306cp-1 +0x1.816128p-2 +0x1.12027p-3 +0x1.6f7c4p-1 +-0x1.7275e4p-2 +-0x1.f3707ap-1 +0x1.e0246p-1 +-0x1.90312p-3 +-0x1.890e86p-1 +-0x1.43f9bp-1 +0x1.230eb8p-1 +0x1.f61504p-1 +0x1.cd172p-3 +0x1.8a68fp-1 +0x1.d5132p-3 +-0x1.a18192p-1 +0x1.4a7fdp-3 +-0x1.149678p-2 +0x1.33d4bcp-1 +0x1.1db46p-2 +0x1.d9a184p-1 +0x1.4e27dcp-1 +-0x1.2aaeb4p-1 +-0x1.326cdcp-2 +-0x1.fa308p-6 +-0x1.9c71b8p-3 +0x1.32c71p-1 +-0x1.0ff386p-1 +-0x1.d8259p-3 +0x1.b9475p-2 +-0x1.720598p-1 +0x1.7fd2b4p-1 +0x1.481174p-1 +0x1.8c8684p-1 +0x1.c4b0fcp-1 +-0x1.2fcacp-4 +-0x1.d29858p-1 +-0x1.559db6p-1 +-0x1.9dcdcp-6 +0x1.e2d44p-2 +-0x1.31fb08p-2 +0x1.f07e2p-3 +0x1.47d16p-3 +-0x1.e652fp-4 +-0x1.618f08p-1 +0x1.49a1cp-5 +0x1.1089bp-1 +-0x1.9f89fap-1 +0x1.4941acp-1 +0x1.736dap-4 +-0x1.10b7c8p-3 +0x1.f7a2ep-2 +-0x1.2333cp-1 +0x1.202e14p-1 +-0x1.ee7bb8p-1 +-0x1.c21a44p-2 +0x1.e597c4p-1 +0x1.1229ap-1 +0x1.65121cp-1 +-0x1.902f72p-1 +-0x1.b67f8ep-1 +-0x1.e028e4p-2 +0x1.fa7ddp-2 +-0x1.6e774p-1 +-0x1.1e3d14p-2 +-0x1.aebb3p-4 +-0x1.1d6cb4p-1 +0x1.9afaf8p-1 +0x1.ce81b4p-1 +0x1.e10878p-1 +-0x1.0f4b3p-1 +-0x1.6e9bp-7 +0x1.e5f2cp-5 +0x1.8147b4p-1 +0x1.5ea11p-1 +-0x1.8e9fdcp-1 +-0x1.882ceap-1 +0x1.86d848p-1 +-0x1.5f222p-1 +-0x1.bee188p-2 +-0x1.64c0ecp-2 +-0x1.d1c56p-5 +-0x1.ae941cp-1 +0x1.e402fcp-1 +0x1.8054cp-3 +-0x1.f1717p-2 +0x1.30d308p-2 +0x1.b2a9b4p-1 +-0x1.24634cp-2 +0x1.2a2078p-1 +0x1.f5af78p-2 +-0x1.8dfddap-1 +0x1.dcde6p-4 +0x1.8bb274p-1 +-0x1.2f3bccp-1 +0x1.091178p-1 +-0x1.bf0b48p-1 +0x1.2e11p-2 +0x1.3a54cp-4 +-0x1.70ebbp-2 +0x1.cf3b8p-4 +-0x1.58381cp-2 +-0x1.0477a8p-2 +-0x1.ad6aap-2 +-0x1.ac72aap-1 +0x1.c2d368p-1 +-0x1.47c84p-1 +-0x1.1b03c2p-1 +0x1.8463ep-1 +-0x1.a54f34p-1 +-0x1.398678p-2 +-0x1.931462p-1 +-0x1.9e73p-3 +0x1.dd438p-2 +-0x1.ba118cp-1 +-0x1.49238cp-1 +0x1.d2b28p-1 +0x1.8c4f98p-2 +-0x1.5cb244p-2 +0x1.e91e08p-2 +-0x1.b22298p-1 +-0x1.8c7efp-1 +-0x1.e299ap-1 +0x1.f7b694p-1 +0x1.efb72p-4 +0x1.def718p-2 +0x1.97d4e4p-1 +0x1.38dd2p-4 +-0x1.66d758p-3 +-0x1.9b5438p-1 +0x1.00c2d4p-1 +-0x1.9cd14cp-2 +0x1.e681p-7 +-0x1.865dccp-2 +0x1.88b714p-1 +-0x1.d2abb4p-1 +-0x1.58a68ep-1 +0x1.f1ccp-4 +0x1.8465ecp-1 +0x1.9a1fdp-3 +-0x1.fcc39p-1 +0x1.232a98p-1 +-0x1.4f783ap-1 +0x1.8ef68p-4 +0x1.6af4ap-2 +-0x1.4ea044p-2 +0x1.ad6508p-2 +-0x1.22de84p-1 +-0x1.e41bbp-4 +0x1.372ba8p-1 +-0x1.2abc68p-2 +0x1.c2994p-4 +0x1.59124p-5 +-0x1.fddc6ap-1 +0x1.91253p-3 +0x1.f4f81p-3 +0x1.46594p-3 +-0x1.767f94p-2 +-0x1.35175p-2 +-0x1.b0bd08p-1 +0x1.cd57e8p-2 +0x1.3bc8cp-4 +0x1.4dfb68p-2 +0x1.d2559p-3 +-0x1.71429cp-2 +0x1.f1a6cp-5 +0x1.a88e2p-3 +0x1.2e10ep-3 +-0x1.e5b79ap-1 +-0x1.1c38a8p-2 +-0x1.eb36cp-1 +0x1.be084cp-1 +-0x1.98ae04p-2 +-0x1.533eb6p-1 +-0x1.125038p-3 +-0x1.45b01p-3 +-0x1.5f8948p-3 +0x1.fc5be8p-2 +0x1.fc3ac8p-2 +-0x1.276bb8p-1 +-0x1.2311e4p-2 +-0x1.eb53acp-1 +0x1.b4b82p-4 +0x1.590ad4p-1 +-0x1.6bd46p-5 +-0x1.f5ca3ep-1 +0x1.77d8ap-1 +-0x1.c07c38p-1 +-0x1.6552dp-4 +-0x1.b19beep-1 +0x1.1da5bcp-1 +-0x1.a8f81cp-1 +0x1.ebdap-7 +0x1.3f128p-6 +-0x1.2393a8p-3 +0x1.b675dp-2 +-0x1.8fe618p-3 +-0x1.f23c86p-1 +0x1.68e6ap-2 +-0x1.9ba3c4p-2 +-0x1.54716p-4 +0x1.fa4f2p-3 +-0x1.58da14p-2 +-0x1.6b7e92p-1 +-0x1.5e499p-3 +0x1.ca713cp-1 +0x1.b9178p-4 +-0x1.33dfa4p-1 +0x1.9d65b8p-2 +-0x1.fbf6a4p-2 +0x1.0b97p-5 +-0x1.60b7p-6 +-0x1.e0d134p-1 +0x1.1730b4p-1 +-0x1.fa1396p-1 +0x1.0d9d58p-2 +-0x1.939198p-1 +-0x1.a084a6p-1 +0x1.324aap-1 +-0x1.0ca1c8p-2 +0x1.ca70bp-2 +0x1.e3fcap-2 +-0x1.d796dcp-2 +0x1.7aec8p-3 +0x1.69c7fcp-1 +0x1.8010acp-1 +-0x1.04a18p-2 +-0x1.08759p-2 +0x1.b0e208p-1 +0x1.f2f28p-2 +0x1.8b3748p-2 +0x1.fcad3cp-1 +0x1.507418p-1 +-0x1.199688p-3 +0x1.0d2ae4p-1 +0x1.a597p-7 +-0x1.87f968p-2 +-0x1.ef5378p-2 +-0x1.33c0ccp-2 +-0x1.4927bep-1 +-0x1.a78302p-1 +-0x1.d774dp-1 +-0x1.a28fep-3 +0x1.a42fcp-3 +0x1.6426c8p-1 +0x1.a8d45p-2 +-0x1.c7a9f4p-1 +-0x1.83a4cp-1 +-0x1.45d988p-1 +-0x1.f13d78p-2 +0x1.3e09ap-3 +-0x1.dc822cp-1 +-0x1.bf71a4p-1 +-0x1.d4e8a2p-1 +-0x1.1cdef4p-1 +-0x1.4aa54p-6 +-0x1.d4029p-2 +-0x1.9a7ad8p-2 +-0x1.3c5c8cp-1 +0x1.3783b8p-1 +-0x1.af40aap-1 +0x1.074eap-2 +0x1.88b0c8p-2 +0x1.85f74p-5 +-0x1.fd084p-3 +0x1.fa93p-4 +0x1.a8ce4p-4 +0x1.347a48p-1 +0x1.497b14p-1 +0x1.bb1aecp-1 +-0x1.c869ecp-1 +0x1.b46f7cp-1 +-0x1.91e91p-1 +-0x1.14d6b4p-2 +0x1.98b934p-1 +0x1.429efcp-1 +-0x1.a7383cp-1 +0x1.67af1cp-1 +0x1.e99b08p-2 +-0x1.aecc4p-4 +0x1.e2954p-1 +0x1.8e01cp-4 +0x1.0c4538p-1 +-0x1.097e54p-2 +0x1.9b113cp-1 +-0x1.bd3a3cp-1 +-0x1.9ae8f8p-3 +-0x1.2b54d8p-3 +0x1.ac24ep-3 +-0x1.d413f2p-1 +0x1.142368p-2 +0x1.cace2p-1 +0x1.e55ca8p-1 +-0x1.1415f8p-3 +-0x1.fa5004p-1 +0x1.840458p-2 +0x1.1276e8p-2 +-0x1.a7dd14p-1 +-0x1.0b7a8cp-2 +-0x1.37eeacp-1 +-0x1.b3a31p-1 +-0x1.13e7ecp-1 +0x1.c9e1cp-3 +-0x1.0e4ef4p-1 +-0x1.f98038p-1 +0x1.c12e38p-2 +-0x1.296f64p-1 +0x1.123174p-1 +-0x1.a93feap-1 +-0x1.eb417p-2 +-0x1.b1ebep-5 +-0x1.9c6cdcp-1 +-0x1.2fb2ap-2 +-0x1.0636c2p-1 +-0x1.1f4a68p-1 +0x1.b592a8p-2 +0x1.9336b4p-1 +0x1.9ec5f4p-1 +0x1.1aac44p-1 +0x1.ce7868p-2 +0x1.015f6p-1 +-0x1.24eee2p-1 +-0x1.a20cfep-1 +-0x1.f56538p-2 +0x1.759b8cp-1 +0x1.b86058p-2 +-0x1.376a68p-1 +0x1.d2962p-1 +0x1.5fd88p-1 +-0x1.59dd3p-3 +-0x1.0ecd3p-3 +-0x1.dd084cp-2 +0x1.1ce00cp-1 +0x1.8cb05p-1 +0x1.9a584p-2 +-0x1.594dp-5 +0x1.a1053p-2 +-0x1.c7a38p-7 +-0x1.f09fc4p-2 +-0x1.e58764p-1 +-0x1.84805p-2 +0x1.8476bcp-1 +-0x1.51eb38p-1 +0x1.c1762p-4 +-0x1.c7411ep-1 +-0x1.9abdap-1 +-0x1.31839p-4 +-0x1.3153fcp-1 +-0x1.385128p-1 +0x1.3dd42p-1 +0x1.5c379p-1 +-0x1.b8fc2cp-2 +-0x1.d14cf4p-2 +0x1.4dbbf8p-1 +0x1.a1a66p-3 +0x1.37a2fcp-1 +0x1.800ef4p-1 +-0x1.d726d8p-3 +0x1.cabd9p-3 +-0x1.a96254p-2 +0x1.40e38p-6 +0x1.e1332p-1 +0x1.549c04p-1 +0x1.d6691p-2 +0x1.a34e98p-1 +-0x1.e12bep-5 +0x1.bbd37p-2 +-0x1.a28fp-6 +-0x1.13c762p-1 +-0x1.a8a5b8p-3 +-0x1.fdcf1ap-1 +-0x1.658986p-1 +-0x1.224b34p-1 +-0x1.0df86cp-2 +-0x1.0e5254p-1 +-0x1.86348p-4 +0x1.34fp-5 +-0x1.210e3p-1 +-0x1.406684p-2 +-0x1.13876p-4 +-0x1.67680cp-1 +0x1.efd448p-1 +-0x1.31737cp-1 +-0x1.85359ep-1 +-0x1.7faa18p-1 +-0x1.ef7a14p-1 +0x1.ef89a8p-2 +0x1.d0ebp-7 +0x1.927f9p-1 +-0x1.c48d2p-4 +-0x1.36f38ap-1 +-0x1.0ad8c4p-2 +-0x1.67f8fp-1 +0x1.33def8p-2 +-0x1.b47d68p-3 +-0x1.08074p-1 +0x1.003e48p-2 +-0x1.e62ea8p-2 +-0x1.e44294p-1 +-0x1.ef6462p-1 +-0x1.30a02p-1 +0x1.a513e4p-1 +-0x1.384fep-5 +-0x1.ff6464p-2 +-0x1.5c4a9p-2 +-0x1.a4509p-4 +-0x1.39f328p-3 +-0x1.4d93cp-3 +0x1.b567b8p-1 +0x1.e7421p-2 +-0x1.a0dc6p-2 +-0x1.21592p-4 +0x1.aa82bp-2 +-0x1.354e7p-4 +-0x1.66012p-5 +-0x1.0c64ep-1 +-0x1.8c2dp-8 +0x1.307a9p-3 +-0x1.0f01a8p-3 +-0x1.3de44p-3 +0x1.ab5978p-1 +-0x1.e4e92ep-1 +0x1.525f1p-1 +0x1.4f277p-3 +0x1.4213cp-4 +0x1.39046p-2 +0x1.dfe38p-4 +0x1.1789d8p-2 +0x1.77175p-2 +0x1.244484p-1 +-0x1.4923bp-1 +-0x1.3d4d38p-3 +0x1.45a024p-1 +0x1.4bee98p-1 +-0x1.652608p-1 +0x1.04bf84p-1 +-0x1.fe5bacp-1 +0x1.f477ep-1 +0x1.e31a8p-5 +-0x1.c34b9p-4 +-0x1.19257p-3 +-0x1.144fcp-5 +0x1.ecf888p-2 +-0x1.36e0cp-1 +-0x1.2997dcp-1 +0x1.1ea938p-2 +-0x1.aa519ep-1 +0x1.5f532p-4 +0x1.2ed2c8p-1 +-0x1.bf245p-3 +-0x1.f2998p-3 +0x1.8fe5f4p-1 +-0x1.ccf494p-1 +-0x1.23cb5cp-2 +-0x1.6aec1cp-1 +0x1.acfbep-2 +0x1.0c1e68p-1 +0x1.acb09p-1 +-0x1.f2e9cp-2 +-0x1.76814ap-1 +-0x1.bc79fep-1 +0x1.430c6p-4 +0x1.00df3p-1 +-0x1.2c9318p-3 +0x1.8a9074p-1 +-0x1.0823p-1 +0x1.aa18d4p-1 +0x1.44cacp-1 +0x1.9896b8p-1 +-0x1.72308p-3 +-0x1.8b2208p-1 +-0x1.c991dp-2 +-0x1.c528p-6 +0x1.26c588p-1 +-0x1.f8aab8p-2 +-0x1.c54f6p-5 +-0x1.8e3a02p-1 +0x1.afe184p-1 +0x1.79bb4p-1 +-0x1.de6c98p-3 +-0x1.12dd4p-6 +-0x1.e9f604p-2 +0x1.ac28e4p-1 +-0x1.d20398p-3 +0x1.b8f3ap-3 +-0x1.5767fcp-1 +0x1.8d9778p-2 +-0x1.e82e08p-2 +-0x1.533d6p-2 +-0x1.dc7968p-3 +-0x1.e01c18p-2 +0x1.3f81cp-1 +0x1.767a84p-1 +-0x1.467904p-2 +-0x1.71e1cp-3 +-0x1.e56bfp-4 +-0x1.1d0494p-1 +0x1.21e7c4p-1 +-0x1.4547bp-1 +0x1.8c7c6p-1 +0x1.bcecbcp-1 +0x1.7ce234p-1 +0x1.c24c68p-2 +0x1.2c319p-2 +-0x1.a47732p-1 +-0x1.52b8e8p-1 +0x1.6d628p-2 +0x1.8f85d4p-1 +-0x1.5bf0cp-1 +0x1.41ca8p-2 +0x1.d54e04p-1 +-0x1.52d3p-3 +-0x1.7603p-7 +-0x1.a654dcp-1 +0x1.e3e2ap-2 +-0x1.5bccb4p-1 +-0x1.1c908cp-1 +-0x1.cff8bap-1 +0x1.7f0eap-3 +-0x1.281f9p-1 +0x1.97c7ap-3 +0x1.ffd378p-2 +0x1.c6a318p-2 +0x1.8d195p-3 +0x1.7e102p-4 +-0x1.87cfbap-1 +0x1.681058p-2 +-0x1.586a18p-1 +-0x1.252c2p-5 +-0x1.464f8p-6 +0x1.15ead8p-1 +-0x1.e581cp-6 +0x1.2240cp-3 +-0x1.16570ap-1 +0x1.ad2e6p-1 +-0x1.03a0ap-1 +0x1.60fde4p-1 +-0x1.aad6ccp-1 +-0x1.d24fccp-2 +0x1.65605p-1 +-0x1.83a4ep-3 +-0x1.806f24p-1 +-0x1.9ddad4p-2 +-0x1.6b23f8p-3 +-0x1.64c678p-1 +-0x1.002fbp-2 +-0x1.0ce658p-1 +-0x1.efcfa4p-1 +0x1.79c068p-2 +-0x1.c7f51p-3 +-0x1.8d25e8p-2 +-0x1.2f1492p-1 +0x1.019d5p-1 +0x1.01f684p-1 +-0x1.e8ecd4p-1 +0x1.01f5b4p-1 +0x1.ed9d7p-3 +-0x1.43a908p-1 +0x1.de8644p-1 +-0x1.d11d18p-1 +-0x1.e1a6b4p-1 +0x1.edd08p-2 +0x1.986a5cp-1 +0x1.f23bep-3 +-0x1.f92a4ap-1 +0x1.57cfp-7 +0x1.77e2c4p-1 +0x1.dca67p-3 +0x1.075318p-1 +0x1.d6b12cp-1 +-0x1.1bce18p-1 +0x1.78e4p-2 +0x1.198d4p-1 +0x1.cbc6p-2 +-0x1.ca5bd2p-1 +0x1.569968p-2 +-0x1.60825p-4 +-0x1.d59c2cp-1 +-0x1.fccfa8p-3 +0x1.63f34cp-1 +0x1.6c1eccp-1 +-0x1.c0aa14p-1 +0x1.0c151p-2 +-0x1.89d474p-1 +0x1.65882p-1 +0x1.9f2cep-4 +-0x1.373308p-2 +-0x1.7f2cp-1 +0x1.48bd6p-3 +-0x1.1a81f8p-1 +-0x1.94711cp-1 +-0x1.ac036ap-1 +-0x1.36b012p-1 +-0x1.662dd6p-1 +0x1.471dep-3 +0x1.09bcp-9 +0x1.52af18p-1 +0x1.41d89p-1 +-0x1.d2b1e4p-1 +-0x1.8e599p-3 +0x1.3a37acp-1 +0x1.e36918p-2 +0x1.f471p-2 +-0x1.f84978p-2 +0x1.83fbfp-3 +0x1.f57598p-1 +0x1.5603d8p-1 +-0x1.9ae7p-1 +0x1.b82408p-2 +0x1.01547p-1 +0x1.5733dp-1 +-0x1.6654fap-1 +0x1.ff08bp-3 +0x1.dd8ce8p-2 +0x1.4f485p-2 +-0x1.3dd394p-1 +0x1.407be8p-1 +-0x1.9088fcp-2 +-0x1.c07c9ap-1 +0x1.4b917p-1 +0x1.c29f88p-2 +-0x1.0f8f18p-2 +0x1.88ccacp-1 +-0x1.3c9dc8p-1 +-0x1.954f94p-2 +0x1.6549a4p-1 +-0x1.07e654p-2 +0x1.d5dcccp-1 +0x1.373dap-2 +0x1.228fe8p-1 +-0x1.a4b4ccp-2 +0x1.943e3p-2 +0x1.6b8504p-1 +-0x1.5f4826p-1 +-0x1.e590c8p-2 +-0x1.2a9abp-1 +0x1.898424p-1 +0x1.09d3ecp-1 +0x1.2d088p-1 +-0x1.78698p-1 +0x1.27fc1p-1 +-0x1.cf0ca4p-2 +-0x1.d73676p-1 +-0x1.ab0088p-1 +-0x1.aee3cp-3 +-0x1.fc738p-4 +-0x1.69525cp-1 +0x1.6982p-3 +0x1.c0c19cp-1 +-0x1.cc02dap-1 +-0x1.c15404p-2 +-0x1.1543a8p-3 +-0x1.4dc8f8p-1 +0x1.4ad4a8p-2 +0x1.f71a1p-1 +-0x1.6f6f6p-1 +0x1.e07194p-1 +0x1.f9b1f4p-1 +0x1.53742p-2 +0x1.795ep-7 +-0x1.e4d832p-1 +0x1.151748p-1 +0x1.cc9b4p-3 +-0x1.aaf96cp-1 +-0x1.0a999cp-2 +-0x1.3edb88p-1 +0x1.5863ep-4 +-0x1.36dc8p-4 +-0x1.f108eep-1 +0x1.b69fa4p-1 +-0x1.21d5bp-3 +-0x1.45fe7ap-1 +-0x1.170f34p-1 +-0x1.637e98p-2 +-0x1.6ecfa8p-2 +-0x1.5e6418p-1 +-0x1.85fe26p-1 +0x1.acd554p-1 +-0x1.e5ef3p-2 +0x1.5f93bcp-1 +-0x1.27311p-1 +0x1.99aa28p-2 +-0x1.b39f74p-1 +0x1.3f93c8p-2 +0x1.a1c48cp-1 +0x1.55eacp-5 +0x1.ab7168p-2 +-0x1.1ca1cp-1 +-0x1.f6cdcep-1 +0x1.6c02ep-3 +-0x1.11337p-3 +-0x1.d9c548p-1 +0x1.6918f8p-1 +-0x1.407536p-1 +-0x1.61351cp-1 +-0x1.60e034p-1 +-0x1.d781fp-1 +-0x1.a0a79cp-1 +0x1.1c1d4p-2 +0x1.af7658p-2 +-0x1.3c0e6ap-1 +0x1.44244p-4 +-0x1.48103ap-1 +0x1.601408p-2 +-0x1.0a1e44p-2 +0x1.3bda4p-2 +-0x1.d320fep-1 +0x1.72eafp-1 +0x1.afb9a4p-1 +-0x1.22e514p-1 +0x1.edee4cp-1 +0x1.bb2b7p-1 +0x1.65446cp-1 +0x1.2add9p-2 +-0x1.72711ep-1 +0x1.85c6p-4 +-0x1.0eb7p-1 +-0x1.7f47acp-1 +0x1.d8d7a8p-2 +0x1.79f2e8p-1 +0x1.52abp-4 +-0x1.0fb72cp-1 +0x1.4567p-6 +-0x1.61d88p-4 +-0x1.7fcp-12 +0x1.d567a8p-1 +0x1.57ab8p-4 +0x1.ec29cp-4 +0x1.8f8ae8p-2 +-0x1.2306acp-1 +0x1.73639cp-1 +-0x1.eb87fp-4 +-0x1.f7835cp-2 +0x1.5cfc4p-5 +0x1.f48afcp-1 +-0x1.d40238p-2 +-0x1.afb28p-4 +0x1.d16ab8p-2 +-0x1.5b011p-4 +-0x1.caaa58p-3 +-0x1.35dab4p-1 +0x1.9e2dp-5 +-0x1.280e2p-3 +-0x1.ad030cp-1 +0x1.c51fp-3 +-0x1.f4ad5ep-1 +0x1.86ap-3 +-0x1.444ca8p-1 +0x1.4d30fp-2 +-0x1.7c3bbcp-1 +0x1.0b87fcp-1 +-0x1.8213ecp-1 +-0x1.fdc09ap-1 +-0x1.83b65p-1 +0x1.1874cp-1 +-0x1.bed4ccp-2 +-0x1.8e103p-1 +-0x1.13f2ep-2 +0x1.5c7308p-2 +-0x1.eec772p-1 +0x1.6506bp-3 +-0x1.9b8d54p-1 +-0x1.90f52cp-2 +0x1.135c4p-4 +0x1.7690ep-2 +-0x1.16c74ep-1 +0x1.11a088p-2 +-0x1.f6c73p-2 +-0x1.51c6f8p-2 +0x1.5a9388p-1 +0x1.72a6f4p-1 +-0x1.6fe0ep-2 +-0x1.4dde24p-1 +0x1.0e2dd4p-1 +-0x1.b1d014p-1 +0x1.7ae1f8p-1 +0x1.4bb278p-2 +-0x1.da565cp-1 +-0x1.d75e6p-5 +0x1.c187acp-1 +-0x1.4a8f8p-1 +-0x1.2d669p-4 +0x1.dae9c4p-1 +0x1.fdaf3p-2 +0x1.3b16bp-3 +-0x1.278fb8p-3 +-0x1.6460bp-1 +0x1.822a2p-4 +-0x1.fc171p-1 +0x1.96b114p-1 +-0x1.6922bp-2 +0x1.fd4cd8p-2 +0x1.b453p-1 +-0x1.346738p-2 +0x1.e7f58p-4 +-0x1.1a229p-4 +-0x1.62c74p-6 +-0x1.ea75ep-1 +-0x1.c6c48p-7 +0x1.58d2d8p-2 +-0x1.52ee9p-1 +-0x1.554228p-2 +0x1.23df38p-1 +0x1.2a631p-2 +-0x1.f0e8p-8 +-0x1.30881p-1 +-0x1.fedf2p-5 +0x1.6ff08cp-1 +0x1.4e0fdp-1 +-0x1.ef3f2ap-1 +-0x1.96abf8p-3 +0x1.f30c1p-2 +-0x1.3d038p-1 +0x1.96782p-1 +-0x1.3bfaf8p-3 +-0x1.bb5522p-1 +0x1.b2f248p-1 +-0x1.855e84p-2 +-0x1.4144e8p-3 +-0x1.6408d8p-3 +-0x1.a5a17p-4 +0x1.c4edcp-1 +-0x1.9fbcecp-2 +-0x1.adaf74p-1 +-0x1.8c219cp-2 +0x1.aa1768p-2 +0x1.18c61cp-1 +-0x1.69fa68p-2 +0x1.3fa748p-2 +-0x1.3f6ab6p-1 +-0x1.6ee91cp-1 +0x1.feda7cp-1 +0x1.0b3c2p-2 +0x1.07b08p-2 +0x1.59912p-4 +-0x1.371efap-1 +0x1.c57af4p-1 +-0x1.6194ap-5 +0x1.4199d8p-2 +-0x1.3ce3e4p-1 +-0x1.fc8116p-1 +0x1.9bba9cp-1 +0x1.2b4504p-1 +0x1.0fe0cp-2 +0x1.a8dd64p-1 +0x1.6528acp-1 +0x1.8a2eb8p-2 +0x1.25817p-3 +-0x1.a2a854p-2 +0x1.a7f12p-2 +0x1.71e718p-2 +0x1.bacfap-1 +-0x1.30ab1p-4 +0x1.bd442cp-1 +0x1.16a7cp-5 +0x1.0a7e3p-2 +-0x1.4e25f8p-1 +-0x1.d7d624p-1 +-0x1.7bbb6cp-1 +0x1.3c5184p-1 +-0x1.27662p-5 +-0x1.47b3bcp-1 +-0x1.1809cp-5 +0x1.ff52acp-1 +-0x1.9fdeep-2 +-0x1.bc114p-5 +0x1.09fa98p-1 +0x1.7a40c8p-1 +-0x1.32326cp-1 +-0x1.7432bcp-1 +0x1.9eea1p-2 +0x1.a3c1fp-2 +0x1.b6564p-5 +-0x1.539b6cp-1 +-0x1.e03e64p-2 +0x1.8fb2dcp-1 +-0x1.ed477p-4 +0x1.f5792p-2 +0x1.bbb2bp-2 +0x1.16f48cp-1 +-0x1.13e5p-1 +-0x1.f5b116p-1 +-0x1.41cff8p-3 +-0x1.d28accp-1 +0x1.5ed7ep-3 +0x1.080c4p-2 +0x1.346cc8p-1 +-0x1.51e04p-3 +-0x1.50783cp-1 +-0x1.4a245p-4 +-0x1.df8274p-2 +-0x1.18fb68p-1 +0x1.cb7cp-1 +-0x1.5e699cp-1 +0x1.ad775p-3 +0x1.651f78p-2 +0x1.3d3dp-6 +-0x1.0df3d8p-3 +-0x1.a7fdd2p-1 +0x1.db8f28p-2 +-0x1.95ed2p-1 +-0x1.4e333cp-2 +-0x1.c3f3fcp-2 +0x1.9ec6d8p-2 +0x1.b304p-1 +-0x1.49f934p-2 +-0x1.64ac54p-1 +0x1.0593d8p-2 +0x1.08c2ap-1 +0x1.259bbp-1 +0x1.03296p-3 +-0x1.cb48f4p-1 +-0x1.4911bp-4 +0x1.08717p-1 +-0x1.4b1f32p-1 +-0x1.4d04acp-2 +-0x1.8cde8p-2 +-0x1.a699ep-4 +-0x1.86f5b4p-2 +-0x1.37f106p-1 +-0x1.0ea65ap-1 +-0x1.70c9ep-1 +-0x1.42ea44p-2 +0x1.5632fp-1 +-0x1.c359a6p-1 +0x1.cf74a4p-1 +0x1.42ae94p-1 +-0x1.c97cf8p-3 +0x1.637d1cp-1 +-0x1.8047p-8 +-0x1.b7f508p-1 +0x1.36902p-3 +-0x1.cc8d4p-5 +0x1.fb0788p-1 +-0x1.b948d4p-2 +0x1.95a23p-3 +0x1.57d4c8p-2 +-0x1.ea9974p-2 +-0x1.8d346p-4 +-0x1.1ef0c8p-1 +0x1.ba7d78p-1 +0x1.4ce6a8p-1 +-0x1.b63926p-1 +-0x1.90c55cp-1 +0x1.0373cp-1 +0x1.c88ecp-3 +0x1.4a4f7p-3 +0x1.00cfdp-3 +-0x1.293f1ep-1 +0x1.74d808p-2 +0x1.645c08p-2 +0x1.ba36f8p-2 +-0x1.5a07fap-1 +0x1.1bd9p-3 +0x1.932598p-2 +0x1.38bf4p-5 +0x1.07cf6p-3 +0x1.1908ap-4 +0x1.c6c5dp-1 +-0x1.dd72e4p-1 +-0x1.67227p-2 +-0x1.2c5c14p-1 +0x1.c323dp-3 +0x1.765674p-1 +0x1.a32bp-1 +0x1.b98e3p-2 +-0x1.24adf4p-1 +0x1.1d0718p-1 +0x1.b9d41p-1 +0x1.ec689p-1 +-0x1.c0330cp-2 +-0x1.44fc14p-1 +-0x1.a68d6p-4 +-0x1.12646cp-2 +-0x1.91a894p-2 +0x1.899bf8p-1 +-0x1.5c0fp-1 +-0x1.b2051p-2 +-0x1.957be8p-3 +-0x1.6bf8a8p-2 +0x1.a18ae4p-1 +0x1.40212cp-1 +-0x1.b911dcp-2 +-0x1.9f87b8p-2 +-0x1.25ff1cp-2 +0x1.d3d6d4p-1 +0x1.85bf24p-1 +-0x1.0cad4p-4 +0x1.cb1bp-4 +-0x1.4e0858p-2 +0x1.d416ecp-1 +-0x1.d166ep-1 +0x1.5f9458p-2 +0x1.960a14p-1 +-0x1.d9d214p-1 +0x1.77072p-4 +0x1.cc3848p-1 +0x1.29709p-1 +0x1.c4275cp-1 +-0x1.60d57p-2 +-0x1.fe8692p-1 +0x1.5ddee8p-1 +-0x1.cd7d4cp-2 +-0x1.5831cp-5 +-0x1.e4b568p-1 +-0x1.785f24p-1 +-0x1.2ba8dp-2 +0x1.69af2p-1 +0x1.40262cp-1 +0x1.d20778p-2 +0x1.183ca8p-2 +0x1.974858p-1 +-0x1.690ca8p-3 +0x1.9c8f6p-2 +0x1.08b1fp-2 +0x1.f78c2p-2 +-0x1.036574p-2 +-0x1.7df136p-1 +-0x1.0a8e68p-3 +-0x1.da86d8p-2 +0x1.33dfc8p-1 +0x1.14d2bp-2 +-0x1.2fe448p-2 +0x1.72ef4p-4 +-0x1.67ee24p-2 +0x1.79713p-1 +-0x1.7051ep-1 +-0x1.2fa6p-7 +-0x1.7da1bap-1 +0x1.6e5488p-2 +-0x1.380abcp-2 +0x1.413758p-1 +-0x1.dd358cp-1 +-0x1.ca2bp-1 +0x1.a2b6fp-1 +-0x1.e61fe8p-3 +0x1.359a8cp-1 +0x1.a98bb8p-1 +-0x1.e10154p-1 +-0x1.f30092p-1 +-0x1.85827p-3 +0x1.a70d6cp-1 +0x1.3ed6f8p-1 +0x1.f6c1e8p-1 +0x1.615dc8p-2 +-0x1.f3404cp-2 +-0x1.7bd26cp-1 +-0x1.573778p-3 +0x1.4c511p-2 +-0x1.51bd1cp-1 +0x1.655808p-1 +-0x1.e3529p-3 +0x1.a0648p-6 +-0x1.3056dp-4 +0x1.3df56p-2 +-0x1.d1de4ep-1 +-0x1.b9ed4p-1 +-0x1.bded08p-3 +0x1.514b14p-1 +-0x1.77850cp-2 +0x1.abc0c4p-1 +-0x1.57dabp-3 +-0x1.2d5884p-1 +-0x1.08ad7p-4 +-0x1.467958p-1 +0x1.fe0168p-2 +0x1.7784ep-4 +0x1.77924p-3 +0x1.40316p-2 +0x1.9c76c8p-2 +0x1.940fb8p-2 +0x1.1177d8p-2 +0x1.11071p-2 +-0x1.a76428p-2 +0x1.bba27cp-1 +-0x1.d23ddep-1 +0x1.ad7e78p-1 +-0x1.edb0bp-1 +-0x1.f85f22p-1 +0x1.c2713p-2 +-0x1.bf42c4p-2 +-0x1.da1p-7 +-0x1.37b57cp-1 +0x1.6a7298p-1 +-0x1.16655p-3 +0x1.1c642p-2 +-0x1.774c54p-2 +-0x1.da0e0ap-1 +0x1.1b79bcp-1 +0x1.6b1ep-5 +-0x1.22b91cp-2 +0x1.e265cp-1 +-0x1.da5cc4p-2 +0x1.07924cp-1 +-0x1.b2637p-2 +0x1.0384b8p-1 +0x1.376d1p-3 +0x1.723acp-2 +0x1.d975ap-3 +0x1.ffff6p-4 +-0x1.002f4p-2 +0x1.652c4cp-1 +-0x1.c12674p-2 +-0x1.3f6f8p-3 +-0x1.2fae7cp-2 +-0x1.41ef2p-4 +0x1.832eep-2 +0x1.7f9dbp-3 +0x1.1eead8p-2 +-0x1.fe59b8p-1 +0x1.1982p-1 +-0x1.f5a1c4p-1 +-0x1.d87318p-1 +0x1.9546a4p-1 +0x1.292bfp-1 +0x1.f20b58p-2 +-0x1.78322p-1 +-0x1.eb5bd8p-1 +0x1.33b508p-1 +0x1.09687p-3 +-0x1.a91046p-1 +0x1.e9f9p-2 +-0x1.353734p-1 +-0x1.53f6a8p-2 +0x1.b9b1dcp-1 +-0x1.7d7bcp-4 +-0x1.57e39p-4 +-0x1.77bbap-2 +0x1.abb838p-1 +-0x1.9d9364p-1 +0x1.ed58ccp-1 +-0x1.114ed8p-3 +0x1.1d36p-3 +-0x1.df09e4p-1 +-0x1.a1282p-5 +0x1.2c2428p-1 +-0x1.6487cp-2 +0x1.289708p-2 +-0x1.7ce898p-1 +0x1.30fb68p-1 +0x1.0812ccp-1 +0x1.77fb48p-2 +-0x1.2933d6p-1 +-0x1.e6828cp-2 +0x1.2147fp-1 +0x1.c6de94p-1 +0x1.1c59p-1 +0x1.acd258p-1 +-0x1.5794fp-2 +0x1.c349cp-5 +0x1.ead3ep-2 +-0x1.42532p-5 +-0x1.58541p-4 +-0x1.267a94p-1 +-0x1.9b3fdp-4 +-0x1.63244p-6 +0x1.737e24p-1 +0x1.1451bp-3 +-0x1.69c3aap-1 +0x1.60c5fp-1 +0x1.af9e9p-2 +0x1.9093cp-4 +-0x1.a9d662p-1 +-0x1.f0bcc2p-1 +-0x1.e6e0d8p-2 +-0x1.13f09cp-1 +-0x1.b12336p-1 +0x1.17b214p-1 +0x1.5708ep-2 +-0x1.d8fae8p-3 +-0x1.2bf23p-2 +0x1.dd70c8p-2 +0x1.0105b8p-2 +0x1.6c24f8p-1 +0x1.38b2ap-4 +-0x1.bc5fbap-1 +-0x1.c3b64ap-1 +0x1.8ed528p-1 +0x1.c2df4p-5 +0x1.2ed6cp-4 +0x1.ac794p-5 +0x1.4d03e4p-1 +0x1.f659p-3 +0x1.137ccp-2 +-0x1.3621f4p-1 +0x1.498c78p-1 +-0x1.e19a2p-2 +-0x1.2359e8p-3 +0x1.ab463p-3 +-0x1.793608p-1 +-0x1.892d3ep-1 +-0x1.267c48p-1 +0x1.cfee7p-3 +-0x1.16d154p-1 +0x1.35e18p-3 +0x1.c88b8p-5 +0x1.967508p-1 +-0x1.63403p-4 +-0x1.b39fe2p-1 +0x1.2049f8p-1 +-0x1.0be87cp-1 +-0x1.c77bb4p-1 +0x1.5c569p-1 +0x1.1b6f08p-1 +0x1.b2fcep-3 +-0x1.e28cbap-1 +0x1.e6439cp-1 +0x1.877d48p-1 +0x1.7dc778p-1 +0x1.999cap-4 +-0x1.92d108p-1 +-0x1.a326c4p-1 +-0x1.c0bbcep-1 +-0x1.a37cfp-2 +-0x1.f47a5p-4 +-0x1.dd63f8p-2 +0x1.c1f3f8p-1 +0x1.7c4f3p-2 +0x1.a344ap-3 +0x1.98c5p-7 +-0x1.617248p-1 +-0x1.5400aep-1 +-0x1.0da39p-1 +0x1.4e166p-3 +-0x1.eb4db6p-1 +-0x1.6a7b94p-2 +0x1.4ad1cp-2 +-0x1.401428p-1 +0x1.d936acp-1 +-0x1.38bc78p-2 +-0x1.be26dp-3 +0x1.933dd8p-2 +-0x1.54cfep-2 +0x1.3ea7bp-3 +0x1.36828cp-1 +-0x1.4d7d1cp-2 +-0x1.f4be3p-3 +0x1.42dd6p-3 +0x1.bf54dp-1 +-0x1.53ed84p-1 +-0x1.0cf488p-1 +0x1.11bb3p-3 +-0x1.d72e6p-2 +0x1.b7ad8cp-1 +-0x1.8b259ep-1 +0x1.89251cp-1 +0x1.d268cp-1 +0x1.1fd788p-2 +-0x1.d5fedp-3 +0x1.c43f48p-1 +0x1.8d010cp-1 +0x1.fdad5p-3 +-0x1.39c0fcp-2 +0x1.0468fcp-1 +0x1.9d62ecp-1 +0x1.8c136p-2 +0x1.23b7p-4 +0x1.969f08p-2 +0x1.426984p-1 +0x1.a27824p-1 +-0x1.723efp-1 +-0x1.ed9e84p-2 +0x1.4f14p-1 +0x1.f2688p-2 +0x1.f97fcp-4 +0x1.93bb8p-3 +-0x1.21587p-1 +-0x1.6b3b2p-3 +-0x1.166cfp-4 +0x1.7fa04p-4 +0x1.0650d4p-1 +-0x1.5f5b88p-2 +0x1.5169dcp-1 +0x1.85606cp-1 +-0x1.b66d8cp-2 +0x1.b162dp-2 +0x1.20c0bp-1 +-0x1.6da8b2p-1 +0x1.bd1b8p-3 +0x1.f9835cp-1 +0x1.185c5p-3 +-0x1.9ecb88p-2 +0x1.2b1148p-1 +0x1.762134p-1 +0x1.4d344p-2 +-0x1.1eafb8p-2 +0x1.24d0c8p-1 +-0x1.217fe8p-3 +0x1.4e6e7cp-1 +-0x1.4ec7d4p-2 +0x1.58a28p-1 +-0x1.8617p-4 +0x1.10c7ap-3 +0x1.02d98p-3 +-0x1.d0e0bp-3 +0x1.c7b3p-1 +0x1.5c47ep-1 +0x1.349c8p-3 +0x1.765ap-7 +-0x1.667ad4p-2 +0x1.6ae97p-3 +-0x1.93adp-7 +-0x1.1622bp-1 +-0x1.1bf8bp-1 +-0x1.35dd6cp-1 +0x1.ad3f08p-2 +0x1.16570cp-1 +-0x1.d1e11cp-2 +-0x1.a850b8p-1 +0x1.84d8a8p-2 +0x1.5793cp-1 +-0x1.b10bcp-6 +0x1.118594p-1 +0x1.200a4p-4 +0x1.8c566p-2 +0x1.996dfcp-1 +0x1.35bba8p-2 +0x1.9b43acp-1 +-0x1.02d394p-1 +-0x1.00badp-3 +-0x1.94a98p-7 +0x1.2eddd4p-1 +-0x1.7c83fp-1 +0x1.b56aacp-1 +-0x1.9822p-8 +0x1.019a1p-2 +0x1.73ac9cp-1 +0x1.dd01e8p-2 +-0x1.cb37fcp-2 +0x1.98cc64p-1 +-0x1.47cddap-1 +0x1.19c0dp-2 +0x1.6ef82p-3 +0x1.b2f7a4p-1 +0x1.5ae99cp-1 +0x1.93b448p-2 +-0x1.a55822p-1 +0x1.043ce8p-2 +-0x1.61a624p-2 +0x1.c875b4p-1 +-0x1.decfc8p-3 +-0x1.8ac8cp-6 +0x1.d35f5cp-1 +-0x1.775fap-2 +-0x1.4738e2p-1 +-0x1.056ca8p-1 +-0x1.7265ep-2 +0x1.e8565p-2 +0x1.b140ep-1 +-0x1.dd605cp-1 +0x1.a50becp-1 +-0x1.6ac9c8p-3 +0x1.6b60fp-2 +0x1.66bca4p-1 +-0x1.66cbdp-3 +0x1.b4acbcp-1 +-0x1.6afbcp-1 +0x1.e918acp-1 +0x1.757148p-1 +0x1.7fa2ecp-1 +-0x1.8ebffp-2 +0x1.00aafp-1 +0x1.bd3458p-2 +0x1.43287cp-1 +0x1.1e65f8p-1 +0x1.5a0d3cp-1 +-0x1.2e197p-1 +0x1.54c93cp-1 +-0x1.4483dp-1 +-0x1.1692f8p-1 +-0x1.9f40dp-1 +-0x1.5f51fcp-1 +0x1.4e358p-1 +0x1.57d3f8p-2 +-0x1.b6bed2p-1 +-0x1.a6c24p-4 +-0x1.8dcbp-3 +0x1.8b754p-3 +0x1.d9fb08p-1 +0x1.642d38p-2 +0x1.e5ad28p-1 +-0x1.cfcb7p-4 +-0x1.beb44cp-2 +-0x1.42668p-4 +0x1.8db18p-5 +-0x1.fb87f8p-2 +-0x1.f527p-7 +0x1.df0ap-2 +-0x1.450bep-2 +-0x1.32d97p-1 +0x1.485ec8p-1 +0x1.c7dedp-2 +-0x1.d4f2d8p-2 +-0x1.c929aep-1 +-0x1.6c9072p-1 +-0x1.80d214p-1 +-0x1.47dd28p-1 +0x1.219f4p-4 +0x1.89dfb8p-2 +-0x1.4a1c94p-2 +-0x1.cabba8p-2 +0x1.13a44p-1 +-0x1.e139c4p-1 +-0x1.ff852p-3 +0x1.b5972cp-1 +0x1.1b27ap-4 +-0x1.b6d838p-2 +-0x1.485d8p-1 +-0x1.949288p-3 +0x1.1ba1ap-1 +0x1.c75634p-1 +0x1.7c2db8p-2 +0x1.1e4944p-1 +0x1.aa1a5p-3 +0x1.28bc88p-2 +-0x1.1f17fp-1 +0x1.89518p-2 +0x1.08f43p-2 +0x1.f3a56p-1 +0x1.01bc6cp-1 +0x1.17942cp-1 +0x1.731188p-1 +0x1.90da2p-2 +-0x1.497bbcp-2 +-0x1.5aa65p-4 +-0x1.149814p-1 +-0x1.245338p-1 +0x1.08b874p-1 +0x1.f17dp-4 +-0x1.c4d24cp-2 +-0x1.ff1b7cp-2 +0x1.c9b1fp-2 +-0x1.eae8b8p-1 +0x1.e254ap-1 +0x1.9cbc98p-1 +-0x1.1e111p-1 +-0x1.142f4cp-2 +-0x1.d60cd8p-3 +-0x1.a9da1cp-2 +0x1.2997cp-2 +-0x1.d00b38p-2 +-0x1.27f11cp-1 +-0x1.4fe3e6p-1 +-0x1.127ec6p-1 +-0x1.006f1cp-1 +0x1.5c7658p-2 +-0x1.e928c4p-2 +-0x1.7b78c4p-1 +-0x1.2c1188p-1 +0x1.2a1b9p-1 +0x1.5d559p-3 +-0x1.d361c4p-2 +-0x1.42f72cp-2 +-0x1.39c7f4p-2 +0x1.d70308p-1 +0x1.aa83cp-2 +0x1.adb8e8p-1 +-0x1.dc1b24p-2 +-0x1.c73938p-2 +0x1.7acae8p-2 +0x1.517b2p-4 +-0x1.c358cp-6 +-0x1.ab3904p-2 +0x1.4e4c5p-1 +0x1.6d5ddp-1 +-0x1.f053dp-2 +-0x1.47b338p-1 +0x1.7404fp-3 +-0x1.95cdcp-4 +0x1.dffcp-8 +-0x1.d82372p-1 +0x1.13381p-3 +0x1.d6a2b8p-2 +-0x1.6fba34p-2 +0x1.d4dd24p-1 +0x1.c5843p-2 +-0x1.143384p-1 +0x1.e0b6ecp-1 +0x1.b82e08p-2 +0x1.a60bcp-5 +-0x1.69a658p-2 +0x1.4e3d74p-1 +0x1.48d57cp-1 +0x1.da7094p-1 +-0x1.e2a37cp-2 +0x1.e292p-1 +0x1.3a61cp-2 +-0x1.421388p-1 +-0x1.95ea38p-3 +-0x1.c05d4ep-1 +-0x1.527e78p-1 +-0x1.a32d9p-3 +0x1.fa9cp-9 +-0x1.a5028p-4 +0x1.25a454p-1 +0x1.55d944p-1 +0x1.1c911p-3 +0x1.759df8p-2 +0x1.61e08p-4 +0x1.ccdabcp-1 +0x1.8797p-5 +0x1.499058p-2 +0x1.5fed8p-3 +0x1.e46cdcp-1 +0x1.b13c4p-4 +0x1.551368p-1 +0x1.fe71e4p-1 +0x1.de3e3p-1 +0x1.78cbap-1 +0x1.85456p-4 +-0x1.e9c97p-4 +-0x1.2e5ea6p-1 +0x1.732a7p-2 +0x1.31e044p-1 +-0x1.95bddp-3 +0x1.60f838p-2 +-0x1.e6e83ep-1 +0x1.89374p-1 +0x1.fc6978p-2 +0x1.2cbd8p-4 +-0x1.63bab4p-1 +-0x1.d27a78p-1 +0x1.635a08p-2 +-0x1.1a20e4p-1 +0x1.78bdf4p-1 +-0x1.bc1418p-1 +-0x1.3737d8p-1 +0x1.be7eap-2 +0x1.48cc6cp-1 +0x1.f144ap-1 +0x1.623204p-1 +-0x1.f236d2p-1 +0x1.67ba3p-1 +0x1.c02748p-1 +-0x1.ef6868p-3 +-0x1.33ac8p-1 +-0x1.36c8ep-3 +-0x1.84c04p-2 +0x1.722b6p-1 +-0x1.fd76cp-4 +-0x1.26b72p-2 +0x1.c26ecp-1 +-0x1.df3a5p-1 +0x1.eb29ep-3 +0x1.fd8c64p-1 +0x1.4dfd94p-1 +-0x1.7ff92p-3 +0x1.c9f01cp-1 +0x1.4a3cdp-1 +0x1.6c0becp-1 +-0x1.c97dbp-1 +-0x1.0221e8p-1 +-0x1.f066d4p-2 +-0x1.d080f6p-1 +0x1.df189p-1 +-0x1.6c04d2p-1 +-0x1.63ccc8p-2 +-0x1.a6f404p-2 +-0x1.7d3f48p-3 +0x1.566edp-3 +0x1.25f68p-2 +0x1.f3438p-5 +-0x1.5ab8d8p-1 +0x1.104894p-1 +-0x1.68a84cp-2 +-0x1.eb89ep-2 +-0x1.66afd4p-1 +0x1.ca0dcp-4 +-0x1.52ce8p-7 +0x1.4a57bcp-1 +0x1.5155f4p-1 +-0x1.807dbep-1 +-0x1.ae6694p-2 +-0x1.c287bp-2 +0x1.f32cb8p-2 +-0x1.44c14cp-1 +-0x1.e85962p-1 +-0x1.56b1bp-1 +-0x1.b41ed4p-1 +-0x1.8ab36p-1 +-0x1.1f5814p-1 +0x1.d4505p-2 +0x1.13414p-2 +0x1.62b914p-1 +0x1.a87dc4p-1 +-0x1.432534p-2 +0x1.11c064p-1 +0x1.caed74p-1 +0x1.daf4a4p-1 +0x1.5b231p-2 +0x1.b343p-6 +-0x1.3ec6ecp-2 +-0x1.fda04p-4 +-0x1.514d88p-3 +0x1.19fbp-2 +0x1.cbbecp-4 +-0x1.321558p-1 +-0x1.3eb428p-3 +-0x1.83510cp-2 +0x1.a61848p-1 +-0x1.49e59ep-1 +-0x1.5f95ap-4 +-0x1.ad97a4p-2 +-0x1.2be678p-2 +0x1.c4a25p-2 +0x1.d6df6p-2 +-0x1.f8f37p-4 +-0x1.d1ea64p-1 +-0x1.0e41c4p-2 +0x1.917a18p-1 +-0x1.369afcp-1 +0x1.b9e2ep-4 +-0x1.85c5b2p-1 +0x1.350a1cp-1 +0x1.e64178p-1 +0x1.b360fcp-1 +-0x1.190f14p-1 +-0x1.192ad4p-2 +-0x1.2d101p-4 +-0x1.b5826p-1 +0x1.4c3cap-3 +-0x1.a79b28p-1 +0x1.6923bp-3 +-0x1.1179f8p-2 +-0x1.e08b6p-4 +0x1.63fd38p-2 +-0x1.454a24p-2 +0x1.7fd958p-2 +0x1.bc795p-1 +0x1.94873p-1 +-0x1.64b75p-1 +0x1.3fc6fp-2 +-0x1.491588p-2 +-0x1.51a444p-1 +-0x1.b4711ap-1 +-0x1.df4822p-1 +0x1.b97334p-1 +-0x1.8f9adcp-1 +-0x1.4b2874p-1 +-0x1.4940e8p-1 +0x1.5ded08p-1 +0x1.9536ap-2 +0x1.b1b948p-1 +-0x1.229342p-1 +-0x1.8950c8p-2 +-0x1.0f999ap-1 +-0x1.95e2fcp-2 +0x1.566f6p-4 +0x1.dabf58p-2 +0x1.a5cabcp-1 +0x1.0dad6p-2 +0x1.1f35p-3 +-0x1.089116p-1 +0x1.497d58p-1 +0x1.7ea3p-3 +-0x1.40c7a4p-2 +0x1.dcefe4p-1 +-0x1.21cc78p-1 +0x1.c4294cp-1 +0x1.d50a28p-1 +-0x1.19a8f4p-2 +0x1.df01ap-1 +0x1.fe37a8p-1 +0x1.33c6c8p-2 +0x1.f56184p-1 +0x1.5e79dp-3 +-0x1.9a7ecp-3 +0x1.2b5908p-2 +0x1.496588p-1 +0x1.f32d48p-2 +-0x1.216088p-3 +0x1.608cdp-2 +0x1.002f1p-1 +0x1.d40944p-1 +-0x1.c85f7cp-2 +0x1.d22da8p-1 +-0x1.e1566p-4 +-0x1.959b78p-2 +-0x1.b43148p-2 +0x1.85d01cp-1 +0x1.c7cefp-1 +-0x1.69d2c4p-1 +-0x1.d288b4p-1 +0x1.f4f5ccp-1 +0x1.1d3e6p-3 +0x1.b2aabp-2 +-0x1.ec1926p-1 +0x1.c593cp-4 +0x1.4c8e9p-1 +-0x1.3ddfp-1 +-0x1.50144p-6 +-0x1.ec48e8p-2 +0x1.6764p-6 +-0x1.7a1c08p-1 +0x1.790624p-1 +0x1.3d0a08p-2 +0x1.0aa5p-5 +0x1.57452p-4 +0x1.680cdp-3 +0x1.a6775p-2 +0x1.70db14p-1 +-0x1.912718p-2 +0x1.2e9acp-4 +0x1.75d1cp-5 +0x1.43a99p-2 +-0x1.611582p-1 +0x1.1bccbp-1 +0x1.d32bf8p-2 +0x1.14ee2p-2 +0x1.fba764p-1 +-0x1.6d35a2p-1 +0x1.2be1a4p-1 +-0x1.1c33aap-1 +-0x1.d086b6p-1 +0x1.cc2b3cp-1 +-0x1.4df7a8p-3 +0x1.352ad8p-2 +-0x1.da4f94p-2 +0x1.ef38cp-3 +-0x1.ee9198p-2 +-0x1.bd8b2p-3 +-0x1.23784ap-1 +0x1.fdcf98p-1 +0x1.4d748p-3 +0x1.37a864p-1 +0x1.f1dae8p-1 +-0x1.61c4cp-1 +-0x1.65b244p-1 +-0x1.b581ecp-2 +-0x1.03709ep-1 +0x1.a04dap-1 +-0x1.ab72b8p-1 +-0x1.9f058p-5 +0x1.d2c52p-1 +0x1.ef6758p-1 +-0x1.db5dbp-4 +-0x1.848138p-3 +-0x1.cd5e14p-1 +-0x1.0a6cb6p-1 +-0x1.3c628p-4 +-0x1.77aa24p-1 +-0x1.5c9458p-1 +0x1.214e9p-1 +-0x1.57a232p-1 +-0x1.bd1daep-1 +-0x1.8cdcacp-1 +-0x1.eea26p-3 +0x1.f77afp-1 +-0x1.2c1fc4p-2 +0x1.b04cp-8 +-0x1.9b57bap-1 +0x1.625f18p-2 +-0x1.c3860ep-1 +0x1.768e6p-2 +-0x1.b580acp-1 +0x1.b642p-1 +-0x1.80fb06p-1 +-0x1.889a6p-1 +0x1.e1a9b4p-1 +-0x1.81316p-5 +-0x1.3b6578p-1 +0x1.388b2cp-1 +0x1.e8d92p-3 +-0x1.58a77p-4 +-0x1.109f6ep-1 +0x1.2eb87p-2 +-0x1.001a9p-3 +-0x1.c2b14cp-1 +-0x1.a5a61ap-1 +0x1.6e8a8p-1 +0x1.96c21p-2 +0x1.27e728p-2 +-0x1.c8acecp-1 +-0x1.2be358p-2 +0x1.046e1p-3 +-0x1.8476ep-1 +-0x1.7d8956p-1 +-0x1.984c4ap-1 +-0x1.dd9a22p-1 +-0x1.dba54p-1 +0x1.5f3b2p-4 +0x1.e7de54p-1 +0x1.ea966p-3 +0x1.a98928p-1 +0x1.8d45acp-1 +-0x1.769f3cp-1 +-0x1.d6276cp-2 +-0x1.2b07bp-2 +-0x1.cd2cf4p-2 +0x1.10738p-2 +-0x1.e83eecp-2 +-0x1.f3e94p-4 +0x1.321274p-1 +0x1.4e0958p-2 +0x1.99a8c8p-1 +0x1.20cf4p-5 +-0x1.8bf31ep-1 +-0x1.60d064p-1 +0x1.5028b4p-1 +0x1.5405p-7 +-0x1.2cd2cp-5 +-0x1.d2463ep-1 +0x1.d19d04p-1 +-0x1.a75d7p-4 +-0x1.e9f83ap-1 +-0x1.f4d3ccp-2 +-0x1.3e0712p-1 +0x1.06ddcp-4 +-0x1.571a7p-2 +-0x1.13e104p-1 +0x1.efc3cp-2 +-0x1.5df1dp-4 +-0x1.832caap-1 +0x1.7d27fp-1 +0x1.a3b86p-1 +0x1.20e68p-4 +-0x1.712966p-1 +-0x1.2a8cacp-1 +-0x1.9a4b88p-1 +0x1.0847c4p-1 +-0x1.213918p-1 +0x1.99e1ep-3 +0x1.0806p-6 +-0x1.04926cp-1 +-0x1.f8818p-2 +0x1.3eac68p-2 +-0x1.2f4514p-1 +-0x1.8103ccp-1 +0x1.140f4cp-1 +-0x1.af17ep-4 +-0x1.8d80eep-1 +0x1.6bd41p-1 +0x1.17e388p-1 +-0x1.093ba4p-1 +0x1.b3dd48p-2 +-0x1.822e98p-3 +-0x1.10f4e4p-1 +-0x1.c8f1b8p-2 +0x1.d2bfep-2 +-0x1.630618p-1 +0x1.540a8p-4 +0x1.ffa10cp-1 +-0x1.5afe5cp-1 +-0x1.db163ep-1 +0x1.beec4p-2 +-0x1.3a1c3ep-1 +0x1.891ecp-5 +0x1.19326p-3 +-0x1.0d9c38p-1 +-0x1.3da2bp-3 +-0x1.7df5dp-4 +-0x1.825cp-4 +0x1.7702a8p-2 +-0x1.945d0cp-1 +-0x1.afad76p-1 +0x1.eefca8p-2 +-0x1.585e12p-1 +-0x1.d4ecb4p-1 +-0x1.53172p-3 +0x1.d84e58p-2 +-0x1.0d0888p-2 +-0x1.eb6224p-1 +0x1.bca94p-3 +-0x1.302438p-3 +-0x1.d53b38p-2 +-0x1.b02694p-1 +0x1.842a88p-1 +-0x1.7a12dcp-1 +0x1.f0d44p-2 +-0x1.f62454p-1 +-0x1.831fa8p-1 +0x1.cde544p-1 +-0x1.bd840ep-1 +0x1.c14c6cp-1 +0x1.0793bp-2 +0x1.b1f658p-2 +-0x1.2df12p-3 +0x1.59134cp-1 +0x1.361138p-2 +0x1.94bf6p-2 +0x1.b06e4p-5 +0x1.b8b81p-2 +-0x1.def588p-2 +-0x1.cf07acp-1 +-0x1.c7d6bep-1 +0x1.9c4838p-1 +-0x1.a74d6p-4 +-0x1.395fdp-2 +-0x1.eedd5cp-2 +0x1.e4ccep-1 +-0x1.d0d5p-3 +-0x1.914ap-3 +0x1.2869p-3 +0x1.52d8fcp-1 +0x1.32d7e8p-1 +0x1.cadeep-2 +-0x1.2b26a4p-1 +0x1.af3c5p-3 +0x1.69dffcp-1 +-0x1.6cdbfp-2 +0x1.1781c8p-1 +-0x1.cd69a8p-2 +0x1.0b7778p-2 +0x1.94612p-2 +-0x1.4cc7f4p-2 +0x1.cdffb4p-1 +0x1.eba16p-3 +0x1.690c38p-1 +-0x1.872f7p-4 +0x1.5322dp-2 +0x1.fda67cp-1 +0x1.1caba4p-1 +0x1.f161f8p-2 +-0x1.10b28cp-2 +-0x1.b68e96p-1 +0x1.f89104p-1 +0x1.e6e3cp-5 +0x1.03004p-4 +0x1.4347d8p-1 +-0x1.1cc1fcp-1 +-0x1.df983p-2 +0x1.7da6b4p-1 +-0x1.ac91aep-1 +0x1.95dcf4p-1 +-0x1.9db202p-1 +-0x1.9beec4p-1 +0x1.f180c4p-1 +-0x1.bac7p-6 +-0x1.cbde38p-1 +0x1.e4823p-1 +0x1.9e4fep-3 +0x1.e3895cp-1 +-0x1.43ff0cp-1 +-0x1.ed968p-7 +0x1.da04p-4 +-0x1.c6d8ep-4 +0x1.acd7c4p-1 +-0x1.44c43p-1 +-0x1.463884p-1 +-0x1.76a18p-2 +-0x1.9ea4fp-3 +-0x1.b46038p-3 +-0x1.d2b224p-2 +-0x1.886a2cp-1 +0x1.38edep-1 +0x1.14a7d8p-2 +-0x1.18450cp-2 +0x1.65ae14p-1 +0x1.d087d8p-2 +0x1.25f7ccp-1 +0x1.d5a81p-1 +0x1.b934e4p-1 +-0x1.01afp-2 +-0x1.ace42p-2 +-0x1.e958d8p-3 +0x1.a41bdp-1 +0x1.4a2a6p-3 +-0x1.28b33p-1 +-0x1.07e3a4p-2 +-0x1.5967cap-1 +0x1.186b04p-1 +-0x1.65d9p-7 +-0x1.7b1f84p-2 +-0x1.2b7f98p-1 +0x1.4edf78p-2 +-0x1.11c0cp-6 +-0x1.6f5d38p-3 +-0x1.7083p-8 +-0x1.ba5ad4p-1 +-0x1.dc24e8p-2 +0x1.ef4c7p-2 +0x1.6a7978p-2 +0x1.85f5ccp-1 +-0x1.fe09fep-1 +-0x1.dfa39p-2 +-0x1.b246d4p-2 +0x1.b8fap-2 +0x1.4d38a8p-2 +-0x1.a50824p-1 +0x1.13b63p-3 +0x1.07156p-1 +-0x1.862d9cp-1 +-0x1.22414p-4 +-0x1.b92d6p-4 +0x1.c99918p-2 +0x1.ca8dep-4 +-0x1.8b1b32p-1 +-0x1.3e44ep-1 +0x1.ced06p-3 +-0x1.f824bp-2 +0x1.08a7f4p-1 +-0x1.b5c96cp-2 +-0x1.26d92cp-2 +0x1.b5007p-2 +-0x1.07734p-6 +0x1.c897ep-1 +0x1.37048p-4 +0x1.9d830cp-1 +-0x1.c15ffcp-2 +0x1.51fb9p-3 +-0x1.4fcc4p-6 +0x1.7bab7p-1 +-0x1.d002ap-5 +0x1.ee50ap-3 +-0x1.5397bap-1 +0x1.ff679p-1 +0x1.6a3648p-1 +0x1.ab6528p-1 +0x1.fa5fe8p-1 +0x1.09a8p-2 +0x1.a2a01p-3 +-0x1.6f524p-1 +0x1.e145b4p-1 +-0x1.0a26p-7 +0x1.fc28cp-4 +-0x1.dc00c8p-1 +-0x1.a0756p-5 +-0x1.41bc38p-3 +0x1.0f5dbp-3 +-0x1.20214p-2 +0x1.fb1f6cp-1 +0x1.e295p-4 +-0x1.b510ap-2 +0x1.a4158p-1 +0x1.fa2aep-4 +0x1.c6822cp-1 +0x1.c9c1p-6 +0x1.a598ep-2 +-0x1.dcd03p-2 +0x1.b11acp-3 +-0x1.6221c8p-3 +0x1.4d3b8p-6 +-0x1.a75404p-1 +0x1.8d28p-9 +-0x1.09d27p-1 +0x1.84301p-2 +-0x1.c79742p-1 +0x1.09511p-2 +-0x1.ae9d18p-1 +0x1.ea0d68p-2 +0x1.8593ep-2 +-0x1.df8fcp-1 +-0x1.56572p-3 +0x1.7c1014p-1 +0x1.f444p-7 +-0x1.23de36p-1 +0x1.dd8808p-2 +-0x1.d8511cp-2 +-0x1.d41594p-2 +-0x1.96a68p-7 +0x1.7169d8p-1 +0x1.9d5384p-1 +0x1.46c778p-1 +0x1.d09cap-3 +0x1.e052ap-4 +0x1.24ba8p-3 +0x1.38f1acp-1 +0x1.79e758p-2 +-0x1.849d1p-3 +0x1.38938p-2 +0x1.009654p-1 +-0x1.bea4f2p-1 +0x1.0833p-4 +0x1.08d438p-1 +0x1.877658p-2 +-0x1.f9f346p-1 +0x1.ce3974p-1 +-0x1.b8f84p-1 +0x1.223a6p-4 +-0x1.d4cbb4p-2 +0x1.7eda88p-1 +0x1.61931p-3 +-0x1.9855dcp-1 +0x1.98d92p-2 +0x1.79b0acp-1 +-0x1.285864p-2 +0x1.e6b89p-2 +0x1.ba0944p-1 +-0x1.eaeebap-1 +0x1.778d98p-1 +0x1.727p-11 +0x1.c5098p-5 +-0x1.f99cdap-1 +-0x1.0c4bb2p-1 +0x1.f86f7cp-1 +0x1.15ad44p-1 +0x1.38b12cp-1 +-0x1.43439cp-2 +0x1.1bd5p-5 +-0x1.1db42p-1 +0x1.23b52p-1 +0x1.7be52p-4 +0x1.525084p-1 +0x1.fc5568p-2 +-0x1.1a65fcp-1 +-0x1.237df8p-3 +0x1.20fa8p-6 +-0x1.923564p-2 +-0x1.b606bcp-1 +0x1.12913p-2 +-0x1.55e3c6p-1 +-0x1.da1404p-2 +0x1.f861bp-3 +0x1.aae0c4p-1 +-0x1.7d64a4p-1 +-0x1.a22f34p-1 +-0x1.58e148p-1 +-0x1.b54228p-2 +0x1.8da4e8p-2 +0x1.cacc18p-1 +0x1.86eb3p-2 +0x1.b6b5ap-1 +0x1.ddbbb8p-1 +0x1.985c7p-2 +0x1.ccb0bp-2 +-0x1.0fd89cp-1 +0x1.9d4f4p-3 +-0x1.a3326p-2 +-0x1.ca04bp-1 +0x1.0cae18p-2 +-0x1.1ca1acp-2 +0x1.078d5p-3 +-0x1.17429p-4 +0x1.7f7dp-1 +-0x1.b5d422p-1 +0x1.c32d74p-1 +-0x1.686dep-4 +-0x1.522e6p-5 +-0x1.22ebe8p-1 +-0x1.9e32f4p-1 +0x1.d45d3p-2 From patchwork Fri Nov 29 13:17:28 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: 846125 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp857367wrp; Fri, 29 Nov 2024 05:25:43 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCV6twhUXYBpDT1oYL88jd6cXp6bzBuOe/7qKKqfc92SVAOM6tvvHCnpOah3n32jzAEDLSCjqA==@linaro.org X-Google-Smtp-Source: AGHT+IHHKRE3HleZnTk92OyAWxfyquBuzFA4VwIAggOZGJIce79FKHNytF/grB8RrXSPIKouTDn+ X-Received: by 2002:a05:6214:21ed:b0:6d8:88f2:b4d9 with SMTP id 6a1803df08f44-6d888f2b784mr17135296d6.3.1732886742794; Fri, 29 Nov 2024 05:25:42 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732886742; cv=pass; d=google.com; s=arc-20240605; b=c416tJJb+udcSKmfAYNz0y0uMP+7WK8XUsXZ3hSyaScbsqroxnpFkTIHOfnX+0AN6M 4MUc5YhxueOH1avw8MQxS3SEwGDnMbD1RRX/5NPapwwXO/7tsM4FBkK844PGAXYhG18G Iybgb6BZP1rgQesgP14Q+/u9aDr+BmqpBxvrJezDoEGbKOwEtYXNfczThjt6DY5Ty9ch myx2/sI6amKdHjJoUrKY+CrudyyQHx/XwM9rHnOKLV4EvxMKbpoqq/4vUnqwBnQIPMPB l42fvislmhiZATco8bFyXTzbWrHd9gPhCa0VVmoZ/zFPbsz/H53MFYjOZoGBUG2zazr7 UmwA== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to; bh=TbTaSvthXK0uNDIdUPrI2CQ3TFYtjcf34TRCci6roso=; fh=/bzLn4Pu6wt5yJOmVA6NJX5WuFMrzV1CRzIGBeRqGpk=; b=OBX4ZZv1ytPgoDQvbdBvGmz3SeHqjGG1zeNJbItK2aLT7GD0hyZIFGAO7WSKpm9rDc H98E10dr5G2SxRXQb9wJsIzm2Xm3WuOm3CsNgsG/Wikbx/4RVFvS+halBM1m/R3Pp2zW pblEcO+IjuUz+TismSy8lWJMfDNHp5gdH1U+74rmRuzpqLOFaT7/BxV5UzBfPsUTjdLR +el50Zxfx5oXYaqpdcmoqa2LT6tFCrxgGhwmdevzh4bVNMVtyvzJ908uVIIWW35YVQV6 gO6cPfhcyea4/0mxFIXjlckNl55SMFDKUcnGyULH9P6s9aoDH0+O+S4uKc4T2prjgaz/ 5CUw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="MFME/PgH"; 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-6d87557a46csi51132206d6.423.2024.11.29.05.25.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:25:42 -0800 (PST) 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="MFME/PgH"; 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 6FEE73858D33 for ; Fri, 29 Nov 2024 13:25:42 +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 37AA53858D3C for ; Fri, 29 Nov 2024 13:20:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 37AA53858D3C 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 37AA53858D3C 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=1732886446; cv=none; b=Q6pWJYIQbSfsX1E2UGBeUe01GyZP7qp3/2zLWN54hryMCei3QNasCWsdN5xu1UbHEbidAMgXhwsynTm/vhz/sQZw3dzHmQtrdi+/BPMqPVKsdpoPNX6WeVkEQiCMY5ocK8xVzv5ffpRWxKg1a0lONSvGO90l8SmG0lGfLyqChl8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886446; c=relaxed/simple; bh=O8TklOocrXSAXE21NWgW0P2RwPVAAS+PlXjLSjAzdAA=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=RbOwUhYjy1uuiTLExBDoNHPy9ADnBh5koPYrCDMxiCD7hKn+rV4M21UF8VXO4iOiaAUteKxG3CozpNAgRqdvIYj4GgyE16UD2wVZWKgWh92GDNPzuNPn23q0Y+gxKMtwZ/0klpZ1srXG+nzaaE42STPPTp9bfmyK3+4R26KSpMg= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 37AA53858D3C Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=MFME/PgH Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-214d1c6d724so14286805ad.3 for ; Fri, 29 Nov 2024 05:20:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886445; x=1733491245; 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=TbTaSvthXK0uNDIdUPrI2CQ3TFYtjcf34TRCci6roso=; b=MFME/PgHBUt59B4+rF0lRF0Hia3mdzuBK5d4lprRBoB/5q2vt8Y73SPBcA3+N/43Gm Uw9fh1O3qM4laFc7LLg0A3+bzqqcHtJZzSN6XpqzjzGm+ZUPnqj8nDXtQPpyVrlXqbE4 OmNquzPxwDjjRH7CXT2wrHtLo6nylrFnUCiU2xqoaopJgVzh4xCDLi1Feagn3iH8nIim OkTl2x8E4HrQFsMF/cNHrEYq2EHAOjG3LDmjgvsVDW1e5XC4yL5JehniLR0DZuis8jgY nmNsg+3l/aFkIVpxROGa156kVXngDc5ZCFw1LhaTA8IleAFTW+kHMEBF8jxzZPhhfMSt PRFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886445; x=1733491245; 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=TbTaSvthXK0uNDIdUPrI2CQ3TFYtjcf34TRCci6roso=; b=gBeU4w3Y+sdIvlA8H4LYmjPyx3YswyDzwN2DQdrxv2QBKxO7MBCkO8V78c9YlXreOQ iLvJk6Ccl3DCxBzbI5cHdF4+4+kzR8bOnA2GYFITi7w9FgK0kqeULrsnWAgrpIrdrpmF RvWM4cT6st1asu15ZxAVb9LR3U4R4JCa/LKPESXNfRq9YB3/ymmcmifrc7nTfm1sg6Lx F3ayIAKkp6xiMLrsU+0gYOpY0Zf0A4OJhiKuGI3STMvRc2rpkhmvC+Dj/irZelNpJS7q 8pGeyyC01uJUcZXBKVYWPBpjV0FZoEGCL83uwUu3E+7vfAHewSDlrWh1OL8z/1Q9KuFF 2FAw== X-Gm-Message-State: AOJu0Yy3xGQL/Mo9XM05PKXFY12giOKVo6i9Gq/Oc15UjiTB+HDI73Ur 2gWgBVa363nbqsT4vFazj4Hb7aw0ReBj0rQhLhWp2JLTxa5yzDXIzSGCnMTz9PgAi2vbpmYaPlQ TVIcYRw== X-Gm-Gg: ASbGnctVeRp6RgqvCx14vnKyWwtcjQe3ImJQrU40YTE/XC61jaceKYS+yqGkHHvam7g mGWeoWms9gQ5Mqsp1q6WaEW0Pkk502VgRBdSkeSYDtYJy79zRdlXBWkLuIVcYDVbHMXi4oXpLRG 8K8EeD4e32gD3yaxJ2/HNrly9ePA6Wz61pZdHGwtlXbmgZ7rUSzMdFaZKdZgWANrssCgC1KP9sl KUoeP5wP7lOKRMhgMjSLdNuHqSjQcPBCFEoibzegrKffhskLOTHuj05n7FC9Ww= X-Received: by 2002:a17:902:7241:b0:212:4aec:f646 with SMTP id d9443c01a7336-21501855dc9mr108489885ad.33.1732886443990; Fri, 29 Nov 2024 05:20:43 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.20.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:20:43 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie Subject: [PATCH 04/23] benchtests: Add asinhf benchmark Date: Fri, 29 Nov 2024 10:17:28 -0300 Message-ID: <20241129132032.476978-5-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 in the range [-10,10]. --- benchtests/Makefile | 1 + benchtests/asinhf-inputs | 2005 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 2006 insertions(+) create mode 100644 benchtests/asinhf-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index ba280a86a3..47d22b090f 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -31,6 +31,7 @@ bench-math := \ asin \ asinf \ asinh \ + asinhf \ atan \ atan2 \ atanh \ diff --git a/benchtests/asinhf-inputs b/benchtests/asinhf-inputs new file mode 100644 index 0000000000..d89dd0502e --- /dev/null +++ b/benchtests/asinhf-inputs @@ -0,0 +1,2005 @@ +## args: float +## ret: float +## includes: math.h +# Random inputs in the range [-10,10] +## name: workload-random +0x1.b773p-2 +-0x1.d4cedcp+1 +-0x1.2299c6p+3 +-0x1.0e43b2p+3 +0x1.04efp+3 +0x1.494a34p+2 +-0x1.007c24p+3 +0x1.6dda8p+1 +-0x1.7beff8p+1 +0x1.0559p-3 +-0x1.39c93p+2 +0x1.6e48c8p+2 +-0x1.a920ap+0 +0x1.9adap+0 +-0x1.ad022cp+2 +-0x1.f4a97p+2 +-0x1.1bcddcp+2 +0x1.a40408p+2 +0x1.2a73b8p+1 +0x1.6b8a4p-1 +0x1.59822p+2 +-0x1.255b38p+3 +-0x1.6b119p+0 +-0x1.d01a9cp+2 +0x1.327f48p+2 +0x1.cdffap+2 +-0x1.3e8744p+1 +0x1.8c6f4p-1 +0x1.bb04a8p+2 +0x1.87568p+0 +-0x1.9f95cap+2 +-0x1.700bfp+0 +-0x1.cf88ep-1 +-0x1.1c7678p+3 +0x1.bcf16p+2 +0x1.27d11cp+3 +-0x1.1cbeap+0 +-0x1.42dc48p+2 +-0x1.6bab58p+2 +0x1.22f2fp+2 +-0x1.c1557p+0 +0x1.776c5p+1 +0x1.0e9c7cp+3 +-0x1.bfc2fp+0 +0x1.132784p+3 +0x1.fed588p+2 +0x1.b1892p+2 +0x1.f1e73p+2 +-0x1.3660e4p+3 +0x1.2d39ep+3 +0x1.0ebcacp+3 +-0x1.1a9cc6p+3 +-0x1.128a1p+3 +-0x1.1886f8p+3 +0x1.38b18cp+2 +-0x1.d0e444p+1 +-0x1.643504p+2 +-0x1.a49c1p+1 +-0x1.b8f178p+2 +0x1.7b9a9cp+2 +0x1.9c7698p+2 +0x1.35a964p+3 +0x1.e7dcf8p+1 +-0x1.d74acp-2 +0x1.73d1ap+2 +-0x1.69b908p+2 +-0x1.2cf108p+3 +-0x1.101d68p+3 +-0x1.e0f90ep+2 +-0x1.23dbfcp+3 +0x1.0e4238p+3 +0x1.cf909p+1 +0x1.20317cp+3 +-0x1.271982p+2 +0x1.3abfc8p+1 +0x1.ca90dp+0 +0x1.65678cp+2 +0x1.92f68p+2 +0x1.d326dp+2 +-0x1.16c512p+3 +0x1.eedf38p+2 +0x1.38962p+1 +0x1.389268p+3 +0x1.a4ce98p+1 +-0x1.f3c5p-4 +0x1.c64208p+2 +0x1.03fdep+0 +-0x1.a18feep+2 +0x1.fea598p+2 +-0x1.d6be18p+1 +-0x1.93e68cp+2 +-0x1.d44696p+2 +-0x1.b2ce4p+0 +-0x1.26e73p+2 +0x1.dc1418p+1 +0x1.be7d98p+1 +-0x1.fec078p+2 +0x1.17336p+3 +0x1.192b5p+0 +0x1.061cecp+3 +-0x1.3c83ecp+2 +0x1.36399p+0 +-0x1.ba3e3p+2 +0x1.1839cp-1 +-0x1.5ce96cp+2 +0x1.2766b8p+3 +-0x1.0a544ep+2 +0x1.c5b12p-1 +-0x1.d748p+2 +0x1.0748cp+0 +0x1.4fa698p+1 +0x1.3c45acp+3 +-0x1.7910ap+2 +0x1.4af3cp-1 +0x1.4d3c4p+0 +-0x1.937388p+1 +0x1.e72b2p+2 +-0x1.d7c42p+2 +0x1.4631f4p+2 +0x1.7802fp+2 +0x1.be41c8p+2 +-0x1.33c748p+2 +-0x1.c6806p+0 +-0x1.6d4eep-1 +0x1.071164p+2 +-0x1.1869p+3 +0x1.7ea38p+1 +0x1.860efp+2 +-0x1.60c19cp+1 +-0x1.85099p+0 +-0x1.691d26p+2 +0x1.513338p+2 +0x1.bef158p+2 +0x1.0fedb8p+1 +0x1.dd998p-3 +0x1.36209p+0 +0x1.bba1cp-2 +0x1.8973ep+0 +-0x1.329a3p+2 +-0x1.6ccfdp+0 +0x1.be314p+0 +-0x1.bcfap-1 +-0x1.e707p-2 +-0x1.bb0c8p+0 +0x1.382eep+2 +0x1.d0e298p+1 +-0x1.02506cp+3 +-0x1.0a9bfp+1 +0x1.3cd648p+3 +-0x1.305d8p+1 +-0x1.0af4fcp+3 +0x1.79efb4p+2 +0x1.e4faf8p+2 +0x1.7405dp+0 +-0x1.0d40acp+2 +-0x1.9704ep+2 +-0x1.2d6478p+1 +0x1.26af58p+3 +-0x1.9ef396p+2 +-0x1.a06a42p+2 +0x1.1c45bp+3 +0x1.b5d75p+2 +-0x1.2fb1ap+0 +-0x1.669cccp+2 +0x1.6db4fp+2 +0x1.1faab8p+3 +-0x1.8f5f4p+0 +-0x1.1cf29p+2 +0x1.be7b68p+2 +0x1.705224p+2 +0x1.a384d8p+1 +-0x1.2f0112p+3 +-0x1.91108p+0 +0x1.01396p+1 +-0x1.150db6p+2 +-0x1.162c94p+3 +-0x1.f2cc8p+2 +0x1.345a48p+1 +0x1.ab8fcp+2 +0x1.ff494p+2 +0x1.1f1e28p+2 +0x1.430a8p-2 +0x1.e3b1p-4 +0x1.04fe5cp+3 +-0x1.258feap+3 +0x1.4a8d68p+1 +0x1.6c792p+1 +0x1.69d4fp+1 +0x1.3a82e4p+3 +-0x1.ba388p-3 +0x1.eba1c8p+2 +0x1.ecf9ap+2 +-0x1.6e693p+0 +0x1.399dap+0 +-0x1.a4ep-1 +0x1.1a051cp+3 +0x1.d36f1p+2 +-0x1.3346a8p+3 +-0x1.0af2c4p+2 +0x1.3ca9ecp+2 +-0x1.1edf8p-3 +-0x1.ae33fp+2 +0x1.80a74p-1 +-0x1.c390fp+0 +-0x1.6a218p-2 +-0x1.6fb69p+2 +0x1.fec3a8p+2 +-0x1.045ep-4 +-0x1.c865f8p+2 +-0x1.2dc4p-3 +-0x1.09ed5ap+3 +0x1.533158p+2 +-0x1.0f1576p+2 +0x1.f7faep+2 +-0x1.f8ffb8p+2 +0x1.cdfee8p+2 +-0x1.b3119p+1 +-0x1.246fdep+3 +0x1.9103ap+1 +0x1.e39258p+2 +0x1.93f798p+2 +-0x1.4341c4p+2 +-0x1.950d4p+2 +-0x1.d7dfd8p+1 +0x1.0b7cp-3 +0x1.f1aep+2 +0x1.75712p+2 +0x1.840ep-2 +0x1.fa1a6p+1 +0x1.2fp+3 +0x1.d566e8p+2 +0x1.1e8c2cp+3 +-0x1.388eap+1 +0x1.241aep+3 +-0x1.5898b6p+2 +-0x1.446074p+2 +0x1.058b1p+2 +0x1.a4ad8p+2 +0x1.143b1p+1 +0x1.116p+2 +-0x1.75788p-1 +-0x1.8754bp+2 +-0x1.4a31cp-1 +0x1.f1eaep+2 +0x1.177e9p+0 +-0x1.07efc4p+3 +0x1.e7d138p+2 +0x1.26cd6p+0 +0x1.0fce94p+3 +0x1.f822p+1 +0x1.33753p+2 +0x1.deab48p+2 +0x1.1d44e4p+3 +0x1.420e2p-1 +0x1.026fap+0 +-0x1.02a056p+3 +-0x1.b86b18p+1 +0x1.46dd9p+1 +-0x1.0488d8p+2 +0x1.3df304p+3 +0x1.bb502p+1 +-0x1.03d63p+3 +-0x1.e932p-3 +0x1.d2df48p+2 +-0x1.1d5c1cp+3 +-0x1.6b481p+2 +-0x1.30d73p+2 +0x1.b421a8p+2 +-0x1.d40758p+1 +-0x1.5ba1d2p+2 +0x1.8cd11p+1 +0x1.9f8d2p+0 +-0x1.e5a668p+2 +-0x1.edee54p+1 +-0x1.32d2dp+0 +0x1.05d39p+3 +0x1.5f514p+1 +-0x1.36964p-2 +-0x1.708c58p+1 +-0x1.f25cbp+2 +0x1.fd6758p+1 +0x1.e4acep-1 +0x1.6897p+1 +-0x1.fc70b4p+1 +-0x1.28dc08p+2 +-0x1.06b27cp+1 +0x1.28bbc4p+2 +0x1.f7dfd8p+1 +0x1.0ab06p+1 +0x1.8f118p+0 +0x1.441a7p+1 +0x1.deddap+1 +-0x1.0979d4p+3 +0x1.06dfbp+2 +0x1.deap-5 +0x1.063214p+3 +0x1.6dd48p+0 +-0x1.8fff38p+2 +0x1.02a91cp+2 +0x1.01437p+3 +0x1.8cc6ep+1 +0x1.7e2dc8p+2 +-0x1.7fce2p+1 +0x1.8e226p+2 +0x1.accdap-1 +-0x1.8d5e36p+2 +0x1.6e5628p+1 +0x1.1dc7p+3 +0x1.710a28p+2 +-0x1.02a44cp+2 +0x1.55fe2p-1 +0x1.57c1d8p+2 +0x1.5a94b8p+1 +-0x1.ef583ap+2 +0x1.bd43c8p+2 +0x1.34e74p+1 +-0x1.7a684p-2 +0x1.545f3p+1 +0x1.53ede8p+1 +0x1.2269e4p+3 +-0x1.246b08p+1 +0x1.2cf24cp+3 +0x1.858f8p-2 +0x1.7c52cp+1 +0x1.3c7748p+3 +0x1.f9f2cp-2 +0x1.5ac354p+2 +-0x1.c72104p+2 +0x1.b032ap+1 +-0x1.668adp+1 +0x1.98e63p+2 +0x1.9aa4bp+2 +-0x1.867ccep+2 +0x1.a7d178p+1 +0x1.fadbap+1 +0x1.24e73p+1 +0x1.5d8028p+2 +0x1.d910ep+1 +0x1.03ff8p+3 +-0x1.3731cap+3 +-0x1.55f458p+1 +0x1.8e8b08p+2 +0x1.169f7p+1 +-0x1.3ac64p-1 +0x1.bf1fbp+2 +-0x1.befd68p+1 +0x1.058184p+3 +-0x1.40d66cp+2 +0x1.269e7p+0 +0x1.ffc348p+1 +0x1.4f066cp+2 +0x1.b63d8p-2 +0x1.b6755p+0 +-0x1.e88f3cp+1 +-0x1.13ed78p+1 +-0x1.6a24c4p+2 +-0x1.75aca2p+2 +-0x1.1cf92p+1 +-0x1.9ba29cp+2 +-0x1.b51f3cp+2 +-0x1.209db8p+1 +-0x1.165b68p+3 +-0x1.d6aa04p+2 +-0x1.1934ecp+3 +-0x1.c3d52ep+2 +0x1.04827p+3 +-0x1.00b338p+3 +0x1.6490dp+2 +0x1.1ec4c8p+1 +0x1.ee7a88p+2 +0x1.0f3834p+3 +0x1.6bbf4p+1 +0x1.3448dp+1 +-0x1.77010ep+2 +-0x1.39ad7cp+2 +-0x1.c0274p-1 +-0x1.1843c8p+2 +0x1.20e7dp+1 +-0x1.4f092ap+2 +-0x1.4f1e7cp+2 +0x1.1d889p+3 +-0x1.3c217ap+3 +0x1.2fe9ccp+3 +-0x1.9ca8bp+0 +-0x1.8c3768p+1 +-0x1.370012p+3 +0x1.4bf054p+2 +0x1.3476d4p+3 +0x1.26a9acp+2 +-0x1.1404a4p+1 +-0x1.788c8p-2 +-0x1.8723p+1 +-0x1.f253cp+0 +0x1.068adp+3 +-0x1.4febf4p+2 +0x1.4081p-3 +0x1.65e49p+0 +-0x1.4776p-2 +0x1.ea4p-4 +0x1.a66b3p+2 +-0x1.0a213p+0 +0x1.27bfbcp+3 +-0x1.eda456p+2 +0x1.70cd2p+0 +0x1.49acf4p+2 +0x1.5b7918p+1 +-0x1.63b6p+0 +0x1.1795ap+1 +0x1.f82888p+2 +-0x1.36c774p+3 +-0x1.f3ab4p+0 +0x1.abbep+2 +0x1.4875cp+1 +0x1.ff5188p+2 +-0x1.cda434p+2 +-0x1.79a19cp+1 +0x1.143248p+2 +0x1.b2af6p+2 +0x1.909538p+1 +0x1.29bc5cp+3 +-0x1.99dec8p+1 +0x1.55bd8p-3 +-0x1.c885e4p+2 +0x1.9ed748p+2 +0x1.1b11acp+3 +-0x1.7a45dp+2 +0x1.1ef9c8p+2 +0x1.23d49p+3 +0x1.48e5d8p+2 +0x1.cbb7b8p+2 +0x1.370914p+2 +0x1.20e2cp-2 +0x1.22da7p+2 +-0x1.a0d82ap+2 +-0x1.328d5ep+3 +0x1.ea036p+1 +-0x1.a1ce88p+2 +-0x1.39d738p+1 +0x1.d44bbp+2 +0x1.94198p-1 +0x1.c1181p+2 +-0x1.3b4386p+3 +0x1.a94a5p+2 +-0x1.02ba9ep+3 +0x1.149074p+3 +-0x1.9c1d24p+2 +0x1.1adffcp+3 +0x1.acd4ap-1 +0x1.de51cp-1 +0x1.848b78p+2 +-0x1.07764p-1 +0x1.a0825p+2 +0x1.64c33cp+2 +0x1.72d93p+0 +-0x1.15132ep+3 +-0x1.8ebebap+2 +-0x1.e0ea4p+1 +0x1.2b6384p+3 +0x1.e719fp+2 +0x1.40ab08p+2 +-0x1.926c4p-2 +0x1.50e38p-1 +-0x1.0889fp+0 +0x1.fdb698p+2 +0x1.7c985cp+2 +-0x1.3be04p+2 +-0x1.87307p+1 +-0x1.05b89ep+3 +0x1.322a74p+2 +0x1.3697d8p+2 +0x1.e63738p+2 +0x1.76385p+1 +-0x1.1ef4f8p+3 +0x1.233p+0 +0x1.308c8cp+2 +0x1.85df88p+2 +-0x1.5564fp+0 +0x1.84294p+2 +-0x1.f3862p+2 +-0x1.ebd4f8p+1 +0x1.5bb1dp+1 +0x1.e55e5p+0 +0x1.0f794p+3 +-0x1.01d4fep+2 +-0x1.7e1124p+1 +0x1.7ca344p+2 +-0x1.483308p+1 +-0x1.83745ap+2 +-0x1.1b114ap+3 +0x1.256214p+2 +-0x1.ea1928p+2 +0x1.2168c8p+1 +-0x1.85b11ep+2 +-0x1.10d2e8p+1 +0x1.68ba1p+2 +0x1.e9a7ap+2 +-0x1.a1429cp+1 +-0x1.3c4742p+2 +-0x1.1d67bep+3 +0x1.919198p+2 +0x1.2b8804p+3 +-0x1.585cp-6 +0x1.c5ddbp+2 +0x1.187a88p+2 +-0x1.c165d8p+1 +0x1.a2cddp+2 +0x1.8e12ap+1 +-0x1.34ffp+2 +0x1.f7047p+1 +0x1.c55118p+2 +-0x1.0b9b1ap+3 +-0x1.a4a5eep+2 +0x1.54e9ep+2 +0x1.2eb8dp+0 +-0x1.35e106p+2 +0x1.4ca65p+2 +0x1.b607ap+0 +0x1.ee807p+2 +-0x1.28f24cp+3 +0x1.335da4p+3 +0x1.fc6688p+2 +-0x1.131fap+0 +-0x1.19ea62p+2 +0x1.03044p+2 +-0x1.11f274p+2 +-0x1.f5bfe8p+1 +0x1.042c0cp+3 +-0x1.0a295ap+2 +0x1.c3ffdp+2 +0x1.ddf4a8p+2 +-0x1.b8c186p+2 +-0x1.b09dd8p+2 +-0x1.2191c6p+3 +-0x1.5c9196p+2 +-0x1.f9a146p+2 +-0x1.efbb8cp+2 +0x1.0b78f4p+3 +-0x1.2606ap+1 +0x1.9d639p+1 +0x1.e60d2p+0 +0x1.7c1adp+1 +0x1.4a7468p+2 +0x1.0f9fep+0 +0x1.122834p+3 +-0x1.fc025ap+2 +-0x1.a17d24p+2 +-0x1.91ec5p+2 +-0x1.90da14p+2 +0x1.dc397p+2 +-0x1.efe78p+1 +-0x1.d330dep+2 +0x1.f20d4p+2 +0x1.6b967p+2 +0x1.0209e4p+3 +0x1.f329ap-1 +-0x1.43c6f8p+1 +-0x1.b171dp+1 +0x1.b9eea8p+2 +-0x1.7ce3d8p+2 +0x1.97734p-2 +0x1.16e41p+1 +0x1.19661cp+2 +0x1.66248cp+2 +0x1.d54e1p+2 +-0x1.4bd74p-2 +0x1.83955p+1 +0x1.7028d4p+2 +0x1.76dcdp+2 +0x1.e65ep-4 +-0x1.d3e4cp+1 +-0x1.f3223p+1 +0x1.9d20dp+1 +-0x1.92364ep+2 +-0x1.ec02cap+2 +-0x1.7923f4p+1 +-0x1.35fe76p+3 +0x1.b7ee5p+2 +0x1.14b45p+0 +-0x1.c3bd2p+0 +-0x1.20d84p+3 +-0x1.0f6498p+3 +-0x1.adc7ep-1 +-0x1.cd945cp+2 +-0x1.48679p+2 +-0x1.f86d34p+2 +-0x1.24553ep+3 +0x1.c5babp+0 +-0x1.479p-8 +-0x1.18fep-1 +0x1.ac001p+0 +0x1.220408p+1 +0x1.25d448p+3 +0x1.c95118p+2 +-0x1.22d302p+3 +0x1.01dfccp+3 +-0x1.5bf722p+2 +0x1.6198dp+2 +-0x1.380fe6p+3 +0x1.5c5e88p+2 +-0x1.32746p-1 +-0x1.a095ep-1 +0x1.d3c81p+2 +-0x1.a8e03p+1 +0x1.0b53dp+1 +0x1.5c6a84p+2 +0x1.09d65cp+3 +-0x1.f38e5p+1 +0x1.031728p+1 +0x1.0037p-1 +-0x1.02dcaep+3 +-0x1.cd753p+1 +-0x1.336736p+3 +0x1.29914p+3 +-0x1.6b7fcap+2 +0x1.43d738p+2 +-0x1.3a47b8p+3 +0x1.0c7e8p-1 +0x1.1da88p-2 +-0x1.3b0fe4p+3 +-0x1.24fa5cp+3 +0x1.0a6938p+3 +-0x1.683bdp+1 +0x1.9009dp+2 +-0x1.3be9f4p+2 +-0x1.28d126p+3 +-0x1.778fe8p+1 +0x1.42f158p+2 +-0x1.170742p+3 +-0x1.203b9p+0 +-0x1.2fbbp-3 +-0x1.32278p+3 +-0x1.84b34p+0 +0x1.ade6bp+1 +-0x1.3d8dc4p+1 +-0x1.34967p+0 +-0x1.5185ep+0 +0x1.66e734p+2 +0x1.e364ep-1 +0x1.19cbp-4 +0x1.7f2e88p+1 +0x1.64876p+1 +-0x1.b44298p+2 +0x1.14e79p+3 +0x1.458dcp+2 +0x1.aa286p+2 +-0x1.e856f4p+2 +0x1.600318p+2 +-0x1.3b90d8p+2 +-0x1.acd3e8p+1 +0x1.98d8dp+2 +-0x1.883256p+2 +-0x1.ecb41p+2 +-0x1.052336p+3 +0x1.576244p+2 +0x1.1843bp+2 +-0x1.21063ep+3 +-0x1.21eep+3 +0x1.b7387p+2 +-0x1.31a8cap+3 +0x1.a7d5cp+0 +-0x1.2d1e14p+3 +0x1.a860cp+2 +0x1.1bb57p+0 +0x1.4bfaep-1 +-0x1.e7cfcp+2 +-0x1.3bd6c4p+3 +-0x1.23308p+3 +-0x1.27da5ep+3 +0x1.a90a58p+1 +-0x1.3e7394p+3 +0x1.cdc3p+2 +0x1.fec18p+2 +-0x1.b46bc8p+1 +-0x1.ba5a16p+2 +-0x1.162bdp+0 +0x1.5342bp+2 +-0x1.0981p-4 +-0x1.74aa3p+1 +0x1.d16b1p+2 +0x1.28a04p-2 +0x1.2b127cp+2 +-0x1.2f574cp+3 +-0x1.9c0fp-2 +-0x1.e64298p+2 +-0x1.e4842cp+1 +0x1.311bccp+3 +-0x1.02baap+0 +-0x1.08b4cp+3 +0x1.23d53p+1 +-0x1.80e3fep+2 +0x1.acbfp+1 +0x1.77dap+0 +0x1.2b81fp+1 +-0x1.ccp-7 +-0x1.6f764p-1 +0x1.14f68p+1 +-0x1.781fecp+2 +-0x1.380eb6p+2 +-0x1.12b6e2p+2 +0x1.12a88p+2 +-0x1.57caap+0 +0x1.07b45cp+2 +0x1.dfb15p+1 +-0x1.822034p+1 +0x1.06779cp+3 +-0x1.a31084p+2 +0x1.a8e8f8p+2 +0x1.0687d8p+3 +0x1.50b028p+2 +0x1.f385ep+2 +0x1.01264cp+2 +0x1.e9a34p+1 +-0x1.476eacp+1 +-0x1.bf48b8p+1 +0x1.e7da8p-3 +-0x1.9de88p+0 +-0x1.01f376p+3 +-0x1.4a438ap+2 +0x1.0eed8p-2 +0x1.8f4898p+2 +-0x1.1df10cp+3 +-0x1.48e576p+2 +0x1.5a27p-1 +0x1.010a9p+3 +-0x1.5d5ab4p+2 +0x1.f859ep+2 +0x1.e764ap-1 +-0x1.cc61c8p+1 +0x1.b5524p+0 +0x1.2b2ep+1 +-0x1.8ad16p+0 +0x1.95888p+2 +-0x1.1b889p+1 +0x1.9ae98p+2 +0x1.88ap-8 +0x1.56f36p+1 +0x1.fccc6p-1 +-0x1.36352ep+3 +-0x1.1d5eeep+2 +0x1.165a58p+3 +-0x1.07a392p+2 +-0x1.235826p+3 +-0x1.dced34p+2 +-0x1.34188p+1 +0x1.389b6p-1 +0x1.3797b8p+3 +-0x1.5e2576p+2 +0x1.919648p+2 +-0x1.fa91ap+0 +0x1.dee0d8p+2 +-0x1.3085d8p+1 +-0x1.41045p+0 +-0x1.bbcc2p+2 +0x1.35e58p+3 +0x1.6cbfp-2 +0x1.3145ep+2 +0x1.2ee56p+3 +-0x1.689e74p+2 +-0x1.18ca8p+2 +0x1.6cc62p+2 +-0x1.950e6p+0 +0x1.ce7888p+2 +-0x1.10e8aap+3 +-0x1.3350d4p+3 +-0x1.825b1p+0 +-0x1.9115b4p+2 +0x1.a57b58p+2 +-0x1.225926p+2 +-0x1.c043cp+0 +0x1.638eap-1 +-0x1.35449ep+2 +0x1.074e4p-1 +-0x1.faa7f8p+2 +-0x1.69384p+0 +-0x1.de66dcp+1 +0x1.370c64p+3 +0x1.b443cp-2 +0x1.ecc28p-2 +-0x1.04d74p-2 +0x1.41f108p+1 +-0x1.9da8b8p+1 +-0x1.38d1c8p+2 +0x1.4dfacp+1 +-0x1.f4d608p+1 +-0x1.388e7p+3 +0x1.10961p+3 +0x1.1d7c8p+1 +0x1.44abp-2 +-0x1.04114ep+3 +-0x1.b138d4p+1 +0x1.da9b6p-1 +-0x1.18be74p+3 +-0x1.9ce32p+1 +0x1.0730e4p+3 +-0x1.2a1b44p+3 +0x1.db0418p+2 +-0x1.2b0d48p+3 +0x1.241ddp+0 +0x1.4d0b8p-2 +0x1.62c428p+2 +-0x1.e40d9cp+2 +0x1.51bd88p+1 +0x1.14052cp+3 +-0x1.564fcap+2 +0x1.37fc88p+3 +0x1.35fbfp+3 +0x1.c07c5p+2 +-0x1.23184ep+3 +-0x1.9f2862p+2 +0x1.9ef978p+2 +0x1.31b2bp+3 +-0x1.61343p+1 +0x1.f618p-1 +0x1.2aecccp+3 +0x1.74abbp+2 +0x1.10ab3p+1 +0x1.491934p+2 +0x1.17649cp+2 +0x1.f8da78p+1 +-0x1.ba32d8p+1 +0x1.256f6p+0 +-0x1.5e334cp+2 +0x1.08f2a4p+3 +0x1.10275cp+3 +0x1.ae08ep+1 +0x1.f68d3p+2 +-0x1.0da93ep+2 +-0x1.e5bdcp+0 +0x1.d156cp+2 +-0x1.2289ecp+2 +-0x1.37f8eep+2 +-0x1.848a64p+1 +0x1.22ep-6 +0x1.2051p+0 +0x1.f6bd6p+0 +-0x1.5386e6p+2 +0x1.121fccp+3 +0x1.054fb8p+3 +0x1.473ac8p+2 +-0x1.73f646p+2 +-0x1.212ecep+3 +0x1.a8afp-3 +-0x1.4d1e14p+2 +0x1.33b3e8p+3 +-0x1.bca7dp+0 +0x1.d6dc5p+0 +0x1.38225p+0 +-0x1.0b44d4p+2 +-0x1.1b472p-1 +-0x1.8ce334p+1 +-0x1.b8d8cp+2 +-0x1.da2a8p+2 +-0x1.9a8d64p+1 +0x1.7a0758p+1 +0x1.c09cdp+1 +-0x1.2b544p+0 +0x1.31c2ep-1 +0x1.50895p+2 +0x1.0afd3p+2 +-0x1.f40c6p+0 +0x1.ee0e68p+2 +-0x1.b4a2acp+1 +-0x1.185e6ap+3 +0x1.f7939p+0 +-0x1.a9a74p+2 +-0x1.b49ac4p+1 +-0x1.c2b03p+0 +0x1.3b56fp+3 +0x1.647b88p+2 +0x1.cb7738p+2 +-0x1.c634cp+2 +-0x1.225c26p+3 +-0x1.030ap-1 +0x1.40baa8p+2 +-0x1.c7801cp+1 +0x1.8cfd58p+1 +-0x1.276c44p+2 +-0x1.69cd28p+2 +0x1.c0179p+1 +0x1.06269cp+2 +0x1.20f084p+3 +0x1.ddeabp+1 +-0x1.ac2418p+1 +-0x1.01921p+0 +-0x1.2e06dp+0 +0x1.33ae4p+1 +0x1.676a5p+2 +-0x1.0d576cp+2 +0x1.a4baap+2 +0x1.251d7cp+3 +0x1.86f78p+2 +0x1.34be74p+2 +0x1.556c5p+1 +-0x1.cca6b8p+1 +-0x1.647ep-4 +0x1.23ec4p+0 +0x1.1cfdap+2 +0x1.28656p+2 +0x1.59493p+0 +-0x1.1baafcp+1 +-0x1.d3ef24p+2 +0x1.34938p-1 +0x1.1b8f78p+3 +-0x1.fa17aep+2 +0x1.6efe1p+0 +-0x1.092104p+3 +0x1.5efe4p+0 +-0x1.19dbap+3 +0x1.a547ep+0 +0x1.15aff8p+1 +0x1.1b9758p+1 +0x1.068078p+2 +-0x1.d9b2dp+2 +0x1.79704p+0 +0x1.7d96b8p+2 +-0x1.2beaap+0 +0x1.17d128p+1 +0x1.a5562p+0 +0x1.3b3818p+2 +-0x1.60d368p+1 +-0x1.78fc4p+0 +0x1.c8e68p+1 +-0x1.92ea3p+1 +-0x1.f5d4d6p+2 +-0x1.9e12f8p+2 +0x1.9961p-3 +0x1.0c068p+3 +-0x1.097c8cp+2 +0x1.30cf6cp+2 +0x1.aa0ep-2 +0x1.337864p+3 +-0x1.de1c5p+0 +0x1.0e19dp+3 +-0x1.d0072p+0 +-0x1.ceac3p+1 +0x1.bce36p-1 +0x1.a12a78p+2 +0x1.8df4p-1 +-0x1.a76dbcp+2 +0x1.2fd14p+0 +0x1.1d4b2p+3 +-0x1.31653cp+1 +0x1.1c9094p+2 +-0x1.1eca3ep+3 +0x1.e87d4p+0 +-0x1.259654p+3 +0x1.2e64a8p+3 +0x1.7b0b2p-1 +0x1.f4a638p+1 +-0x1.2daf3p+0 +-0x1.c7a206p+2 +0x1.481cf8p+2 +-0x1.618aap+0 +-0x1.916e3p+1 +-0x1.ab894p-1 +0x1.94e28p+2 +0x1.a7c9bp+1 +0x1.451c4p+0 +-0x1.20368p+2 +0x1.a44ba8p+2 +-0x1.5238acp+1 +0x1.904208p+2 +0x1.ebc158p+2 +0x1.beb1f8p+2 +0x1.73afbcp+2 +-0x1.41328ep+2 +0x1.8fa81p+2 +-0x1.0f5644p+3 +0x1.2d40fp+0 +-0x1.2648p-1 +0x1.4f16ep+1 +0x1.552e9p+1 +0x1.9d3ac8p+2 +0x1.f3687p+1 +0x1.5cep-1 +0x1.6b38p-1 +0x1.0d7254p+3 +0x1.0d727cp+3 +0x1.5033a8p+1 +-0x1.135aeap+3 +0x1.026bep+1 +-0x1.fe1b6p-1 +-0x1.4fc5bp+2 +0x1.c108cp+2 +0x1.5e8acp-2 +0x1.8a3728p+2 +0x1.14bf8p-3 +-0x1.61a1c4p+1 +-0x1.c4734p+0 +-0x1.164948p+3 +0x1.0fafc8p+2 +-0x1.16548p-1 +-0x1.fa3d4p-1 +0x1.13a914p+3 +-0x1.1b79dp+1 +0x1.b251dp+1 +-0x1.29368ap+3 +-0x1.1b41d6p+3 +0x1.135724p+3 +0x1.213354p+2 +-0x1.8f39d8p+1 +-0x1.be09ap+1 +0x1.9575ep+0 +-0x1.fa26ep+0 +0x1.e7cc1p+1 +-0x1.7df918p+2 +0x1.5982ep+1 +0x1.3d3cb8p+3 +-0x1.31ead4p+1 +0x1.9fcap+1 +-0x1.e1a49p+0 +0x1.9ee3fp+1 +0x1.25b66p+1 +0x1.312f8p-2 +0x1.9bcd5p+2 +-0x1.3a589p+3 +-0x1.8ae09p+0 +-0x1.0be3c8p+3 +0x1.230fbp+2 +-0x1.16c824p+3 +-0x1.22d6f8p+1 +0x1.be7d7p+1 +-0x1.146116p+2 +0x1.06fa78p+3 +0x1.26f43cp+3 +0x1.47162p+2 +0x1.2f2ba8p+3 +0x1.2b7b68p+2 +-0x1.a5a89p+2 +0x1.29b8e8p+3 +0x1.8b42e8p+2 +-0x1.ed8a6p+2 +-0x1.006a0ep+3 +-0x1.9a032p-1 +-0x1.38e608p+3 +-0x1.7ce748p+2 +0x1.ed39p-3 +-0x1.1465eap+3 +-0x1.28852p+1 +0x1.e40e2p-1 +0x1.04768p+3 +-0x1.1feacp+3 +0x1.6247bp+2 +-0x1.c40778p+1 +-0x1.5f8bccp+1 +-0x1.126fcap+2 +0x1.1823f4p+3 +-0x1.90f08p-3 +0x1.1d1684p+3 +-0x1.9f5bdcp+2 +-0x1.0c70bp+3 +0x1.aac218p+2 +0x1.f6f118p+2 +-0x1.d610bp+1 +0x1.a8fcp-4 +0x1.d828ap+0 +-0x1.99fdfp+2 +0x1.0d0cdp+2 +0x1.0c8544p+3 +0x1.b3087p+1 +0x1.0e3bd8p+1 +0x1.b000c8p+2 +-0x1.167f66p+2 +-0x1.8568cp-2 +-0x1.1b90f8p+1 +-0x1.10c0cp+2 +-0x1.a9ea42p+2 +0x1.dc8a3p+2 +0x1.b1fefp+1 +-0x1.24a0f2p+3 +0x1.b0fdap+1 +-0x1.d1c1dp+0 +-0x1.e2eb7p+1 +-0x1.a84dp-2 +-0x1.bc124p+0 +0x1.031228p+1 +-0x1.d0b976p+2 +-0x1.24cfa2p+3 +-0x1.bf201ep+2 +0x1.5f3538p+2 +0x1.08ed5p+1 +0x1.59a59cp+2 +0x1.596e64p+2 +-0x1.50af8p+0 +-0x1.ce43fp+1 +-0x1.0eb5dep+2 +0x1.cc54dp+2 +-0x1.f99f48p+2 +-0x1.46064p+2 +-0x1.4fff9ep+2 +-0x1.e93dcp-1 +0x1.1f58e8p+3 +-0x1.3707ep+1 +-0x1.f13746p+2 +-0x1.d8700cp+1 +-0x1.191e2cp+3 +-0x1.610044p+2 +-0x1.88c60ep+2 +0x1.6ad074p+2 +-0x1.339cbap+3 +0x1.e4c218p+2 +-0x1.82840cp+1 +-0x1.206e8p+0 +0x1.590418p+1 +-0x1.3d8506p+3 +0x1.19828p-2 +0x1.95092p+1 +0x1.9976p-5 +-0x1.86e2eap+2 +-0x1.c5ad4ap+2 +0x1.3d291cp+3 +0x1.2c19ep+3 +0x1.66edb4p+2 +0x1.a2f37p+1 +-0x1.1a105cp+2 +-0x1.f523bp+2 +-0x1.2d1298p+3 +-0x1.e1d6dp+2 +0x1.d495bp+2 +0x1.a74e88p+1 +0x1.ec6bp-4 +-0x1.f1a5cp+0 +0x1.9955cp+0 +-0x1.ed588p+2 +-0x1.ce569p+0 +0x1.fc10a8p+2 +-0x1.27223p+2 +0x1.059418p+1 +0x1.befad8p+1 +-0x1.8eee0cp+2 +-0x1.3e6a4p+3 +-0x1.fedebcp+1 +-0x1.dccaap-1 +-0x1.377b72p+2 +-0x1.95e4f2p+2 +-0x1.22e39p+0 +0x1.57496p+0 +-0x1.d44ab4p+2 +-0x1.23841cp+2 +-0x1.4792p-5 +0x1.6d4bc8p+1 +0x1.2e6fd8p+2 +-0x1.d65284p+2 +0x1.f053cp+2 +0x1.2825e8p+3 +0x1.ce99ap+0 +0x1.3689acp+3 +-0x1.57d09ep+2 +-0x1.b00634p+1 +0x1.02aaap-1 +-0x1.0553f6p+2 +0x1.0011f8p+3 +-0x1.9cdf1p+0 +-0x1.17753ep+3 +-0x1.314acp+0 +-0x1.8689b4p+2 +-0x1.5932ap+1 +0x1.2bd68p+1 +0x1.5084ecp+2 +-0x1.b8f3f4p+2 +0x1.0df9b8p+3 +-0x1.379028p+2 +-0x1.df06p+1 +-0x1.e8ce8p-2 +0x1.90e9fp+1 +0x1.245ab8p+3 +-0x1.747f44p+2 +-0x1.5cce98p+1 +-0x1.3f4d18p+2 +-0x1.e7636ap+2 +0x1.c3d63p+2 +0x1.21965p+0 +-0x1.1734e6p+3 +-0x1.507f7cp+2 +-0x1.cb0d92p+2 +0x1.174ed8p+1 +-0x1.275ep-1 +-0x1.6b14dp+1 +-0x1.9b54bap+2 +-0x1.7ec2b4p+1 +-0x1.f5542cp+2 +-0x1.5ff81p+0 +0x1.0f4f08p+2 +0x1.354eccp+2 +-0x1.66d272p+2 +0x1.0d8088p+3 +0x1.15c98p-2 +-0x1.6a91ep+0 +-0x1.b21a3p+2 +0x1.da62ap+0 +-0x1.d54dcp+2 +0x1.f36fbp+1 +-0x1.fd681ap+2 +0x1.5a368cp+2 +-0x1.29a7ep+3 +-0x1.1e014p-1 +-0x1.2daf78p+3 +0x1.0c9abcp+3 +0x1.6acefcp+2 +-0x1.fbd7bcp+1 +0x1.7588c4p+2 +0x1.586c4p+1 +0x1.4e3c4p-1 +-0x1.e6a80cp+2 +0x1.4b85p+0 +-0x1.4e49cp-2 +0x1.74dfe8p+1 +-0x1.f28f5p+0 +-0x1.fdb9p-2 +0x1.210b14p+3 +0x1.e316ap+0 +0x1.5a01f8p+1 +-0x1.515478p+2 +0x1.866b1p+1 +-0x1.3f37cp+0 +0x1.192d44p+3 +-0x1.3597b8p+1 +0x1.0c3cbcp+2 +-0x1.31d874p+3 +-0x1.deeafp+2 +0x1.29889cp+3 +0x1.99b9bp+0 +0x1.1223p+3 +-0x1.3691dp+2 +-0x1.7bp+1 +0x1.1b5c8cp+3 +0x1.088ep-2 +0x1.d1e788p+1 +-0x1.c58dp-4 +-0x1.1e3664p+1 +-0x1.06fbd8p+1 +0x1.3074ep+0 +0x1.1a5c4p+3 +-0x1.b2e8e4p+2 +-0x1.3adb44p+3 +0x1.29e77p+1 +-0x1.1f374ep+2 +0x1.12f07p+2 +-0x1.0959dap+2 +0x1.d3c89p+1 +0x1.0a46b8p+2 +-0x1.d8f278p+1 +-0x1.53fd3ep+2 +0x1.3e040cp+3 +-0x1.9e75ecp+2 +-0x1.3aee4p+2 +-0x1.59e2c8p+1 +0x1.3c5b1cp+2 +0x1.8ee88p-3 +-0x1.d5af8p-2 +-0x1.1d65eap+3 +-0x1.069b44p+2 +-0x1.23eeacp+3 +0x1.03189cp+3 +-0x1.5243ep+2 +0x1.175018p+3 +-0x1.12e1a4p+2 +0x1.f6399p+1 +-0x1.446822p+2 +0x1.92b2c8p+2 +-0x1.fb445p+1 +0x1.7ffcp+0 +0x1.98957p+0 +0x1.9bbae8p+2 +-0x1.39e42cp+2 +-0x1.050f34p+3 +0x1.10d974p+2 +0x1.d3188p-1 +0x1.072cap+2 +-0x1.55c89p+1 +-0x1.08698cp+1 +0x1.c57918p+1 +0x1.c8d28p+2 +-0x1.0755f4p+3 +-0x1.d45138p+2 +0x1.466afcp+2 +0x1.20fd48p+1 +0x1.2b248p-2 +0x1.f42dbp+2 +0x1.972308p+1 +-0x1.1107f6p+3 +0x1.1d70ap+3 +0x1.7af02p+2 +-0x1.7a3aa8p+1 +-0x1.8375f8p+2 +-0x1.571ccp+0 +-0x1.c0a2ap-1 +0x1.c1b1a8p+2 +-0x1.80373cp+1 +-0x1.026ep-2 +0x1.d3553p+2 +-0x1.ad70cp-1 +-0x1.bdeac4p+2 +-0x1.e9884p-1 +0x1.541a58p+2 +0x1.11d5fp+3 +0x1.5c6b8cp+2 +-0x1.09f22p-1 +-0x1.a5cfc6p+2 +-0x1.3d60bcp+1 +-0x1.6f57cp+0 +-0x1.65678cp+1 +-0x1.24310ap+3 +-0x1.085662p+2 +-0x1.949de4p+1 +0x1.367a2p+2 +0x1.361228p+2 +0x1.01b4dp+1 +-0x1.0d84cp-1 +-0x1.1132e6p+3 +-0x1.520cap+0 +0x1.4f7fp-3 +0x1.3a4a1p+0 +-0x1.a63cep+2 +-0x1.3790ep+2 +-0x1.8258d8p+2 +-0x1.a67244p+2 +0x1.dac84p+2 +-0x1.3f1aaap+3 +-0x1.e89e38p+2 +-0x1.11e78cp+2 +-0x1.7b7caep+2 +-0x1.6436p-5 +0x1.8d138p+2 +0x1.e476cp-2 +0x1.42885cp+2 +0x1.07124p-2 +-0x1.c66064p+1 +0x1.e4acp-5 +-0x1.2f7fd8p+1 +-0x1.2b374p+1 +0x1.1ea634p+3 +-0x1.fc1d2p+0 +-0x1.670a5p+0 +-0x1.2d6df4p+3 +-0x1.8d22dcp+2 +0x1.791348p+1 +0x1.320ff4p+2 +-0x1.25f6eap+3 +-0x1.ab642cp+2 +0x1.d84c6p+0 +-0x1.d5a91cp+1 +0x1.0f66cp+2 +-0x1.28a5b4p+3 +-0x1.75a56p+2 +-0x1.0a246cp+2 +-0x1.5737bcp+2 +-0x1.f6805cp+2 +-0x1.30e796p+3 +0x1.7f8d3p+2 +0x1.2ba6cp+2 +-0x1.55128p+0 +-0x1.55556ep+2 +-0x1.2e2924p+1 +-0x1.53ecc2p+2 +-0x1.8f845p+1 +-0x1.059c06p+2 +0x1.647a88p+2 +-0x1.868228p+1 +0x1.bdeaep+2 +-0x1.3b83dcp+3 +0x1.13cdp-4 +0x1.e36fc8p+2 +-0x1.28faf4p+1 +-0x1.1c8a18p+1 +0x1.cc9f8p-3 +-0x1.11af34p+3 +-0x1.9c1ccp+0 +-0x1.3a3348p+3 +0x1.fc1eb8p+2 +-0x1.20bb4ap+3 +-0x1.89d5bp+2 +0x1.3ab7acp+2 +-0x1.b9e9fp+1 +-0x1.1c854p-1 +-0x1.7b9ddp+1 +0x1.b19cbp+1 +-0x1.99bdep+0 +0x1.13905p+2 +-0x1.323778p+3 +-0x1.174b7cp+3 +0x1.1be1e8p+2 +-0x1.3e6cbp+3 +0x1.d1af4p+2 +0x1.376dep+0 +-0x1.845b4p+2 +0x1.7b015p+2 +0x1.b9a46p+2 +0x1.a25cfp+1 +-0x1.410deap+2 +-0x1.27447p+1 +0x1.14c108p+1 +0x1.08322p+0 +-0x1.1d7e68p+1 +0x1.058f84p+3 +0x1.0b058p+0 +-0x1.a9fdfp+2 +-0x1.64d66p+0 +0x1.4030d4p+2 +0x1.e04a68p+2 +-0x1.6bp-3 +0x1.e8119p+2 +-0x1.20104p+2 +-0x1.6aa3c2p+2 +-0x1.1c37dep+3 +-0x1.38012p-1 +-0x1.45b43cp+1 +0x1.3153e4p+3 +0x1.1e78ap+2 +-0x1.76102cp+1 +0x1.4947c4p+2 +-0x1.cfeb8p+2 +-0x1.9b46dep+2 +-0x1.936114p+1 +-0x1.e7e62p+0 +0x1.d84b7p+2 +-0x1.aa1bd8p+1 +0x1.f9ec98p+2 +0x1.30858cp+3 +0x1.641274p+2 +0x1.ed922p+2 +-0x1.d880b8p+1 +-0x1.8867e2p+2 +0x1.a2e86p+1 +-0x1.e9015p+1 +-0x1.73c816p+2 +0x1.092598p+3 +-0x1.39c9eap+3 +-0x1.2acccp+0 +0x1.41d4dp+0 +-0x1.843d18p+2 +0x1.7231b8p+1 +0x1.80fe98p+2 +-0x1.b52a0cp+1 +-0x1.9bb122p+2 +0x1.331804p+3 +0x1.398a98p+3 +-0x1.583a4p-2 +0x1.b7de8p-2 +-0x1.3c6e82p+3 +-0x1.60a5c4p+2 +0x1.e19048p+1 +-0x1.617962p+2 +0x1.1cd72cp+3 +0x1.048d4p+0 +0x1.47b7ep+0 +-0x1.1b1a84p+2 +0x1.63ea28p+2 +0x1.30cep-2 +-0x1.5c28p-1 +-0x1.2acd8p-1 +-0x1.0d35bp+3 +0x1.3362a8p+3 +0x1.1f836p+2 +0x1.6a2e3p+2 +-0x1.fc122p+0 +0x1.2f61fcp+3 +0x1.b8d118p+2 +-0x1.131644p+2 +0x1.5188a8p+2 +0x1.cbe9ap+2 +-0x1.566622p+2 +-0x1.03ace4p+1 +-0x1.3facbp+3 +0x1.362a68p+2 +0x1.1d0148p+2 +-0x1.3a7e7p+0 +0x1.a6a45p+2 +0x1.b9d888p+2 +0x1.78a5b8p+2 +0x1.792908p+2 +0x1.02ea44p+2 +0x1.eb4788p+1 +-0x1.4945p+0 +-0x1.ab508p-2 +-0x1.ef47b8p+1 +-0x1.5409cp-2 +0x1.ab651p+0 +0x1.b503cp+2 +0x1.34884p+3 +0x1.27a214p+3 +0x1.00592p+0 +-0x1.b01ce4p+2 +-0x1.fec27p+0 +-0x1.fe5548p+2 +-0x1.03c3c4p+3 +-0x1.2de8d8p+1 +-0x1.2a711ap+3 +-0x1.1921e8p+2 +0x1.a63c9p+1 +-0x1.25af6ap+3 +0x1.d773ap+2 +-0x1.a44488p+2 +-0x1.41626cp+2 +0x1.7c5c6cp+2 +-0x1.f2546p+0 +-0x1.05e14p-2 +-0x1.de4acp+1 +-0x1.81406cp+2 +-0x1.4b5c2ap+2 +0x1.33e7ecp+2 +0x1.587dc8p+2 +0x1.19448p-1 +0x1.d7a61p+2 +-0x1.e25298p+2 +-0x1.a3d7p-4 +0x1.3ce1bp+1 +0x1.31d93p+0 +0x1.a255ap+0 +0x1.3d994p+3 +0x1.675748p+2 +0x1.82fef8p+2 +-0x1.0cdb8p+3 +-0x1.a339bcp+1 +-0x1.3318f2p+2 +-0x1.274526p+2 +0x1.35f25p+1 +-0x1.b78ep+0 +0x1.17f1f4p+3 +-0x1.ac38dcp+1 +-0x1.4952p+2 +-0x1.b6c02p-1 +0x1.2fa9f4p+3 +0x1.ddb95p+1 +-0x1.193ccp+0 +0x1.0e8748p+3 +0x1.3b818p-3 +0x1.3692f4p+2 +0x1.112ep+2 +-0x1.8dabeep+2 +0x1.a1a9p+0 +-0x1.ea7f6cp+1 +-0x1.12951ap+3 +0x1.2fff24p+3 +0x1.9b4eep+2 +0x1.f1a1dp+2 +-0x1.0e9c82p+3 +-0x1.bf881p+0 +0x1.4e83a8p+2 +-0x1.e5b538p+1 +0x1.d72a28p+2 +-0x1.d3347p+2 +-0x1.c8c33cp+1 +0x1.144024p+2 +-0x1.dfa1b4p+2 +-0x1.28158p-1 +0x1.799128p+2 +0x1.e27fp+2 +-0x1.9d4a8ep+2 +-0x1.2183b2p+2 +0x1.768b6cp+2 +0x1.0ec718p+1 +-0x1.0e6604p+3 +0x1.568bcp+2 +0x1.452fcp-1 +0x1.ef04b8p+1 +-0x1.bb6c44p+2 +-0x1.349268p+1 +0x1.ef3ae8p+2 +0x1.5cf398p+2 +0x1.5d793p+1 +0x1.2c8d2p+3 +-0x1.193578p+2 +-0x1.35b236p+3 +0x1.f0a61p+2 +0x1.c0947p+2 +-0x1.2ff888p+1 +0x1.422898p+2 +-0x1.31a67p+3 +-0x1.953208p+2 +-0x1.067d1ep+3 +-0x1.53d56cp+1 +-0x1.8f2a58p+2 +-0x1.9e22p+0 +-0x1.071f9cp+2 +0x1.957568p+2 +0x1.fbfeep+2 +0x1.05997p+0 +0x1.2714p-1 +0x1.2ac994p+3 +0x1.3c08f8p+1 +0x1.587acp+1 +0x1.0cf684p+2 +0x1.e0d6fp+2 +-0x1.ef658p-2 +0x1.9121a8p+2 +0x1.85abcp+0 +0x1.8e82fp+1 +-0x1.a728p+0 +-0x1.67d3ap-1 +0x1.bba188p+1 +-0x1.cb8304p+2 +-0x1.47a702p+2 +-0x1.de1ea8p+1 +-0x1.3bcdbcp+3 +-0x1.f2b3dp+1 +-0x1.1a065ep+3 +-0x1.0ad34p-1 +0x1.347abcp+3 +-0x1.6ea268p+2 +-0x1.d790a4p+1 +0x1.737e4p-1 +-0x1.6ef9fcp+2 +0x1.e06a18p+1 +0x1.a3e67p+2 +0x1.3e5db4p+2 +0x1.893098p+2 +0x1.7b9438p+1 +0x1.0e078p-2 +-0x1.9e6f82p+2 +0x1.b2accp+0 +-0x1.78313p+1 +-0x1.376c1cp+3 +-0x1.3ae10cp+2 +0x1.6c5a6p+1 +0x1.29c6bp+3 +0x1.042b78p+2 +0x1.b51f2p+1 +0x1.153698p+1 +0x1.e6e9dp+2 +-0x1.8f2874p+1 +0x1.f825bp+2 +-0x1.56d8p+0 +0x1.1560cp+2 +-0x1.0eb6b6p+3 +0x1.09ddep+0 +-0x1.294344p+3 +0x1.90a8a8p+2 +0x1.8c768p+1 +0x1.3212bp+2 +-0x1.6bbaeap+2 +-0x1.157bc4p+3 +0x1.da82p-2 +0x1.ce4dp-4 +-0x1.7ec342p+2 +-0x1.dd84p-1 +-0x1.02bd1p+3 +-0x1.7ddd44p+1 +-0x1.585324p+2 +0x1.3788cp+3 +0x1.f617cp+0 +0x1.e1abf8p+1 +0x1.3ad778p+3 +0x1.3fdcd4p+3 +-0x1.35a1ep+3 +0x1.3019dp+3 +0x1.6ead1p+0 +0x1.cf47cp+0 +0x1.03706p+3 +0x1.a8f4b8p+1 +0x1.009cbp+2 +0x1.167068p+2 +-0x1.3e507cp+3 +0x1.4d734p-1 +-0x1.473eap-1 +0x1.1edcp-5 +-0x1.145708p+1 +-0x1.3da0b2p+3 +-0x1.a534p-2 +-0x1.8fdfe4p+1 +-0x1.b84cfp+2 +-0x1.28226ap+3 +-0x1.6e2dacp+2 +-0x1.9d0b3p+1 +-0x1.33bcfap+3 +0x1.b3b7d8p+2 +-0x1.8fad94p+1 +-0x1.7dd77ep+2 +-0x1.b9fdbcp+2 +0x1.895308p+2 +0x1.24b068p+3 +0x1.4b2178p+2 +0x1.e083d8p+2 +-0x1.f9377p+2 +-0x1.18612p+3 +0x1.04564p+0 +-0x1.0a60cp-1 +0x1.17ef98p+3 +0x1.7fd62p+0 +0x1.b05bcp-2 +-0x1.f2eep+0 +0x1.6560c8p+1 +-0x1.25ee56p+2 +-0x1.69faf8p+2 +0x1.579c4cp+2 +0x1.ae828p+0 +0x1.34ee4p-2 +0x1.53dd78p+2 +-0x1.e90fb8p+2 +-0x1.4075d8p+2 +-0x1.8d1928p+1 +0x1.a2aa9p+1 +0x1.cd2bd8p+2 +-0x1.008178p+3 +-0x1.1c88ecp+1 +-0x1.23b6ep+1 +-0x1.b9ca1p+2 +-0x1.f9a192p+2 +0x1.5b8d78p+2 +0x1.af66p+2 +0x1.28b828p+1 +-0x1.76ff8ap+2 +-0x1.fc62c8p+1 +-0x1.43f31cp+2 +0x1.1bbf3cp+3 +0x1.921dfp+2 +0x1.6a1dp-1 +0x1.09813cp+3 +0x1.31422p+0 +-0x1.fc654p+1 +-0x1.3df426p+3 +0x1.ee78d8p+1 +-0x1.dff9d4p+2 +0x1.6d9238p+1 +0x1.074624p+2 +0x1.52c2bp+2 +0x1.7811ap-1 +0x1.ee8998p+2 +-0x1.05b77p+3 +-0x1.91b14p+2 +-0x1.2d9cp+0 +0x1.2af664p+3 +-0x1.fc9f2p+0 +0x1.bff6p+2 +-0x1.bfa5cp+0 +0x1.b6911p+0 +-0x1.4d7adep+2 +0x1.fffcbp+0 +0x1.28ec58p+1 +0x1.29183p+0 +0x1.12214cp+3 +0x1.fe5d58p+2 +-0x1.c3372ap+2 +0x1.090cep+3 +-0x1.c45ccp-2 +0x1.c1dd9p+0 +0x1.6e5d5p+0 +0x1.1d96cp+0 +0x1.77dd8cp+2 +-0x1.1c4c7ep+3 +0x1.1c3454p+2 +0x1.e5cb6p+1 +0x1.36f85p+2 +0x1.a822ep+2 +0x1.29a4f8p+3 +0x1.0ad71cp+3 +-0x1.53eep-5 +0x1.f8cf18p+1 +0x1.8f405p+2 +-0x1.0804b4p+3 +0x1.729298p+2 +-0x1.39220cp+1 +0x1.b62efp+1 +-0x1.3f44b8p+3 +0x1.ea4f98p+2 +0x1.06c748p+1 +-0x1.257ee4p+3 +-0x1.b19c48p+1 +-0x1.8f012p+1 +0x1.d04dap+2 +0x1.db4458p+2 +0x1.d4e8c8p+2 +0x1.f0085p+2 +0x1.a9b768p+1 +-0x1.f0dep-5 +0x1.6c102p-1 +-0x1.253c66p+2 +0x1.01c54cp+2 +0x1.3ae72p+3 +-0x1.ed5368p+2 +0x1.89abcp+1 +-0x1.14521p+2 +-0x1.ca8674p+2 +-0x1.1ad03p+0 +-0x1.323e9p+3 +0x1.376194p+2 +-0x1.44693p+1 +0x1.bbb608p+1 +-0x1.b22c8p-2 +0x1.8f8c08p+1 +0x1.b1424p+0 +0x1.0225fp+1 +0x1.e5f04p-1 +-0x1.af7f3p+0 +0x1.a26b8p+1 +0x1.a02fbp+0 +0x1.148fcp-1 +-0x1.86117p+2 +0x1.4dfda8p+2 +-0x1.a9a638p+2 +0x1.2f5d5p+0 +-0x1.94591p+2 +-0x1.57d71cp+1 +0x1.2e7ba4p+2 +0x1.8809dp+2 +0x1.12642p+1 +-0x1.31a19cp+2 +0x1.05118p+3 +-0x1.3d569p+1 +-0x1.2b1e2cp+3 +-0x1.af10d4p+1 +-0x1.15738p+0 +0x1.ca46p+1 +0x1.74fcd8p+2 +0x1.21681p+3 +0x1.64f5dp+2 +-0x1.01a3ap+2 +0x1.7b4p-8 +-0x1.3b642cp+1 +0x1.79b8e8p+2 +0x1.261dbcp+2 +0x1.789e8p+0 +-0x1.0bce1ep+3 +0x1.2a5198p+3 +-0x1.11f39p+3 +-0x1.242b0cp+3 +-0x1.244b24p+2 +-0x1.9389ecp+2 +0x1.73071p+1 +0x1.253ac4p+3 +0x1.db9c5p+0 +-0x1.2a9bb2p+3 +0x1.227d9p+0 +-0x1.041382p+3 +-0x1.917fbap+2 +0x1.3f6e34p+2 +0x1.b5015p+1 +0x1.378aa8p+1 +-0x1.51fa4p+1 +-0x1.05e088p+2 +-0x1.575d0cp+2 +-0x1.26adf2p+3 +-0x1.ade468p+2 +0x1.489414p+2 +-0x1.ae68p-3 +-0x1.9a8c68p+1 +-0x1.333e68p+1 +0x1.f19fdp+2 +0x1.08f03p+3 +-0x1.2c2c4p+0 +-0x1.721e58p+1 +0x1.7fc5p-4 +-0x1.de526p+0 +0x1.0541f8p+3 +-0x1.33d272p+3 +-0x1.758e3ep+2 +-0x1.1c3d14p+1 +0x1.caf0ep+1 +-0x1.727e7ap+2 +-0x1.da03cp-1 +0x1.38d954p+3 +-0x1.038ee8p+2 +0x1.5bc6ap+0 +-0x1.226714p+2 +0x1.4fdf84p+2 +0x1.0d328cp+2 +0x1.35cc5cp+2 +0x1.077e64p+3 +-0x1.fdc774p+1 +0x1.b255ep+2 +-0x1.83b822p+2 +-0x1.2d62fp+3 +-0x1.ca2f08p+2 +-0x1.a114ccp+2 +0x1.9fdap-3 +-0x1.6777ap+0 +-0x1.660aeep+2 +0x1.cc5f6p+2 +0x1.60363cp+2 +0x1.7ea3ap-1 +0x1.d017ep+2 +0x1.2eb59p+3 +-0x1.81fb48p+1 +-0x1.3b40c8p+1 +-0x1.d8f04p-2 +0x1.57174p-1 +-0x1.0deaf8p+3 +-0x1.acbae8p+1 +-0x1.1178dp+3 +-0x1.8e4328p+1 +-0x1.2d84c2p+3 +0x1.4f0698p+2 +-0x1.c3a0a4p+2 +-0x1.f8b024p+2 +-0x1.41ef2p+1 +0x1.52005cp+2 +0x1.977c4p+2 +0x1.8e5e28p+1 +0x1.00a278p+3 +0x1.fe27bp+1 +0x1.db216p+2 +-0x1.2eee3ap+2 +-0x1.995608p+2 +0x1.09ede8p+2 +-0x1.c64204p+2 +-0x1.9dbfdcp+1 +0x1.39f47p+0 +-0x1.17d8c8p+3 +0x1.b2ff1p+0 +0x1.994d4p-1 +-0x1.d1e74p+2 +-0x1.f5e95p+0 +0x1.7fe66p+1 +0x1.2e1abcp+3 +0x1.d255ap+2 +0x1.5281cp+2 +-0x1.3cc8acp+3 +0x1.b71e7p+2 +-0x1.52b56ap+2 +-0x1.d8998p-3 +-0x1.336fbap+3 +0x1.ab283p+0 +0x1.6bef28p+1 +0x1.74f1cp-1 +-0x1.be6d08p+2 +0x1.0f644p+3 +0x1.70a53p+0 +0x1.754f8p+1 +-0x1.808854p+2 +-0x1.8031e4p+1 +0x1.25f998p+3 +0x1.2f176cp+2 +0x1.6402bp+2 +0x1.7a13ap+0 +-0x1.ca4ecep+2 +0x1.11c0a4p+2 +-0x1.10f328p+1 +0x1.163d68p+3 +-0x1.6a89ep+0 +-0x1.74b65p+0 +0x1.3bf44p+2 +0x1.6a5e14p+2 +0x1.74b66p+2 +-0x1.f6e3fp+2 +0x1.3154ap+2 +-0x1.6e254p-2 +0x1.53e4ccp+2 +0x1.f6efcp+2 +-0x1.3c646ap+2 +-0x1.a04ecp-2 +0x1.2156p+1 +0x1.901a2p+2 +-0x1.51529p+2 +0x1.335f38p+2 +-0x1.0640e8p+2 +0x1.081fp-2 +-0x1.b010ep+0 +0x1.31c66p+3 +-0x1.755138p+1 +-0x1.30d774p+3 +0x1.3b1f14p+3 +-0x1.03ee7p+3 +-0x1.f29644p+2 +0x1.4ec178p+2 +-0x1.b77e8p+1 +-0x1.18d5cap+3 +-0x1.43a012p+2 +0x1.f3b2f8p+2 +0x1.0af884p+3 +0x1.1cd558p+3 +0x1.759214p+2 +0x1.437eep+0 +-0x1.7d3dfap+2 +-0x1.50c7bp+1 +0x1.8614e8p+2 +-0x1.2d4764p+2 +-0x1.b0decp+2 +0x1.98209p+2 +-0x1.b55e4p+2 +0x1.409678p+1 +-0x1.46fa6p-1 +0x1.07b404p+3 +-0x1.1ea3eep+3 +-0x1.14dcacp+3 +0x1.567dcp+2 +0x1.91e6b8p+1 +0x1.f51058p+2 +0x1.8a9f58p+2 +0x1.c559dp+0 +-0x1.794p-10 +0x1.9f897p+2 +-0x1.46e8p-2 +-0x1.a1ap-4 +-0x1.bdd0ap-1 +-0x1.042368p+2 +0x1.11822p+3 +0x1.3eef2p+3 +0x1.bb9b9p+1 +-0x1.9d9022p+2 +-0x1.6b4796p+2 +0x1.213c2p+0 +0x1.5a99d4p+2 +0x1.f958d8p+2 +0x1.9cce98p+1 +-0x1.d0019cp+1 +0x1.1198ecp+3 +-0x1.7daf8ep+2 +0x1.350704p+2 +0x1.13af98p+2 +-0x1.a17d18p+2 From patchwork Fri Nov 29 13:17:29 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: 846123 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp855601wrp; Fri, 29 Nov 2024 05:22:55 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXbr8jPIOTUy/6G9WF68DNjR8iTn1LVEVpprOrTLNMQ6Vm23mwibzEXrFab2Gg3EwxKFFd2ZA==@linaro.org X-Google-Smtp-Source: AGHT+IEYAUYEO0ZXrmUvxKATTQstNOOuiZhfeTPAmMR/hVccVpNImGYgVvML61vx7rOazdGN1Oo8 X-Received: by 2002:a05:6122:8b03:b0:50d:3ec1:154b with SMTP id 71dfb90a1353d-515568ceeafmr14100916e0c.3.1732886574828; Fri, 29 Nov 2024 05:22:54 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732886574; cv=pass; d=google.com; s=arc-20240605; b=flsoYMZTlCUQg6fticI4OB9KRKEQp7QLO1wF5qYd0ff4vZzkT8oWX/o7ug1ZiJs9g6 vOZHCpceo6SIhM3Ma24VpFPThzJddooH4RMO9kM5YC833vl97G0/vT8Ey4bIO+aL1Jrd AF2ntY+WPL0q6wBk2wDac5DdQddF+iKwzGHls5NdF126thk2/L08QZGzVtC3/WU5vbqM lVeKd+SnHrjsBCT2McsxdX63RSl/6Og2XAINAXNUL976CX/WjeCBmZsLjStbNJTmaqwW AZH7eKUppKkXXDKh2Q6uURdnDeFSlBM/fVFansao2f2rZKXo+D7PY9qpvstMx9lq/h2z Lngw== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=7Tmv6M4yzLV3I4GmY5+M0jli464/ZzrGHMvJh8ItULY=; fh=/bzLn4Pu6wt5yJOmVA6NJX5WuFMrzV1CRzIGBeRqGpk=; b=jeUd0ACeQYWFG6Kta6zcnjuzNGAM1u3a5r5WWbHIwX8rCyNT0sbStdFahRkR74NZZ0 mzCBXWwPsTTWWtqtIPz9y0tOD3hvd9npfRe9jPDqkmpH7yIKdCAA8fawiJgJwuF2p7b3 l6Pc0AdEyuP3aD4AmzBtu+yv9c96ytU4UYlECBsvE+Py08u8tmlpRCu5hRkt6iDm9qCA AdAQIJTmLkkkAc5YkuDmqAiij6Pt0hbxgqcKbBb6DYjy6OUzvL/wotJEm/roEswVuICl 5Q8/9a0h2egt87SWDTGJ4GEKcXr7tHopFGYKKQ157ACxRAUmwI84vHQzMKc6vqvhjio1 6MRw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="IN/iT27R"; 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 71dfb90a1353d-5156cbf15a6si1614726e0c.16.2024.11.29.05.22.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:22:54 -0800 (PST) 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="IN/iT27R"; 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 52A723858C51 for ; Fri, 29 Nov 2024 13:22:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 52A723858C51 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=IN/iT27R 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 871173858C5F for ; Fri, 29 Nov 2024 13:20:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 871173858C5F 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 871173858C5F 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=1732886448; cv=none; b=FKImhvMnUohHQ2EpUZ6ZaJjrDTArJWifR62KL5Hkbrl7BZunTBJdmsbrnrqVdzLhEOYfRqj7xJC7r0nS2amwxHBL05Aes47HycpItBeTgMCsBJ4EMUdKt6ubCN2N4o0Hxbd0xy54D5Y1pP0gts+X3UEbXMRKWfNtByOdVHEEeaY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886448; c=relaxed/simple; bh=kiUmkWED15nTCRHp+PQ/NyYsRCd5ykE4EID6Ymbwb7c=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=nS3GQUmFcsjxbE1PxyEdQIcCzfKA2moarYW38d4T5hShuxlU2KIa0qwHL7Ai6SL4qx1IAQ243wzsdKZRA6X3gMOJ2XwfWT8zQkVI1LrFGVtbN9G5DCUUNmhbJPmKBhS8dcVQUBsgd/dHJQHnIPHdvBsMq+Th8v6VWHLhHv86aSI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 871173858C5F Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-21285c1b196so17070105ad.3 for ; Fri, 29 Nov 2024 05:20:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886447; x=1733491247; 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=7Tmv6M4yzLV3I4GmY5+M0jli464/ZzrGHMvJh8ItULY=; b=IN/iT27RZnqCWO0Y6bsSNBZ8yYMTizoVEaKcudv3WMwCU026vuy6mJRW8Fevna09N3 QFu48n8m7ce8dyZ85IynBf8/SRIkkynJsx/QCIJCQ25MKjoKHaZ4Z1Tz+SCK1aFPtmyC Zn04nT4lz+vNNRF8S7TSKe1Z8rCy8RLKNohthRpKnkWe7YItFhEv8psz8VhcGyZxKigy sgML4ykdiPn4K+3tWhHj4IU4v7cxbmkRhJB/zbVc5ao2mzna5bgM+4kP4xN9PQPhP5BE FjLpYk2tdMkbmBvZE4fUCoHbyev4IdA4WzFHBtFTdEs1lT3pzx6ZvkdUHjohRQwYj9xT 8U9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886447; x=1733491247; 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=7Tmv6M4yzLV3I4GmY5+M0jli464/ZzrGHMvJh8ItULY=; b=HJxJssUs6Nn52FV3kh8QdFxt28oq+hGIuBG8mzf0MqS3Ik4ysleSiuBxukw1KxQrC7 XyPt6YV0PwGObU4RvQq+nX7wOuHRnk6I0wqTt/yjZ0kSpvegSRA3HHhtIMM9sIsbq25m wx0dO7oA7IG640ITeiEJ4M79e8aoe8v2RubzEnhQEH0V2BBfTOySSDzbXX5s0Rx92Za2 XZLkBkh8lCQFU4j/YYe/cjh9dzoLnBOgGO+CPClUWI39gEQ8lF1mPnbjcOlfRC/kf8vn osQQ5viGIHws674yIN+81X5rSnwj/4u+JLeDdc9JcrHGMx6GhA4iFrBorgPLob1gZ9vt 29/Q== X-Gm-Message-State: AOJu0YxNAkHljrblmGIbl8q6CeN76VbmAP/e1lq2HV9RivN70pICMIlL YH9e51RKge6pKCAchyNAOHg9hphMYtRDgfkT8H0cilBtnjo1yrNqib8Fqi6Cw/LLMRn8mqgG+l2 pBwTjGA== X-Gm-Gg: ASbGnctK+jtc3rTqkfhX4nEGT4Cxui6g7BETfKz0BWEvM8f/vlAXXKfZoTXOKyF7ZSV QHQzL25SkxAAgamilGEbddjCIz+jrAEOvqcfIx4CLh84waNyZCteq+YaONvTmcASZOWrz8SSFMw 6H8IwCxMN+GJ9RqnjMHIzPNga9VSuPjzQwNP3SqLrEcJ0aR08G9rHmgFyearH/6jnuyLbFh4QLH lqCG8xQbZBBlyie8VsoDKKmNzwVNPW1tiZW/rkNTyXxY4C5ldb6//byuPahf48= X-Received: by 2002:a17:903:228d:b0:211:e66d:7450 with SMTP id d9443c01a7336-21501a44af6mr141326835ad.32.1732886446089; Fri, 29 Nov 2024 05:20:46 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.20.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:20:45 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie Subject: [PATCH 05/23] benchtests: Add atanf benchmark Date: Fri, 29 Nov 2024 10:17:29 -0300 Message-ID: <20241129132032.476978-6-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 in the range [-10,10]. --- benchtests/Makefile | 1 + benchtests/atanf-inputs | 2005 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 2006 insertions(+) create mode 100644 benchtests/atanf-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index 47d22b090f..143d6c2bbf 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -34,6 +34,7 @@ bench-math := \ asinhf \ atan \ atan2 \ + atanf \ atanh \ cbrt \ cbrtf \ diff --git a/benchtests/atanf-inputs b/benchtests/atanf-inputs new file mode 100644 index 0000000000..2cb1a5f1f6 --- /dev/null +++ b/benchtests/atanf-inputs @@ -0,0 +1,2005 @@ +## args: float +## ret: float +## includes: math.h +# Random inputs in the range [-10,10] +## name: workload-core-math1 +0x1.82c748p+2 +-0x1.0b2fa6p+3 +0x1.1aeap+3 +-0x1.072d74p+3 +-0x1.71f584p+2 +0x1.525788p+2 +-0x1.079028p+3 +-0x1.09235cp+3 +0x1.1eb3ccp+2 +-0x1.28878ep+3 +-0x1.6d5164p+1 +-0x1.fd523cp+2 +0x1.de65e8p+2 +-0x1.05ed4p+3 +-0x1.1b2054p+3 +-0x1.9e5a5p+1 +-0x1.9d6d8ep+2 +0x1.3e55p+3 +-0x1.8286ccp+2 +-0x1.600e2ep+2 +0x1.bd6a48p+2 +-0x1.39d934p+3 +0x1.d033cp-1 +-0x1.0118ep+1 +0x1.eef87p+0 +-0x1.020b56p+2 +-0x1.368226p+2 +-0x1.347528p+1 +-0x1.eeb58p+0 +0x1.3516dp+0 +-0x1.e51e0cp+2 +0x1.d017p+1 +-0x1.6ac17cp+1 +0x1.0ec1c8p+3 +0x1.a9b8d8p+2 +-0x1.648acp+0 +-0x1.f406ep+2 +0x1.084bacp+3 +-0x1.c0a6fap+2 +-0x1.26ffp-2 +-0x1.cb291p+0 +-0x1.3cc0ep+2 +-0x1.359f78p+1 +0x1.4372d8p+2 +0x1.4cbd2p-1 +0x1.4552fp+1 +-0x1.b98a8p+1 +0x1.cc5e88p+1 +0x1.14d414p+3 +-0x1.21600ap+2 +0x1.d7e22p+2 +0x1.f82c4p-1 +-0x1.3dfc0ep+3 +0x1.110c0cp+3 +0x1.2e3d24p+3 +0x1.7c672p+0 +-0x1.6a90a8p+2 +0x1.c103bp+2 +-0x1.274c14p+2 +-0x1.f377d4p+2 +-0x1.405114p+2 +0x1.d36fep+0 +0x1.0aca8p+3 +0x1.d519p+1 +-0x1.52ac1ep+2 +0x1.7838dp+0 +-0x1.211e8p-3 +0x1.d5c22p+2 +0x1.7665dp+1 +0x1.7f51p-3 +0x1.6ca05p+2 +-0x1.6ec632p+2 +0x1.a7ff4p+0 +-0x1.cab87cp+1 +0x1.f56038p+2 +0x1.8123bp+2 +0x1.3847ep+0 +0x1.f7ea3p+0 +0x1.9716fp+1 +-0x1.cf3c8p+2 +0x1.39acf4p+3 +0x1.095e44p+3 +-0x1.cffdb8p+1 +-0x1.0d5f6p+2 +0x1.ea41p-3 +0x1.a5cc98p+1 +0x1.0d212cp+2 +-0x1.03cf04p+2 +-0x1.0609fcp+3 +-0x1.f384eep+2 +0x1.8f09ap+0 +-0x1.1fd75p+1 +0x1.47af54p+2 +-0x1.b86d24p+2 +-0x1.5befp-4 +-0x1.ea558ap+2 +-0x1.95a682p+2 +-0x1.e6c7d4p+2 +0x1.b6bf9p+2 +-0x1.27364p-1 +0x1.2a94bp+3 +0x1.eec5p-3 +0x1.666f8p-2 +0x1.82298p+1 +0x1.398878p+2 +-0x1.a3163p+1 +-0x1.015e1ap+3 +0x1.6e3aa8p+2 +-0x1.33c3dcp+2 +-0x1.fdcfp+0 +0x1.3c3488p+3 +-0x1.8cc7p+1 +0x1.464d1p+0 +0x1.355d28p+1 +0x1.d7f08p-1 +-0x1.00f634p+3 +-0x1.1e8abp+0 +0x1.f76cdp+2 +0x1.076358p+2 +0x1.05d6c8p+3 +0x1.60e3fp+1 +-0x1.ebf0fp+1 +0x1.7483fp+2 +0x1.82a318p+2 +-0x1.5db8bep+2 +-0x1.7277p-3 +-0x1.da648p-3 +0x1.b7cb2p+2 +-0x1.8831d8p+2 +0x1.7f95b8p+2 +-0x1.c1cd3p+2 +-0x1.0b7e18p+1 +-0x1.83548cp+1 +0x1.b82ap+0 +-0x1.1857e8p+1 +0x1.3343e8p+3 +0x1.79256p+0 +0x1.0c48ap-1 +0x1.ae184p+2 +0x1.ba11d8p+2 +-0x1.0b4dc8p+3 +0x1.c06298p+2 +-0x1.3bf0a8p+3 +0x1.2d3e9p+1 +-0x1.4c763ap+2 +-0x1.e5dedcp+2 +0x1.759a44p+2 +-0x1.0e4bbp+3 +-0x1.169f24p+2 +-0x1.14f64ap+3 +-0x1.6b0182p+2 +-0x1.17f7b4p+3 +-0x1.0e3f8cp+2 +-0x1.36ca32p+3 +0x1.d6e458p+2 +0x1.4aebcp-1 +0x1.706e28p+1 +-0x1.ae5b3p+1 +-0x1.f2b63ep+2 +-0x1.9acddp+2 +-0x1.efdd4p-1 +0x1.55d2ap+1 +0x1.783948p+1 +-0x1.0a41p-4 +0x1.deff28p+2 +0x1.204ffcp+3 +0x1.c5a9e8p+2 +-0x1.d46238p+1 +-0x1.ee202p-1 +-0x1.08bbcp-2 +-0x1.46096p+2 +-0x1.155p-2 +0x1.0ea26cp+3 +0x1.256ce8p+1 +0x1.0424cp+3 +-0x1.eed1f4p+2 +-0x1.1a26ecp+2 +0x1.0eff3cp+2 +0x1.970858p+2 +-0x1.2dce9p+3 +0x1.571654p+2 +-0x1.08c85cp+1 +-0x1.ccd436p+2 +0x1.feed6p+0 +0x1.c793fp+1 +-0x1.fbf8cp-2 +0x1.4e451p+1 +-0x1.1a7ebap+3 +0x1.0a118p+3 +0x1.06bb14p+2 +-0x1.1bc264p+2 +0x1.10edap+1 +-0x1.a14c1p+1 +0x1.bbb468p+2 +0x1.07155p+0 +-0x1.fe0bf8p+2 +-0x1.8824ep+1 +0x1.34f7bp+3 +-0x1.1cf394p+2 +0x1.2256dp+3 +-0x1.0e4ep+3 +-0x1.23013p+3 +-0x1.17e55p+0 +0x1.0bccep+2 +0x1.b76e5p+2 +-0x1.569cbp+0 +0x1.ad5aa8p+2 +-0x1.e43f24p+2 +-0x1.ed9c7ep+2 +-0x1.bd1908p+2 +-0x1.b659c8p+2 +0x1.3ff46p+2 +0x1.8ad508p+1 +0x1.a922dp+1 +0x1.2bec28p+1 +0x1.3a163p+0 +0x1.0e48p-1 +-0x1.eca5bp+2 +0x1.8df9d8p+2 +-0x1.f15accp+2 +0x1.3feb6cp+3 +0x1.f1ee8p+2 +0x1.8274dp+0 +-0x1.07e69cp+3 +-0x1.69f67cp+2 +0x1.4afde4p+2 +0x1.88243p+0 +0x1.3fb09cp+2 +-0x1.9c9c2p+2 +0x1.31fac4p+2 +-0x1.ba2894p+2 +0x1.421a5p+2 +0x1.cdd14p+2 +-0x1.35716cp+1 +0x1.159d28p+3 +0x1.0010d4p+3 +-0x1.2f32dcp+3 +-0x1.67c47cp+2 +0x1.ac2f1p+0 +-0x1.177438p+3 +0x1.6281c8p+2 +-0x1.91b624p+1 +-0x1.a69abp+2 +0x1.4ac6p-3 +-0x1.5fced4p+2 +-0x1.01f294p+3 +0x1.17f52p+0 +-0x1.eff7p-4 +0x1.3b0e34p+2 +-0x1.bec88p+1 +-0x1.2eec36p+2 +0x1.35243cp+3 +0x1.bc5aa8p+2 +-0x1.0d7cfp+3 +-0x1.5627p-3 +-0x1.f90b34p+2 +-0x1.2742dep+3 +0x1.a4c38p+1 +0x1.07f708p+3 +-0x1.46ea4p-1 +0x1.13dabcp+3 +0x1.f463dp+1 +0x1.c3959p+1 +-0x1.39101ap+2 +0x1.afcc08p+2 +-0x1.82ba54p+2 +0x1.a4ae1p+0 +-0x1.62878p+0 +0x1.13ff8cp+2 +-0x1.1cfc8p-2 +0x1.3e6768p+1 +0x1.fb968p+2 +-0x1.55c9e4p+1 +0x1.8d11ep+0 +0x1.11c74p+3 +-0x1.9f272ep+2 +-0x1.8aa228p+1 +0x1.64a568p+1 +0x1.29b0ap+3 +-0x1.ea0912p+2 +-0x1.f9863p+2 +0x1.274f28p+2 +-0x1.20ddc4p+3 +0x1.03268p+1 +0x1.ea0b1p+2 +0x1.3db3cp+3 +0x1.912f68p+1 +-0x1.41a63p+1 +0x1.7d1818p+2 +-0x1.1cbd4p+0 +0x1.8c15a8p+2 +-0x1.1dc70ep+2 +-0x1.f76d1p+2 +-0x1.196146p+2 +0x1.bebb48p+2 +-0x1.066884p+2 +0x1.242d7cp+3 +-0x1.68ecap+1 +0x1.1e3bf8p+3 +-0x1.1834a8p+2 +-0x1.28f17ep+2 +-0x1.863p-4 +-0x1.0a646p+0 +-0x1.2887d6p+3 +-0x1.b6fd1p+1 +-0x1.3f40ep+0 +0x1.09ce4p-2 +0x1.579028p+1 +-0x1.119c5ap+3 +-0x1.5fb97p+2 +-0x1.87bcap+2 +0x1.8f247p+2 +-0x1.7f461p+0 +-0x1.6880ep+1 +0x1.0de098p+2 +-0x1.ec045cp+2 +-0x1.091df6p+3 +-0x1.1c42dap+2 +-0x1.345342p+3 +0x1.d0daep+0 +-0x1.2d6ap+0 +-0x1.111a2p+3 +0x1.ae3bp+0 +0x1.684558p+2 +-0x1.2ff3e2p+3 +-0x1.a3ba9p+0 +0x1.e96d8p+1 +0x1.0a534cp+2 +-0x1.d84a4p-2 +0x1.087a8p+3 +0x1.22d934p+3 +-0x1.e1ebap-1 +0x1.96a2cp-2 +-0x1.760a9cp+2 +-0x1.b265e4p+2 +0x1.80e1cp+1 +-0x1.9b259p+1 +-0x1.5f220cp+2 +0x1.2604dp+3 +0x1.0c9528p+2 +-0x1.ec2608p+2 +-0x1.6a4dep+1 +0x1.f0bd58p+2 +0x1.0f2018p+3 +0x1.1178p-3 +0x1.0f2584p+2 +0x1.677eb4p+2 +0x1.afa7c8p+2 +-0x1.9d9238p+1 +-0x1.eabcbp+1 +0x1.f578ep+1 +0x1.69d4dp+2 +0x1.2e1b8p-2 +-0x1.7fbbep+0 +0x1.be058p+2 +0x1.2dd258p+3 +0x1.33e318p+1 +0x1.c102bp+2 +-0x1.68da74p+2 +-0x1.bc25b8p+1 +0x1.5ed7fp+0 +-0x1.9369ecp+2 +-0x1.e916p-3 +0x1.92565p+2 +-0x1.3edd34p+1 +-0x1.0b065cp+3 +-0x1.9d1ae8p+2 +-0x1.510a34p+2 +-0x1.3a761ep+3 +-0x1.07118p+0 +0x1.1e7d38p+3 +0x1.2f151cp+3 +0x1.263c88p+2 +0x1.28287cp+3 +0x1.f35df8p+2 +-0x1.8553ap+0 +-0x1.c3a2p-3 +-0x1.95fe08p+2 +0x1.4edacp+1 +0x1.fcc1f8p+2 +0x1.2284ap+2 +-0x1.cf1542p+2 +-0x1.3e526ap+3 +-0x1.14b726p+3 +0x1.efeefp+1 +-0x1.9e54bp+0 +-0x1.ca69bp+0 +0x1.076428p+2 +0x1.20abecp+3 +-0x1.1233fap+2 +-0x1.09401p+3 +0x1.661fcp+2 +0x1.ae45f8p+2 +-0x1.8b56ep+2 +0x1.6f3p-3 +-0x1.aa9da6p+2 +0x1.ac139p+2 +-0x1.90ca38p+1 +-0x1.66028ap+2 +0x1.9ef86p+1 +0x1.e264b8p+2 +0x1.07a7cp+0 +0x1.332ac4p+3 +0x1.3c6ed8p+3 +-0x1.b9fa48p+1 +0x1.9071p+2 +-0x1.4af18p-2 +0x1.065264p+3 +-0x1.d29b14p+1 +-0x1.e19708p+2 +0x1.3ed544p+3 +-0x1.741b4p+1 +0x1.59268p-1 +0x1.3e8b6p+3 +0x1.61b4ecp+2 +0x1.adc538p+2 +0x1.b96f3p+0 +0x1.34f29p+0 +0x1.8f3208p+1 +-0x1.e31244p+1 +-0x1.3120bcp+3 +0x1.20184p+0 +-0x1.798a52p+2 +-0x1.68261ap+2 +0x1.8ae0ep+0 +0x1.2ca934p+2 +-0x1.ceef1cp+1 +-0x1.5a0f6ep+2 +0x1.53cffp+0 +0x1.2f0388p+3 +0x1.102fcp+3 +-0x1.421fbp+1 +0x1.d14adp+1 +-0x1.3ccfb8p+2 +0x1.2d3e3p+1 +-0x1.58f1a6p+2 +-0x1.60dbacp+2 +-0x1.ec6d64p+1 +0x1.fdf1fp+0 +-0x1.d3774p-1 +-0x1.478d1ep+2 +0x1.f9e8p+0 +-0x1.83b1dep+2 +0x1.ed8p+2 +-0x1.212bccp+1 +-0x1.30736p+3 +-0x1.9ad63p+1 +-0x1.31cbc8p+2 +-0x1.398bb8p+2 +-0x1.cd5cp-5 +-0x1.a30c5cp+2 +-0x1.80b676p+2 +-0x1.2562cap+3 +0x1.07145p+3 +-0x1.71820cp+2 +0x1.ddee7p+1 +-0x1.57704cp+2 +0x1.394c3cp+3 +0x1.3ba03p+3 +-0x1.dc6a82p+2 +0x1.15a488p+3 +0x1.91ff3p+1 +0x1.0464b8p+2 +0x1.c0dbdp+0 +0x1.13edcp+3 +0x1.779a18p+1 +-0x1.b4eb3p+0 +-0x1.2f2ebcp+2 +0x1.6b2c7p+0 +0x1.99835p+1 +-0x1.20e87ep+3 +0x1.f3ep-8 +0x1.05d39p+3 +-0x1.ed119cp+1 +-0x1.1f37p+1 +0x1.d6694p+2 +-0x1.698c7ap+2 +-0x1.857c34p+2 +-0x1.3a49dp+1 +-0x1.e1cec8p+2 +-0x1.ce87bcp+2 +-0x1.3156acp+2 +-0x1.313dbcp+2 +0x1.9d7p-1 +-0x1.0e0f18p+3 +-0x1.6ba8p-6 +0x1.bd1da8p+2 +-0x1.0ce162p+3 +-0x1.05f21p+0 +0x1.55096p+1 +-0x1.25358p-2 +0x1.e28bf8p+2 +0x1.4fbadp+0 +0x1.70d5ep+0 +-0x1.4508dp+2 +0x1.749d2p+1 +0x1.7cdf6p+2 +0x1.6d048p-1 +0x1.10fep+1 +0x1.4a9df8p+2 +0x1.92bbd8p+1 +0x1.a8c7ep-1 +0x1.f7c02p+1 +0x1.332b4cp+2 +0x1.5fa498p+2 +0x1.2e3adcp+2 +0x1.0cf24p+3 +-0x1.166fbcp+2 +-0x1.cf2p-6 +0x1.3a73e8p+2 +-0x1.c2d91p+0 +0x1.8dd8p-1 +-0x1.40328p-2 +0x1.24bf6p+2 +-0x1.be844p+0 +0x1.48c808p+2 +0x1.110bcp+0 +0x1.86f4b8p+2 +0x1.160cbp+3 +-0x1.9530d4p+1 +-0x1.b8742p+1 +0x1.98169p+2 +0x1.f103cp+2 +0x1.737bcp-1 +-0x1.68c60ep+2 +-0x1.453d7p+1 +-0x1.626e36p+2 +0x1.9ccec8p+1 +0x1.cc8a6p+1 +-0x1.1c17ap+3 +0x1.2d02cp+3 +-0x1.c1beap+1 +0x1.9aa7d8p+2 +0x1.015448p+1 +0x1.10e2d8p+3 +0x1.38d3d8p+2 +-0x1.11f952p+3 +0x1.e171d8p+1 +-0x1.0309b4p+2 +-0x1.71dc94p+2 +-0x1.241bbp+3 +-0x1.5e26p-1 +0x1.7d82e4p+2 +0x1.0e7ee8p+3 +0x1.2e869cp+3 +-0x1.f0760cp+2 +0x1.29f92p+2 +-0x1.2e9aeap+3 +0x1.86fcdp+2 +-0x1.7f6a64p+1 +-0x1.11006cp+2 +0x1.cdaebp+2 +0x1.121e3p+1 +-0x1.c2d75cp+2 +0x1.371b0cp+2 +-0x1.76f8p-1 +-0x1.18efbcp+3 +0x1.b92a98p+2 +-0x1.64ac1p+2 +-0x1.5c75ep+2 +-0x1.1f7124p+3 +-0x1.3d38bp+3 +0x1.2b526p+3 +0x1.2ceb58p+3 +0x1.0ee7dcp+3 +0x1.2fe3bp+2 +0x1.0d7d68p+2 +-0x1.2dd928p+3 +0x1.d1bf48p+1 +-0x1.4cc656p+2 +-0x1.38b5e6p+3 +-0x1.72022p+0 +0x1.02efbcp+3 +-0x1.b7bc8p+0 +-0x1.3710f8p+3 +0x1.133f18p+1 +0x1.23e6ap+0 +0x1.fc7a6p+1 +0x1.63364p+2 +0x1.fdd7fp+0 +-0x1.e5025ap+2 +-0x1.fd6eb6p+2 +-0x1.bd8abp+0 +0x1.249af8p+3 +0x1.d2247p+0 +0x1.ab71a8p+1 +0x1.5a2c74p+2 +0x1.0e2bfp+3 +-0x1.89cb6p-1 +-0x1.b07388p+2 +-0x1.70ff76p+2 +-0x1.27432cp+1 +-0x1.2ad4fcp+3 +0x1.f5ba1p+2 +-0x1.d87bcp+0 +0x1.6a46cp-2 +0x1.84a1fp+2 +-0x1.7314ap+0 +-0x1.283974p+1 +0x1.15c4ecp+2 +0x1.333edcp+2 +0x1.6411acp+2 +0x1.c4a378p+2 +0x1.c8774p+2 +-0x1.f44e4cp+2 +-0x1.401678p+2 +0x1.f46f6p+0 +-0x1.501ceep+2 +-0x1.9b7cdcp+2 +-0x1.1412cp-1 +-0x1.3764ap+1 +-0x1.d77b44p+2 +0x1.229108p+2 +0x1.603b58p+2 +-0x1.41afp-1 +0x1.706d8p-2 +0x1.c292e8p+2 +0x1.3b2bcp+2 +0x1.b5753p+2 +0x1.09c5ap-1 +0x1.119d3cp+2 +-0x1.96940cp+2 +0x1.173638p+3 +0x1.d11b78p+2 +0x1.874b4p+0 +0x1.2b5ea4p+3 +-0x1.5a771cp+2 +-0x1.4189f4p+2 +0x1.c346p-1 +-0x1.9bb1e8p+2 +0x1.434f5cp+2 +0x1.0eeeap+2 +0x1.2a466cp+3 +-0x1.666ecp-2 +-0x1.7e3c34p+1 +-0x1.28aa98p+3 +0x1.4fce7cp+2 +0x1.7ce158p+2 +0x1.5cd4bp+1 +0x1.907ddp+1 +0x1.9a016p+2 +-0x1.176a44p+3 +0x1.7c456p+2 +0x1.5c5b68p+1 +0x1.d28dcp-1 +-0x1.33d024p+2 +0x1.5a826cp+2 +-0x1.add3b4p+1 +0x1.b41ecp+0 +-0x1.ec341ep+2 +0x1.5c8f18p+1 +0x1.dae03p+2 +0x1.b54ap+2 +-0x1.e6451p+1 +-0x1.2fe0cp+3 +-0x1.317b08p+1 +0x1.1f04cp+3 +0x1.e2bb9p+2 +-0x1.3cb8d2p+3 +-0x1.09f4fp+3 +-0x1.5f6edcp+2 +-0x1.33812ep+3 +-0x1.cc55c8p+2 +-0x1.09d1bcp+3 +0x1.af3fb8p+2 +-0x1.3fcac4p+3 +-0x1.92966p-1 +0x1.259c58p+2 +0x1.3ab01p+2 +-0x1.5896p-5 +-0x1.bdb4bp+2 +-0x1.a1212cp+2 +-0x1.11da04p+1 +0x1.00177p+1 +0x1.827e5p+2 +-0x1.9aa51p+1 +0x1.ae974p-2 +0x1.d44f28p+2 +0x1.33249p+1 +0x1.290728p+3 +0x1.2a7138p+2 +-0x1.91ab7p+2 +-0x1.1d2d4p+1 +-0x1.42dbbcp+2 +-0x1.6835e2p+2 +0x1.567408p+2 +-0x1.1241f4p+3 +-0x1.4f964cp+2 +-0x1.0a3642p+3 +0x1.004e8p-1 +-0x1.9bb70ap+2 +-0x1.c04p-3 +0x1.6cde5p+0 +-0x1.61bbbcp+2 +0x1.93873p+2 +-0x1.38257ap+3 +-0x1.494c08p+2 +0x1.c2a42p+1 +-0x1.16848p+3 +-0x1.52ba24p+1 +0x1.c5c278p+1 +0x1.88d7ap-1 +-0x1.1f92aep+2 +0x1.47314p-1 +0x1.eaee8p-2 +-0x1.2568f8p+1 +-0x1.86e5d8p+2 +0x1.a4acp+2 +-0x1.e7f88cp+2 +-0x1.6edd3p+2 +-0x1.ed577p+0 +-0x1.21023cp+3 +0x1.cd16ep+2 +0x1.99beep+2 +0x1.862528p+1 +0x1.f7e06p+2 +0x1.59464p+1 +-0x1.eef01p+1 +-0x1.e92b66p+2 +-0x1.0245cp-1 +0x1.e519fp+0 +0x1.018f9p+3 +-0x1.1078acp+2 +0x1.9da54p+2 +0x1.cc39fp+2 +-0x1.f7fe8p-3 +0x1.f9812p+1 +-0x1.39d254p+2 +0x1.e0a3f8p+2 +0x1.66714p-1 +0x1.92254p+2 +0x1.cacc7p+2 +0x1.345398p+2 +0x1.2e1668p+3 +0x1.060adp+1 +0x1.d7adb8p+2 +0x1.cd7e28p+2 +-0x1.ea7ff4p+2 +-0x1.3b3e24p+3 +0x1.132f64p+3 +-0x1.e75a7ap+2 +-0x1.ca3f3p+1 +-0x1.3e96d8p+3 +-0x1.215ca8p+3 +0x1.b15bap+0 +-0x1.212686p+3 +-0x1.d0869cp+2 +-0x1.1ac86ep+3 +-0x1.725338p+1 +-0x1.5b13f8p+2 +-0x1.7c2b54p+2 +0x1.fe859p+1 +-0x1.877eb4p+2 +0x1.387d1cp+3 +0x1.3b751p+2 +0x1.05465p+1 +0x1.a58c5p+2 +0x1.3fb79p+1 +0x1.708b4p-2 +0x1.1e132p+3 +-0x1.07270cp+3 +0x1.d6fb3p+2 +0x1.05101p+2 +-0x1.3aff38p+1 +-0x1.287d4p-1 +0x1.d9416p+2 +0x1.4fb69p+0 +0x1.6891p-2 +-0x1.fc289p+0 +-0x1.ca0dbp+0 +0x1.edf028p+2 +-0x1.cd6d58p+2 +0x1.3a3c5cp+2 +0x1.4280bp+0 +-0x1.bbe378p+2 +-0x1.299ce4p+3 +0x1.04eb5p+3 +-0x1.5b9bcp-2 +-0x1.54aaf4p+2 +-0x1.4755acp+1 +-0x1.26e9cp-1 +-0x1.ba5ecp-1 +-0x1.533dbp+0 +0x1.011684p+3 +0x1.daf48p+2 +0x1.ea3dcp+2 +0x1.ee9c1p+0 +-0x1.ee6436p+2 +0x1.057cf8p+3 +-0x1.83894p+0 +-0x1.532da8p+1 +0x1.12d47p+2 +-0x1.c6a688p+2 +0x1.21294p+2 +-0x1.c8cb24p+1 +0x1.bb4f4p-1 +-0x1.f6221ep+2 +-0x1.39b9d8p+2 +-0x1.d89a26p+2 +-0x1.38134ep+3 +-0x1.f6847p+2 +-0x1.70f726p+2 +0x1.8de54p+2 +-0x1.1ce2bcp+3 +-0x1.d2b04cp+2 +0x1.97d04p+1 +0x1.f3ac6p+2 +-0x1.193e1p+0 +-0x1.0de554p+2 +0x1.69c05p+1 +-0x1.6eee8p-2 +-0x1.3c7998p+1 +0x1.56286p+2 +-0x1.8ac6aap+2 +0x1.038568p+3 +0x1.5705f8p+2 +0x1.22746p+0 +0x1.20f0c4p+3 +-0x1.846d1cp+1 +-0x1.1728b4p+1 +0x1.47516cp+2 +-0x1.9b862cp+1 +0x1.3d496p+2 +0x1.37e228p+1 +-0x1.0829dcp+3 +-0x1.d10b14p+1 +-0x1.2d9f1p+1 +-0x1.1287ccp+2 +0x1.6e7cccp+2 +0x1.871a88p+1 +-0x1.90ba76p+2 +0x1.3e6da8p+2 +0x1.22933p+1 +-0x1.89525p+2 +-0x1.3db424p+3 +-0x1.f5cdbp+1 +-0x1.248fd4p+3 +0x1.0bfdfp+0 +-0x1.6d3f46p+2 +0x1.55bdbp+1 +-0x1.f2e7d8p+2 +0x1.5a363p+1 +-0x1.8d1b8p-1 +0x1.1f48c8p+2 +0x1.c5d838p+1 +-0x1.0288eep+3 +-0x1.d71588p+2 +0x1.1caa84p+3 +-0x1.016d18p+3 +-0x1.430028p+2 +-0x1.7eff0cp+1 +-0x1.26836cp+3 +-0x1.f83914p+1 +-0x1.b5a7c4p+2 +0x1.e7374p+2 +0x1.dcbeep+2 +-0x1.11521p+1 +-0x1.087002p+3 +-0x1.e2eefep+2 +-0x1.70d818p+1 +0x1.212ef4p+3 +0x1.22c948p+2 +0x1.9911e8p+1 +-0x1.cc4d94p+2 +0x1.abdep-4 +-0x1.15b734p+2 +0x1.28a7b8p+3 +0x1.1b6848p+3 +-0x1.24d9e2p+3 +0x1.239cf4p+3 +0x1.60a6p-1 +-0x1.f2fdp+1 +0x1.00cc4p-1 +0x1.368338p+3 +0x1.c180a8p+2 +0x1.cb9b4p+1 +0x1.0f9d08p+3 +-0x1.c653d4p+1 +0x1.2b32dcp+2 +-0x1.e756ap+2 +0x1.7c138p-2 +-0x1.c9c6fp+0 +0x1.7710dcp+2 +-0x1.0ce6e6p+2 +0x1.ea6f8p+1 +-0x1.c2fefcp+1 +0x1.0dd22p+1 +0x1.17edecp+3 +0x1.0a4348p+2 +0x1.8ec228p+1 +-0x1.2717ep+0 +0x1.9badf8p+2 +-0x1.223e2cp+3 +-0x1.fd92ap-1 +-0x1.d45594p+2 +-0x1.1f2894p+3 +-0x1.062fap+0 +0x1.b76fcp+2 +0x1.527a8p-3 +-0x1.203094p+1 +-0x1.57fd4p-1 +0x1.04d248p+3 +0x1.092f18p+3 +-0x1.a4338p-2 +0x1.9b00bp+1 +0x1.a4bcfp+2 +0x1.37e65p+3 +-0x1.1d4ac2p+2 +-0x1.6a778p-2 +-0x1.265bcap+3 +-0x1.515218p+1 +0x1.06cacp+3 +0x1.a39abp+1 +-0x1.00166cp+2 +0x1.1ffec8p+3 +0x1.f0c5cp-2 +-0x1.9ba728p+2 +-0x1.f6664cp+1 +-0x1.db0fd6p+2 +0x1.138a0cp+2 +-0x1.9fdb6p-1 +0x1.206514p+3 +-0x1.345aa6p+3 +0x1.a97938p+2 +-0x1.ab077ap+2 +-0x1.df814p+0 +-0x1.3dffp-1 +0x1.69959p+0 +-0x1.28f54p+0 +0x1.00cb98p+2 +-0x1.937c1cp+1 +0x1.1c248p-1 +0x1.d4661p+2 +0x1.79843cp+2 +-0x1.3bc14p-1 +-0x1.415202p+2 +-0x1.bc694p+0 +0x1.af2868p+1 +-0x1.bccf6cp+2 +0x1.14f24p+3 +-0x1.4d6cf8p+1 +-0x1.6abe4p-2 +0x1.90848p+2 +-0x1.490cp-2 +-0x1.5ac5p-1 +-0x1.8fcc58p+1 +0x1.27821p+2 +0x1.98999p+1 +-0x1.1d4444p+3 +-0x1.d99d32p+2 +0x1.20bb04p+2 +0x1.acefbp+1 +0x1.596cep+0 +-0x1.021308p+1 +-0x1.97bfc8p+2 +0x1.40f74p+0 +-0x1.f53112p+2 +0x1.2ec6a8p+1 +-0x1.05cb22p+2 +-0x1.2d61bep+3 +0x1.1411dp+3 +-0x1.8a1874p+1 +-0x1.a620b6p+2 +0x1.5272acp+2 +-0x1.8b7bp-2 +0x1.1ddf9p+3 +0x1.813348p+2 +-0x1.62d418p+1 +0x1.2b8774p+3 +-0x1.b18f8p+0 +-0x1.1086dcp+2 +-0x1.02e336p+3 +0x1.da65f8p+2 +0x1.6edep+0 +0x1.6bb538p+2 +-0x1.b9187cp+2 +0x1.094228p+2 +-0x1.4a86p-1 +-0x1.39fc94p+3 +0x1.0a9128p+3 +0x1.7f5a44p+2 +-0x1.006ap+3 +0x1.a1b548p+2 +-0x1.7b80bcp+2 +-0x1.02f74p+0 +-0x1.b68p+0 +-0x1.11902ep+3 +-0x1.0d612p-1 +-0x1.599c6p+1 +-0x1.46eb8p-2 +-0x1.714c16p+2 +-0x1.d2b0ap-1 +0x1.73fbp-2 +0x1.559b1p+2 +0x1.1b9898p+3 +0x1.3f787cp+3 +-0x1.010818p+3 +0x1.178b9p+1 +0x1.65eed8p+2 +-0x1.ba50b8p+1 +0x1.ecc62p+0 +-0x1.076b5ep+3 +0x1.cbec6p+2 +0x1.9c678p-3 +0x1.1b311p+2 +0x1.1948bcp+3 +-0x1.140768p+2 +-0x1.f217b4p+2 +-0x1.e3a7fp+1 +-0x1.93408cp+2 +0x1.1a8a48p+1 +-0x1.26766p+0 +0x1.f725f8p+2 +-0x1.10dd88p+3 +0x1.8020a8p+2 +-0x1.1fe57ap+2 +-0x1.12ac66p+2 +0x1.05fc28p+3 +-0x1.26f4ep-1 +-0x1.26942p+1 +0x1.c7578p-2 +-0x1.9c205ep+2 +-0x1.0862c4p+3 +-0x1.7bb44p-2 +0x1.f8d378p+2 +-0x1.fc19e4p+2 +0x1.f82abp+2 +-0x1.177a3p+0 +-0x1.0b1b7p+3 +-0x1.365092p+3 +-0x1.8eb208p+1 +0x1.2d869p+3 +0x1.bab8p+2 +0x1.0d0c98p+1 +0x1.daaa9p+2 +-0x1.0654c6p+3 +-0x1.3bb8cp+0 +-0x1.f7bac4p+2 +-0x1.063822p+2 +-0x1.3d393p+0 +-0x1.9d6418p+2 +-0x1.695fcp-2 +0x1.17b948p+3 +-0x1.e99bdcp+1 +-0x1.fba42ep+2 +0x1.14255cp+3 +-0x1.7ca374p+1 +0x1.8986cp-2 +-0x1.05dd4p+0 +0x1.001f38p+3 +0x1.bc62p-5 +-0x1.09204cp+3 +-0x1.271f26p+3 +-0x1.b8372cp+1 +-0x1.2e835p+1 +-0x1.5eb78p+0 +-0x1.589a8p+2 +0x1.f248a8p+1 +0x1.c0e6bp+2 +0x1.67e32p+2 +0x1.38b488p+3 +-0x1.5f63ep+0 +-0x1.32cef4p+3 +-0x1.88daep+0 +0x1.04f03p+3 +0x1.35b348p+3 +0x1.a918cp-2 +-0x1.6db224p+1 +0x1.35bde8p+1 +-0x1.2e9324p+3 +0x1.06ee98p+1 +0x1.0ceb4cp+2 +0x1.5ce9cp-1 +-0x1.a1b12cp+2 +-0x1.3b5c0ap+3 +0x1.d0e9fp+2 +-0x1.2856a2p+3 +-0x1.3ebb78p+1 +0x1.1eb9f8p+3 +-0x1.78754cp+2 +-0x1.7350ap+0 +0x1.274468p+1 +0x1.3e95p+3 +0x1.4ec064p+2 +0x1.1c34p+3 +0x1.1975b4p+3 +0x1.fcecep+2 +0x1.12456p+3 +-0x1.efd3f4p+2 +-0x1.2231bep+3 +0x1.20e2f8p+2 +0x1.145d4cp+2 +-0x1.06503ap+2 +-0x1.7d425ep+2 +-0x1.20b518p+1 +-0x1.148b34p+3 +-0x1.7e1928p+2 +-0x1.4ba57cp+1 +-0x1.aeb99p+2 +0x1.e7902p+2 +-0x1.68b5cp+0 +-0x1.7449cp+0 +-0x1.989dcp+0 +-0x1.a6e1bp+2 +0x1.d4e2dp+2 +-0x1.88d206p+2 +0x1.ae46ep+0 +0x1.15b92cp+3 +0x1.61064p+2 +0x1.e1f02p+2 +0x1.6f1e9p+0 +0x1.1f1cbp+1 +-0x1.a63cp-1 +-0x1.51cfp-2 +-0x1.1f10fap+2 +-0x1.9370bp+2 +-0x1.cad1e8p+2 +0x1.32675cp+3 +0x1.1fdfdp+3 +-0x1.84a6fp+1 +0x1.050218p+3 +0x1.97f3ep+2 +-0x1.f569b6p+2 +0x1.10ffa4p+2 +-0x1.007776p+3 +-0x1.16891p+0 +-0x1.9f7fcp+2 +0x1.83adbp+2 +0x1.ff45bp+2 +0x1.38054p+2 +-0x1.fe51p-2 +0x1.08a6a8p+2 +-0x1.4ef38p-3 +-0x1.196cf6p+3 +0x1.3f6114p+3 +0x1.fb43b8p+1 +0x1.8e363p+2 +-0x1.7895f2p+2 +0x1.43a9a8p+2 +-0x1.91394cp+1 +-0x1.493e8cp+1 +0x1.15da9cp+3 +-0x1.78f226p+2 +-0x1.30d136p+3 +0x1.11f2b4p+2 +0x1.5305cp+0 +-0x1.2faa0cp+1 +0x1.dd5b08p+2 +-0x1.f2546p+0 +0x1.c0ed4p+1 +0x1.8b836p+2 +0x1.5d8abp+2 +-0x1.c2ede2p+2 +0x1.c1b38p+0 +0x1.f75c6p+1 +-0x1.973bc8p+2 +-0x1.aac804p+1 +0x1.9c2ecp+0 +0x1.863a2p-1 +0x1.3547d8p+3 +-0x1.5a38p-6 +0x1.364908p+2 +0x1.e7e7ep+1 +0x1.1404f8p+2 +0x1.526dfcp+2 +-0x1.4d3bfcp+2 +0x1.318bc4p+3 +-0x1.85fd6p+0 +-0x1.ddff54p+1 +-0x1.a55ddcp+1 +-0x1.da8c74p+2 +-0x1.d699ep-1 +-0x1.00c424p+3 +0x1.95923p+0 +0x1.ac3538p+2 +-0x1.12c606p+3 +0x1.e4d258p+1 +-0x1.4d1e4p-1 +0x1.408e58p+2 +0x1.07471p+0 +0x1.32c2cp+2 +-0x1.c301ap+0 +-0x1.3447b8p+3 +0x1.5f68a8p+2 +0x1.a19948p+1 +-0x1.d4a7p+2 +0x1.e02b9p+2 +-0x1.693f88p+1 +0x1.9ad5e8p+2 +0x1.287df4p+3 +0x1.95b16p+1 +0x1.2bff54p+3 +0x1.0f8afcp+2 +0x1.370558p+3 +-0x1.7fd15ap+2 +0x1.766728p+2 +0x1.b90f9p+0 +-0x1.aa21cp+1 +0x1.b90c4p+2 +0x1.a889fp+1 +0x1.fa42f8p+1 +-0x1.5e5ff2p+2 +0x1.0963cp+3 +0x1.e79ea8p+2 +-0x1.9ff76cp+2 +0x1.a5971p+1 +-0x1.9dd84p+1 +0x1.eb19p-3 +-0x1.38d282p+3 +-0x1.09358p-3 +0x1.c7398p+1 +-0x1.b86108p+2 +-0x1.ea2d5ap+2 +-0x1.476006p+2 +0x1.076a98p+3 +-0x1.1953e6p+3 +0x1.65f5dp+0 +0x1.d8db4p-1 +0x1.08ae2p+1 +-0x1.8fd614p+2 +-0x1.7e2acp-1 +-0x1.449f4cp+2 +-0x1.1b48ap+3 +-0x1.799c96p+2 +-0x1.1736b6p+2 +-0x1.08d17cp+2 +-0x1.e2abd4p+1 +0x1.80b4d8p+1 +-0x1.8f748cp+2 +-0x1.611p-1 +-0x1.364b3cp+3 +0x1.f5983p+2 +0x1.b3a2cp+1 +0x1.015f6p+0 +-0x1.73a3ecp+1 +0x1.e3818p+0 +0x1.a4cccp+1 +-0x1.bfd4b4p+2 +-0x1.2580d6p+2 +0x1.a586p+1 +0x1.fff698p+2 +0x1.9645bp+2 +-0x1.229e5ep+3 +0x1.a58f5p+0 +-0x1.ce8a54p+1 +0x1.91ee9p+2 +-0x1.1d6fb4p+3 +0x1.bcb728p+1 +-0x1.b187ccp+2 +-0x1.2528e2p+3 +0x1.c1fbdp+2 +0x1.3da93p+3 +0x1.72cfep+0 +0x1.2c40e8p+2 +0x1.2c877cp+3 +0x1.caa62p+1 +0x1.61747p+1 +-0x1.36ebf6p+3 +-0x1.e94cp+0 +-0x1.be3368p+1 +-0x1.0848ep+3 +-0x1.d07f66p+2 +-0x1.6f95fp+0 +0x1.c86ba8p+2 +0x1.393cp-2 +0x1.24c3ap+0 +0x1.4ef0ep-1 +-0x1.4b11dcp+2 +-0x1.02f04cp+1 +0x1.18efp-3 +0x1.5ebe14p+2 +0x1.08a94cp+3 +0x1.44a204p+2 +-0x1.0b5162p+3 +-0x1.7bdd8p-2 +0x1.4f43fcp+2 +0x1.f1c6cp+1 +0x1.74ab8p-2 +-0x1.aacc8cp+1 +-0x1.6cb3ap-1 +0x1.07a524p+3 +-0x1.1510b4p+3 +0x1.1c1ap-3 +-0x1.100efp+3 +0x1.3b9c28p+3 +0x1.12c6ep+2 +-0x1.0732ep+0 +0x1.82cfcp-2 +0x1.18e868p+3 +-0x1.ee0c1p+0 +0x1.29b084p+2 +-0x1.f9700cp+1 +-0x1.95f214p+2 +-0x1.47fb8p+2 +0x1.17b3b4p+3 +0x1.2dd37p+2 +0x1.2a5d48p+1 +-0x1.ac667cp+1 +0x1.20b518p+3 +-0x1.5c135cp+2 +-0x1.fb4336p+2 +0x1.032e8p+3 +0x1.c4551p+2 +0x1.ab35e8p+2 +0x1.30aa44p+3 +-0x1.0af058p+2 +-0x1.4cfeep-1 +0x1.20e6a8p+3 +-0x1.e5acd8p+1 +0x1.12626p+3 +-0x1.074382p+3 +0x1.1ed96p+3 +-0x1.73485p+0 +0x1.1bef6p+2 +0x1.0130bp+2 +0x1.19fe4p-1 +-0x1.9f5418p+1 +0x1.5aa408p+2 +-0x1.1bf9ecp+3 +-0x1.34bcfap+3 +0x1.3ad824p+2 +0x1.11c33p+0 +-0x1.b6bd4ep+2 +0x1.73a69p+1 +-0x1.07ecep-1 +-0x1.d5668cp+1 +0x1.6075dp+2 +-0x1.52dfep-1 +-0x1.fa1208p+1 +-0x1.2d757ep+3 +0x1.03361cp+3 +0x1.57afdp+1 +0x1.ecd778p+2 +0x1.351048p+2 +0x1.7f464p+1 +0x1.6ddb9cp+2 +-0x1.25b918p+1 +-0x1.cd075ap+2 +0x1.31457p+3 +-0x1.7571d2p+2 +0x1.3e3578p+3 +0x1.28cefcp+3 +0x1.2d6554p+3 +-0x1.40a6bp+0 +0x1.10303p+3 +-0x1.9f0a9p+0 +-0x1.0e2462p+3 +-0x1.d9c4d4p+1 +-0x1.02494cp+3 +0x1.9752bp+1 +0x1.b570ep+1 +-0x1.f168p+0 +0x1.0765b4p+2 +-0x1.2cef24p+3 +0x1.dfe95p+1 +-0x1.58b67ep+2 +-0x1.34c8fap+2 +-0x1.3b4f98p+3 +-0x1.cd6bccp+2 +0x1.9fce48p+2 +-0x1.607b98p+2 +-0x1.52772ep+2 +-0x1.0e817p+2 +0x1.58d93p+1 +0x1.a27e8p-3 +-0x1.6766f2p+2 +-0x1.2f5ca8p+1 +0x1.c98c1p+2 +-0x1.eb562p+1 +0x1.4e78a8p+2 +-0x1.2db36p+2 +-0x1.2da152p+3 +-0x1.ceb26p+0 +0x1.70f34p+1 +0x1.385774p+2 +0x1.ebfb58p+1 +-0x1.e707p-2 +0x1.980d98p+2 +-0x1.6fd6p+0 +-0x1.298954p+3 +0x1.093d7cp+3 +0x1.23ad94p+3 +-0x1.4e3152p+2 +-0x1.0fd7dcp+1 +0x1.6dcb94p+2 +0x1.41926p+0 +-0x1.0215f8p+3 +0x1.0fed9p+3 +0x1.a9e56p+0 +0x1.133b6p+0 +0x1.33b4b8p+3 +-0x1.c4bbaep+2 +0x1.0148cp+3 +-0x1.3041eep+3 +-0x1.c3216p+0 +0x1.1da78p+1 +0x1.efa648p+2 +0x1.19f25p+1 +0x1.ce6ecp-1 +-0x1.bcadp-4 +-0x1.27c3fcp+2 +0x1.25f49p+3 +-0x1.249cp+3 +-0x1.f6e3acp+1 +0x1.08ba4p+3 +-0x1.2bea8p-3 +-0x1.44f73p+0 +0x1.4f732cp+2 +-0x1.ed73d2p+2 +-0x1.4ece42p+2 +-0x1.8edc8p+1 +0x1.e94058p+2 +0x1.f9d65p+0 +0x1.2caccp+3 +0x1.4c48p-5 +0x1.b8a6cp+0 +0x1.39835cp+3 +0x1.7a8e6p+1 +0x1.8d6d18p+2 +0x1.f4bf6p+2 +0x1.01c74p+0 +0x1.e0c97p+1 +0x1.328b04p+3 +0x1.128cbp+1 +0x1.3472ep+3 +0x1.89c08p+1 +0x1.7c7cap+0 +-0x1.494ep-3 +-0x1.3a9788p+1 +-0x1.d904dp+2 +0x1.aaccap-1 +-0x1.39d1fp+3 +-0x1.0b69cp+2 +-0x1.4bc9dep+2 +0x1.270bdcp+3 +0x1.ef6b88p+1 +-0x1.20888ap+3 +-0x1.90a638p+1 +-0x1.c8090ap+2 +0x1.b4afcp-1 +-0x1.4fd70cp+2 +0x1.50f93cp+2 +-0x1.e56e94p+2 +0x1.049fap+0 +-0x1.2e616cp+3 +0x1.03ea48p+2 +-0x1.eb1414p+1 +-0x1.c9e3ep-1 +0x1.26f1d4p+3 +-0x1.317e8p+3 +0x1.17f524p+3 +-0x1.0606fp+0 +-0x1.5956f4p+1 +-0x1.2de798p+2 +-0x1.805a8p+1 +-0x1.da6dbp+2 +-0x1.2b8204p+3 +-0x1.c9e7b6p+2 +0x1.3a4c3p+3 +-0x1.3fe3bcp+2 +-0x1.80ccc4p+2 +0x1.fcaedp+2 +0x1.387a88p+2 +-0x1.66aap-3 +-0x1.b185bp+1 +-0x1.beeff8p+1 +-0x1.3e5bbcp+2 +-0x1.f1edp+1 +0x1.531p-7 +-0x1.856b98p+2 +-0x1.5abde8p+2 +0x1.2c113p+1 +0x1.c8d6p-3 +0x1.218348p+3 +-0x1.3ad39p+1 +0x1.d18e7p+0 +0x1.3784c8p+2 +0x1.ef02cp+2 +-0x1.61bffcp+2 +0x1.f34bfp+0 +-0x1.5d18p-7 +0x1.e1f9cp-1 +0x1.6a0aep+0 +0x1.1e6718p+3 +0x1.0553c4p+2 +0x1.beb278p+2 +0x1.b723p+2 +0x1.66899p+0 +-0x1.2e9eep+0 +-0x1.efc72cp+2 +0x1.0333p+2 +0x1.04f058p+3 +0x1.3eb23cp+3 +0x1.5028bp+2 +-0x1.838a1p+0 +-0x1.6f0714p+1 +0x1.e2cc1p+2 +0x1.c45c38p+2 +-0x1.7d275p+2 +0x1.602268p+2 +-0x1.8cc548p+2 +0x1.1415e8p+2 +0x1.5456e8p+1 +0x1.059dc4p+3 +0x1.723facp+2 +-0x1.26b4f2p+3 +-0x1.62931ap+2 +0x1.585a0cp+2 +0x1.3fc3ccp+3 +0x1.9e5ec8p+2 +-0x1.3d5ac8p+1 +0x1.3b5838p+3 +0x1.391394p+2 +-0x1.960b18p+1 +0x1.272aa8p+2 +-0x1.9dfa9cp+2 +0x1.4fc0acp+2 +-0x1.068ae8p+3 +0x1.ec9cdp+2 +0x1.2ae92p+2 +-0x1.a150ccp+1 +0x1.20ae18p+2 +-0x1.3d5e4ep+3 +-0x1.f444dp+2 +0x1.2e1d68p+2 +-0x1.ce03bp+0 +0x1.eb7c58p+2 +0x1.1875ccp+3 +0x1.76286p+1 +0x1.156458p+3 +-0x1.116daap+3 +-0x1.36ace2p+3 +0x1.dfeed8p+2 +-0x1.473a94p+2 +0x1.a8fd28p+2 +0x1.83afb8p+2 +-0x1.3d853cp+3 +-0x1.ec18fcp+2 +-0x1.2e02f8p+3 +-0x1.1282d4p+1 +-0x1.259fe8p+2 +-0x1.12ce9ap+3 +0x1.8c1328p+2 +-0x1.c2d1ecp+2 +-0x1.3226b4p+3 +0x1.d32bdp+1 +0x1.c2ff9p+0 +0x1.230b68p+3 +0x1.0a1168p+1 +-0x1.015434p+2 +0x1.82a37p+1 +0x1.dd302p+2 +-0x1.7cbbap+2 +-0x1.01e822p+2 +-0x1.1786aep+3 +0x1.e9b85p+2 +0x1.43d6c8p+2 +0x1.92742p+1 +0x1.02ef9p+2 +-0x1.09b83p+0 +-0x1.469284p+2 +-0x1.e7bd8p-1 +0x1.2b9448p+3 +0x1.26e9bp+2 +0x1.b93928p+2 +0x1.2c26ep+3 +0x1.591398p+2 +0x1.4989p-2 +0x1.15da24p+3 +-0x1.b7e09ep+2 +0x1.0445c8p+2 +-0x1.3f1c9cp+3 +-0x1.bd37ep+1 +0x1.80fbp-1 +-0x1.496818p+1 +0x1.d78a58p+2 +-0x1.21c902p+3 +-0x1.3db6ep-1 +-0x1.2b52c8p+3 +0x1.381a58p+3 +0x1.244ee8p+1 +0x1.7248ap+0 +0x1.3fe78p+3 +-0x1.04278p-2 +-0x1.3d82aep+3 +-0x1.39256p+1 +0x1.3b81f8p+1 +0x1.e8bc88p+2 +0x1.b286fp+2 +-0x1.2408bep+3 +-0x1.cf8f2p+0 +0x1.90cdbp+2 +-0x1.4fdef6p+2 +-0x1.6e0e5p+1 +-0x1.36b888p+2 +0x1.cbf93p+0 +-0x1.ab9c1p+0 +0x1.9b435p+2 +0x1.7e9c4p+0 +-0x1.7757p-1 +-0x1.f4738p-1 +-0x1.f9d0e8p+2 +0x1.fe326p+2 +0x1.3ad718p+1 +0x1.3c8p-10 +0x1.3232p-2 +0x1.675bb8p+2 +-0x1.249b8p+3 +-0x1.74c76p+1 +-0x1.e65b9cp+2 +-0x1.1047f8p+1 +0x1.06b62cp+3 +0x1.0cd9ep+0 +-0x1.29507ap+3 +0x1.3b193cp+2 +0x1.f5553p+2 +-0x1.55a606p+2 +-0x1.c5a1p-4 +-0x1.5aa58p+0 +0x1.d6c67p+0 +0x1.e0075p+2 +0x1.78dp-6 +0x1.a37f1p+2 +0x1.d5dfd8p+1 +-0x1.a59bbcp+1 +0x1.b1dacp-1 +0x1.c7e6fp+0 +-0x1.1e6c5p+3 +0x1.4e4a38p+2 +0x1.eb733p+2 +-0x1.465e4p-1 +0x1.a50168p+2 +-0x1.4b4p-8 +-0x1.3cadfp+2 +-0x1.7ed608p+1 +-0x1.057d9ep+3 +0x1.8448p-3 +0x1.9d306p+2 +0x1.d241d8p+2 +0x1.c0343p+1 +-0x1.1782c6p+3 +-0x1.14d714p+2 +-0x1.a13aep-1 +0x1.f7c64p+1 +0x1.fcce7p+2 +-0x1.53a8a8p+1 +0x1.336aap+0 +0x1.4d03d8p+1 +0x1.9b6cfp+2 +0x1.0ba24cp+2 +0x1.98d5ep+1 +0x1.02786p+1 +-0x1.a96d8p+0 +0x1.351a9cp+3 +0x1.cae96p+2 +-0x1.5f5368p+2 +-0x1.73fbcp+0 +-0x1.95a86p+0 +0x1.e7f7a8p+2 +0x1.3320dp+2 +-0x1.513f76p+2 +-0x1.1d6394p+2 +-0x1.746eacp+2 +-0x1.0e45c8p+2 +0x1.f0913p+1 +0x1.96041p+0 +-0x1.06a134p+2 +-0x1.20b9ap+3 +-0x1.ea6e78p+1 +0x1.02fcc4p+2 +-0x1.df7416p+2 +-0x1.1f3afep+3 +0x1.2ffdap+0 +-0x1.261e88p+1 +0x1.871ecp-1 +-0x1.078a5p+0 +-0x1.0478fp+1 +-0x1.3f3e7p+0 +0x1.c4fd8p-1 +0x1.3d85f8p+3 +0x1.267d58p+3 +-0x1.10bdbp+3 +-0x1.15911cp+3 +-0x1.a6dc5p+1 +-0x1.c95f44p+1 +0x1.396aecp+2 +0x1.9a7a9p+2 +-0x1.1ad4cep+2 +0x1.771b54p+2 +0x1.a27238p+2 +0x1.f81b98p+2 +0x1.b7cfdp+1 +0x1.2ad0f8p+3 +0x1.f5606p+1 +-0x1.ba05f2p+2 +0x1.1ee5cp-1 +-0x1.20cfb4p+1 +-0x1.240c88p+1 +-0x1.d963ap+2 +0x1.c8658p+1 +0x1.bf8d8p+2 +-0x1.0ef89ap+3 +0x1.cceacp-1 +-0x1.3bdb1ep+3 +0x1.a35d78p+2 +0x1.267954p+3 +0x1.9ede38p+1 +-0x1.78dbfcp+2 +-0x1.b22f6ap+2 +-0x1.1b672p+0 +-0x1.844618p+2 +-0x1.15a278p+2 +-0x1.2f0112p+3 +-0x1.bd81ap+1 +0x1.7716p+1 +-0x1.2ea598p+3 +0x1.0ccafp+2 +0x1.df56f8p+2 +-0x1.d55bp-1 +-0x1.c8dd86p+2 +0x1.70de78p+1 +-0x1.714428p+2 +0x1.ce2d2p+2 +-0x1.065678p+3 +-0x1.2e50f8p+2 +0x1.1d01dp+3 +-0x1.1eae3cp+3 +0x1.3f334cp+3 +-0x1.3fbcap+3 +0x1.07556cp+3 +0x1.f223bp+2 +-0x1.f4abf4p+1 +-0x1.16004p-1 +-0x1.6d52acp+2 +0x1.6286fp+1 +-0x1.1dbcecp+3 +0x1.435484p+2 +0x1.31163p+3 +-0x1.62042p+1 +-0x1.fd1bf4p+1 +-0x1.0d987ap+3 +0x1.a97p+1 +0x1.ecb8cp+0 +0x1.0a868cp+3 +0x1.0e1fa4p+2 +-0x1.802e64p+1 +-0x1.3280a8p+2 +0x1.31c52cp+3 +-0x1.de6ff8p+1 +-0x1.119fep+0 +-0x1.05be58p+2 +0x1.d7e2a8p+1 +0x1.85b5cp-1 +-0x1.d3673ap+2 +-0x1.1e019ep+2 +-0x1.fc1448p+2 +-0x1.9770cp+2 +0x1.290d3p+1 +0x1.10565p+2 +-0x1.b2c45p+0 +-0x1.bbc7d4p+1 +0x1.30cd18p+3 +0x1.d2ad18p+2 +-0x1.9e7848p+2 +-0x1.d4d5dp+1 +-0x1.1124cp-2 +-0x1.900bp+1 +-0x1.e11dd4p+2 +-0x1.6d152ep+2 +0x1.76d41cp+2 +-0x1.9fbcbp+2 +0x1.c5cc1p+1 +0x1.6c2f04p+2 +-0x1.f68cp+0 +0x1.a71958p+2 +0x1.3844e8p+3 +0x1.338b5p+3 +0x1.fea48p+2 +-0x1.ed2d8p-2 +0x1.5bf70cp+2 +-0x1.1f01ep+0 +-0x1.5a9aecp+1 +0x1.23b08cp+3 +0x1.c2278p-1 +-0x1.940518p+1 +-0x1.36c55p+3 +-0x1.4f5cd8p+1 +0x1.53a71p+2 +-0x1.03b896p+2 +-0x1.4b472ep+2 +0x1.a364b8p+1 +0x1.0ac0a4p+3 +0x1.b68bf8p+1 +0x1.9ff378p+1 +-0x1.d5adccp+1 +0x1.1ed678p+3 +-0x1.db37ep+2 +0x1.9d1ee8p+1 +0x1.2c4038p+2 +0x1.1635bp+3 +0x1.defcp-1 +0x1.9b86dp+1 +-0x1.276d88p+2 +-0x1.10526p+1 +0x1.6f891p+1 +-0x1.c00c2p-1 +-0x1.eb9b2p+2 +-0x1.5387p-2 +0x1.d33e68p+2 +0x1.4ce548p+1 +-0x1.27ca7ep+3 +0x1.417138p+2 +-0x1.8f533cp+2 +-0x1.a18724p+2 +-0x1.af9e9ep+2 +-0x1.d69394p+2 +0x1.1aa9e8p+1 +-0x1.3b8bc6p+2 +-0x1.555e7cp+2 +-0x1.ae24f4p+2 +0x1.bda4p-5 +-0x1.6d6902p+2 +-0x1.178p-3 +0x1.916e3p+2 +-0x1.35be2p-1 +-0x1.eb0498p+2 +-0x1.7aa32ap+2 +0x1.91aaap+2 +0x1.64746p+0 +0x1.0902d8p+1 +-0x1.65e058p+1 +0x1.252798p+3 +-0x1.351c64p+3 +0x1.252568p+3 +0x1.757f5p+2 +0x1.f37c3p+1 +0x1.2febacp+2 +-0x1.e60f8cp+2 +-0x1.06da14p+2 +-0x1.d758dap+2 +-0x1.52e58p-3 +-0x1.29f84p+0 +-0x1.359e4p+1 +0x1.6bf35p+2 +-0x1.9a2f5cp+1 +0x1.936dap-1 +0x1.80043p+1 +0x1.93e5d8p+1 +-0x1.93cba8p+2 +-0x1.f9acp-2 +0x1.7f29cp-2 +0x1.1c8bfcp+3 +0x1.2a93d8p+3 +-0x1.7d425p+0 +0x1.2e7d68p+3 +-0x1.a9fe9cp+2 +0x1.3abeb4p+3 +0x1.3d8eap+3 +0x1.bc643p+2 +0x1.55c3p+0 +-0x1.43ca5p+1 +0x1.343044p+2 +-0x1.b32a4p+2 +0x1.94aap+0 +0x1.c995c8p+2 +0x1.87bdc8p+2 +-0x1.42f51p+2 +0x1.0ca1b4p+3 +-0x1.33a664p+3 +-0x1.c410f8p+1 +0x1.95a6dp+0 +-0x1.00bb34p+3 +-0x1.281ep-4 +0x1.3d59bp+2 +-0x1.aa3fp-1 +0x1.fde138p+2 +-0x1.9961ep-1 +0x1.8cb2ep+0 +0x1.0ccb58p+2 +0x1.faa87p+2 +-0x1.b620acp+2 +0x1.c9b24p+1 +-0x1.2b85a4p+1 +-0x1.14a108p+3 +0x1.282d44p+3 +-0x1.313d7p+1 +0x1.1dadcp-1 +-0x1.223f44p+1 +0x1.262308p+3 +0x1.8b699p+2 +-0x1.05d91p+0 +0x1.22887p+3 +-0x1.a9d59cp+2 +-0x1.03a54p+3 +0x1.29c744p+3 +-0x1.3883fp+0 +0x1.507d2p+1 +0x1.47b748p+1 +-0x1.2bea24p+3 +-0x1.8fde8p-1 +-0x1.8ba632p+2 +-0x1.30fap+0 +-0x1.358f78p+1 +-0x1.aefaep+2 +0x1.3d8dep-1 +0x1.06052cp+2 +0x1.1ebf94p+3 +0x1.669fep+2 +-0x1.daa51p+0 +-0x1.8bedp+0 +0x1.a2c55p+2 +-0x1.b87c0cp+2 +0x1.27fd48p+2 +0x1.32f67cp+3 +0x1.53f2cp+1 +-0x1.990c2p+1 +-0x1.3ae906p+3 +0x1.9ec128p+1 +-0x1.971eap-1 +-0x1.0b6bf6p+2 +-0x1.dcef8cp+2 +-0x1.f33404p+2 +0x1.23da6p+2 +0x1.ac8ea8p+1 +-0x1.0d71b4p+3 +0x1.70d2dp+1 +0x1.0872d4p+3 +-0x1.aa91e2p+2 +-0x1.3f4d3p+0 +-0x1.723594p+1 +0x1.392748p+3 +-0x1.7b3e82p+2 +0x1.bb1558p+2 +-0x1.124544p+1 +0x1.bf8eap+2 +-0x1.d38534p+2 +0x1.323ap+2 +-0x1.040f98p+1 +-0x1.cd7e1p+2 +0x1.f08a6p+2 +-0x1.e6c6b4p+1 +0x1.000aa8p+2 +-0x1.1083dp+0 +0x1.18180cp+3 +-0x1.2cae7cp+3 +-0x1.ccb818p+1 +0x1.5a9a8p+2 +0x1.59c16p+0 +-0x1.61cp-2 +-0x1.8830dp+2 +0x1.c37ec8p+2 +0x1.b75ee8p+2 +0x1.709d3p+1 +0x1.848a6p-1 +-0x1.6cb538p+2 +0x1.12f69p+2 +0x1.fa4f9p+2 +0x1.f3982p+0 +-0x1.e0918p-2 +-0x1.e77beap+2 +0x1.0f3b9p+1 +-0x1.786ad4p+2 +0x1.29346p+3 +-0x1.4b0e9p+1 +-0x1.2a2d74p+3 +-0x1.0e28fep+3 +0x1.b5df8p+2 +0x1.31d814p+3 +-0x1.3cfad8p+2 +-0x1.e205cp+0 +-0x1.7a0684p+2 +0x1.be3b6p+2 +0x1.2d1274p+2 +0x1.16de74p+2 +-0x1.99ee4p+2 +0x1.0b9034p+3 +0x1.27e108p+3 +0x1.3615ep+0 +-0x1.15ad78p+1 +-0x1.7c7fp-2 +-0x1.47b824p+2 +-0x1.144204p+1 +0x1.83082p+2 +-0x1.d26d9p+0 +-0x1.0aa2cp+1 +0x1.2f61e8p+3 +0x1.12ca4p+1 +0x1.38e0dp+0 +0x1.3082p+0 +-0x1.0b23bcp+3 +-0x1.ae7da6p+2 +0x1.2259f8p+3 +-0x1.f942cp+0 +0x1.0e2038p+3 +-0x1.346e94p+2 +0x1.70d4ep+1 +0x1.29b664p+3 +0x1.0bc478p+2 +-0x1.bf95bp+0 +-0x1.3ed4cap+2 From patchwork Fri Nov 29 13:17:30 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: 846126 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp858366wrp; Fri, 29 Nov 2024 05:27:16 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXxxkfyFgkiFNC+BEHuFazTl/2arkdZje43F7an1nKtoZnuJORYyKK8vdzmEaJwO3n8fBObhg==@linaro.org X-Google-Smtp-Source: AGHT+IGMgbWlGzDdkUkOeLPG5q8rfAi4Q0bh9BGqowjA5simL/AzApKYnmwSW/7HqVXSkB8hpFEg X-Received: by 2002:a5d:6481:0:b0:385:df4e:364b with SMTP id ffacd0b85a97d-385df4e3bc5mr2562097f8f.12.1732886836052; Fri, 29 Nov 2024 05:27:16 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732886836; cv=pass; d=google.com; s=arc-20240605; b=G1EzlyuIG9JPZDsJ1waMeFe8nFmgu3Ns+QHk0HKXGPWXae4Iz3dljkHoqQO6tmpZUk EApsUryox3cKwpcBIqOvxhaNC2JvWC59tdjKWpdvCfOEuPN+xnZqRHomRllN9VmlKOZX t7r+uaerzaElBdG4VjE2SQOCsGWcsq5Dx/wBDJANqWQtix3GemepbXyHX3Tr8UHtD0aj KVG/BaLwMVwoEyImF10mp6k1gYueTNAIH7wEx7LwvdUVBOFZ81z+wna20VhuEcZHBLrm Jqj2w/9wNl9Bj9aOV65lcUGnny1jemTsVl8HdTXb/wkIiE9ihIJ00luSunwcQ6RvbGdb zJkg== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to; bh=Gn8L4SzCv4tHkbUhEbQ1oGgFxppralIrXyLlxsdSTE4=; fh=/bzLn4Pu6wt5yJOmVA6NJX5WuFMrzV1CRzIGBeRqGpk=; b=S1+2RhOEJAqCfMuGEoYkbwfidYrdE9Gw7fgNevEitQ8STM16ddPcF7pSi0bCZZuXGu 2diP6laEE60QUtoiks9DF1oFlB8uZmoaSCuIBGWsytsMAwmzIg0t+TT5bWO7PVQI2T/i GVmsLrLflx4LYgZlzNNBOxNSGhB2J4BLbSVZN4iiTy92iOi8GtEtCKshzAh+BRQ5gutj fp7qTXlwbf3GUdQ6jeKv5vwRRzx4yNjlgKZKw8wCOzikm1SntQlveWp09B0/gbOh8Tvu DU2B6WoLFrFZQYclO7R0IRvfI4WkhPJ22q2AnvtYAK7MrHiw3NggqotXomp3ydDrElPc ofOw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="LKN7RF/i"; 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 ffacd0b85a97d-385ccda3f42si2174997f8f.948.2024.11.29.05.27.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:27:15 -0800 (PST) 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="LKN7RF/i"; 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 C38BC3858C78 for ; Fri, 29 Nov 2024 13:27:14 +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 43F973858D38 for ; Fri, 29 Nov 2024 13:20:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 43F973858D38 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 43F973858D38 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=1732886452; cv=none; b=koAVNt1NW2tWMwDt4Kf4/kN56wlLNm5tdqmcTNg9u/c/yN2zypbREBwHgBsW5jBQlPpU47oGHbDT2jFtlAWeUqbdGVMCcBKJJ1Fkyf2e7Q45qZaEbqW+dvRnD9Pe7rqwMpK8z/EscFF5YFh9rBaX99oo7FJq6FYXoUvtDZriGo8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886452; c=relaxed/simple; bh=qI8vwXtovD7JLdScbIdxDTVb/MePH/HV2gX7HksA2iw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=LYG8bU4DnvcJFxsgle22GI33EclS6Myim2Ld+JpooXQCXmOTNFkcyvN43vOfoiHkn9wWVBkm6uYJfAdwCoiABQL7N0BgVSzazWFzWTAJnw/Itxuq4EBTS5tQDrsVHBJOmubtAZ3qt9WDkQ6+F8uX7uba3K4iaDxc2CecwNTwG+8= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 43F973858D38 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=LKN7RF/i Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-21285c1b196so17071055ad.3 for ; Fri, 29 Nov 2024 05:20:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886451; x=1733491251; 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=Gn8L4SzCv4tHkbUhEbQ1oGgFxppralIrXyLlxsdSTE4=; b=LKN7RF/iuKDU5qU0xyLKp3QWTJKiB8qs3YmYWeZs3ttKeJZnhTCcqXb0Z69zFHT0uT wO0IGcpBLeBOAvpW+34Yik27N8b/TFUkT8XTihifAtkKuOtZnOBVJG6uuVPcTmBDJGir LQy2of7Vwp7KZrJ6Zod9ZdHu+eUlS79XOfNB8KvRii471ztAsNn53dZtiSEWxdDkUWpY LIWt9yHYhL8aIxyS6PjujtEGSm3bse4bu18i0tqRJkQHkkwD42e0HEm8AhIy3hQZh8Ez Zy+/3bcEdGXcImMEqDklV0aceGFjT43DrEdBAuCtLp8ZhJ9eVt6CFTlYOy7RIrBaHvDb gGTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886451; x=1733491251; 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=Gn8L4SzCv4tHkbUhEbQ1oGgFxppralIrXyLlxsdSTE4=; b=azRO8pBJK9QXHNqufLQeDbV7qBiAkERrtaxpg3C6AHAf2g/qakPaj6d0nmbFgHToA1 PtO8UF55SQMp/vFA8Hb7i7VIxokqvC1YrUO6jwnehg5tsS1kWb9Y6cqtUSwQ0lvZDrUW PbJ4v0GqR4FReIJgkzK+HL/D4mUVZOOUO8Yb7DPhsVU0b/kssyOMSNnppIbcuJVGnUU4 A9XAZCCplEWpAOMDA3t3CE5isnkDGVEt7zQlPkrsn/I1wVHScmVWvGT57s5Hx2g5kBo5 ZkbrRVTIGJsTVHJLlkW1YBKKkgBug61U+QdcdUuD9nXA2VBFeASVKdAH8YU7/xmEHszD 0cuA== X-Gm-Message-State: AOJu0YxPRjpNH2udkXeQKcRBOvqEwyEOMlllxuNuchR6cMYJ3zJuqe6c zPWXeYsfVXhKBnQ9gUV8FSqQbZbbzhjKEyQqzfJR639XguI+tAmMN3BHPS1Rqji0jE6atcSDwhC auaa5Lg== X-Gm-Gg: ASbGnct+jRisecqzVVvhzXCasl0dUWdv18DQhXsIt4Y+/bRENDtvYX4Z5yPXQScQMH7 Sz/2ASYbhuqfiWyIhm6fuWgvn9RvGvTyGnZJWyP7RNWkjw/1Vh4uBuZFSdn2/62ecflWblaELgb 4Wr2TXHs792KUD0M4olQfYs9jPbp/NtgpvwTHaCUCmrL+zs5RRzBJBZ9ZnNrUaNBLv5cXda2sfI P9jP4+uupAQh7CB8PFkwOMXHgGHgeRpiWTh5fHZcka6rhdwnhzeznIBvu8QDJg= X-Received: by 2002:a17:902:d48e:b0:20c:5263:247a with SMTP id d9443c01a7336-21501d64509mr139750545ad.38.1732886448558; Fri, 29 Nov 2024 05:20:48 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.20.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:20:47 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie Subject: [PATCH 06/23] benchtests: Add atan2f benchmark Date: Fri, 29 Nov 2024 10:17:30 -0300 Message-ID: <20241129132032.476978-7-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 in the range [-10,10]. --- benchtests/Makefile | 1 + benchtests/atan2f-inputs | 2005 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 2006 insertions(+) create mode 100644 benchtests/atan2f-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index 143d6c2bbf..29e287f220 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -34,6 +34,7 @@ bench-math := \ asinhf \ atan \ atan2 \ + atan2f \ atanf \ atanh \ cbrt \ diff --git a/benchtests/atan2f-inputs b/benchtests/atan2f-inputs new file mode 100644 index 0000000000..0e66925b1e --- /dev/null +++ b/benchtests/atan2f-inputs @@ -0,0 +1,2005 @@ +## args: float:float +## ret: float +## includes: math.h +# Random x,y inputs in the range [-10,10] +## name: workload-random +0x1.663bap+2, 0x1.b2403p+2 +0x1.44dcb4p+2, -0x1.9a01p+2 +0x1.644ffp+1, 0x1.eb4138p+2 +-0x1.6cca2p+2, 0x1.04627p+2 +-0x1.056a12p+3, -0x1.422b14p+1 +-0x1.9fa38p+1, -0x1.7e70ap-1 +0x1.0eeff8p+1, 0x1.19eaa4p+2 +0x1.1b50d8p+2, 0x1.d7a53p+0 +0x1.3df8c8p+3, 0x1.d0f7p-3 +0x1.efb8ap+2, -0x1.fe22ap+0 +-0x1.6bf4ep+1, 0x1.5e59ecp+2 +-0x1.6bf516p+2, 0x1.8f21c8p+2 +0x1.3a79a8p+3, 0x1.0ebf88p+1 +0x1.5d706p+1, -0x1.f1416ep+2 +-0x1.240508p+3, 0x1.88fc9p+2 +-0x1.8b2f52p+2, -0x1.0bce4p+3 +-0x1.b758a8p+2, 0x1.716664p+2 +0x1.c5c13p+0, -0x1.df3d02p+2 +-0x1.3168eep+2, -0x1.79f4fp+2 +0x1.7cc8c8p+1, 0x1.b8a148p+2 +-0x1.c5d8d8p+1, 0x1.5608fp+1 +0x1.2db0fp+3, 0x1.9c7b6p+2 +-0x1.a5ddacp+2, 0x1.26027p+2 +-0x1.9a6358p+2, -0x1.795c62p+2 +-0x1.744b04p+2, 0x1.c5dcp-1 +0x1.07c128p+2, -0x1.6baa9cp+2 +-0x1.dde3acp+1, 0x1.63eeep+2 +-0x1.7a502ep+2, 0x1.ebdap-3 +-0x1.3ca07p+1, -0x1.0514e8p+3 +0x1.080a3p+1, 0x1.000ecp+3 +-0x1.09a176p+3, 0x1.34c01p+1 +-0x1.72241cp+2, -0x1.7e1864p+1 +-0x1.15b43p+3, -0x1.d3b3acp+2 +-0x1.f35868p+2, 0x1.59dep-3 +0x1.174868p+2, 0x1.36e57p+3 +0x1.17526p+3, 0x1.2b1a7cp+3 +0x1.1d38dp+2, -0x1.1565bep+3 +-0x1.89da8p+2, 0x1.e13a2p+2 +0x1.fa4f8p+2, 0x1.b827cp-2 +0x1.082068p+3, 0x1.e2fep-2 +-0x1.07c538p+1, -0x1.fa21ep+1 +-0x1.44f4p-6, 0x1.904fap+2 +0x1.7f5fep+1, 0x1.67d9p-1 +-0x1.e7d36p+0, -0x1.0d28a2p+3 +0x1.742af8p+2, 0x1.be47p-2 +0x1.00e3b8p+2, 0x1.ac6cbp+2 +-0x1.66f8ep+1, -0x1.8827p-1 +-0x1.643a46p+2, -0x1.ee998p-2 +0x1.06d934p+3, -0x1.cd62a6p+2 +0x1.2a1008p+3, -0x1.f5864p-1 +-0x1.bc4edp+0, -0x1.22275p+3 +-0x1.c3696p+0, 0x1.7d86fp+2 +-0x1.a92be4p+2, 0x1.3657dcp+3 +-0x1.b30c44p+2, -0x1.0f629p+1 +-0x1.a3ef34p+2, -0x1.bea9ep+1 +0x1.384094p+3, -0x1.de57p-3 +-0x1.f351ecp+2, 0x1.4a03bp+1 +-0x1.becfbcp+1, -0x1.e112acp+1 +0x1.ecf5ap+0, 0x1.e45b3p+1 +0x1.1dd84p+2, 0x1.ad1898p+2 +-0x1.4fbbep+0, 0x1.3b2498p+3 +-0x1.ffac1cp+1, -0x1.21a712p+3 +0x1.4f5b8p-1, 0x1.5d045cp+2 +0x1.0842bp+2, -0x1.28c0aep+3 +-0x1.e00ac4p+1, 0x1.d411cp-1 +0x1.3ebc78p+3, -0x1.2a0cd2p+2 +0x1.ab2568p+2, 0x1.f74d8p-3 +0x1.08c83p+2, -0x1.245f9cp+3 +0x1.6401p-3, 0x1.13db2p+2 +0x1.18f038p+2, -0x1.9d585p+0 +0x1.e19238p+1, -0x1.8ba8e4p+1 +0x1.ed6008p+2, -0x1.2bac06p+2 +0x1.ae7ap+2, 0x1.4d506p+1 +0x1.063bbp+1, 0x1.12cc28p+2 +-0x1.3dc286p+3, -0x1.09de68p+1 +-0x1.3ed7fcp+2, 0x1.165028p+2 +0x1.dc83bp+1, -0x1.4e50ap-1 +0x1.0dedbp+3, 0x1.2ea93cp+2 +-0x1.69a5ep+1, 0x1.0c71dcp+3 +-0x1.fb68fp+0, -0x1.8a3c28p+2 +0x1.56a0ep+0, 0x1.ee9b8p+1 +-0x1.b50ef2p+2, -0x1.1125f4p+3 +-0x1.371cacp+1, -0x1.bd9dp-3 +-0x1.70f5p+0, -0x1.3f0b4ep+2 +0x1.55379p+0, 0x1.2fa3cp+2 +0x1.260ec4p+3, 0x1.ebaddp+1 +0x1.f7156p+1, 0x1.7fee8p-2 +-0x1.ddf896p+2, 0x1.75e70cp+2 +-0x1.003338p+3, -0x1.689fa4p+2 +0x1.1aa084p+3, 0x1.b9e198p+2 +0x1.e24c3p+1, -0x1.b8348p+0 +-0x1.e129fep+2, -0x1.a4e96p+0 +-0x1.22e506p+3, 0x1.e1b9d8p+2 +-0x1.539f6ep+2, 0x1.bfac4p+0 +0x1.4c868p-2, 0x1.af384p-2 +0x1.ad3fcp-2, 0x1.667acp+2 +-0x1.70da5p+0, -0x1.9bc5ap-1 +0x1.63cae8p+2, 0x1.abfa2p+1 +-0x1.15b62ap+3, -0x1.3d7fcp+0 +0x1.fcdf2p+1, 0x1.9e87bp+2 +0x1.1bb788p+1, 0x1.0430cp-2 +0x1.3cd15p+3, 0x1.e2463p+1 +-0x1.7dbe6cp+2, -0x1.ff0f3cp+1 +-0x1.72b5dcp+2, -0x1.a4bap-4 +-0x1.988e8p+1, 0x1.3d6c3cp+3 +0x1.14bacp+0, 0x1.002348p+3 +0x1.4b2fc4p+2, 0x1.e76bbp+2 +-0x1.6fe52p-1, -0x1.d5132p+0 +-0x1.13f81ep+2, -0x1.783fep+1 +-0x1.026fccp+3, 0x1.ba2bcp-1 +0x1.efd28p+2, 0x1.49d6p+2 +-0x1.53d8ccp+1, -0x1.eef474p+2 +-0x1.ab803p+2, -0x1.24be54p+2 +0x1.c168bp+1, -0x1.e2df78p+2 +-0x1.397828p+2, -0x1.10d254p+2 +-0x1.93cc06p+2, 0x1.76f5ep-1 +0x1.392648p+3, -0x1.224658p+1 +0x1.fb49p-2, -0x1.a43da4p+2 +0x1.2a054p+3, 0x1.9f41e8p+2 +0x1.0fc3cp+0, -0x1.39874p-2 +0x1.8f746p+2, 0x1.e24abp+2 +0x1.e5a4ap+2, -0x1.30f58p-2 +0x1.950ee8p+2, 0x1.323858p+1 +-0x1.149dc4p+2, 0x1.066578p+2 +-0x1.1870c2p+3, -0x1.1eb95p+3 +0x1.c2689p+2, -0x1.188aa2p+3 +-0x1.b31c6p+1, 0x1.2ddbf8p+3 +0x1.7c1438p+2, 0x1.910c9p+1 +0x1.01041p+2, -0x1.00e5d8p+3 +-0x1.19b8fp+0, 0x1.045a88p+3 +0x1.79145p+1, -0x1.1a608p+2 +0x1.3c53p-3, 0x1.4a2p-5 +0x1.22faap+0, 0x1.e241dp+1 +0x1.8e0fep+1, 0x1.f32c6p+2 +0x1.152f5p+2, -0x1.ccb98p-3 +0x1.e0c08p+0, -0x1.dd9734p+2 +0x1.40c374p+2, 0x1.a549dp+2 +-0x1.2d4ef4p+2, -0x1.8c738p-1 +-0x1.7719cp+0, -0x1.23787p+3 +0x1.68f668p+1, -0x1.30111p+2 +-0x1.f8463p+2, 0x1.1ba5d8p+3 +0x1.0e81p+0, -0x1.eae38p+1 +0x1.d8c198p+2, 0x1.1fdd98p+2 +0x1.798f78p+1, 0x1.906fbp+1 +-0x1.9c1948p+2, -0x1.86edap+2 +-0x1.e74d6p+0, -0x1.c0e968p+2 +-0x1.38417p+3, 0x1.8907p+0 +-0x1.17a02p+1, 0x1.4afe8p-1 +0x1.17f30cp+3, -0x1.c8b6ep-1 +-0x1.b9f6p+1, -0x1.a684cp-1 +-0x1.df3a4p-1, 0x1.c02868p+2 +-0x1.36e366p+3, -0x1.e77p-7 +-0x1.7fb43p+1, 0x1.f5b8a8p+2 +0x1.226528p+2, 0x1.1960ap-1 +-0x1.1b0eb8p+1, -0x1.df3308p+2 +-0x1.21d266p+3, 0x1.17f88p+3 +-0x1.04958ap+2, -0x1.030244p+2 +-0x1.e775p-3, 0x1.f8a84p+2 +-0x1.349f74p+3, 0x1.e2b68p-3 +0x1.c81898p+2, -0x1.99d2bcp+2 +-0x1.2f6adcp+2, -0x1.ec4cep+0 +0x1.6165cp+0, -0x1.ef1c6p-1 +-0x1.1d0b48p+2, 0x1.1af914p+3 +0x1.0ede84p+3, 0x1.0848d8p+3 +0x1.19c98p-3, -0x1.d216bp+1 +-0x1.e59944p+2, -0x1.1ccff8p+1 +0x1.bb35cp-1, 0x1.7d38f8p+2 +0x1.280398p+2, 0x1.2dcfc4p+3 +-0x1.16ca54p+1, -0x1.aef6cep+2 +0x1.2cc32p+3, 0x1.16e55cp+2 +-0x1.bf9c6p-1, -0x1.fb96a8p+1 +0x1.2499f8p+1, 0x1.2b0e4p+3 +0x1.d97d8p+0, -0x1.1c03aep+3 +-0x1.05404ap+3, 0x1.396e48p+2 +0x1.28787p+1, -0x1.1c07dp+3 +-0x1.0d161ep+3, 0x1.15f548p+3 +0x1.661a6p+1, 0x1.2c8a34p+2 +0x1.83f23p+2, -0x1.96eb2ap+2 +-0x1.3fb248p+3, -0x1.8d8dp+0 +-0x1.fb0138p+2, 0x1.b341ep+2 +0x1.40abdp+0, 0x1.5f03dcp+2 +0x1.314ca8p+3, -0x1.ff6d7cp+2 +-0x1.cb7cp-4, -0x1.aef654p+1 +0x1.eb4a8p-3, 0x1.2a7178p+3 +0x1.727938p+2, 0x1.a49738p+2 +-0x1.1613bcp+1, -0x1.765bp-3 +0x1.162c84p+3, 0x1.c176a8p+2 +0x1.12f68p+0, 0x1.2d9128p+3 +0x1.a340ap+0, 0x1.f7702p+2 +0x1.15dc3p+0, -0x1.073bb8p+2 +-0x1.094ec2p+2, -0x1.929518p+2 +-0x1.b9cc38p+1, -0x1.931e38p+2 +0x1.2dec64p+3, 0x1.cea3ep+0 +0x1.21a2p+3, -0x1.8c14d4p+2 +0x1.451824p+2, 0x1.2745b4p+2 +0x1.37ffp+3, -0x1.6fdb8p+2 +-0x1.76b106p+2, -0x1.19e596p+3 +-0x1.51acep+2, -0x1.1c8438p+3 +0x1.319244p+2, 0x1.23fb5p+3 +-0x1.0236cp-1, -0x1.695b4p+0 +-0x1.6eb3cp-2, -0x1.04148p-2 +-0x1.17f98p+1, -0x1.13e16cp+3 +-0x1.10801p+3, -0x1.1165cep+3 +0x1.4e4bcp-1, 0x1.31fd58p+2 +-0x1.00f35ep+2, 0x1.9e096p+2 +-0x1.013f0ap+2, -0x1.c0a618p+1 +0x1.f92dfp+2, -0x1.8bc27cp+2 +0x1.803d48p+2, -0x1.0b50fap+2 +-0x1.5e4c14p+1, -0x1.fa918p-2 +-0x1.ad2424p+1, -0x1.bb2f14p+1 +0x1.3110cp+3, -0x1.7a540ap+2 +-0x1.9c67ap-1, 0x1.282448p+3 +0x1.3203f8p+3, -0x1.8642b8p+2 +-0x1.cf372cp+2, -0x1.230c3p+2 +0x1.cc1638p+1, -0x1.7bb8e8p+2 +-0x1.aca2a2p+2, 0x1.334a7p+3 +0x1.e3a7cp+2, -0x1.06e64p+0 +0x1.a7286p+0, 0x1.6018p-5 +-0x1.20cd46p+2, 0x1.0b7248p+3 +0x1.6362e4p+2, 0x1.faa22p+0 +-0x1.160ceap+3, 0x1.678584p+2 +-0x1.195ab4p+3, -0x1.a4eae8p+2 +-0x1.f84f88p+2, -0x1.327dp-3 +0x1.0e216cp+2, 0x1.55bd5p+2 +0x1.2ae28cp+2, -0x1.3e1fb8p+3 +-0x1.93a9p+2, -0x1.f5807p+0 +-0x1.3bd2f2p+3, 0x1.6c9ae4p+2 +0x1.0f0118p+2, -0x1.082764p+3 +-0x1.9916f4p+2, 0x1.6c994p-2 +0x1.2e0bep+1, 0x1.43d57p+2 +-0x1.3c6f46p+3, 0x1.e2d318p+1 +-0x1.71cffap+2, 0x1.3e3d48p+2 +-0x1.994ff4p+2, 0x1.2d205p+1 +-0x1.310f82p+2, -0x1.27469p+3 +0x1.1543e8p+3, 0x1.a8c14p-2 +0x1.07506cp+3, 0x1.464a2cp+2 +0x1.6d0fcp+0, 0x1.2c2418p+2 +0x1.cceecp+0, 0x1.281fbcp+3 +-0x1.facc7cp+2, 0x1.4cf508p+2 +-0x1.34b8a6p+3, -0x1.05fecap+3 +0x1.d9cb4p+0, 0x1.2c9658p+3 +0x1.e6f358p+2, 0x1.32e538p+3 +0x1.22f94p+0, 0x1.136fp-2 +-0x1.be6914p+2, -0x1.67cbf8p+1 +0x1.fa52b8p+2, -0x1.f32a6p+2 +0x1.7c9f18p+2, 0x1.66f838p+2 +0x1.40ab98p+2, -0x1.ff4188p+2 +0x1.2e2bbp+1, 0x1.6bae88p+1 +-0x1.e31c3p+0, -0x1.f2e084p+1 +0x1.164a54p+2, -0x1.0723fcp+3 +-0x1.1032c8p+1, -0x1.088caap+3 +-0x1.1b1a2p+0, 0x1.f1bc1p+0 +0x1.758acp+1, 0x1.290b08p+2 +-0x1.186cd6p+2, 0x1.df59e8p+2 +-0x1.7e9c1p+0, -0x1.3ec708p+1 +0x1.942708p+2, -0x1.3963cp+3 +0x1.aa4da8p+2, 0x1.35497p+1 +0x1.346c9p+0, -0x1.8d386cp+2 +0x1.19a7cp+2, 0x1.bb7bep+2 +-0x1.f3c818p+1, 0x1.fb7fb8p+1 +-0x1.09be5p+2, 0x1.6a68ap+1 +0x1.35b29cp+3, 0x1.e5eaa8p+1 +0x1.adb1ap+1, -0x1.0fb59ep+3 +-0x1.b53cecp+2, -0x1.2c85dcp+3 +-0x1.00606ep+2, 0x1.9a4e5p+2 +0x1.8054bp+0, 0x1.253c78p+3 +-0x1.2ce55ap+3, -0x1.332ce2p+3 +0x1.ba50ap+2, -0x1.e825a8p+1 +-0x1.4ebd9ap+2, -0x1.fb52p+0 +-0x1.fe5d28p+1, 0x1.1ce35p+3 +-0x1.0e4398p+2, 0x1.358328p+1 +0x1.ac8p+2, -0x1.212098p+2 +0x1.324b9p+3, 0x1.268618p+3 +0x1.5eaf08p+1, -0x1.2b62d4p+3 +-0x1.85c298p+2, 0x1.34fdap+2 +-0x1.02cf98p+3, 0x1.f71218p+1 +-0x1.2f48a8p+3, 0x1.1d4bf8p+3 +0x1.c8988p+2, 0x1.7b645p+0 +0x1.78ef8p-2, -0x1.c83034p+2 +-0x1.1d324p+2, -0x1.9ce916p+2 +0x1.1ab7dcp+3, -0x1.4c9d7p+0 +0x1.bed97p+2, 0x1.7c3b8p+1 +-0x1.ce4178p+1, 0x1.caf708p+1 +0x1.ceb6p+0, -0x1.92aa6p+2 +0x1.2670a8p+3, -0x1.27578p-2 +0x1.081f04p+2, -0x1.7432ecp+2 +0x1.a10bb8p+1, -0x1.113bb8p+1 +-0x1.731588p+2, 0x1.1e0768p+1 +0x1.f1469p+2, -0x1.0e16dep+3 +0x1.c13e8p+0, -0x1.769c0ep+2 +-0x1.118db6p+3, 0x1.ead2p-4 +-0x1.578b84p+1, 0x1.817d18p+2 +0x1.1140ccp+3, -0x1.67ff3cp+2 +-0x1.549558p+2, 0x1.2709cp+2 +-0x1.aa0bep+2, -0x1.6758c2p+2 +0x1.a737ap+0, 0x1.6fe85cp+2 +0x1.2daccp+0, 0x1.0bf11p+3 +-0x1.10e868p+2, 0x1.696318p+2 +0x1.e14aa8p+1, 0x1.88e44p+0 +0x1.0805d8p+2, -0x1.29eba2p+3 +-0x1.13df8p-3, 0x1.611e7p+1 +0x1.078bap+3, -0x1.2ceee8p+2 +-0x1.5d1dc8p+1, 0x1.810e6p+2 +0x1.2fd76p+1, -0x1.2b1918p+1 +0x1.034p-3, -0x1.2e6072p+3 +-0x1.3cb6a4p+3, 0x1.61948p+0 +0x1.299c9p+3, -0x1.166bb2p+3 +0x1.9207ap+0, -0x1.71059cp+2 +0x1.393c5p+3, 0x1.13cfccp+3 +0x1.2e499p+3, 0x1.3a3a28p+3 +-0x1.2d5ebep+2, 0x1.e8f4cp+0 +-0x1.6bd268p+2, 0x1.dfae1p+2 +0x1.19ca64p+3, 0x1.321a3p+3 +-0x1.28f50ap+3, -0x1.2456dp+2 +0x1.d67a8p+1, -0x1.790b6cp+1 +-0x1.d928p+2, 0x1.3ba19cp+3 +0x1.6a637p+2, 0x1.eb4f6p+0 +0x1.a10bcp+0, -0x1.4f622p+0 +0x1.847f28p+2, -0x1.15dea4p+3 +-0x1.2d4ff4p+3, -0x1.141222p+2 +-0x1.a641f8p+2, -0x1.fc017p+1 +-0x1.c0919cp+2, 0x1.9e34ep-1 +-0x1.5addep+2, -0x1.d219e8p+1 +-0x1.28b5bp+0, -0x1.29bcap+1 +0x1.1b4b18p+3, -0x1.231c62p+2 +0x1.0c1f14p+3, -0x1.5f3de4p+1 +-0x1.20c1b2p+3, -0x1.7f3b48p+2 +-0x1.b060a8p+1, -0x1.dc4938p+2 +-0x1.151d6cp+2, -0x1.318bdp+2 +-0x1.d85fb8p+2, 0x1.854d1p+2 +-0x1.47bb0ep+2, -0x1.0bba08p+2 +0x1.ccc308p+2, 0x1.2ff24p+3 +-0x1.a6f9c8p+1, -0x1.29f1e6p+2 +0x1.300438p+3, -0x1.5a7f48p+1 +-0x1.6251aap+2, -0x1.281a88p+1 +0x1.ce22e8p+1, 0x1.2a82ap+3 +-0x1.d5c3acp+1, 0x1.1e74ep+3 +0x1.6f9504p+2, -0x1.67babp+1 +0x1.7991fcp+2, 0x1.1ead28p+3 +0x1.7bbfa8p+1, 0x1.d9c6cp+1 +-0x1.4a7854p+1, -0x1.59e158p+2 +-0x1.bf61dcp+2, -0x1.97af6p+1 +-0x1.912c3ep+2, 0x1.29fa78p+3 +-0x1.967f4cp+2, 0x1.cd0408p+2 +-0x1.c7754p-2, 0x1.1b1a3p+2 +0x1.60eba8p+1, -0x1.76ad26p+2 +-0x1.171a5p+2, -0x1.4b0fd8p+2 +-0x1.0c1376p+3, 0x1.2af06p+3 +0x1.00e188p+3, 0x1.b11a3p+2 +-0x1.0bdb9p+0, -0x1.221544p+2 +0x1.54882p+0, -0x1.0c2d4p+1 +0x1.07e8f8p+3, -0x1.132554p+3 +0x1.3b56fp+2, 0x1.0c2e68p+3 +-0x1.04dfe4p+2, 0x1.2fd0ep+1 +-0x1.e83262p+2, 0x1.5ee93p+0 +0x1.4c59d8p+1, 0x1.28e068p+2 +0x1.f8f708p+2, 0x1.189dap+2 +-0x1.30d8c8p+2, 0x1.941p-8 +-0x1.877288p+1, -0x1.0e0d1p+3 +-0x1.1c17c4p+3, -0x1.be9a8cp+1 +-0x1.abba5ap+2, 0x1.2b2478p+1 +-0x1.ed3274p+2, 0x1.c8b968p+2 +-0x1.571482p+2, -0x1.15c312p+2 +0x1.1e0fdcp+2, -0x1.3ebf28p+1 +-0x1.a3842p+0, -0x1.1ca994p+2 +-0x1.41667cp+2, 0x1.2d9f28p+3 +0x1.6ed8e8p+2, 0x1.939b5p+2 +-0x1.338ca8p+3, -0x1.2200fp+0 +-0x1.fdc134p+2, -0x1.dae4ep+0 +0x1.cd2fdp+2, 0x1.1e4514p+2 +-0x1.1b40cp+3, -0x1.39f518p+2 +0x1.01bcc8p+1, -0x1.1284e8p+1 +-0x1.141d32p+3, -0x1.59058cp+1 +-0x1.5b185p+1, 0x1.2062bp+3 +-0x1.3dbc32p+2, -0x1.8183e8p+2 +0x1.3e0a1p+0, 0x1.9434cp-1 +0x1.d8928p+2, -0x1.dd2dep+2 +0x1.2e1c8cp+3, -0x1.e074dcp+2 +0x1.e35098p+1, 0x1.9a7308p+2 +0x1.ba43f8p+2, -0x1.1b98c6p+3 +-0x1.050ad2p+3, 0x1.4bde8p+1 +-0x1.0c301ap+3, 0x1.6ba98p+2 +0x1.c1ff4p-1, -0x1.ab17c6p+2 +-0x1.14e03ap+2, 0x1.145ap+3 +0x1.2dae4p+3, 0x1.fd1908p+2 +-0x1.8a734cp+2, -0x1.3085ccp+3 +-0x1.623458p+2, -0x1.1ed68p+0 +-0x1.1e9c48p+1, 0x1.a75478p+1 +0x1.b7e67p+2, -0x1.4978e6p+2 +-0x1.bf1b5p+0, -0x1.6879cp-1 +-0x1.e2a058p+2, 0x1.2b962cp+3 +0x1.ccb91p+2, -0x1.370bb8p+1 +0x1.f9997p+0, -0x1.dd1ab8p+2 +-0x1.58743p+1, -0x1.343526p+3 +0x1.ed418p+1, -0x1.9f7204p+2 +0x1.186ebp+0, -0x1.8cbp+0 +0x1.478bbcp+2, 0x1.f25afp+1 +0x1.62ca2p+2, -0x1.cde16p-1 +0x1.10bd94p+3, -0x1.a85da4p+1 +-0x1.0c2724p+3, -0x1.5dbb1ap+2 +0x1.85df6p+1, -0x1.1d014p+3 +-0x1.6ba7bap+2, 0x1.97ce9p+1 +0x1.d518bp+2, -0x1.3ad118p+3 +-0x1.307472p+3, 0x1.a39b18p+1 +0x1.058c8p-1, -0x1.bcf16ep+2 +0x1.f539f8p+2, 0x1.1568d4p+3 +0x1.35483p+3, -0x1.0d592ep+3 +-0x1.d25f9p+1, -0x1.103dcap+2 +-0x1.10a514p+2, -0x1.22748cp+1 +0x1.87517p+0, -0x1.26da8ep+3 +0x1.33e9b4p+3, 0x1.21875cp+2 +0x1.477bb8p+2, -0x1.b3bafep+2 +0x1.fafe6p+2, -0x1.2da99cp+3 +-0x1.0b92dp+3, 0x1.9e044p+1 +-0x1.311dc6p+2, -0x1.d3334ep+2 +-0x1.0d65bep+2, 0x1.3fdp+0 +-0x1.016d02p+3, 0x1.20988cp+3 +-0x1.2c415p+3, 0x1.3bcf84p+3 +-0x1.ec01e4p+1, 0x1.ad6f48p+1 +0x1.e55bep-1, 0x1.c5e34p+1 +-0x1.f09fp+0, 0x1.97c6f8p+1 +-0x1.d09cap+0, 0x1.0be7ap+2 +0x1.41dc18p+1, 0x1.fbe48p+1 +0x1.088a6p+1, -0x1.2ea978p+1 +-0x1.8fcd4p+1, 0x1.126cf4p+2 +0x1.ff66b8p+2, 0x1.edc53p+1 +0x1.879408p+1, 0x1.0d01c4p+2 +0x1.663848p+2, 0x1.59239p+2 +-0x1.a66018p+1, 0x1.6b37ep+1 +-0x1.15c734p+3, 0x1.55113p+1 +-0x1.76c2bp+2, 0x1.104dfp+0 +0x1.08774p+2, -0x1.e168ecp+1 +0x1.3cd1p-3, 0x1.d0c7e8p+1 +-0x1.eb0c9ep+2, 0x1.4e0668p+2 +-0x1.ed731p+1, 0x1.ad085p+1 +0x1.bd0f4p+2, -0x1.7c9ef8p+2 +0x1.023ccp-2, -0x1.34a0b4p+2 +0x1.6fddecp+2, 0x1.036bb8p+2 +-0x1.8db1acp+2, 0x1.6f1988p+2 +0x1.246ac8p+3, 0x1.a7c688p+2 +0x1.4cda14p+2, -0x1.a45796p+2 +-0x1.34cfd6p+3, -0x1.10b318p+3 +-0x1.a16be4p+2, -0x1.ffab98p+1 +0x1.c2128p+2, 0x1.2403p+0 +0x1.2b1b5p+2, -0x1.a89f6ap+2 +0x1.004318p+1, 0x1.d4ce18p+1 +0x1.7a4198p+2, 0x1.6fc5d8p+2 +-0x1.20657ap+3, -0x1.62d8p-6 +0x1.d5a0fp+2, -0x1.33d74p-2 +0x1.8dfp-3, 0x1.9f502p-1 +-0x1.cee7p-2, 0x1.494354p+2 +0x1.027a2p-1, -0x1.8af9ap+1 +-0x1.642e24p+2, 0x1.3d82b8p+3 +-0x1.3c82dp+2, 0x1.9bbcp-2 +-0x1.c355d4p+2, -0x1.86c96p-1 +0x1.507cp+0, -0x1.1b67aep+3 +-0x1.ceafacp+2, 0x1.2a712p+1 +0x1.853c8p+2, -0x1.b6b698p+1 +-0x1.f581fcp+2, -0x1.7375bp+1 +-0x1.72dc58p+1, 0x1.72758p+1 +-0x1.39fd7ep+2, -0x1.91c2cp-2 +0x1.398bcp-1, -0x1.c8b454p+2 +-0x1.0aadb4p+1, -0x1.ebb5acp+1 +-0x1.63468p-2, -0x1.883d7p+2 +-0x1.3a543cp+3, -0x1.19e48p-2 +-0x1.b39374p+2, -0x1.b19b14p+2 +-0x1.01b34ap+3, -0x1.98bfecp+1 +-0x1.28894cp+2, 0x1.1d14p-6 +0x1.7066ep+2, 0x1.cee84p+0 +0x1.004258p+1, -0x1.f617b4p+2 +-0x1.2e02ep+1, -0x1.d0402ap+2 +0x1.a45328p+2, 0x1.ac4f9p+2 +-0x1.9ad28p-1, 0x1.2db214p+3 +-0x1.0c6944p+3, 0x1.9f8cbp+0 +-0x1.6110a2p+2, 0x1.3415fp+3 +0x1.74045p+2, -0x1.0054a2p+2 +-0x1.6bfcep+1, -0x1.a4df1ap+2 +-0x1.40e7p-1, 0x1.d34818p+1 +-0x1.19c9c2p+3, -0x1.3b1bc2p+3 +0x1.7784p-1, -0x1.a4055ap+2 +0x1.60776cp+2, -0x1.d5fc26p+2 +-0x1.2c0246p+2, -0x1.ce3678p+1 +0x1.08b488p+3, 0x1.4ce9b4p+2 +0x1.85101p+2, -0x1.8973dp+0 +0x1.f227p-1, -0x1.f09d8p-1 +-0x1.2130e8p+3, -0x1.a92b6p+0 +0x1.cf79p+0, -0x1.dea628p+1 +0x1.7329p-3, -0x1.bba32p-1 +-0x1.112fcp-2, -0x1.c9a5cp+0 +-0x1.c4bf78p+1, 0x1.e5a5cp-1 +-0x1.4c7cp+1, 0x1.eff06p+2 +-0x1.520b9p+0, -0x1.c5eeb4p+1 +-0x1.3e9ceep+2, -0x1.f937c4p+1 +0x1.3331bcp+3, 0x1.0b8cp-3 +-0x1.b7ce3cp+1, -0x1.f58d16p+2 +0x1.9638p-7, 0x1.77deap-1 +0x1.2cbbbcp+2, 0x1.0db5ccp+3 +0x1.100ap-5, -0x1.300e24p+3 +-0x1.ce3374p+2, 0x1.b4bcap+1 +0x1.af6618p+1, -0x1.eb3bf8p+2 +0x1.25e398p+3, 0x1.f3865p+2 +0x1.39698p+3, -0x1.c308acp+1 +-0x1.10159p+3, -0x1.fc2068p+2 +-0x1.3d71dcp+3, 0x1.48f33p+2 +-0x1.9d9a4p-1, 0x1.27a81p+1 +-0x1.8733cep+2, 0x1.a0b07p+0 +-0x1.4393ep+0, -0x1.f5f4ap-1 +0x1.407df8p+1, -0x1.89f1p+0 +0x1.2f56cp+0, -0x1.90986p+0 +0x1.2e086cp+3, 0x1.47698p-3 +-0x1.a92b04p+2, 0x1.acf108p+2 +-0x1.0892cap+3, 0x1.7f816cp+2 +-0x1.94a8fp+0, -0x1.8bf78p-2 +0x1.c8e468p+2, -0x1.a30394p+1 +-0x1.d699d4p+2, -0x1.09f54p-1 +0x1.84063p+2, 0x1.daf88p-3 +0x1.f1bb8p-3, 0x1.fd151p+2 +-0x1.377e14p+3, 0x1.c3bcb8p+1 +-0x1.9783b6p+2, 0x1.bd92d8p+2 +-0x1.240e36p+3, 0x1.e7bddp+1 +-0x1.e73ddcp+2, -0x1.55dcb8p+1 +0x1.00c4c8p+3, 0x1.44a418p+2 +0x1.46dc58p+2, -0x1.53c05ap+2 +-0x1.4aefcp-1, 0x1.413a88p+1 +0x1.1c2a98p+3, -0x1.8675e8p+1 +0x1.1f843p+2, -0x1.c2f928p+2 +-0x1.cea5ep-1, -0x1.045ac8p+1 +-0x1.9d3c74p+2, -0x1.c24084p+2 +0x1.8ae54p+0, -0x1.28e7c8p+1 +-0x1.0f6e7ap+3, -0x1.6dec9ap+2 +0x1.c7981p+1, 0x1.57612p+1 +-0x1.dbd5p-4, -0x1.ad3d14p+1 +0x1.cf80cp-1, 0x1.70012p+2 +-0x1.a1ff44p+2, 0x1.4f7bcp+2 +-0x1.d83b84p+2, -0x1.0d9c4cp+3 +0x1.a60168p+2, 0x1.16102p+0 +-0x1.3ff1a8p+2, -0x1.d0494cp+2 +-0x1.5e142ap+2, 0x1.3bf90cp+3 +0x1.290c14p+3, 0x1.60259cp+2 +-0x1.ba5a8p-2, 0x1.b39p-8 +-0x1.3b2ap-5, 0x1.96dfp-3 +-0x1.00b232p+3, 0x1.d94308p+2 +-0x1.14603cp+3, 0x1.51963p+1 +0x1.262c78p+2, -0x1.161fb2p+2 +0x1.6dddp-4, 0x1.6236p-1 +-0x1.064d24p+2, 0x1.1a27dp+3 +-0x1.32624p+0, -0x1.8858ep+2 +-0x1.a4b914p+1, -0x1.2a436ep+3 +-0x1.9fde5cp+1, -0x1.190d04p+3 +0x1.a5c28p+0, -0x1.6fa6b8p+1 +-0x1.d46484p+1, -0x1.905c8ep+2 +0x1.e862ep+0, -0x1.2b2512p+3 +0x1.2e1a68p+2, 0x1.ea2b4p+2 +0x1.a4aa78p+2, 0x1.52c4cp+1 +-0x1.8785ep+1, -0x1.7047ap+0 +0x1.a25e4p+2, 0x1.b99c78p+2 +-0x1.e3119p+0, -0x1.02d6p-5 +0x1.0a9794p+2, -0x1.2015p-3 +0x1.9f4578p+2, -0x1.c9bc6cp+2 +-0x1.320772p+3, 0x1.c42d4p-1 +0x1.350004p+3, 0x1.07849p+1 +-0x1.541fap+1, -0x1.a420ap-1 +-0x1.1decap+2, 0x1.05c624p+3 +0x1.a644p-3, 0x1.9a46p-5 +-0x1.3a266ep+3, -0x1.a1776p+0 +0x1.7a7888p+2, -0x1.85a7cap+2 +0x1.00c1bcp+3, 0x1.0f78e8p+3 +0x1.0ff698p+3, -0x1.9fb0dp+2 +-0x1.14d742p+3, 0x1.8c5888p+1 +-0x1.174614p+3, 0x1.091fp-1 +-0x1.6e1d9p+1, -0x1.63a46ep+2 +-0x1.781118p+1, 0x1.dca828p+2 +-0x1.f6d5fp+2, -0x1.619158p+2 +0x1.cd2a2p-1, -0x1.bc5dacp+1 +-0x1.9b784p+2, -0x1.0e18p-3 +0x1.6d894p-1, 0x1.9f18bp+2 +0x1.55111p+0, 0x1.e95e88p+2 +0x1.0135e8p+2, -0x1.1f6914p+3 +0x1.9f6b88p+2, 0x1.526d7p+2 +0x1.762658p+2, -0x1.a986c8p+2 +0x1.79eacp+0, 0x1.50bep-4 +0x1.0cdab8p+2, 0x1.874d4p-1 +-0x1.6edd4p-2, 0x1.6a725p+0 +0x1.141fep+3, 0x1.8aaacp-1 +-0x1.bc98d4p+2, 0x1.22bc4cp+2 +0x1.1e1abcp+2, 0x1.c45988p+1 +0x1.e08ecp+2, -0x1.78801ap+2 +-0x1.755b8ep+2, 0x1.ba1cep+2 +-0x1.6e834ap+2, -0x1.7046fcp+2 +0x1.477b9p+1, 0x1.0e102p-1 +-0x1.90fd04p+2, 0x1.23005p+0 +0x1.72b814p+2, 0x1.938e2p+0 +-0x1.dd907cp+1, -0x1.2a09ep-1 +0x1.851bd8p+2, -0x1.65a5ccp+2 +0x1.52a3dp+1, -0x1.c9685p+0 +0x1.857d4p+1, -0x1.3469ep+2 +-0x1.a525ep+1, -0x1.e246p-3 +-0x1.11aaf4p+2, 0x1.d33898p+2 +-0x1.34186ap+2, -0x1.2348ecp+3 +0x1.31b83p+2, 0x1.c1368p-2 +-0x1.fb1278p+1, 0x1.d82318p+2 +0x1.2e29bcp+3, -0x1.02006cp+3 +-0x1.02fccp+1, 0x1.3ae86p+0 +-0x1.adcd3cp+2, 0x1.d830ap+0 +-0x1.7e0dcp+0, -0x1.685b5ep+2 +-0x1.0e7002p+3, 0x1.df931p+2 +0x1.0e7ffp+1, 0x1.c2d34p+2 +-0x1.d021b8p+2, -0x1.1e3ec4p+3 +-0x1.381edp+1, -0x1.186c04p+3 +0x1.46f57p+1, -0x1.2ad21p+0 +-0x1.7209d8p+1, 0x1.d3248p-1 +0x1.06f5dp+1, 0x1.3ef4ap+0 +0x1.4c6ddp+1, 0x1.893d6p+2 +-0x1.33524ap+2, 0x1.d9efp+0 +-0x1.cf42p-1, -0x1.725d22p+2 +0x1.96472p+0, -0x1.c299fap+2 +-0x1.165308p+3, 0x1.f9415p+1 +0x1.734914p+2, 0x1.2b5668p+3 +-0x1.2c5efp+3, -0x1.52d34p+0 +0x1.2116b8p+2, 0x1.f1de6p+0 +0x1.6b262p+0, 0x1.90eb58p+2 +0x1.22beccp+2, -0x1.2b425p+1 +-0x1.b9b8b8p+1, 0x1.ecd2p+1 +-0x1.ebd868p+1, -0x1.9cdf3cp+1 +-0x1.0835f8p+2, 0x1.28df5p+0 +0x1.0c8ee4p+3, -0x1.c2782p+2 +-0x1.7bfbaap+2, -0x1.239794p+3 +0x1.67324p+0, -0x1.346bc2p+3 +0x1.ea7d08p+1, 0x1.c5e12p-1 +-0x1.848e04p+2, -0x1.e6bbe4p+1 +0x1.433338p+2, -0x1.0babbp+2 +0x1.c87b7p+2, -0x1.3f4582p+3 +0x1.e7648p+0, -0x1.b858ap-1 +0x1.0a18c4p+3, 0x1.b3b8ep+0 +0x1.23ee7p+1, -0x1.4765fp+1 +-0x1.3eda1ep+3, -0x1.002d14p+3 +0x1.129668p+2, -0x1.131decp+1 +-0x1.3bc38p+0, 0x1.906618p+2 +-0x1.c16a48p+1, -0x1.6ab208p+1 +0x1.1de8acp+3, -0x1.a1f1cp-2 +0x1.172078p+3, -0x1.47bfa8p+2 +0x1.3cadfp+3, 0x1.773c5p+2 +0x1.6ea4p-5, 0x1.cf0d6p-1 +-0x1.1440c4p+1, -0x1.067cacp+3 +-0x1.61f3ep+0, -0x1.202c98p+3 +0x1.3053ep+0, -0x1.347b2p+0 +0x1.a3ab3p+1, -0x1.1b4904p+1 +-0x1.0e348p+0, -0x1.cc720cp+1 +-0x1.41636cp+2, -0x1.2e3b38p+2 +-0x1.6ec702p+2, 0x1.15189cp+3 +-0x1.394724p+3, -0x1.5d1dd8p+2 +0x1.5bcffp+1, 0x1.0c2c84p+2 +-0x1.116c34p+3, -0x1.4ce99ep+2 +-0x1.52e718p+1, -0x1.b02568p+2 +0x1.3a8e2cp+2, -0x1.8a2d3ap+2 +0x1.148638p+3, -0x1.44c48p-1 +-0x1.dd4e82p+2, 0x1.3a9b4cp+2 +0x1.ed1a8p-3, -0x1.57731p+2 +0x1.219184p+3, -0x1.768a9cp+2 +-0x1.1cee46p+2, 0x1.c090d8p+1 +-0x1.a6a314p+2, 0x1.e5958p+2 +-0x1.26472cp+2, -0x1.42daecp+2 +-0x1.355722p+2, -0x1.295222p+3 +-0x1.82bfd4p+1, 0x1.40c938p+2 +-0x1.347a9p+0, 0x1.eea858p+2 +0x1.ca74ep+2, 0x1.ab9f2p+1 +0x1.25b5f8p+2, -0x1.f9c6fcp+2 +-0x1.3ef844p+1, 0x1.859b08p+2 +0x1.6125dp+2, -0x1.396ecp-2 +0x1.d25d4p+0, -0x1.a965p+1 +0x1.6462b8p+2, -0x1.04c7dep+3 +-0x1.3fb6c2p+3, -0x1.46adeap+2 +0x1.9dafdp+0, 0x1.074fp+2 +-0x1.1e6bap-1, -0x1.1c57a6p+3 +0x1.1790ap+3, -0x1.fbcce4p+1 +0x1.92166p+1, -0x1.c6b3f6p+2 +0x1.2ffde8p+3, 0x1.ecbe1p+2 +0x1.e5b6cp-2, -0x1.b487bp+0 +0x1.aaeaep+2, 0x1.8020fp+1 +-0x1.87e188p+2, 0x1.88b7ap+0 +0x1.56427p+0, 0x1.1a4bd8p+3 +0x1.7a4e9p+1, -0x1.6e2f54p+2 +-0x1.3e67acp+3, 0x1.cd9fp-4 +0x1.eb8a1p+0, -0x1.174beep+2 +0x1.087db8p+2, -0x1.158622p+2 +0x1.82019p+0, 0x1.1061fp+0 +0x1.eca3e8p+1, -0x1.8c064p+0 +-0x1.3b738ep+3, -0x1.02c8f8p+3 +-0x1.86b4bp+0, 0x1.27a77p+1 +-0x1.6cd9bp+0, 0x1.e78abp+1 +0x1.0ad58cp+3, 0x1.2e74ecp+3 +-0x1.152518p+3, 0x1.ccf9cp-1 +0x1.04252p+2, 0x1.327904p+3 +-0x1.4fe01ap+2, 0x1.28b01cp+2 +0x1.bd825p+2, 0x1.51794p+2 +-0x1.27d7f4p+3, 0x1.e2f2p+2 +-0x1.3f0986p+2, 0x1.32abbp+3 +-0x1.5e9064p+1, 0x1.324548p+1 +0x1.10e65p+1, 0x1.2f2bbcp+3 +-0x1.9ea2fp+1, 0x1.c7304p+0 +-0x1.0de8cp-1, -0x1.dcd64p+0 +-0x1.e5ede4p+1, 0x1.f5376p+2 +0x1.f7ca5p+1, -0x1.94c54p+2 +0x1.4f2914p+2, 0x1.680c2p+2 +0x1.45e87cp+2, 0x1.1f00b8p+3 +0x1.01c1fp+2, 0x1.85d998p+2 +-0x1.af331p+0, -0x1.c27dd4p+2 +-0x1.2b8d5ep+3, 0x1.1734f8p+2 +0x1.0f27dcp+3, -0x1.528f28p+1 +0x1.3ae57p+0, 0x1.ec1988p+1 +-0x1.0029ecp+3, -0x1.1c1348p+3 +0x1.05366p+3, 0x1.e0e8ap+2 +0x1.b07068p+2, 0x1.1fee6p+3 +-0x1.6930ap-1, -0x1.0dca3cp+2 +0x1.fb5a88p+1, 0x1.5b185p+0 +0x1.cf15bp+2, 0x1.4eb9a8p+2 +0x1.00692p-1, -0x1.4603ecp+2 +-0x1.fcac1p+0, -0x1.f2cf8p-2 +0x1.a051d8p+2, 0x1.e7253p+1 +-0x1.6aae7ep+2, -0x1.1b140ap+3 +-0x1.f66dp-1, -0x1.5647d6p+2 +0x1.5c706p+0, -0x1.1237dp+3 +0x1.68df2p-1, 0x1.50dc38p+2 +-0x1.77a2dep+2, 0x1.306f74p+3 +0x1.9785a8p+1, 0x1.154924p+3 +0x1.f3c9ap+1, -0x1.fb6558p+1 +0x1.24572cp+3, -0x1.2324p+1 +0x1.4b218p-2, 0x1.f52bc8p+2 +-0x1.37de4p-2, -0x1.69553p+0 +0x1.2a952p+3, -0x1.58644cp+1 +0x1.0d4d68p+2, 0x1.668308p+2 +-0x1.cb35a8p+2, -0x1.3d7f0cp+3 +0x1.3012f8p+2, -0x1.50b16ep+2 +0x1.12d0acp+3, 0x1.e0d5fp+1 +-0x1.57c93p+1, -0x1.dde054p+1 +-0x1.98e2p-4, -0x1.590ea8p+1 +0x1.71ce2p+0, 0x1.f890bp+2 +-0x1.355584p+3, -0x1.ad8518p+2 +0x1.42410cp+2, 0x1.380b58p+3 +-0x1.2b2bbp+3, -0x1.010924p+2 +0x1.a1f538p+1, 0x1.d9bfap+2 +-0x1.8d69f4p+1, -0x1.62adap-1 +-0x1.47b40cp+1, 0x1.18a82p+1 +-0x1.1696d2p+2, -0x1.ec86p-2 +-0x1.bd29ccp+1, 0x1.431d1p+1 +0x1.37cfe8p+3, -0x1.12e524p+3 +-0x1.320c8ep+3, 0x1.7e86bcp+2 +-0x1.95814cp+1, -0x1.09f938p+1 +0x1.342358p+2, 0x1.0f3d38p+3 +-0x1.0d29cp+1, 0x1.2bba48p+1 +0x1.e8a2ep+2, -0x1.bab6p-1 +-0x1.4c25fcp+1, 0x1.a697ap+0 +0x1.95482p+2, 0x1.91cfep-1 +0x1.84506p+2, -0x1.a2e414p+1 +0x1.73b7ep+2, -0x1.49f43ep+2 +0x1.e960a8p+1, -0x1.f288ep+2 +-0x1.74488p-1, -0x1.21b6dp+1 +0x1.08a3c4p+3, -0x1.fe4822p+2 +0x1.e10e58p+1, 0x1.17a8d4p+2 +-0x1.e65fcp+1, -0x1.9a1dap+0 +-0x1.a3a0cp+0, -0x1.a9d8eep+2 +-0x1.2e8274p+3, 0x1.ca164p+2 +0x1.fc0cap+0, -0x1.29a8a8p+1 +-0x1.816c8p+0, 0x1.03c58cp+2 +0x1.43488p-1, 0x1.b2b54p+2 +0x1.8d17dp+2, 0x1.14e508p+3 +0x1.279c3cp+3, -0x1.1901ap+1 +0x1.6093ep-1, 0x1.117914p+3 +0x1.c67a98p+2, -0x1.46fb78p+2 +0x1.2a3b1p+2, 0x1.23dc2p+0 +-0x1.ae7684p+1, -0x1.a3d76cp+2 +-0x1.5276c4p+2, 0x1.390898p+1 +-0x1.08fc2ap+2, 0x1.b2e728p+1 +-0x1.c133ep+0, 0x1.8df978p+2 +0x1.330d4p+3, 0x1.7b8b9p+2 +0x1.086748p+2, 0x1.4f5ca4p+2 +0x1.392818p+1, -0x1.21b4bp+1 +-0x1.d1b79p+2, -0x1.28a2b2p+3 +-0x1.87878p+2, -0x1.0d6d82p+3 +-0x1.eb3dep+0, 0x1.2e634cp+3 +0x1.d261p+2, 0x1.b4de28p+2 +0x1.1a4f08p+3, 0x1.298d9p+3 +0x1.0b11a8p+1, -0x1.0550bep+3 +0x1.35016p+2, 0x1.55c688p+2 +-0x1.6d0a16p+2, -0x1.f003dep+2 +-0x1.cdf968p+1, -0x1.47bea6p+2 +-0x1.3801fp+0, 0x1.eb5478p+2 +-0x1.c015p+0, -0x1.131d5cp+2 +0x1.88d83p+0, -0x1.e2dc7p+1 +0x1.0e93cp+0, -0x1.c3fc8p-2 +-0x1.187158p+1, -0x1.3b224p+1 +0x1.04ed8cp+3, -0x1.cfa8f4p+2 +0x1.19dcd8p+1, -0x1.1a549p+0 +-0x1.6f16p-4, -0x1.8c7e4p+1 +-0x1.188aaep+3, -0x1.8ada7p+0 +-0x1.3cd97ep+3, -0x1.8b1e9cp+1 +0x1.c6233p+2, -0x1.8a625p+2 +-0x1.d57036p+2, -0x1.1ed98p+0 +0x1.607bcp-1, 0x1.f355ep+2 +0x1.2dc024p+2, 0x1.dfac2p+1 +-0x1.798b98p+2, 0x1.63bd5p+0 +0x1.60e4f8p+1, -0x1.29909ep+3 +0x1.43ae34p+2, -0x1.07c38p+2 +0x1.08fbcp+3, 0x1.283b8p+0 +-0x1.0363dep+2, -0x1.216848p+2 +-0x1.5fbb68p+1, 0x1.e1ec1p+2 +0x1.120238p+2, -0x1.6e7498p+1 +-0x1.f5cc68p+1, 0x1.66512p+0 +-0x1.2fcf9cp+2, 0x1.cca1p+1 +-0x1.0d69ep+1, 0x1.86af8p-1 +-0x1.e903fp+2, 0x1.655848p+1 +-0x1.9e014p+1, -0x1.148fcp+0 +0x1.453928p+1, 0x1.62b88p-1 +0x1.aa96ep+0, 0x1.cd344p+2 +-0x1.bc9134p+2, -0x1.226cp+3 +0x1.6a4adcp+2, 0x1.f8b708p+1 +0x1.557c1p+1, -0x1.b5ba4p+1 +-0x1.78931p+0, 0x1.280f24p+3 +-0x1.ffffaap+2, 0x1.64bfap-1 +0x1.4c8afp+1, -0x1.8d19dcp+2 +-0x1.62bbd4p+2, -0x1.5ee492p+2 +0x1.0cd3ep+0, 0x1.d3ebp-1 +-0x1.1b7438p+3, -0x1.aa46f8p+2 +-0x1.a967dp+2, -0x1.fe71f4p+2 +-0x1.35501p+0, 0x1.5699c8p+1 +0x1.a7b08p-1, -0x1.954a5ep+2 +-0x1.76705p+0, 0x1.73ac28p+1 +-0x1.dc6a84p+1, 0x1.ec59c8p+2 +0x1.176a3p+1, -0x1.473eeap+2 +0x1.085bap+0, -0x1.81d0bcp+1 +-0x1.63f79ep+2, -0x1.488cc4p+2 +0x1.e468bp+1, -0x1.098904p+1 +0x1.ff0b28p+1, 0x1.954f08p+1 +0x1.80da8p+2, -0x1.40ef4p-2 +-0x1.938a38p+2, -0x1.1059a6p+3 +-0x1.09f60cp+3, 0x1.98eadp+1 +0x1.34f15cp+3, -0x1.4dde4p-2 +-0x1.2d4094p+3, 0x1.a932a8p+2 +-0x1.a94bp-3, -0x1.090c96p+3 +0x1.422c38p+2, -0x1.332cep+1 +-0x1.52e23cp+2, 0x1.88cbd8p+2 +0x1.9f49d8p+2, 0x1.23d498p+1 +0x1.2aec18p+1, -0x1.d0172p+2 +-0x1.2d722ep+3, 0x1.e27a7p+0 +-0x1.54e664p+1, 0x1.436808p+2 +0x1.f34d2p+2, 0x1.6b4a4p-2 +0x1.a9396p-1, -0x1.6de332p+2 +-0x1.d66d18p+1, 0x1.c59608p+2 +0x1.0075dp+2, -0x1.8a2088p+1 +-0x1.2fcc32p+2, -0x1.67040cp+2 +-0x1.1ed8dep+3, -0x1.01139ap+3 +-0x1.aff7d4p+1, 0x1.21ca7p+3 +-0x1.374dep+3, 0x1.1bd1p+0 +-0x1.0fc6bp+0, 0x1.e0fccp+2 +-0x1.5bd628p+1, 0x1.2e50e4p+3 +-0x1.0504a8p+3, 0x1.1bc4fp+3 +-0x1.479758p+2, 0x1.35a774p+3 +-0x1.0ab51ep+2, -0x1.4468aep+2 +-0x1.34106p+2, 0x1.7e5db4p+2 +0x1.20acp-3, -0x1.777684p+2 +0x1.2f5ap+3, 0x1.516de4p+2 +0x1.2c932cp+3, -0x1.ddc538p+1 +-0x1.52236p+1, -0x1.8ac774p+1 +-0x1.866308p+2, 0x1.35da38p+2 +0x1.2942c8p+1, 0x1.010234p+3 +-0x1.13ccp-1, -0x1.f1dd88p+1 +-0x1.02d4f8p+2, -0x1.02b2dp+3 +-0x1.d73498p+2, -0x1.3c2c0ap+3 +-0x1.b699dp+2, -0x1.c5257ep+2 +-0x1.b6109ap+2, 0x1.012f9p+2 +0x1.a1ded8p+2, 0x1.d4d84p+1 +-0x1.3a5c6cp+3, -0x1.f3ccp-5 +-0x1.5a0d66p+2, -0x1.b2e7p-3 +-0x1.1e476ep+2, 0x1.6851p-2 +-0x1.ed34dcp+2, 0x1.d1db88p+2 +-0x1.b952cp+1, 0x1.a99b3p+2 +-0x1.7507bp+0, 0x1.19edd8p+3 +-0x1.3aaeccp+3, 0x1.666da8p+2 +-0x1.4ae71p+0, -0x1.eca528p+1 +0x1.5966ep+1, 0x1.0cc61cp+3 +-0x1.87dbecp+1, 0x1.383bdcp+3 +-0x1.26244p+0, -0x1.1d124p+3 +-0x1.c75758p+2, -0x1.42f3d2p+2 +0x1.25f18p+0, 0x1.1b384cp+3 +0x1.112e18p+1, -0x1.091904p+2 +-0x1.005954p+2, -0x1.33db34p+3 +-0x1.d3a564p+2, 0x1.3026b8p+2 +0x1.08556p+3, 0x1.ebd028p+2 +0x1.507998p+2, -0x1.b12958p+1 +0x1.6080fp+2, -0x1.e366bp+2 +0x1.04dd7p+1, 0x1.ea4478p+2 +0x1.28c344p+2, -0x1.52688p+1 +0x1.50bbb8p+1, -0x1.150c14p+3 +-0x1.7c611p+1, 0x1.1d60d8p+3 +-0x1.0d2b32p+2, -0x1.3a6a5ap+3 +0x1.24274p+3, 0x1.6c6fdp+2 +0x1.11d5ccp+2, 0x1.81e5dp+1 +0x1.755428p+1, 0x1.db9218p+2 +-0x1.0e729ap+3, -0x1.d991e8p+2 +-0x1.2dd756p+3, -0x1.36d034p+2 +-0x1.b92df4p+1, 0x1.7d4aa8p+2 +0x1.ba6bfp+1, -0x1.c36cd8p+2 +0x1.722bp-2, -0x1.020ca8p+2 +0x1.d6af6p+2, 0x1.1c3e4p+1 +-0x1.7166f8p+2, -0x1.c1598p+2 +0x1.92967p+2, 0x1.e4b17p+2 +0x1.a3c4a8p+2, -0x1.4441f6p+2 +-0x1.4f2318p+2, -0x1.3d4d8ep+3 +-0x1.9a0efap+2, -0x1.090974p+1 +-0x1.7df3ccp+2, -0x1.1bdbbp+3 +0x1.159fp-2, 0x1.38023cp+3 +-0x1.a7dfcp+0, -0x1.8ff9e4p+2 +-0x1.b14f5p+2, -0x1.0ec65ep+3 +0x1.2985a4p+3, 0x1.0400ep+2 +0x1.2f7c78p+3, 0x1.2dc7fp+0 +-0x1.696488p+2, 0x1.d00588p+2 +-0x1.2539eap+3, -0x1.a090f8p+2 +-0x1.8d4c88p+1, 0x1.7a3498p+1 +0x1.c960a8p+2, -0x1.c3e1ap+0 +0x1.a1e81p+0, -0x1.010e6cp+3 +-0x1.35e4ecp+2, 0x1.49fd6p-1 +0x1.2ed838p+3, 0x1.78cedp+0 +0x1.676cf8p+2, 0x1.427718p+2 +-0x1.373bb8p+1, 0x1.5ce29cp+2 +0x1.040f58p+3, 0x1.edb058p+2 +0x1.77d71p+1, -0x1.92f0b8p+1 +-0x1.1cbc76p+2, -0x1.a8e1acp+2 +0x1.6956bcp+2, 0x1.25cb88p+1 +0x1.ade4p-2, 0x1.a28fe8p+2 +0x1.3740ep+1, -0x1.ba13a4p+2 +-0x1.a18bd2p+2, 0x1.367f48p+3 +0x1.05ebd4p+3, -0x1.e19644p+2 +0x1.44deep+1, 0x1.193a58p+3 +0x1.12322p+0, -0x1.061794p+2 +0x1.1cda8p+1, -0x1.7c1d56p+2 +0x1.f90e4p-1, 0x1.9832fp+1 +0x1.764998p+2, -0x1.17b9a8p+3 +0x1.15bc64p+3, -0x1.e8644cp+2 +0x1.23c1d4p+3, -0x1.17b93p+3 +-0x1.c34ccp+0, -0x1.50d8f8p+1 +-0x1.45f1c8p+2, -0x1.0437cp+2 +0x1.5533d8p+1, -0x1.ac895cp+2 +0x1.106f54p+3, -0x1.073218p+3 +0x1.d539p+1, 0x1.fab8cp+2 +-0x1.669dep+0, 0x1.09af4p+0 +-0x1.07c49p+3, 0x1.23d3b4p+3 +-0x1.6b13eep+2, 0x1.818e3p+0 +-0x1.61d1f2p+2, 0x1.8590fp+2 +-0x1.0a4afcp+3, -0x1.1f78dap+3 +0x1.88ae5p+2, -0x1.0371fcp+2 +-0x1.119ffap+2, 0x1.2d0fep+2 +-0x1.83525p+0, 0x1.28f2p-5 +0x1.168c3p+1, -0x1.f8bd18p+1 +0x1.df93fp+2, 0x1.32178cp+2 +-0x1.0a869p+2, -0x1.20569p+1 +-0x1.212bbcp+3, -0x1.78868p+0 +-0x1.135142p+2, 0x1.38046p+3 +0x1.6cee6p+2, -0x1.d74ep-2 +0x1.e9df2p+1, 0x1.bf094p-1 +0x1.37b6f8p+2, -0x1.2c6b2p+2 +-0x1.9d19fcp+2, -0x1.0967c2p+3 +-0x1.d9844p+0, 0x1.3b7c6cp+3 +0x1.30b43p+3, -0x1.1bf26p+2 +0x1.ef6538p+2, 0x1.52283p+1 +0x1.c5f488p+1, -0x1.9e6c2cp+1 +-0x1.b87e98p+2, 0x1.0df64p-2 +-0x1.361a5ep+3, 0x1.de627p+1 +0x1.1a066cp+3, -0x1.d2888p+1 +0x1.d68fbp+2, 0x1.30b528p+3 +-0x1.5f8e18p+1, 0x1.028p-6 +0x1.2c53dcp+3, 0x1.03abb8p+3 +-0x1.701db8p+1, -0x1.4e7f4p+2 +-0x1.d9d6dcp+2, -0x1.803a2cp+2 +0x1.6a1158p+2, -0x1.42cc6p+1 +0x1.2322c4p+2, -0x1.8e10c4p+2 +-0x1.b0564p-2, 0x1.8817dp+1 +0x1.224fp+3, -0x1.42052ap+2 +0x1.202c38p+2, 0x1.2448ep+2 +-0x1.013bbp+3, 0x1.08d4bp+3 +0x1.1fa938p+3, -0x1.cf387p+0 +-0x1.2d09e4p+3, 0x1.d382ep+1 +-0x1.fd08acp+2, 0x1.87854p+2 +0x1.45f9bp+1, 0x1.34ca08p+3 +0x1.dbabcp+0, -0x1.0d5f14p+3 +0x1.383b98p+2, -0x1.c7e81cp+1 +-0x1.e7afecp+2, -0x1.f7d87cp+2 +-0x1.8c95cp-1, -0x1.2d9afap+3 +0x1.c4e758p+2, -0x1.a7145p+0 +0x1.71f6dcp+2, -0x1.c5c2f8p+1 +0x1.588a38p+1, 0x1.39c4dp+3 +0x1.fbd02p-1, -0x1.4f2bep+0 +-0x1.93b9p-3, 0x1.3814a8p+3 +-0x1.5510eep+2, -0x1.da076p-1 +0x1.1b109p+3, -0x1.4b828p-2 +-0x1.6d6ff2p+2, -0x1.305c1p+2 +-0x1.21fbp-2, 0x1.9b6b28p+2 +0x1.f332fp+2, -0x1.1acac4p+2 +-0x1.f1dab4p+2, 0x1.56aa8p-1 +0x1.d9d158p+2, -0x1.859eeap+2 +-0x1.8cf916p+2, 0x1.63f56p+1 +0x1.9dfc68p+2, -0x1.997db2p+2 +0x1.dee2p+0, -0x1.0cd50ep+3 +-0x1.7d0f3p+0, 0x1.05922cp+2 +0x1.1db56cp+3, -0x1.4c1fb8p+1 +0x1.85ca18p+1, 0x1.f0e1d8p+2 +-0x1.7a99dcp+1, 0x1.8ca808p+2 +0x1.7cbaep+2, -0x1.2b078p+2 +-0x1.54ec8ap+2, -0x1.9b8256p+2 +-0x1.39e9f6p+2, -0x1.384694p+2 +-0x1.171514p+3, -0x1.eedbbp+0 +0x1.1a2d4p+1, 0x1.33c35p+3 +0x1.d1306p+2, -0x1.f0835ap+2 +-0x1.a0bd96p+2, -0x1.e7b5cp-2 +0x1.01abecp+2, 0x1.32edbp+2 +-0x1.6cd54p+2, -0x1.3f1408p+3 +-0x1.2a2d36p+3, 0x1.b39d6p+2 +0x1.29c538p+2, -0x1.057e6ap+3 +0x1.bae7c8p+2, 0x1.622108p+1 +0x1.a7d3dp+2, 0x1.743cdp+0 +0x1.103ec8p+3, -0x1.2e96e2p+3 +0x1.b20fcp+2, 0x1.5e97bcp+2 +-0x1.160722p+3, 0x1.916b48p+1 +0x1.2a33d4p+3, 0x1.395e6cp+2 +-0x1.93fe58p+1, -0x1.6f5e78p+1 +0x1.89001p+1, -0x1.793a08p+1 +0x1.1b0ac4p+3, -0x1.6f2cbp+0 +0x1.56a06p-1, 0x1.4ec2ep+1 +0x1.2709cp+0, -0x1.e74bep+1 +0x1.1a767cp+3, -0x1.2b500cp+3 +-0x1.133b28p+3, 0x1.a4d24p+0 +0x1.49996cp+2, 0x1.69474p+0 +-0x1.94a28p-1, 0x1.fa78d8p+1 +-0x1.2d05fp+1, 0x1.b0038p+2 +0x1.6149bp+1, -0x1.fb24d8p+1 +-0x1.ea38bp+2, -0x1.aa3b78p+2 +0x1.112578p+2, 0x1.543d9p+1 +0x1.346794p+3, 0x1.0d3d08p+3 +0x1.688cf8p+1, 0x1.4e9ap-5 +0x1.299628p+1, 0x1.32ce04p+3 +0x1.41fe8cp+2, -0x1.145acep+3 +0x1.de6578p+2, 0x1.08da38p+2 +-0x1.7bdcfp+1, -0x1.187b5cp+3 +0x1.028924p+3, 0x1.725f2cp+2 +0x1.33351p+3, -0x1.867fd2p+2 +-0x1.1b2b3p+1, 0x1.f3cc78p+1 +0x1.3e42ep+3, -0x1.abf4p-3 +-0x1.74ebb6p+2, 0x1.ada96p+2 +-0x1.0235p-2, -0x1.0b4e16p+3 +-0x1.8f7336p+2, 0x1.2aa38p+3 +0x1.1f9c2p+0, 0x1.b4b04p-2 +0x1.13f944p+3, -0x1.ac9584p+2 +-0x1.2bef64p+2, -0x1.f097dcp+2 +-0x1.079d96p+3, -0x1.bbed58p+1 +-0x1.30fb34p+3, -0x1.0e4682p+2 +-0x1.3ab484p+2, 0x1.1a2e08p+3 +0x1.2b2df8p+3, -0x1.bcf498p+2 +0x1.8ae4ap+2, 0x1.7242cp+2 +0x1.b9fc38p+2, 0x1.5d4e6p-1 +-0x1.4886e6p+2, -0x1.528c5p+0 +-0x1.70a74p-2, 0x1.41a3ep+0 +-0x1.174a36p+3, 0x1.28852p+1 +-0x1.c6376cp+2, 0x1.02d418p+3 +-0x1.2168f8p+3, -0x1.718f84p+2 +-0x1.95a748p+2, 0x1.007868p+1 +0x1.80a55p+2, 0x1.5b9f3p+0 +0x1.9c21p-1, -0x1.5536b8p+1 +0x1.6bb138p+2, -0x1.479aa2p+2 +-0x1.eeea44p+1, 0x1.555758p+2 +0x1.9976ap+2, -0x1.334ac8p+2 +-0x1.7bde1cp+1, -0x1.7b4p+2 +-0x1.967c8p+2, 0x1.eb102p+1 +-0x1.fa1c34p+1, 0x1.58205p+2 +-0x1.3e8b82p+3, -0x1.d8949p+0 +-0x1.27c0b6p+3, -0x1.36fe38p+3 +-0x1.140dap+0, 0x1.c08c88p+2 +-0x1.af74bp+0, -0x1.e06c36p+2 +0x1.d63738p+2, -0x1.8a3e0ap+2 +0x1.c6d398p+1, -0x1.2bf618p+2 +-0x1.2f1422p+3, 0x1.37ae9cp+2 +-0x1.2cd4ccp+3, 0x1.ac54fp+2 +-0x1.762e5cp+2, -0x1.f3fd58p+2 +0x1.387ecp+2, -0x1.8f61d6p+2 +0x1.6d09cp+2, -0x1.3cfd08p+3 +0x1.3db5c8p+3, -0x1.1f91bcp+1 +-0x1.520db6p+2, -0x1.69047p+1 +0x1.95563p+2, -0x1.9d2734p+1 +-0x1.97353p+0, 0x1.0e57fp+3 +0x1.058b4p+0, -0x1.b915a4p+1 +0x1.c7a9a8p+2, -0x1.2184acp+3 +0x1.2f43e8p+3, -0x1.1301fp+0 +-0x1.2b10eap+3, -0x1.2faa02p+3 +0x1.22665p+3, -0x1.52f1dp+2 +0x1.d1c878p+1, 0x1.63ed18p+2 +0x1.875adp+2, 0x1.bbbfe8p+2 +-0x1.c2c618p+1, -0x1.4ca5cp+0 +-0x1.22f318p+3, -0x1.f384ap-1 +-0x1.34ff48p+1, 0x1.0bbf68p+2 +0x1.1c18b8p+2, -0x1.2e19p+0 +-0x1.3867dp+1, 0x1.30dd2cp+3 +0x1.d434p-2, 0x1.907a6p+0 +0x1.bb1c18p+2, 0x1.6a8a14p+2 +0x1.32cee8p+2, -0x1.756df2p+2 +0x1.9054cp+1, -0x1.0246bcp+3 +0x1.1b6478p+1, 0x1.0b795p+2 +0x1.3902cp+2, -0x1.092efcp+3 +0x1.ffdbb8p+2, -0x1.47cae4p+2 +-0x1.2a7dd2p+3, 0x1.a8abep+1 +-0x1.9eabf4p+1, -0x1.119ab8p+3 +0x1.8a5038p+1, 0x1.09fb14p+3 +-0x1.9042f2p+2, 0x1.1c0eecp+3 +0x1.20d4ep+0, -0x1.aa9f88p+2 +-0x1.1d4dbcp+1, 0x1.1bdd38p+2 +0x1.f5929p+0, 0x1.3a829p+2 +0x1.198188p+3, -0x1.e884f8p+1 +-0x1.f29f66p+2, -0x1.218e8p+3 +0x1.d07908p+1, 0x1.f12e7p+2 +0x1.f45fp-1, -0x1.3279dcp+3 +0x1.d0ddap+1, -0x1.3ea4ccp+1 +-0x1.39507ep+3, 0x1.be888p-1 +-0x1.ab70cp+2, -0x1.045366p+2 +-0x1.a3834ap+2, -0x1.327f6ap+3 +0x1.8995p+2, -0x1.bb38ap+1 +0x1.812fcp+0, -0x1.329508p+1 +0x1.9b9558p+1, -0x1.a24d3p+1 +0x1.eb7978p+2, -0x1.22518p-1 +0x1.8565e8p+2, 0x1.4e50d8p+1 +0x1.5d848p-1, 0x1.3d3cd4p+3 +0x1.67c728p+1, 0x1.2e4f68p+3 +0x1.842eap+1, -0x1.83588p-1 +-0x1.5a57ap-1, 0x1.9b2d98p+1 +0x1.9a1538p+2, -0x1.0277eap+3 +-0x1.d24a14p+1, 0x1.1674c4p+2 +-0x1.c24ba2p+2, 0x1.39491p+2 +-0x1.050d8p-3, -0x1.413ecp+2 +0x1.6c0f5p+1, 0x1.b45928p+1 +-0x1.e0b858p+1, 0x1.d215b8p+2 +0x1.0b33d4p+3, 0x1.405368p+1 +-0x1.ac3162p+2, 0x1.179fd8p+3 +-0x1.1188cap+3, 0x1.1e8fap+0 +-0x1.a1847p+0, 0x1.09eebp+1 +-0x1.2f7e3cp+2, 0x1.3c6f68p+2 +0x1.e6848p+2, 0x1.c6414p+2 +0x1.c910cp+0, -0x1.2a29b6p+3 +0x1.2f6ebp+1, 0x1.49e5ep+0 +-0x1.414f62p+2, -0x1.570e1p+2 +-0x1.1e49e6p+3, -0x1.e7a4b4p+1 +0x1.8069ep+1, -0x1.9d412p+2 +0x1.9636cp+2, 0x1.38cd34p+3 +-0x1.95c142p+2, 0x1.36e9bcp+3 +0x1.3db75p+1, 0x1.3abc88p+2 +0x1.1d8c1p+1, 0x1.d349p+0 +-0x1.3c534p+2, 0x1.0d643p+2 +-0x1.1d34a4p+3, -0x1.1e67eep+3 +0x1.084388p+1, -0x1.20879p+1 +0x1.d5f2bp+2, -0x1.4ba5f6p+2 +0x1.5ac04p+0, 0x1.9c0d9p+0 +0x1.18ec4p-1, 0x1.2a4b98p+3 +0x1.7e08p-1, -0x1.8d9p-6 +-0x1.14ddd2p+2, -0x1.e88bbp+2 +0x1.f831fp+2, -0x1.9bfa8cp+2 +-0x1.189ecp+3, 0x1.92f9bp+1 +0x1.d24fep+1, -0x1.eef5a4p+2 +0x1.af6448p+2, -0x1.94e74cp+1 +-0x1.b6128p-3, 0x1.e6c56p+2 +-0x1.4fbfe8p+2, 0x1.a0308p+0 +0x1.a710ap+2, 0x1.57fbap+1 +-0x1.3d6daep+2, -0x1.920d98p+2 +0x1.081e18p+1, -0x1.c63acp-1 +-0x1.d68d1cp+1, 0x1.14bf48p+3 +-0x1.02be64p+3, -0x1.14d28ap+3 +0x1.d2569p+1, -0x1.2653a8p+1 +0x1.1adb2p+3, -0x1.b2ca8ep+2 +0x1.808b78p+2, 0x1.c48598p+2 +-0x1.3916dap+3, 0x1.8319b8p+2 +0x1.e1d108p+1, 0x1.9e67dp+0 +-0x1.91fe98p+1, 0x1.9d8748p+1 +-0x1.5dce5p+0, -0x1.30bdeep+3 +0x1.5375dp+0, -0x1.e1a3cp-1 +0x1.4267dp+2, -0x1.9057fp+2 +0x1.3136b8p+2, 0x1.c26cdp+2 +-0x1.d864b8p+2, 0x1.00821cp+3 +0x1.7e63fp+2, -0x1.4789p-2 +0x1.8fc9f8p+2, -0x1.3f159p+3 +0x1.63a9ap+0, -0x1.4c56a8p+1 +-0x1.195ap-4, 0x1.08e1d4p+2 +-0x1.29216cp+2, -0x1.9780e6p+2 +-0x1.1eb2d4p+3, -0x1.b1695cp+2 +0x1.0866f8p+3, 0x1.1dfdd8p+2 +-0x1.37822ap+3, 0x1.b427ep+2 +-0x1.165008p+2, 0x1.8b2fep+0 +0x1.bc7b3p+1, 0x1.499668p+2 +-0x1.0ddeb8p+2, 0x1.fcb27p+1 +-0x1.226434p+3, 0x1.cf5b5p+2 +0x1.3a9c7p+2, -0x1.aaa0c8p+1 +0x1.7282p-4, -0x1.a4841p+2 +-0x1.81876p+0, 0x1.03a29p+0 +0x1.d1f8f8p+2, -0x1.44329cp+2 +-0x1.2e31f2p+2, 0x1.3c822p+3 +0x1.1b2b1p+1, 0x1.ccfdbp+0 +0x1.894f3p+1, -0x1.08d31cp+3 +0x1.391be8p+3, -0x1.1f77e4p+1 +-0x1.1b3072p+3, -0x1.09466ep+3 +0x1.bb904p-2, 0x1.07eefp+3 +0x1.8bp-2, 0x1.0d96e4p+3 +-0x1.41d778p+1, 0x1.166bdp+2 +-0x1.0a11bep+2, -0x1.80648p+2 +0x1.8fb89p+2, -0x1.32dc9p+3 +0x1.e5072p+2, 0x1.0909d4p+2 +-0x1.444d02p+2, 0x1.35eeacp+2 +0x1.772148p+1, -0x1.089c58p+2 +-0x1.800a18p+2, 0x1.b6a41p+1 +0x1.53dcbp+1, 0x1.15964p+3 +-0x1.76bccp+0, 0x1.0df0dp+3 +-0x1.129586p+3, -0x1.813aep+2 +-0x1.cd9812p+2, -0x1.2ff38p+0 +-0x1.3dc8dap+3, 0x1.63666p+1 +0x1.41026p+2, 0x1.ad652p-1 +-0x1.13cf8p-2, 0x1.e41ee8p+2 +-0x1.fb0bbp+1, -0x1.82c254p+2 +0x1.314e44p+2, 0x1.77c6d8p+2 +-0x1.c86898p+2, 0x1.f764ap+2 +0x1.29d35p+3, -0x1.9892ep+0 +0x1.0d70bp+2, 0x1.2ebe3cp+3 +0x1.611764p+2, -0x1.a841b8p+2 +-0x1.9b6c7p+2, -0x1.450ffap+2 +-0x1.08a71p+1, 0x1.7e384p-1 +-0x1.cb45e8p+2, -0x1.76a89p+2 +0x1.219cp-1, -0x1.2f774p+0 +-0x1.54923ap+2, 0x1.0e6efcp+3 +-0x1.efadb4p+2, 0x1.e76e7p+1 +-0x1.d26454p+2, 0x1.011d5p+3 +-0x1.23481p+3, 0x1.51d2p+1 +0x1.0574ep+0, -0x1.5efd78p+1 +-0x1.aa9b4p-1, 0x1.b4d478p+2 +0x1.685728p+2, -0x1.2c3e6ep+3 +-0x1.9c9c8p+2, -0x1.02e04ep+2 +-0x1.1f1d7ap+2, 0x1.c1b4p+1 +-0x1.0217bap+3, 0x1.33acf8p+2 +0x1.14b2fcp+3, -0x1.f9d94p-2 +-0x1.215d4ap+3, 0x1.1b754p-2 +-0x1.37ca98p+3, 0x1.02cee4p+3 +0x1.031268p+3, -0x1.32025p+1 +0x1.e1238p+2, -0x1.5901cp-2 +-0x1.6b27d8p+2, 0x1.f6395p+0 +-0x1.13fdc2p+3, 0x1.0040f8p+1 +-0x1.354546p+3, 0x1.ee6ap+2 +-0x1.0aa784p+1, -0x1.e31fd4p+2 +0x1.b22c8p-1, -0x1.27974p+1 +0x1.d005p+2, 0x1.593198p+2 +0x1.17c88p-1, 0x1.391bcp+0 +-0x1.e8ac9p+0, 0x1.20ebc4p+2 +-0x1.6a5fep+0, -0x1.7a223cp+2 +0x1.1ea514p+2, 0x1.fcb54p+0 +0x1.d051a8p+2, 0x1.1a065p+2 +-0x1.c82e4p-2, -0x1.eb9d68p+2 +0x1.f8f46p+1, -0x1.8f14c4p+2 +-0x1.32673cp+3, 0x1.4951a8p+1 +0x1.04ec9cp+3, -0x1.ad5424p+2 +0x1.1e4b68p+3, 0x1.976f48p+1 +0x1.3419p-1, -0x1.22398ap+3 +-0x1.d144ap+0, -0x1.01423p+2 +0x1.5d716cp+2, -0x1.bd45cep+2 +-0x1.b1842p+2, -0x1.50d554p+2 +0x1.c3fbfp+2, 0x1.3c591cp+3 +0x1.19348cp+3, 0x1.48dabcp+2 +0x1.2cfdc4p+3, 0x1.5d808p+2 +-0x1.dca6p-5, 0x1.683478p+2 +-0x1.0a3718p+3, -0x1.218d4cp+3 +0x1.74617p+0, 0x1.1e0f9p+2 +-0x1.9705ep-1, 0x1.5a9828p+2 +0x1.ef42d8p+2, -0x1.d4dc6p-1 +-0x1.7e155p+2, 0x1.a0481p+0 +-0x1.d231p+0, -0x1.330128p+3 +-0x1.143244p+3, -0x1.84adccp+1 +-0x1.ffa558p+1, 0x1.8ece1p+1 +0x1.4b03d8p+2, -0x1.8d731cp+2 +-0x1.adf3cp+0, 0x1.eca2ap+2 +-0x1.00e9ep+3, 0x1.9dd82p+2 +0x1.2af7dcp+2, -0x1.b4fe16p+2 +0x1.c3813p+2, 0x1.a3a5bp+1 +-0x1.b1e42p-1, -0x1.9f1bccp+1 +-0x1.be8c4p+1, 0x1.8374p-3 +-0x1.fac804p+1, -0x1.8d4ccp+0 +0x1.069a3cp+3, -0x1.2c7f78p+2 +0x1.640e4cp+2, -0x1.5b7adp+0 +0x1.ec208p+1, -0x1.0ec4a4p+1 +-0x1.f71ce8p+2, -0x1.2c588ap+3 +-0x1.f14f4p+1, 0x1.180918p+3 +0x1.47aap+0, -0x1.bc11p+1 +-0x1.9ff244p+2, -0x1.2b011p+1 +0x1.c12bap+0, 0x1.2a59p+0 +-0x1.b5713p+0, 0x1.0346p-1 +0x1.31cc68p+2, 0x1.b4535p+1 +0x1.470a5cp+2, 0x1.b0a448p+2 +0x1.7404a4p+2, -0x1.017ea6p+3 +0x1.29779p+2, -0x1.17d28cp+3 +-0x1.63aeccp+2, -0x1.1477ap+0 +-0x1.5821f4p+2, -0x1.d362cp-2 +0x1.baf568p+2, -0x1.0f70fp+3 +0x1.d7e9ep+1, 0x1.3c57ccp+3 +-0x1.fb8e1ep+2, -0x1.1600a2p+3 +0x1.01e62p+1, 0x1.231dep+3 +-0x1.01e24ap+3, 0x1.b2b2a8p+2 +-0x1.10503ap+3, 0x1.fdf6a8p+2 +0x1.272a2p+1, 0x1.6442p+0 +0x1.b1522p+2, 0x1.0cdf8p+0 +0x1.1fdac4p+2, 0x1.ffac3p+1 +-0x1.58a778p+1, -0x1.d3236p+0 +0x1.2bb5ap+1, 0x1.64db9cp+2 +0x1.71c2d8p+2, -0x1.2b2f3p+3 +-0x1.11c322p+2, -0x1.844e6ap+2 +0x1.3e640cp+3, -0x1.b750ecp+2 +-0x1.cb26eep+2, -0x1.bb34f8p+2 +-0x1.707e4p+0, 0x1.6a3e14p+2 +-0x1.3640aap+3, -0x1.41017p+0 +0x1.6e94a8p+2, 0x1.2904ap+2 +0x1.f75e4p-2, 0x1.c57a9p+2 +-0x1.3d6a3ap+3, -0x1.1c1192p+2 +0x1.2ded6p+1, 0x1.842318p+2 +-0x1.c5377p+1, 0x1.29cfb4p+3 +0x1.54d16p-1, -0x1.b69f3p+0 +0x1.35746p+1, 0x1.15c968p+1 +-0x1.3db01ap+3, -0x1.290686p+3 +0x1.2570f4p+3, -0x1.81ccfcp+1 +-0x1.eea0cap+2, 0x1.dd097p+2 +0x1.0e0b8p+3, -0x1.e19844p+2 +0x1.fca4ap+1, -0x1.fa597cp+1 +-0x1.5cc86ep+2, 0x1.4a35e4p+2 +-0x1.a1304p-1, -0x1.7e13bap+2 +-0x1.22161ap+3, 0x1.5dcfp+0 +0x1.2baabp+1, -0x1.9a36p+0 +-0x1.cd7becp+2, 0x1.5ab2p-3 +-0x1.5d7f08p+1, 0x1.86168p-1 +0x1.20ad18p+2, 0x1.d0aeep+1 +-0x1.6ea99p+0, 0x1.e991dp+1 +0x1.9788c8p+2, -0x1.b8f708p+2 +0x1.0c3cb8p+3, -0x1.04b712p+3 +-0x1.05a732p+3, -0x1.cc4e7cp+2 +-0x1.2cf7f2p+3, 0x1.fcbfdp+1 +0x1.3f8d6p+3, 0x1.6615cp-1 +-0x1.fa801p+2, -0x1.29425cp+2 +-0x1.366764p+3, -0x1.150ad2p+3 +0x1.19f108p+2, -0x1.e5a3fp+2 +-0x1.05c6a8p+3, 0x1.d2be88p+1 +-0x1.761cf4p+2, 0x1.43cdc8p+2 +0x1.21773p+3, -0x1.534ad6p+2 +-0x1.28fd5p+1, 0x1.0e4e18p+3 +0x1.d14bep+2, 0x1.2a50d8p+3 +0x1.a1a8cp+1, 0x1.7e69fcp+2 +0x1.38919cp+3, -0x1.06b3p+3 +0x1.b4ca9p+2, -0x1.dedc48p+2 +0x1.b062e8p+2, -0x1.20a7f2p+3 +0x1.e6892p+1, -0x1.21b5ecp+1 +-0x1.c5e534p+1, -0x1.1c99bp+3 +0x1.391b24p+3, -0x1.c226d8p+2 +-0x1.fbcbcp+1, 0x1.f0505p+2 +-0x1.0a6d9ep+2, 0x1.b5ceep+1 +0x1.0c5e38p+2, -0x1.e09d28p+1 +-0x1.2433b8p+3, -0x1.c3599ap+2 +-0x1.503a8p-1, 0x1.2eb0ep+3 +0x1.e1e9c8p+2, 0x1.4e9338p+2 +-0x1.09487ep+3, -0x1.9b14ap+0 +0x1.cb2e4p+1, 0x1.54c34p-2 +0x1.3828ep+3, -0x1.8195a2p+2 +0x1.8f3ee8p+2, 0x1.cdfbfp+2 +0x1.0741d4p+3, -0x1.8ae286p+2 +0x1.850f68p+1, 0x1.f283p-2 +-0x1.45c2ep+2, 0x1.5f35p-2 +-0x1.fd9a6cp+1, 0x1.1382f8p+3 +0x1.3b382p+1, 0x1.8ff5dp+2 +0x1.3b9b28p+3, 0x1.c9a3p+0 +0x1.c9694p-1, -0x1.498aa8p+2 +0x1.9038ap+1, -0x1.219bap+0 +-0x1.983a4p-1, -0x1.960174p+2 +0x1.eec79p+2, 0x1.c0b5a8p+1 +0x1.a11f58p+2, -0x1.533a8p-1 +-0x1.22a994p+2, 0x1.a9cdap+1 +0x1.187c2p+1, 0x1.327518p+3 +-0x1.3c91c8p+2, 0x1.1cc6p+0 +-0x1.8ae398p+2, -0x1.e9cfe6p+2 +0x1.9c8bfp+2, 0x1.2ed39cp+2 +-0x1.250f08p+1, 0x1.a69e5p+2 +-0x1.962f18p+2, -0x1.ed5abep+2 +-0x1.d58e7p+2, -0x1.0b188cp+3 +0x1.ddd45p+1, 0x1.a60c1p+2 +-0x1.6143c4p+1, -0x1.25ca5cp+3 +-0x1.302b1ap+2, 0x1.15e8p-1 +0x1.366c4p+1, -0x1.ff309cp+1 +-0x1.968p-2, -0x1.09d454p+2 +0x1.31ebap+0, 0x1.318cap+0 +0x1.26eabp+3, -0x1.e65918p+1 +0x1.c1c06p-1, -0x1.10ac8p-1 +-0x1.23d1fap+2, 0x1.fe002p+2 +0x1.650464p+2, 0x1.8ef76p+0 +-0x1.f6c77p+2, 0x1.f3688p+2 +-0x1.d92b24p+2, 0x1.ae644p+2 +0x1.42ef4p-1, 0x1.3d602p+1 +0x1.ef288p+2, 0x1.05ff3cp+3 +0x1.52b4p-3, 0x1.172e84p+3 +0x1.45e1cp+1, -0x1.7280fp+1 +0x1.e8715p+2, -0x1.9f7696p+2 +0x1.e9c55p+1, 0x1.e6d64p+2 +-0x1.c934cp-1, -0x1.8a5eep+0 +0x1.e0e2ep-1, -0x1.8e3dep+2 +-0x1.ab23a8p+2, -0x1.986eacp+2 +0x1.0b9cap+1, -0x1.273bp-3 +-0x1.ad0ffcp+2, 0x1.0dc0fp+1 +-0x1.2cac24p+2, -0x1.71cp-5 +-0x1.fafbcp+0, 0x1.613594p+2 +-0x1.628494p+1, 0x1.c3b91p+2 +0x1.5a1338p+2, 0x1.d12d8p+2 +-0x1.a62db8p+2, 0x1.11bc7cp+2 +0x1.7fed4cp+2, -0x1.db05a4p+1 +0x1.914528p+1, 0x1.c9b4e8p+2 +-0x1.e52d3cp+1, 0x1.81d8fp+1 +-0x1.9f1ad8p+2, -0x1.714d2ap+2 +-0x1.374b7cp+2, -0x1.e854f6p+2 +0x1.9131p+0, -0x1.421fap+1 +0x1.70f45cp+2, -0x1.3355cp+3 +0x1.72615cp+2, -0x1.3717fp+1 +-0x1.1f81c4p+3, 0x1.90d7bp+2 +-0x1.b958p-2, 0x1.5970fp+1 +-0x1.f3ab8p-3, 0x1.ac528p-2 +-0x1.fac2e4p+2, -0x1.0a035p+3 +0x1.d24fbp+2, -0x1.8ade3cp+2 +-0x1.51dd6p-1, 0x1.35d8cp+2 +-0x1.a5e5a8p+2, 0x1.33223cp+2 +-0x1.e52ep-3, -0x1.1c631p+0 +-0x1.93cd58p+2, -0x1.29p-3 +-0x1.637f4p-1, 0x1.a9e96p+0 +0x1.d3b45p+2, -0x1.c5b1a8p+2 +0x1.317acp+3, -0x1.2387ccp+1 +-0x1.739218p+2, 0x1.c20c7p+2 +-0x1.25dc7ap+3, -0x1.be92cp-2 +-0x1.4c17cep+2, -0x1.957076p+2 +0x1.36f8ecp+2, 0x1.599dbp+1 +0x1.d99e8p-2, 0x1.08af48p+3 +0x1.02e95p+0, 0x1.36214p-1 +0x1.b1a2cp+2, 0x1.10858cp+2 +-0x1.127d7p+0, -0x1.1ed2fp+2 +-0x1.a0db4cp+1, 0x1.0b69ccp+3 +-0x1.78947cp+2, -0x1.26dfe6p+2 +-0x1.8a8be8p+1, -0x1.743978p+1 +0x1.fc2c8p+2, -0x1.0710f4p+2 +-0x1.792bcep+2, 0x1.31034cp+3 +0x1.070ep-1, 0x1.e748b8p+2 +0x1.1a5748p+3, 0x1.69dbcp+0 +-0x1.6012ecp+2, 0x1.53bb18p+1 +0x1.17a5f4p+3, 0x1.2f8cbp+3 +-0x1.74bff2p+2, -0x1.61844ep+2 +-0x1.ed9cdcp+1, -0x1.63d814p+2 +-0x1.b6f434p+2, 0x1.3a64fcp+3 +-0x1.67a45ep+2, -0x1.dd8264p+2 +0x1.63c88p-1, 0x1.6d7588p+1 +0x1.07344p+2, -0x1.276e5cp+2 +0x1.37698p-2, -0x1.0f3274p+3 +0x1.541fe8p+1, -0x1.00f294p+3 +0x1.92bce8p+2, -0x1.834f6p-1 +0x1.b7d06p-1, -0x1.84d144p+2 +-0x1.477124p+1, -0x1.d4813cp+2 +0x1.279afcp+3, -0x1.5a66ep-1 +-0x1.7fddp-4, -0x1.3d54fp+0 +0x1.0e3438p+3, -0x1.ba1cfp+2 +-0x1.12f13ap+3, -0x1.3de9ccp+2 +-0x1.285848p+2, 0x1.24bep-1 +-0x1.0e7a64p+2, 0x1.1d6c18p+2 +0x1.fe8a08p+2, 0x1.695a9p+1 +-0x1.4fc5p+0, -0x1.e8eaep+0 +0x1.cddf8p+1, 0x1.127afp+1 +0x1.6ddfep+2, -0x1.d527bap+2 +0x1.0a5ec4p+3, 0x1.9462cp+2 +0x1.ff85dp+2, -0x1.1b5a6cp+3 +-0x1.23012cp+2, -0x1.c34ea8p+1 +-0x1.878aa4p+2, -0x1.456dfcp+2 +-0x1.df257ep+2, 0x1.400b68p+2 +-0x1.f64f1cp+1, 0x1.935568p+1 +0x1.1132p-5, 0x1.29e9c8p+2 +0x1.b42d2p-1, 0x1.ec2dep+2 +-0x1.836c5p+1, -0x1.b18f04p+1 +0x1.8135cp+2, 0x1.8b7aap+2 +0x1.10584p+0, -0x1.aca6dp+0 +-0x1.281e64p+3, 0x1.22d968p+3 +0x1.4a54dp+2, 0x1.03cef8p+2 +-0x1.f7b54p-1, 0x1.2a7284p+2 +-0x1.dd2018p+2, -0x1.5edff8p+1 +-0x1.c0d9cp-1, 0x1.fec04p+2 +0x1.086524p+2, -0x1.6eb80ep+2 +-0x1.2752cap+3, 0x1.63bbf4p+2 +0x1.62892p+0, -0x1.62e37p+0 +0x1.adea58p+2, 0x1.896c88p+2 +-0x1.bc97p-1, 0x1.37f17p+2 +-0x1.c0f3cp-1, 0x1.d3bac8p+1 +-0x1.133f02p+2, 0x1.f1d42p+2 +-0x1.4633c8p+1, -0x1.af2bdp+1 +0x1.ab528p+1, -0x1.188a02p+2 +-0x1.f9c15cp+2, -0x1.c1609ep+2 +-0x1.a6082p-1, 0x1.41d6p+0 +-0x1.6a4024p+2, 0x1.3e858p+2 +0x1.faf64p+1, 0x1.2cee88p+2 +-0x1.a97ae4p+2, 0x1.dc2e28p+1 +0x1.2dfc5p+1, -0x1.7ffddp+0 +-0x1.549bf2p+2, -0x1.07ea38p+3 +-0x1.cd0848p+1, 0x1.0bf194p+2 +0x1.72a49p+2, -0x1.451bcp-2 +0x1.bd241p+1, 0x1.4e41p-4 +0x1.0e3ee4p+2, -0x1.f01178p+2 +0x1.1cf7e4p+3, -0x1.76014p+2 +-0x1.2c9416p+3, 0x1.a552e8p+1 +0x1.37ffccp+3, -0x1.0df312p+3 +0x1.e7cacp-2, 0x1.133e98p+3 +0x1.0258dcp+2, -0x1.29ee2p+1 +0x1.bf248p+0, 0x1.6457dp+0 +0x1.09be88p+3, -0x1.70b94p-1 +-0x1.4526p-2, -0x1.39e01p+0 +0x1.68fb9p+0, -0x1.04cb16p+2 +-0x1.848978p+1, -0x1.2a0908p+3 +-0x1.6b4f2p+2, -0x1.75927p+2 +-0x1.7dfcep+2, 0x1.05b76p+2 +0x1.7078a8p+2, 0x1.a3b818p+2 +0x1.0116b4p+2, 0x1.78cecp+2 +-0x1.be766ap+2, -0x1.8c8934p+1 +-0x1.a0a35ap+2, 0x1.38fd9cp+3 +-0x1.3aba16p+2, 0x1.2cp+2 +0x1.7306e8p+2, -0x1.612196p+2 +0x1.0d4fp+0, -0x1.06bc72p+3 +0x1.c595f8p+1, -0x1.ae84p-5 +0x1.66796p-1, 0x1.0f99ep+3 +-0x1.161a64p+2, 0x1.168ccp+2 +0x1.ddc29p+1, 0x1.aec0e8p+2 +-0x1.cbd0f8p+2, 0x1.4ac94p-2 +-0x1.45e82p+0, 0x1.41165cp+2 +0x1.b08af8p+2, -0x1.a5ecfp+2 +0x1.22c35p+2, 0x1.518888p+2 +-0x1.497d4p-1, 0x1.55d85p+2 +-0x1.daff48p+1, -0x1.16fep+3 +-0x1.3a1dcp+3, -0x1.18813cp+1 +0x1.0cdbccp+3, 0x1.3b1d3p+3 +0x1.a9fbp-4, 0x1.4d32e8p+1 +-0x1.2c0e86p+3, -0x1.c195f4p+2 +0x1.075b24p+3, 0x1.89b51p+2 +-0x1.66a6ap+0, 0x1.114dp-3 +-0x1.9ea71ap+2, 0x1.220eb8p+1 +0x1.4ccf1p+1, 0x1.d1a67p+2 +0x1.bbd3p-4, -0x1.05f0f4p+1 +0x1.05a87p+3, -0x1.0fef6p+2 +0x1.4cc458p+2, 0x1.6e79d4p+2 +0x1.a5956p+1, 0x1.3ccce8p+1 +-0x1.3de3eap+2, 0x1.2785a8p+3 +0x1.d1e338p+2, -0x1.02a6b8p+3 +-0x1.1936ap-1, -0x1.51488p-3 +0x1.c44428p+2, -0x1.0e9348p+2 +0x1.23a68cp+3, -0x1.51678cp+1 +0x1.e046ap-1, 0x1.8354d8p+2 +-0x1.26184p+2, -0x1.3389ep+3 +0x1.f4ff98p+2, -0x1.c2ec78p+1 +0x1.1afe3p+2, 0x1.7758dp+1 +-0x1.9d514p-1, -0x1.333b0cp+3 +0x1.be256p+2, -0x1.5aacp-1 +-0x1.6c0bf2p+2, -0x1.01561cp+2 +-0x1.6d8p-5, 0x1.16bb7p+2 +-0x1.007658p+1, 0x1.09a338p+2 +-0x1.764f58p+2, -0x1.ea5ec4p+2 +0x1.1c9238p+3, 0x1.bc884p+1 +0x1.f8e7ap+0, -0x1.4e7b88p+1 +0x1.fd5a1p+1, -0x1.3dececp+2 +-0x1.1a4eb6p+2, 0x1.d1ba98p+2 +0x1.d38p+0, -0x1.42de8cp+2 +0x1.62365p+2, -0x1.2e50d8p+1 +0x1.88603p+1, -0x1.78178p-3 +0x1.f4b53p+2, 0x1.381d4p-2 +-0x1.b49cp+0, 0x1.3b1188p+1 +-0x1.a43f66p+2, -0x1.63b65ap+2 +0x1.21bb98p+2, -0x1.91d61p+0 +0x1.bfbp+0, 0x1.906b7p+2 +0x1.0cbf34p+3, -0x1.0bb68p-2 +-0x1.53a03p+0, 0x1.6af48p-2 +0x1.d14748p+2, 0x1.9b965p+2 +0x1.382a18p+2, -0x1.04dffap+3 +0x1.b73ap-3, -0x1.066bacp+1 +-0x1.446836p+2, -0x1.7e7ep-1 +0x1.e62a68p+2, -0x1.32c592p+3 +-0x1.37e224p+2, -0x1.7e2f14p+2 +0x1.cb2d5p+0, -0x1.cf7724p+2 +-0x1.55f6fcp+1, -0x1.b6cdecp+1 +0x1.cca698p+2, 0x1.2ce68p+0 +-0x1.55cc04p+2, 0x1.9175p+0 +0x1.835d7p+2, -0x1.ee1638p+2 +0x1.717d1p+1, 0x1.46286p+0 +0x1.756238p+1, -0x1.c0686cp+1 +-0x1.352864p+3, -0x1.d9d004p+1 +0x1.3126ap+3, 0x1.fc6b7p+2 +0x1.e52ad8p+1, -0x1.e79cfap+2 +-0x1.31eec8p+2, 0x1.f9925p+1 +0x1.65bfcp-2, 0x1.9ccdp-1 +-0x1.35d7a4p+2, -0x1.a49ed4p+1 +-0x1.c50d8p+0, -0x1.7fca7p+2 +-0x1.a67e9cp+2, 0x1.b92cep+2 +-0x1.08be86p+3, 0x1.6aa6acp+2 +-0x1.e7a848p+1, 0x1.d2c6ep+1 +0x1.30aaa8p+3, 0x1.5d8efp+0 +-0x1.a476e4p+1, 0x1.ae33ep+0 +0x1.20691cp+3, -0x1.5ff6b8p+1 +-0x1.9b0d7p+2, -0x1.200598p+3 +0x1.32631cp+3, 0x1.e11c58p+2 +0x1.d8231p+2, -0x1.690c2p+2 +-0x1.ba9fa4p+1, -0x1.fda978p+1 +-0x1.d912fp+2, 0x1.99189p+2 +-0x1.9bc6p+1, 0x1.4f803p+1 +-0x1.dbe15ap+2, -0x1.82459cp+1 +-0x1.ac275ap+2, -0x1.e70afcp+2 +-0x1.06499p+3, -0x1.42075p+0 +-0x1.4afe84p+1, 0x1.7a1eap+0 +0x1.63535p+1, -0x1.75ca9cp+2 +-0x1.0580dp+3, 0x1.0d9d98p+1 +0x1.ad859p+1, -0x1.e46be8p+2 +0x1.32c38cp+3, 0x1.320b64p+3 +-0x1.850844p+1, -0x1.1a4892p+3 +0x1.ca2abp+0, -0x1.695f9p+1 +-0x1.d50fecp+1, 0x1.8b1bp+2 +0x1.cffdbp+2, 0x1.397f88p+2 +-0x1.a5344p+0, -0x1.2e941p+2 +-0x1.a7a7bp+0, -0x1.044bp+0 +-0x1.6f6ac4p+2, 0x1.1600b8p+3 +-0x1.fda4p-5, 0x1.d9ed8p+2 +-0x1.ffb7cp-2, -0x1.5aedacp+1 +-0x1.3e957cp+1, -0x1.bcf848p+1 +-0x1.586d96p+2, 0x1.90afbp+1 +-0x1.16a37p+1, 0x1.e15628p+1 +0x1.e4c2f8p+2, 0x1.6e52ap+2 +0x1.9c35p-1, 0x1.c1dd5p+0 +-0x1.1655ccp+3, -0x1.143acp-1 +0x1.39a0a8p+3, -0x1.8f24e4p+2 +-0x1.54582ap+2, 0x1.07ea34p+3 +-0x1.1c648ep+3, -0x1.e41bc4p+2 +0x1.35c56p+3, -0x1.5ac23ep+2 +0x1.a02ep-2, -0x1.2c375cp+2 +0x1.af43p+2, 0x1.f4bccp+1 +-0x1.7bd5p-1, -0x1.eeca54p+2 +-0x1.0a3338p+1, -0x1.599142p+2 +-0x1.855974p+2, 0x1.9106p-1 +0x1.8e26ap+1, 0x1.d158b8p+2 +0x1.145b2cp+2, 0x1.16b2ep+0 +0x1.d2c9cp+0, -0x1.3fe22p+1 +0x1.96a66p+2, 0x1.6d62bp+1 +0x1.58447p+1, 0x1.24f3c4p+3 +-0x1.b5111cp+2, -0x1.47b0dp+2 +0x1.34023p+3, -0x1.13dbbap+2 +-0x1.42f5c4p+2, -0x1.deb538p+2 +0x1.c2e2ep+2, -0x1.724ed8p+2 +-0x1.a63b4p+2, 0x1.38ddd8p+2 +0x1.c00638p+1, -0x1.7c263p+2 +0x1.3c016p-1, -0x1.9f7bdp+0 +-0x1.c6b3ap-1, 0x1.22c2a8p+3 +-0x1.25a176p+2, -0x1.5adc2ep+2 +0x1.3c92dp+1, 0x1.ce1ea8p+2 +-0x1.790674p+1, -0x1.a1f924p+2 +-0x1.d4594p-1, -0x1.feab26p+2 +-0x1.1b2174p+2, 0x1.db513p+1 +-0x1.2df61ap+3, -0x1.c2738p-2 +-0x1.273874p+2, 0x1.4c034p-2 +0x1.00781cp+3, -0x1.23cc6cp+3 +-0x1.d19316p+2, -0x1.62936cp+2 +0x1.bcbcc8p+2, -0x1.349bep+2 +0x1.36827cp+3, 0x1.1196a4p+3 +0x1.829e98p+2, 0x1.c1c8ap+1 +0x1.c06eep+1, -0x1.789d3p+1 +0x1.12ebp-1, -0x1.91a92p-1 +-0x1.0b24d8p+1, -0x1.182124p+2 +0x1.4daef8p+2, 0x1.34dbdp+1 +-0x1.2406fp+1, 0x1.8b33bp+2 +0x1.9704ep-1, 0x1.37ff6cp+3 +-0x1.4997b4p+2, 0x1.9ff9ap+1 +0x1.cffcfp+0, -0x1.7da74p+0 +0x1.f453ep+2, -0x1.73cdcp+2 +-0x1.a1e16p-1, -0x1.f484bcp+2 +-0x1.90d21ep+2, 0x1.58e81cp+2 +-0x1.55514p-1, 0x1.3e48a4p+2 +-0x1.05a7b4p+2, 0x1.70c1e8p+2 +-0x1.9de05p+0, -0x1.51cfap-1 +-0x1.ec641p+0, 0x1.2530e4p+2 +0x1.9c49f8p+2, 0x1.6091ep+0 +-0x1.d9654ap+2, -0x1.07ffdp+1 +-0x1.16d554p+3, -0x1.38bdbap+3 +0x1.7b325p+2, 0x1.221f74p+3 +0x1.0b731cp+2, -0x1.1d5a5ap+2 +0x1.2e5e8cp+2, 0x1.ea8118p+1 +-0x1.21c0d6p+3, -0x1.839498p+1 +0x1.2a50d8p+3, 0x1.cc02bp+2 +0x1.6f967cp+2, -0x1.dd48c4p+1 +-0x1.3921dp+1, -0x1.98b26p+0 +0x1.3d46ep+1, -0x1.9ed24p-1 +0x1.292848p+3, -0x1.61d71p+0 +0x1.cc578p-1, -0x1.25f36p+2 +0x1.1f93f8p+3, -0x1.17c4c4p+2 +-0x1.218bp+0, -0x1.9934p-1 +0x1.28f94p-2, -0x1.882274p+2 +-0x1.a0d574p+2, 0x1.36d758p+3 +-0x1.212e74p+3, 0x1.7f0bb8p+2 +-0x1.3ec9bp+1, -0x1.3ea8ap+0 +-0x1.3f3f78p+3, 0x1.59733p+1 +-0x1.23f7acp+1, 0x1.bf8688p+2 +0x1.5231p-1, -0x1.a795c6p+2 +-0x1.0f617ep+3, 0x1.005638p+3 +-0x1.ed8ec6p+2, 0x1.d0d118p+2 +0x1.deb1e8p+2, -0x1.26095ep+2 +0x1.103bdcp+3, -0x1.4a1834p+2 +-0x1.e6815p+2, -0x1.83656p+1 +0x1.38abcp+0, -0x1.9fe9fcp+2 +0x1.1e29a4p+3, 0x1.2620ep-1 +0x1.7dcad8p+2, -0x1.3233dep+3 +-0x1.bb8fp-4, -0x1.960eecp+1 +-0x1.2bae58p+2, 0x1.23ebe4p+2 +-0x1.9e5f48p+1, -0x1.07c3ap-1 +0x1.43ce8p+1, -0x1.95531p+0 +-0x1.1136d8p+3, -0x1.94e72cp+2 +-0x1.1486e2p+3, 0x1.279b4cp+3 +-0x1.c99744p+2, -0x1.aad54p-1 +-0x1.79aaep+1, 0x1.61d8dcp+2 +-0x1.6856f8p+2, -0x1.9d5d64p+1 +0x1.3da6fp+1, 0x1.265434p+2 +-0x1.76ab8p-2, 0x1.f993dp+0 +0x1.6658ep+1, -0x1.8a84cp+2 +0x1.2682d8p+3, 0x1.959c68p+2 +-0x1.0697f8p+3, 0x1.aadc08p+2 +0x1.18eed4p+2, -0x1.64b474p+2 +0x1.446e9cp+2, 0x1.0a094p+0 +-0x1.df0f3p+0, -0x1.7f3a44p+2 +0x1.35595p+1, 0x1.09005p+0 +-0x1.275232p+2, 0x1.6decf8p+2 +-0x1.947ea4p+2, -0x1.ac7cc8p+1 +0x1.2db388p+3, -0x1.963d24p+2 +-0x1.6b9fa4p+2, 0x1.96806p+0 +0x1.264e4cp+3, 0x1.a291cp-1 +0x1.6b5d64p+2, -0x1.313508p+3 +0x1.320138p+3, -0x1.e8144p+1 +0x1.b5cfcp+1, 0x1.9e3b7p+2 +-0x1.2125a6p+3, 0x1.1ba63p+1 +-0x1.fe22fcp+1, -0x1.944dbp+0 +0x1.45e75p+0, -0x1.e288dap+2 +0x1.db3e2p+1, -0x1.a878f8p+1 +0x1.982058p+1, 0x1.1e64dp+1 +0x1.e711ep+2, 0x1.fab4ap+1 +-0x1.2d284ap+3, 0x1.42686p+0 +-0x1.73becep+2, -0x1.2ef6cp+2 +0x1.b7396p+0, 0x1.3bc38p+0 +0x1.404cp+2, -0x1.6d6082p+2 +-0x1.5126b8p+1, 0x1.066e98p+3 +-0x1.eeb9ap+0, 0x1.123178p+3 +0x1.0f572p+3, -0x1.c85b5cp+2 +-0x1.5e3b3p+1, -0x1.af7894p+2 +0x1.e05bcp+2, -0x1.b5f7d4p+2 +-0x1.a63fbcp+2, -0x1.1717f4p+1 +-0x1.b40a4ap+2, 0x1.dfe98p-2 +-0x1.933b34p+1, -0x1.0d1292p+2 +-0x1.c689b6p+2, -0x1.342f14p+1 +-0x1.c063b8p+1, -0x1.135becp+3 +-0x1.6e1398p+1, 0x1.7c68ep-1 +-0x1.b73416p+2, 0x1.3409ap+3 +0x1.6c9d8p-2, -0x1.24f546p+3 +0x1.1c1dcp+2, -0x1.b8e5a4p+2 +-0x1.5fef6p+0, 0x1.11a19p+3 +-0x1.b6f324p+2, 0x1.2efb88p+2 +0x1.8474p-1, -0x1.162eap+3 +0x1.1b1be4p+3, 0x1.a9bfp+2 +0x1.22c7cp-1, 0x1.8bc18p-1 +-0x1.ea7ddp+0, 0x1.af72cp+0 +-0x1.4e104p-1, 0x1.a76d8p+0 +-0x1.af0928p+2, -0x1.1585b2p+2 +0x1.32d3ap+0, 0x1.9696e8p+2 +0x1.ded2c8p+2, 0x1.11e6d4p+2 +-0x1.0b5308p+1, 0x1.0eb304p+3 +-0x1.5e2ap+0, 0x1.0208bp+2 +-0x1.0e1f66p+2, 0x1.11199cp+3 +0x1.16deb4p+3, -0x1.dda0a8p+1 +0x1.38784cp+3, -0x1.2abc84p+2 +-0x1.567c7cp+2, -0x1.0fc80ep+2 +0x1.1596b8p+2, -0x1.98c6ap+2 +0x1.e1078p-2, 0x1.138fdp+3 +-0x1.c30fa2p+2, 0x1.b74ae8p+2 +0x1.009228p+1, 0x1.d574ap+2 +-0x1.7076p-4, -0x1.174004p+3 +0x1.86354p-1, -0x1.11745p+1 +0x1.6f0d58p+1, 0x1.1e75f4p+3 +-0x1.90d7f8p+2, 0x1.6e1a44p+2 +0x1.8b17ep+2, -0x1.08d3f8p+3 +0x1.7e29ap+2, 0x1.503cbp+2 +-0x1.1203e2p+3, 0x1.07993cp+3 +-0x1.436c58p+2, 0x1.21d26p+1 +-0x1.42b73p+1, 0x1.37c354p+3 +0x1.069b28p+1, 0x1.45de7p+1 +-0x1.9b1d78p+1, 0x1.747f78p+2 +-0x1.cf9848p+1, -0x1.82a82p+0 +0x1.ffa79p+1, 0x1.22d2a4p+3 +-0x1.27768p+3, 0x1.d0c88p-3 +-0x1.f8008p-3, -0x1.b81d8p+1 +-0x1.2f274ap+3, 0x1.001e1cp+2 +-0x1.c7c3cp+0, 0x1.12a9ep+0 +0x1.1f695p+2, 0x1.253a88p+2 +0x1.f73d2p+2, -0x1.378c24p+2 +0x1.27342p+3, -0x1.2a36bp+2 +-0x1.028522p+3, 0x1.4529bp+2 +0x1.a64b3p+1, -0x1.19b22cp+3 +0x1.d715ap+2, -0x1.38fee8p+3 +0x1.d4a21p+0, 0x1.20478p+3 +-0x1.49bf14p+1, 0x1.25109p+1 +-0x1.a51e8cp+2, 0x1.fddb8p-1 +-0x1.0b68c4p+3, -0x1.e92dc2p+2 +0x1.416f94p+2, -0x1.dd96ap+2 +0x1.d5249p+1, 0x1.3a19e8p+2 +0x1.e0f3ap+2, 0x1.f99ba8p+2 +0x1.12b18p+1, 0x1.cbc3p-4 +-0x1.610bd4p+2, -0x1.e33ebp+0 +-0x1.7ad7e8p+2, -0x1.346edp+0 +0x1.8c52ep+0, 0x1.307c18p+2 +-0x1.75ed3ap+2, 0x1.136c04p+3 +0x1.020448p+2, 0x1.68f94cp+2 +-0x1.af65d4p+2, 0x1.d6bap-4 +0x1.39cb1p+3, 0x1.a8e55p+2 +-0x1.62688p-3, 0x1.8de58p+0 +0x1.3755d8p+1, 0x1.de60cp+2 +-0x1.2e0042p+3, 0x1.306074p+3 +0x1.9d6a88p+1, -0x1.6eaecp-1 +-0x1.ba1e7cp+2, -0x1.9a86d4p+2 +-0x1.29945cp+3, 0x1.7022c8p+1 +0x1.63c0dp+1, -0x1.24b36cp+3 +0x1.1ce278p+2, -0x1.6153b4p+2 +-0x1.030c1p+0, 0x1.8a1bb8p+1 +0x1.2ec78p+2, 0x1.f754fp+1 +0x1.993da8p+2, 0x1.efeap+2 +-0x1.7ac2p-5, -0x1.d271ecp+1 +-0x1.b77bc8p+1, -0x1.49943p+2 +-0x1.78a854p+2, 0x1.c3ad6p+0 +-0x1.c3ce06p+2, -0x1.7ab84p-2 +-0x1.eefa74p+1, 0x1.3d09bp+3 +0x1.cf1aap+2, -0x1.24aae4p+3 +-0x1.9369a8p+1, 0x1.3bb8b4p+2 +-0x1.116614p+1, -0x1.b9686cp+2 +-0x1.f09e5cp+1, 0x1.18f188p+1 +0x1.1d2d2cp+3, -0x1.b9dfecp+1 +0x1.0e96f8p+3, -0x1.fa324cp+2 +-0x1.2107b8p+3, 0x1.5672b4p+2 +-0x1.450b48p+1, 0x1.03ec64p+2 +-0x1.51236p+1, 0x1.63bbp-2 +0x1.473cfp+2, 0x1.7fd628p+2 +-0x1.41be66p+2, -0x1.b455b4p+1 +0x1.147298p+3, -0x1.b6dcc2p+2 +0x1.adfc9p+0, 0x1.e5c588p+1 +-0x1.906cep+1, -0x1.bc50b8p+2 +0x1.80a06p+0, 0x1.197f18p+3 +-0x1.e9bfb4p+1, -0x1.3626p+3 +0x1.08548p-2, 0x1.a7912p+0 +-0x1.85c73p+1, -0x1.de0ac6p+2 +0x1.24e8bp+2, -0x1.78cfdp+0 +0x1.34c46p+3, -0x1.2056ep+2 +-0x1.abd73p+0, -0x1.aa7148p+1 +-0x1.a14eb4p+2, 0x1.a70adp+2 +-0x1.47a7b8p+2, -0x1.045bbap+3 +0x1.d3df2p+2, 0x1.a2632p+0 +-0x1.0bc4fcp+1, 0x1.5e783p+1 +-0x1.d300f8p+2, -0x1.1ba47p+3 +-0x1.341388p+3, -0x1.3d4364p+2 +-0x1.8b121p+0, -0x1.380d02p+3 +0x1.2c1198p+3, 0x1.942d2p+2 +-0x1.601068p+2, -0x1.cfae4ep+2 +0x1.3bcbfcp+2, 0x1.247b74p+2 +-0x1.f2954p-2, 0x1.57dep-1 +0x1.9f8968p+2, -0x1.529dc8p+1 +0x1.069acp+1, -0x1.2fa396p+3 +-0x1.06123ap+3, -0x1.80ef64p+2 +-0x1.e36b24p+2, 0x1.e53618p+2 +-0x1.84ce2ep+2, 0x1.fdc83p+1 +0x1.98702p+1, -0x1.0d365p+0 +-0x1.a4486ep+2, 0x1.0bc68p-3 +-0x1.4dc97p+0, -0x1.63668ap+2 +-0x1.7d2522p+2, 0x1.273094p+2 +0x1.2583b4p+3, 0x1.44152p+2 +0x1.e87558p+1, -0x1.8b41cp-1 +-0x1.17c3d4p+1, 0x1.20f1e8p+3 +-0x1.3cde5p+1, -0x1.efbc5p+0 +0x1.b2ae48p+1, -0x1.28fc22p+2 +-0x1.bea74p-1, 0x1.ece36p-1 +0x1.af706p+2, -0x1.26192cp+2 +0x1.cf1a68p+1, -0x1.a8c564p+2 +-0x1.21aeecp+3, 0x1.5572ep+2 +0x1.70964p+1, 0x1.8b6228p+1 +-0x1.01a1a8p+2, 0x1.8f78ep+1 +0x1.f9274p-1, 0x1.882a38p+1 +-0x1.3a036cp+3, 0x1.874778p+2 +0x1.8d22bp+2, -0x1.e1603p+0 +0x1.0204ap-1, 0x1.7534fp+0 +0x1.b09938p+2, 0x1.01e1fcp+2 +-0x1.2f2a4p-2, 0x1.44d4b8p+1 +0x1.a926fp+1, -0x1.2f9964p+1 +0x1.0f312p-1, 0x1.01dd1p+3 +0x1.077ecp+0, 0x1.f13d5p+2 +-0x1.0f37p-2, 0x1.b6d81p+0 +0x1.6e022p+2, 0x1.aa3aep+2 +0x1.ae5ce8p+2, 0x1.be37p+0 +-0x1.234c9ep+3, 0x1.501968p+2 +0x1.4eca6p-1, -0x1.74d09p+0 +-0x1.07a2ep+0, 0x1.114d68p+3 +-0x1.85271p+0, 0x1.0b7984p+3 +0x1.ba69bp+2, -0x1.52577p+2 +0x1.9999p+1, 0x1.72ad3p+2 +0x1.2f91ap+3, 0x1.6a2b2cp+2 +0x1.7b921p+1, 0x1.1e32p+0 +0x1.cadf88p+2, -0x1.0e020ep+3 +0x1.02be7p+0, -0x1.37e06ep+3 +-0x1.464deap+2, 0x1.b00c6p+1 +-0x1.a3725p+0, 0x1.f47dap+1 +0x1.ce564p+2, 0x1.29284p+3 +-0x1.f6707cp+2, 0x1.21fa08p+1 +0x1.99e0ap+2, -0x1.50c1eap+2 +-0x1.4f3bb2p+2, 0x1.d168fp+0 +-0x1.60fecp-1, 0x1.6f0a6p+0 +0x1.28ae6p+2, 0x1.2159c8p+3 +0x1.0b2c1p+3, 0x1.27c644p+3 +0x1.b6a36p+0, -0x1.2efcc4p+2 +-0x1.6296cp+2, -0x1.5885ap+0 +0x1.2b40bp+2, 0x1.24a7acp+3 +-0x1.0be3p-1, -0x1.2d8a22p+3 +0x1.edc9ep+2, 0x1.052928p+1 +0x1.883228p+2, -0x1.e954fp+0 +0x1.8b198p-3, 0x1.921p+1 +-0x1.e797dp+1, 0x1.29b094p+2 +-0x1.395e2p-1, -0x1.6ec0ep-1 +0x1.f21008p+1, -0x1.f321bp+2 +0x1.43c18p+2, 0x1.31ad3cp+3 +0x1.dff0d8p+2, -0x1.f62328p+1 +-0x1.5b8eaep+2, -0x1.6c9628p+2 +0x1.c63d58p+1, 0x1.3f1f9p+3 +-0x1.bf7688p+2, -0x1.6aa628p+2 +0x1.39236cp+3, 0x1.d1634p+0 +0x1.179ff8p+2, 0x1.27f77cp+2 +-0x1.336e7p+3, 0x1.16f5p-3 +0x1.80d0fp+2, -0x1.6ec856p+2 +-0x1.2d134p+0, -0x1.3e920ep+2 +0x1.b3483p+0, 0x1.decf98p+2 +-0x1.144bfap+3, -0x1.0131aap+3 +0x1.4ff1b8p+2, -0x1.c7d892p+2 +-0x1.396dd8p+1, -0x1.35284ap+2 +-0x1.e8ba1p+1, -0x1.8e51ecp+1 +0x1.988178p+1, 0x1.a107c8p+2 +-0x1.140014p+2, -0x1.acc7e4p+2 +-0x1.eea8ap+2, -0x1.d5dccep+2 +-0x1.3709ap+1, -0x1.1244bap+3 +0x1.1ce98p+1, -0x1.86725cp+2 +-0x1.867f1p+1, 0x1.fa32p-4 +-0x1.c480cp+0, 0x1.c133p+0 +0x1.f1e4e8p+2, -0x1.f95a28p+2 +-0x1.1da168p+3, 0x1.1931e4p+3 +-0x1.973234p+1, 0x1.4d6c1cp+2 +0x1.009dbcp+3, -0x1.390448p+1 +0x1.35189p+3, -0x1.d35836p+2 +-0x1.8e85c2p+2, -0x1.11bad6p+2 +0x1.f05048p+2, -0x1.9f368p-3 +-0x1.149778p+3, 0x1.971edp+0 +0x1.69d72p+1, -0x1.30a1a4p+1 +-0x1.fc4516p+2, -0x1.1276eep+2 +0x1.481748p+1, -0x1.449a7p+2 +0x1.ac594p-2, 0x1.ea85ap+2 +-0x1.5c7574p+2, 0x1.a02058p+2 +0x1.e5b4a8p+2, 0x1.00a24p+1 +-0x1.811dap+0, 0x1.a9a78p+0 +-0x1.bf7b42p+2, 0x1.2781fp+0 +0x1.6c9c2p+0, -0x1.dc9cb8p+2 +0x1.f639dp+1, -0x1.07da6p+3 +0x1.61a0d4p+2, -0x1.2861b8p+1 +0x1.0be778p+2, -0x1.bb66f8p+2 +0x1.76e9p-3, -0x1.982baep+2 +0x1.9f1a6p+2, 0x1.03c5e4p+2 +-0x1.8caa5cp+2, -0x1.3b09fep+3 +-0x1.003d38p+3, 0x1.786e68p+1 +0x1.0d714p-1, 0x1.76abp+1 +-0x1.3afb7ap+3, 0x1.2a1e6p+3 +0x1.1a5764p+3, 0x1.a86c1p+1 +-0x1.4fa8dp+0, -0x1.9c2cbcp+1 +0x1.ff72c8p+1, 0x1.38d6fp+2 +-0x1.3d18p-4, -0x1.48145cp+1 +0x1.1a77c8p+3, -0x1.beaad8p+2 +-0x1.cff7cap+2, 0x1.192fdcp+3 +-0x1.db406p+1, -0x1.0c79e2p+3 +-0x1.1b0a38p+3, 0x1.e68a98p+2 +0x1.a12d6p+2, -0x1.77ef0ep+2 +0x1.76094p+0, 0x1.06df8cp+2 +0x1.bac3fp+2, 0x1.8174ap+1 +-0x1.c55e6p+2, -0x1.4952p-1 +0x1.20b76cp+3, -0x1.203a06p+3 +0x1.274b2p+0, -0x1.06e694p+2 +0x1.7a457p+1, 0x1.3dec28p+3 +-0x1.c0b4ep+2, -0x1.04da42p+3 +0x1.f45e6p+1, 0x1.b64b8p-1 +-0x1.0a53b8p+3, 0x1.16766p-1 +0x1.123818p+2, -0x1.304cccp+3 +-0x1.2ed6p+0, 0x1.531fecp+2 +0x1.e76a18p+1, 0x1.a9d158p+1 +0x1.1e4b8p+3, -0x1.c260ccp+1 +0x1.f5a278p+2, 0x1.92b2a8p+2 +0x1.6bd6p-3, 0x1.2bbf5cp+3 +-0x1.1e3edcp+2, -0x1.41af8p+0 From patchwork Fri Nov 29 13:17:31 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: 846129 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp859089wrp; Fri, 29 Nov 2024 05:28:26 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCU6t7XdGS3dTj3av95QVqgEn0fttrIHIWivA6yqnx0BCsZVO6ufguhfMvfY2Gs1c8UI/vvZEQ==@linaro.org X-Google-Smtp-Source: AGHT+IG5Mi8+3aVXQ6vd0fLzqi9Ti/HtokZxJ/0QchY9tqoJ2PHd1gac0gbcDG7IpmUnFDbOUjkS X-Received: by 2002:a05:6902:1542:b0:e39:598a:1e1f with SMTP id 3f1490d57ef6-e395b8c23c4mr11473125276.28.1732886905830; Fri, 29 Nov 2024 05:28:25 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732886905; cv=pass; d=google.com; s=arc-20240605; b=a6hJ7MKI0dWPxCM8vhyQvtOZjFO8Va8UkRfhzYAcCGkAohYmdFfh0C3jXdI+d596Gr s3GZDBJERynp8TcZlsPKBtMZn5qH2gsmlwmWzT7Y/Zc4knBveTEdQEY/kK52+cvziW9n m5FZIfl0lICLYowp/ClJK85BIAbCwqMrVCaYYWJvHt7tkQDTxNCdPWIy2/3eUehinLqw Uhvp+g88Mryz9OBFRhgMbtdQbMmDUaQDTJzfpE4AIj14sgHlWXOBKdj1GxCM9v9e42+j EvuhJJ0a6vaXTBDIxDGv0QCo3SICNHlOs7HHLJBfta31bMqjvYinOK7AJ7s5oW3BLpdV lRcA== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=UTrEPBI8x1fR4suFfdJaaU3cRy+Xl68JqIUmM/LnfYY=; fh=/bzLn4Pu6wt5yJOmVA6NJX5WuFMrzV1CRzIGBeRqGpk=; b=BuCEcYFDEDQbt9UOSM1jJqSim4mAI+ZNanmAByJUZ+fvk2RwVSJ7W6vL8V4yYHpQmf r3n1zoSqh6DmKmnpJ8DZp5M5Iut/4dbJ7sfOqNLdA48EzSyiOTQKYBe+oHgPH7rV1JQ8 VPR8R/xZ2JBkHgyACy22xYxHO4bWB9fkqsLLVkr/Jplz/K8yhKgJ6DjcBa5lIcyTRaFT ZUp1jQBkHnAi3chL1lI72MJRHWLUqTyVhnnDta5FZMduGMLYg8SdDFsUK6KBxVoPhQbp 5avOQd9cqsqbl+yBTjQja0Lg/7Ei0g3J4mKkXsAmUKDD0P+v6S7K9RFRdepfcDi9CXWZ Z+iw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="mYM+pJs/"; 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 3f1490d57ef6-e3976cd537fsi3122077276.464.2024.11.29.05.28.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:28:25 -0800 (PST) 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="mYM+pJs/"; 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 4D80E3858CD9 for ; Fri, 29 Nov 2024 13:28:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4D80E3858CD9 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=mYM+pJs/ X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by sourceware.org (Postfix) with ESMTPS id 191423858CDB for ; Fri, 29 Nov 2024 13:20:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 191423858CDB 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 191423858CDB Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62c ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886453; cv=none; b=CNESOXX7uvjvTjlCg8wBjcWSQK5L9SGItdbEsWXvbfdG7TGbuJHh6zijXZg6+/Kz3nmeq8/C2cF9mZ2RFZnQP1bd6MRRtJWVamFNe7klvUUl590XC3GCX9Xx0++HaxjqKmiR1Ym5B3eo8PfMNTIS9eIEquiqKbeRZ2Mk6exFOBA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886453; c=relaxed/simple; bh=iUwHLFdv6XFKVMyRjHN6fsHXMFsUPv3/SuXXaIAdVCc=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=G/OT2e5MXfsZcpyXxuNBuTcWwlGTWRoUFo3evHJ0nhUusvr6V1KM20eZMr9Wh2r9xtNDbvtesM3eppJ6UmsPh4zm8IFCn/B72DddlZ3Or5UIj4BIOiGmJ/WV73K5EXxzUdA3EiwXI7U+hnvRenKSaLqRTxUN1Pm6jXgzux/YVtU= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 191423858CDB Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-2155157c58cso681155ad.0 for ; Fri, 29 Nov 2024 05:20:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886451; x=1733491251; 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=UTrEPBI8x1fR4suFfdJaaU3cRy+Xl68JqIUmM/LnfYY=; b=mYM+pJs/SYHFeRxLOQgKj+MBrC+BU7LCXmw9DVpPsNhpdsG2nOZGvw7hgyNWXemay6 Vw8oeGUFK48dbd4eqDZ9SoPfDqfZOuT5SHJsnEvPtCmlRVsTo0aQ8/H2oqrzSXkul0CG qf6p7ff0MAsbM1/V8V3rgAgKAvMbr2fItVO6EYq+mLk3OmxDtftLnPpGdvsbBWSMQ+2w Rd0ChhAHZcUkq3AOd4TdNGVvuZwN/DnS5EfO4wNwxeqehZ3OTjuTCnunHS5OzdEyCzbn Bx9B72Bdz3Se0AVpMZyhCjPqis8yF3a9Lf1Sccl3L8nksIDBY7LNznBK6NNrMA30+TSf 34yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886451; x=1733491251; 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=UTrEPBI8x1fR4suFfdJaaU3cRy+Xl68JqIUmM/LnfYY=; b=t1zGNeJD0vscwxHul21WhVYcDLVU6Ul4E42WY4JVUO2R0664/x1p5C9FaSKneuceBg uHPWwGE4YNJH1U4IBI6s1191N2r8j1QD11l00yGblGTP3o7lS0gzlZeZhI5f+hlcpTL/ C+W+ftjjcm4doVyAgcAre9HvX7REMtDbjrgbiB4ip16DvV4rF421I/enw5t0DT8qZhX0 yRUDIpfWx9VcF7sjCLbyFYLCmcvJZhQ4JCXKKlJBSRFK502Ag1UYskb8J1LlvtdPmgRI m0jg5tEixOAaToOT5pw64sj9oNtjXSY4USZbDrIzCDKSQgUac2n+hrqMDfYDuyTgQFg/ tstA== X-Gm-Message-State: AOJu0YxHhuF/JCIn+cP2oQHitz6hQdaHKvdExb0MOlDX8AbZMGw6l0E9 N5eHk2kOXXAkNerMk7aHmYxmqdQXZmQsE6X7s/f63+tGz2lRNXrHzgiDZ6LIWwyAtk1xTqGGdM9 oahAxYw== X-Gm-Gg: ASbGncvSF6Vf/nbxBf43NFDjO1RsLuLCGqawKu0srT4hbNN+9qpMjlVhZ0jQUEBydIM CQfStw61yELorPo16qJMuOPoD1JAwi/WYpVwWdB3toJ04w7rufpHcaJXAVAdGh0w82kp1BaawVx B3BNYDkFxcEXWRMK+/DkxltRn1SYQ43oFg/G6KJiWDYRqB9a5NeKVqhRNkhG5dajefpDhdcWOia YtTpaYT/vvGa1gQvbj+mk5+Tzj4OQQkHhUpdbNOlyHOBwqqdt597OnapwUwbrY= X-Received: by 2002:a17:902:d50b:b0:212:37e:3fcd with SMTP id d9443c01a7336-21501f625b8mr136320565ad.56.1732886450363; Fri, 29 Nov 2024 05:20:50 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.20.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:20:49 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie Subject: [PATCH 07/23] benchtests: Add atanhf benchmark Date: Fri, 29 Nov 2024 10:17:31 -0300 Message-ID: <20241129132032.476978-8-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 acosf one (random inputs in [-1,1]). --- benchtests/Makefile | 1 + benchtests/atanhf-inputs | 2005 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 2006 insertions(+) create mode 100644 benchtests/atanhf-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index 29e287f220..8f5c55f19a 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -37,6 +37,7 @@ bench-math := \ atan2f \ atanf \ atanh \ + atanhf \ cbrt \ cbrtf \ ceil \ diff --git a/benchtests/atanhf-inputs b/benchtests/atanhf-inputs new file mode 100644 index 0000000000..1ce2ad9131 --- /dev/null +++ b/benchtests/atanhf-inputs @@ -0,0 +1,2005 @@ +## args: float +## ret: float +## includes: math.h +# Random inputs in the range [-1,1] +## name: workload-random +-0x1.82ccfp-4 +-0x1.d1ef54p-1 +0x1.0a778p-6 +0x1.b63e14p-1 +0x1.28017cp-1 +0x1.90d72p-1 +0x1.becd3cp-1 +-0x1.4ec7ep-3 +0x1.e5bc14p-1 +0x1.1478fcp-1 +0x1.e044bcp-1 +0x1.d0899p-2 +0x1.14abep-1 +0x1.3074f8p-1 +-0x1.57a1ep-2 +-0x1.c3c032p-1 +0x1.6352p-1 +-0x1.b40798p-1 +-0x1.f5a746p-1 +0x1.097bap-1 +-0x1.51524p-6 +0x1.dd8dfp-2 +0x1.d0f2p-3 +0x1.ca8cd8p-2 +0x1.0507b4p-1 +0x1.50e7ecp-1 +0x1.2fda58p-2 +0x1.92b32p-3 +0x1.07ad94p-1 +-0x1.ca5424p-2 +-0x1.95922ep-1 +0x1.eec954p-1 +-0x1.3eecep-4 +0x1.63bd5p-3 +-0x1.4179c6p-1 +-0x1.13870cp-2 +-0x1.5f0f8p-1 +0x1.b8b9p-3 +-0x1.10ee2p-1 +-0x1.2253ep-1 +0x1.91aeacp-1 +0x1.c34124p-1 +0x1.c41b48p-1 +-0x1.5b598ep-1 +0x1.864408p-1 +0x1.605ecp-4 +-0x1.e8cc6p-1 +-0x1.03c56p-5 +-0x1.1bf8ep-1 +0x1.dc9b74p-1 +-0x1.4bce28p-1 +-0x1.585a02p-1 +0x1.11e014p-1 +0x1.97938p-5 +-0x1.a9c93p-3 +0x1.a9cf7p-2 +0x1.02638cp-1 +-0x1.82d28ap-1 +-0x1.d318p-6 +-0x1.09949cp-1 +0x1.f9a5f4p-1 +-0x1.11042p-5 +-0x1.4725bp-3 +0x1.3ca0ep-4 +0x1.00f65p-1 +-0x1.bc7d06p-1 +-0x1.d69ap-7 +0x1.2fc678p-1 +-0x1.52b32p-3 +-0x1.d7c4bp-2 +0x1.84002p-3 +-0x1.7a8dc4p-1 +0x1.6ddc2p-1 +0x1.fc88bp-3 +0x1.168c94p-1 +-0x1.787258p-2 +-0x1.f91dfp-3 +0x1.3705b8p-1 +-0x1.dde43cp-2 +0x1.c308a8p-2 +0x1.fefe58p-2 +-0x1.b19024p-1 +0x1.48f2fp-3 +-0x1.7c9f84p-1 +0x1.17fe18p-2 +0x1.797c2p-2 +0x1.70957p-2 +0x1.dfb21p-3 +0x1.83b50cp-1 +0x1.0d329p-2 +-0x1.0ca69p-1 +-0x1.14a154p-1 +0x1.ce2e9p-2 +-0x1.dbf9p-1 +0x1.51b754p-1 +0x1.c3adf8p-2 +-0x1.e07ba4p-2 +0x1.e892cp-2 +-0x1.ce37cp-3 +-0x1.2096fp-4 +0x1.614fap-1 +0x1.f0780cp-1 +0x1.47e8d8p-2 +-0x1.e668fcp-1 +-0x1.d2e4f6p-1 +-0x1.f0574p-6 +0x1.6b72bp-2 +-0x1.1bcf84p-2 +0x1.f5f15p-3 +-0x1.c8a4cp-6 +-0x1.ffdc98p-3 +-0x1.eba902p-1 +0x1.d0996p-3 +0x1.92ea8p-4 +0x1.99c9fp-2 +0x1.571acp-4 +0x1.147954p-1 +0x1.b94c3p-2 +-0x1.9b9332p-1 +0x1.778c88p-2 +-0x1.6c3ffep-1 +-0x1.307162p-1 +0x1.d8be48p-1 +0x1.b94bbp-1 +-0x1.ef308p-1 +-0x1.234dccp-2 +-0x1.bf6704p-1 +0x1.bd444p-5 +0x1.6b489cp-1 +-0x1.9f91f6p-1 +0x1.d5b3b4p-1 +-0x1.aef0d8p-2 +0x1.96c4ep-1 +0x1.01b08p-6 +-0x1.265804p-2 +-0x1.1dc3d2p-1 +0x1.760598p-2 +0x1.cdea5cp-1 +0x1.49ca54p-1 +-0x1.94e4a6p-1 +0x1.30c37p-1 +-0x1.20aa84p-1 +0x1.deb5f8p-2 +-0x1.5ad548p-1 +0x1.a3cd4p-4 +-0x1.8992fcp-1 +-0x1.824d5p-4 +-0x1.1d82e2p-1 +-0x1.fc59fcp-1 +-0x1.5d3ed4p-2 +-0x1.33c594p-2 +0x1.a2d838p-1 +-0x1.a0e6cep-1 +0x1.75a1a8p-2 +-0x1.fc6e2ep-1 +-0x1.7e6a34p-1 +0x1.d3092p-3 +0x1.5452ccp-1 +0x1.0824ep-3 +-0x1.f64e1cp-2 +0x1.4f21b8p-1 +0x1.cdffa4p-1 +-0x1.33c71p-3 +-0x1.416bbp-4 +-0x1.8cd1fp-1 +-0x1.8c0906p-1 +0x1.7afdep-1 +-0x1.a9ef58p-2 +-0x1.aa6472p-1 +0x1.7cfa9p-2 +0x1.8ea19cp-1 +0x1.8e466p-2 +0x1.9a738p-1 +-0x1.c3de54p-1 +-0x1.9292fap-1 +-0x1.1b36b8p-1 +0x1.32fdp-1 +0x1.22357p-2 +0x1.97a92p-3 +0x1.1017c8p-2 +0x1.0da844p-1 +-0x1.2d3f9p-1 +-0x1.3c9e14p-1 +-0x1.ffe5c8p-3 +0x1.5404cp-2 +0x1.05bf34p-1 +0x1.b648cp-5 +-0x1.d9f0bp-3 +0x1.1eb0ecp-1 +0x1.4fd72p-3 +0x1.739424p-1 +0x1.92feap-2 +-0x1.5f5b56p-1 +-0x1.81b34cp-1 +0x1.de424p-4 +-0x1.b0fb9p-2 +0x1.7c7cfcp-1 +-0x1.5ba40cp-2 +0x1.9173d8p-1 +-0x1.de23e8p-1 +0x1.f2ba08p-1 +-0x1.7612c4p-2 +0x1.199de8p-1 +-0x1.87e44p-5 +-0x1.98da44p-2 +-0x1.4bcc94p-1 +-0x1.813e98p-3 +-0x1.8f2c48p-1 +0x1.901628p-2 +0x1.4d597p-2 +-0x1.a6df68p-1 +0x1.43529p-2 +-0x1.b37984p-1 +-0x1.f0dafep-1 +-0x1.01a598p-3 +0x1.ec1ecp-4 +-0x1.2a078p-1 +0x1.c8f41cp-1 +0x1.c18ff8p-2 +0x1.6736b4p-1 +0x1.b45fccp-1 +-0x1.6eb35p-4 +0x1.2f518cp-1 +0x1.a99f3cp-1 +0x1.5a925p-2 +0x1.f3de5p-2 +-0x1.d3509p-3 +-0x1.acec3cp-2 +-0x1.1907e8p-3 +-0x1.10df18p-1 +-0x1.d22118p-2 +-0x1.469bap-1 +-0x1.730c4p-4 +-0x1.8f1baep-1 +0x1.09d56cp-1 +-0x1.e850cp-2 +0x1.b459p-3 +0x1.1d5788p-1 +-0x1.49ef08p-1 +0x1.81af88p-2 +0x1.34e7f4p-1 +-0x1.cb2p-13 +-0x1.a54a74p-2 +-0x1.8e022p-5 +-0x1.4718e6p-1 +0x1.5109ccp-1 +-0x1.4b9b44p-1 +-0x1.e9c06p-5 +0x1.fb404p-1 +-0x1.64ec1p-2 +0x1.9da7ap-3 +0x1.1f9d6cp-1 +-0x1.50eacap-1 +-0x1.41e994p-2 +0x1.f35cccp-1 +0x1.3bdaa8p-2 +0x1.7f11fp-2 +0x1.8de07p-1 +-0x1.30b244p-1 +-0x1.c631a8p-1 +0x1.d71c28p-2 +-0x1.7ac16p-1 +-0x1.076fap-4 +0x1.f586ep-1 +0x1.07499p-2 +-0x1.1c558cp-1 +0x1.e51858p-2 +0x1.6ab54p-4 +0x1.dd0b28p-2 +-0x1.50b5ecp-1 +-0x1.a5630cp-2 +-0x1.c9153p-2 +0x1.acce44p-1 +0x1.07d16p-1 +0x1.aafff8p-1 +-0x1.0eb5c8p-2 +0x1.488e38p-2 +-0x1.66a0cp-6 +-0x1.2af03p-4 +0x1.d27fcp-5 +-0x1.c1c98p-2 +0x1.2a99fcp-1 +0x1.49429p-2 +0x1.d444p-2 +0x1.f155e4p-1 +0x1.ff7a18p-2 +0x1.d858p-2 +-0x1.83eb32p-1 +0x1.e994b4p-1 +0x1.99056p-1 +0x1.b0fa8p-5 +0x1.6f3c5p-1 +-0x1.d25c1ep-1 +0x1.001018p-2 +0x1.b8b12cp-1 +0x1.34498p-5 +0x1.f6719p-1 +0x1.c3b628p-2 +-0x1.94325p-4 +0x1.2bf41p-3 +0x1.4fe48p-1 +0x1.9d558p-3 +-0x1.62071cp-1 +-0x1.cb8892p-1 +-0x1.2471ccp-1 +0x1.c5c31p-2 +0x1.d65254p-1 +0x1.49a46p-1 +0x1.add2p-5 +0x1.8afe58p-2 +0x1.e9df64p-1 +0x1.e7b5e4p-1 +-0x1.6aac28p-2 +-0x1.7551fp-4 +-0x1.28447cp-2 +0x1.1b6f74p-1 +0x1.b0688p-6 +0x1.570ddp-3 +0x1.bf48fp-1 +-0x1.6bef6ep-1 +0x1.d45dep-4 +-0x1.949b4cp-1 +-0x1.d80478p-2 +-0x1.cff20ap-1 +0x1.b86e84p-1 +0x1.881128p-1 +0x1.f01dbcp-1 +-0x1.1ae7acp-2 +-0x1.08b5ep-5 +0x1.a2fa9cp-1 +-0x1.021bbp-2 +-0x1.dfe558p-1 +-0x1.5babfp-1 +-0x1.9d2b98p-1 +0x1.5f322p-1 +-0x1.854f18p-3 +-0x1.df9b5p-4 +-0x1.83d726p-1 +0x1.c8fa84p-1 +-0x1.a0b5f8p-2 +-0x1.1217f4p-1 +-0x1.560788p-2 +-0x1.409ffp-1 +-0x1.70f07p-1 +-0x1.05553ep-1 +-0x1.738954p-1 +0x1.6a8ffp-3 +0x1.a8090cp-1 +0x1.5ec9d4p-1 +0x1.aa286p-3 +-0x1.f209c8p-1 +0x1.1e5f98p-2 +-0x1.87394p-1 +-0x1.c83bbp-2 +0x1.8f7f34p-1 +0x1.69f204p-1 +-0x1.54da54p-1 +-0x1.46a5ep-1 +0x1.277b6p-4 +0x1.211c4p-3 +-0x1.181592p-1 +0x1.257078p-1 +0x1.7ca13p-3 +0x1.cc33cp-4 +-0x1.db3b78p-2 +-0x1.5514a8p-1 +0x1.86e04p-1 +-0x1.ac9becp-2 +-0x1.631f96p-1 +-0x1.4639fp-2 +-0x1.2915cp-4 +-0x1.44838p-3 +-0x1.cb294cp-1 +-0x1.c08528p-1 +-0x1.f10a6p-2 +-0x1.927326p-1 +-0x1.9b2c5ep-1 +-0x1.71e53p-1 +0x1.c25438p-1 +0x1.8a2748p-2 +-0x1.89c4dcp-2 +0x1.3b28dp-2 +-0x1.9eebcp-3 +-0x1.582004p-1 +-0x1.f8692cp-1 +0x1.b86b78p-1 +-0x1.fd7d2ap-1 +0x1.940994p-1 +-0x1.6aaf5p-1 +-0x1.6bbff4p-1 +-0x1.f3668p-1 +0x1.6dc63p-2 +0x1.625334p-1 +0x1.7b884p-4 +0x1.2285p-1 +-0x1.3a6694p-1 +0x1.0e3bacp-1 +-0x1.3cb0aep-1 +0x1.68a0f8p-2 +-0x1.fd859cp-2 +-0x1.61fbep-1 +0x1.e809f8p-2 +0x1.4eedf8p-2 +0x1.0266a8p-2 +0x1.1305a8p-1 +0x1.4aa87p-3 +-0x1.83abe4p-1 +0x1.2beae8p-1 +0x1.d5438p-3 +-0x1.a1e79ep-1 +0x1.dac1f8p-2 +0x1.5a4d18p-1 +0x1.7cd3p-6 +0x1.a61f5p-2 +-0x1.e30f64p-1 +0x1.bdba34p-1 +-0x1.c8305p-3 +-0x1.cfac08p-1 +-0x1.c00714p-1 +-0x1.a4c416p-1 +-0x1.8f748p-2 +0x1.7132ep-3 +-0x1.64875cp-2 +0x1.7f66cp-4 +0x1.8fcac4p-1 +0x1.e758ep-4 +0x1.dccb6cp-1 +-0x1.705efcp-2 +-0x1.51faf8p-1 +0x1.5a60c8p-2 +-0x1.85929cp-2 +-0x1.883c7p-2 +-0x1.229cfp-3 +0x1.f03424p-1 +0x1.7d6958p-2 +0x1.82f2e8p-2 +-0x1.a84dbcp-1 +0x1.dbe8c8p-1 +-0x1.420522p-1 +0x1.cb2cc8p-2 +0x1.96a9a8p-1 +-0x1.8e6444p-1 +0x1.1a0b28p-1 +0x1.afcbdp-1 +0x1.3c76a8p-1 +-0x1.57bf98p-1 +0x1.428118p-1 +0x1.2993f8p-2 +-0x1.2729ap-3 +0x1.8e4948p-2 +-0x1.a2013cp-2 +0x1.7eaf6p-3 +0x1.e21494p-1 +-0x1.840592p-1 +-0x1.825dep-2 +0x1.de7bf8p-2 +0x1.53d9acp-1 +-0x1.65199cp-2 +0x1.e4fc6p-4 +-0x1.0a4258p-3 +-0x1.2756c4p-1 +0x1.e591f4p-1 +0x1.c94a5p-3 +-0x1.437afp-3 +-0x1.7aab8cp-1 +-0x1.56603cp-1 +-0x1.e6ebc6p-1 +-0x1.f0021p-1 +-0x1.ce3208p-3 +0x1.dcffdcp-1 +0x1.ae5748p-1 +0x1.ebb0bp-3 +-0x1.73844p-4 +-0x1.e183f8p-3 +-0x1.a7c2bcp-2 +0x1.622b7p-1 +-0x1.f0cdf6p-1 +0x1.7d239p-1 +0x1.5db1e8p-1 +0x1.88018p-2 +-0x1.004ccp-3 +0x1.fb518cp-1 +0x1.ba1d7p-1 +-0x1.4baaep-1 +0x1.3b0d98p-2 +-0x1.f808acp-2 +0x1.d4b82p-3 +0x1.8d36cp-2 +-0x1.16f29cp-1 +-0x1.cad6b2p-1 +0x1.f6722cp-1 +-0x1.f3b7ecp-2 +-0x1.7fbf1p-2 +-0x1.3032c4p-2 +-0x1.90df6cp-2 +-0x1.0f833p-1 +0x1.a21f7p-1 +0x1.f2dfa4p-1 +0x1.c09e7p-1 +0x1.aa11cp-4 +-0x1.9ac0b8p-3 +0x1.4fedap-4 +0x1.ae1308p-1 +0x1.af82bp-1 +0x1.362f3cp-1 +-0x1.9e19c4p-1 +-0x1.a6fd42p-1 +0x1.55aa4p-1 +0x1.19acp-4 +-0x1.bbc7c4p-2 +-0x1.52a994p-1 +-0x1.a09a1cp-1 +0x1.7e80a8p-1 +0x1.b40154p-1 +0x1.2a3aep-4 +-0x1.7e6eccp-2 +0x1.6db92p-1 +0x1.3010fcp-1 +0x1.44a62p-1 +0x1.b6f4ep-2 +-0x1.11db68p-1 +0x1.67496p-3 +-0x1.6c9d7p-3 +0x1.18edccp-1 +0x1.1ed418p-2 +-0x1.aa58ccp-2 +-0x1.11ea44p-2 +-0x1.0eff58p-3 +0x1.d53c4p-5 +-0x1.0d75acp-1 +0x1.5b1dfp-3 +0x1.81b3dp-2 +0x1.08858p-1 +0x1.5fc7e8p-2 +0x1.fb7978p-2 +-0x1.9c50fcp-1 +-0x1.91de38p-2 +-0x1.eb1eecp-1 +-0x1.6076dcp-1 +0x1.df01fp-3 +0x1.6d8b6p-1 +-0x1.80ddbcp-2 +-0x1.04e87p-2 +-0x1.fe2c92p-1 +0x1.0507d8p-1 +-0x1.e18384p-1 +0x1.d5e84p-1 +-0x1.e67118p-2 +0x1.c6dfa8p-1 +0x1.c013ccp-1 +0x1.177ae8p-1 +0x1.e9735cp-1 +-0x1.33d678p-3 +0x1.e85fe4p-1 +0x1.638e08p-1 +0x1.4df56p-3 +0x1.9f7ce4p-1 +-0x1.608b1cp-1 +0x1.a2ac98p-1 +0x1.1d41c8p-1 +0x1.a2b288p-2 +0x1.b9c54p-3 +0x1.369bfcp-1 +0x1.c7df2p-4 +0x1.501fdp-2 +-0x1.69cce6p-1 +-0x1.977128p-1 +-0x1.b9b396p-1 +0x1.38294p-4 +0x1.37a66cp-1 +-0x1.b64888p-3 +-0x1.b89e94p-2 +-0x1.86c27p-4 +0x1.d0ad4p-5 +0x1.44961p-1 +-0x1.e3545cp-2 +0x1.7a52e8p-1 +-0x1.ece22cp-2 +-0x1.2151bp-4 +0x1.7ea2p-1 +0x1.b63bap-2 +-0x1.7d1c7p-2 +-0x1.075688p-1 +0x1.b5fb5p-3 +-0x1.c9568p-1 +-0x1.fa3af4p-1 +-0x1.784488p-2 +-0x1.76ea2p-2 +-0x1.e6aa4p-3 +0x1.a6ab1p-1 +-0x1.cb0038p-1 +-0x1.fa7b98p-3 +-0x1.10354cp-1 +0x1.a5144cp-1 +0x1.58c42p-2 +-0x1.8f704cp-1 +0x1.ca2e2p-4 +0x1.57c048p-1 +-0x1.182006p-1 +0x1.cf66ap-1 +-0x1.c5511ep-1 +-0x1.50d9eap-1 +-0x1.a85dc4p-2 +0x1.084bb4p-1 +0x1.164d3p-2 +-0x1.664fd2p-1 +-0x1.b34966p-1 +-0x1.0458e8p-3 +0x1.13ed8cp-1 +0x1.6d412p-3 +0x1.208268p-2 +-0x1.23e10ep-1 +-0x1.f4bfp-8 +0x1.01bf3p-2 +-0x1.6200ccp-1 +0x1.2d9154p-1 +-0x1.b07fbep-1 +-0x1.cb506ep-1 +-0x1.9a606ep-1 +0x1.625524p-1 +-0x1.c8b17p-2 +0x1.ac35fp-1 +0x1.581acp-3 +-0x1.3b91ecp-2 +-0x1.27c43p-1 +-0x1.dfab3cp-1 +0x1.c5fe28p-1 +0x1.aca3fp-3 +0x1.3543b8p-1 +-0x1.101eb8p-2 +0x1.8e8ec8p-2 +0x1.f7b7ap-4 +-0x1.fe5c5cp-2 +0x1.f8c288p-1 +-0x1.d5a52p-5 +0x1.2a6ea8p-1 +-0x1.b09004p-1 +-0x1.464954p-1 +0x1.0a3288p-2 +-0x1.bd7c02p-1 +0x1.b2cp-2 +0x1.4a14d8p-1 +0x1.664f98p-1 +0x1.edf2ccp-1 +0x1.e81becp-1 +0x1.7a0ee8p-1 +0x1.7b94p-4 +0x1.dc0424p-1 +0x1.90a38cp-1 +-0x1.d791b6p-1 +-0x1.9a148p-6 +0x1.1c3b6p-2 +-0x1.bcedap-1 +-0x1.71af8p-7 +0x1.a00508p-2 +-0x1.007a94p-1 +-0x1.78bb8p-2 +0x1.547be4p-1 +-0x1.ebd848p-3 +-0x1.cd4a4p-1 +-0x1.7c0a08p-1 +-0x1.20d8ep-2 +-0x1.1d8a3cp-1 +-0x1.39c4aep-1 +-0x1.624fd4p-2 +0x1.5e8d4p-4 +0x1.545ad4p-1 +0x1.947208p-1 +-0x1.3c0b18p-2 +-0x1.6c76a8p-1 +-0x1.01e9fp-3 +0x1.2a8154p-1 +-0x1.462344p-1 +-0x1.26aep-4 +0x1.f0858p-1 +0x1.7f95cp-1 +0x1.7cfbcp-5 +0x1.cc1b6p-2 +0x1.c01954p-1 +0x1.a2e42p-1 +0x1.2257dp-2 +-0x1.59adc8p-1 +-0x1.fb3898p-1 +-0x1.eb4f76p-1 +-0x1.b23cp-6 +0x1.83bdp-4 +-0x1.370b7cp-2 +0x1.6becp-1 +-0x1.6b33f6p-1 +0x1.013a8p-4 +-0x1.2694bap-1 +-0x1.13a4p-1 +0x1.c13088p-2 +0x1.474ebp-1 +-0x1.69c40cp-1 +-0x1.3b1304p-1 +0x1.e1d85p-2 +0x1.efa04cp-1 +-0x1.822b9p-2 +-0x1.e7ba52p-1 +-0x1.88b4cep-1 +0x1.9bf458p-2 +0x1.2f5fap-4 +0x1.90748p-5 +-0x1.b4f29p-4 +0x1.b3725cp-1 +-0x1.1a3d48p-3 +0x1.f1ffdp-1 +-0x1.5ea3acp-1 +0x1.bc4dfp-2 +0x1.087658p-1 +-0x1.3de2cp-5 +0x1.8b49f8p-2 +-0x1.a570a8p-3 +0x1.ece0b4p-1 +0x1.8cf494p-1 +-0x1.34b87p-1 +0x1.aeb87p-1 +0x1.feed1p-3 +-0x1.6c2178p-3 +-0x1.d3777cp-1 +0x1.1baa9p-2 +-0x1.9101dp-3 +0x1.e99d18p-1 +0x1.108bp-1 +-0x1.9adeap-1 +-0x1.91779p-3 +-0x1.d80694p-1 +0x1.59e074p-1 +-0x1.9ad74p-1 +-0x1.65328cp-2 +-0x1.a37528p-2 +0x1.3a8aep-3 +-0x1.828678p-3 +0x1.f1c61p-1 +0x1.b30dep-1 +-0x1.edb7f2p-1 +0x1.940e24p-1 +0x1.78fa4p-1 +-0x1.034cacp-2 +-0x1.056588p-1 +0x1.22ebc4p-1 +-0x1.8a8538p-2 +0x1.43c098p-2 +-0x1.ea3c18p-2 +-0x1.78defcp-1 +-0x1.fc1a98p-1 +-0x1.ced384p-2 +0x1.aed56p-3 +0x1.f0e65p-1 +-0x1.04039cp-1 +-0x1.7c4e2p-1 +-0x1.008268p-3 +0x1.6e6c8cp-1 +-0x1.8f0c3ap-1 +0x1.685638p-2 +-0x1.51a9bp-1 +0x1.564c8p-3 +-0x1.1f2604p-1 +-0x1.b5792p-1 +0x1.ce7f7p-2 +0x1.a4505p-2 +-0x1.daed98p-1 +-0x1.9c6378p-3 +-0x1.ce9a42p-1 +-0x1.231428p-2 +-0x1.289d94p-2 +0x1.e0ecep-3 +0x1.2127dp-3 +0x1.659p-5 +-0x1.e0bed8p-3 +-0x1.3865p-1 +0x1.9f386cp-1 +-0x1.bc1b9p-1 +-0x1.dede2cp-2 +0x1.48a81p-3 +-0x1.ddf218p-2 +-0x1.e55dc4p-1 +-0x1.039ac4p-1 +-0x1.00d06p-4 +-0x1.520224p-1 +0x1.ed3b18p-2 +-0x1.8b2972p-1 +0x1.eeea6p-3 +-0x1.e10488p-3 +-0x1.a4208cp-2 +0x1.8dbe2cp-1 +0x1.df8eecp-1 +-0x1.c76178p-3 +-0x1.de939ap-1 +-0x1.c55128p-1 +-0x1.3a1988p-1 +0x1.0200e8p-1 +-0x1.ea02eap-1 +0x1.37e728p-1 +0x1.2cc52p-3 +-0x1.dd7bf8p-1 +-0x1.eaab38p-3 +0x1.23e858p-1 +0x1.9d3cep-2 +-0x1.5f07fap-1 +0x1.bd104p-2 +0x1.b8f3cp-4 +0x1.97b69p-3 +0x1.095e34p-1 +0x1.ea8cp-6 +0x1.a2a1ap-2 +-0x1.671ebp-4 +0x1.ae483p-1 +-0x1.ed1beep-1 +0x1.a4771cp-1 +0x1.fa32fp-2 +-0x1.45bcdp-3 +0x1.a8a5a8p-1 +0x1.80722cp-1 +-0x1.af6376p-1 +0x1.d1df14p-1 +0x1.5b4fecp-1 +0x1.d2483p-3 +0x1.51472p-4 +-0x1.d7ef98p-1 +-0x1.3afda8p-1 +-0x1.2ee52p-1 +0x1.ae604cp-1 +0x1.bf43a8p-2 +-0x1.370da8p-2 +-0x1.03d918p-3 +-0x1.97c716p-1 +0x1.9351bcp-1 +-0x1.c190ap-3 +0x1.ca2178p-1 +-0x1.abc196p-1 +-0x1.4519fp-4 +0x1.e2b5cp-4 +0x1.c955acp-1 +-0x1.f8072p-2 +-0x1.065a5cp-2 +0x1.ffa334p-1 +-0x1.10d6cp-4 +-0x1.76e194p-1 +-0x1.0e0c4p-3 +0x1.ca6294p-1 +0x1.fe0ddp-3 +0x1.1c74p-9 +-0x1.f3e3d8p-1 +0x1.c35bp-2 +0x1.b11e2p-1 +0x1.0ba7c8p-1 +-0x1.c83c9ep-1 +0x1.1d8b6p-2 +0x1.cdaf6p-1 +-0x1.79474p-4 +-0x1.555ad4p-1 +0x1.e71accp-1 +-0x1.62d32cp-2 +-0x1.c6318p-2 +-0x1.09814p-6 +-0x1.623594p-2 +-0x1.3c9a74p-1 +0x1.bb1c8p-6 +0x1.85b968p-2 +0x1.4c62ap-4 +-0x1.850f8p-3 +0x1.9d9414p-1 +-0x1.e9c0fp-1 +-0x1.54f6ep-4 +-0x1.1f250ep-1 +-0x1.a37ebcp-1 +0x1.2c31ep-1 +-0x1.e4285ep-1 +-0x1.53354p-5 +-0x1.443f98p-1 +0x1.7fa338p-1 +0x1.a63fd8p-2 +0x1.0eb814p-1 +-0x1.66836p-5 +0x1.5465ep-4 +0x1.d6371p-3 +0x1.6ba608p-1 +0x1.76a67p-1 +-0x1.38ed8cp-1 +0x1.3949ep-2 +-0x1.396538p-3 +0x1.9fc27cp-1 +-0x1.7a5a2cp-2 +-0x1.52ced4p-2 +-0x1.ced9p-2 +-0x1.892b8p-3 +0x1.e9b4ap-4 +0x1.64965p-1 +-0x1.11f966p-1 +-0x1.af49dep-1 +0x1.b9c6e8p-2 +-0x1.4a6b68p-3 +0x1.39a4d8p-1 +-0x1.e4038p-3 +-0x1.266fcp-4 +-0x1.99eb08p-1 +-0x1.905d8ap-1 +0x1.04ec98p-1 +-0x1.f69e52p-1 +0x1.69b08p-5 +0x1.206e18p-1 +0x1.65b5acp-1 +-0x1.cd2c4ep-1 +0x1.087ac8p-1 +-0x1.5c66e8p-1 +0x1.9297cp-3 +-0x1.b284f2p-1 +0x1.341918p-1 +0x1.4c391p-3 +0x1.0bbfe8p-2 +0x1.c8bd04p-1 +-0x1.51ecap-3 +0x1.31bcep-4 +-0x1.b3cep-6 +0x1.12efccp-1 +-0x1.f73838p-1 +-0x1.fa93p-8 +-0x1.3acc9cp-1 +0x1.97d4e4p-1 +-0x1.8bc2a6p-1 +-0x1.412994p-1 +0x1.9b035p-1 +0x1.24d0cp-5 +0x1.4bf3fp-2 +0x1.7bd3cp-2 +-0x1.e889c4p-1 +-0x1.3df78ap-1 +-0x1.d7fadcp-1 +0x1.6736ep-2 +0x1.b25p-1 +-0x1.49063ap-1 +0x1.b904dp-1 +-0x1.72f564p-2 +-0x1.0b40ep-3 +0x1.ca614cp-1 +0x1.2558d8p-2 +0x1.f6bf18p-2 +-0x1.08d73p-4 +-0x1.d957fp-3 +0x1.6d3404p-1 +-0x1.f4fa04p-1 +-0x1.c4c014p-2 +0x1.2ea74p-1 +0x1.2f5aap-1 +-0x1.0d1606p-1 +-0x1.683894p-1 +-0x1.96d2fcp-1 +0x1.8aa14p-2 +-0x1.9fc25ap-1 +-0x1.59aabcp-1 +-0x1.b5a188p-2 +-0x1.a73d4p-4 +0x1.1d0c64p-1 +0x1.3fa6b4p-1 +0x1.552a98p-1 +-0x1.488b98p-3 +0x1.5232ap-1 +-0x1.1b2468p-2 +-0x1.d1b4f2p-1 +0x1.3747ecp-1 +-0x1.c99a58p-1 +-0x1.92a36p-4 +-0x1.8ec56p-5 +0x1.45c8bp-1 +0x1.9323dp-1 +0x1.21165p-1 +0x1.6bde58p-1 +0x1.868b58p-2 +-0x1.0c9632p-1 +0x1.9cdb04p-1 +-0x1.945fep-4 +0x1.9c72ap-2 +0x1.b06c48p-1 +-0x1.af07aep-1 +-0x1.004bdcp-1 +-0x1.99b8p-8 +0x1.761bb8p-2 +-0x1.1a0c7cp-1 +-0x1.c274c8p-3 +-0x1.98cdbap-1 +-0x1.3405ep-2 +0x1.c8ca8p-6 +-0x1.b3e7cep-1 +0x1.bdb1ap-4 +0x1.be492p-4 +0x1.061fep-2 +-0x1.e402cp-3 +0x1.13d3f8p-1 +-0x1.54baep-3 +-0x1.38df0ep-1 +-0x1.8f9abcp-1 +-0x1.0c2cp-10 +0x1.0049cp-2 +-0x1.165028p-3 +0x1.7230a4p-1 +0x1.b73c14p-1 +-0x1.51d276p-1 +-0x1.5aa668p-1 +0x1.653fd8p-1 +0x1.bc6ap-2 +-0x1.e59fc8p-3 +-0x1.82c4f8p-2 +-0x1.05d8ap-1 +0x1.5fd12p-1 +0x1.168f68p-1 +-0x1.0a39ep-2 +-0x1.718cb2p-1 +-0x1.1ffd68p-1 +0x1.d6a698p-1 +0x1.3ec9p-1 +-0x1.bed24ap-1 +-0x1.b2140ap-1 +-0x1.e688ep-3 +-0x1.dcf904p-1 +-0x1.166acp-2 +0x1.bc57ap-3 +-0x1.df64p-9 +-0x1.d39f44p-2 +0x1.d419b4p-1 +0x1.5251ecp-1 +-0x1.beb3cp-3 +0x1.93d1acp-1 +-0x1.951ep-6 +0x1.6a752p-3 +-0x1.eabb3cp-1 +-0x1.b8d786p-1 +0x1.b2f2cp-2 +-0x1.5c70f2p-1 +0x1.2a81d8p-1 +0x1.d53d44p-1 +0x1.c0f98p-3 +-0x1.f6e974p-2 +0x1.197e6p-1 +-0x1.2476f4p-2 +-0x1.fb9c8p-1 +0x1.1cb4fp-1 +-0x1.f57dp-8 +0x1.39cf9p-3 +0x1.ba0a14p-1 +-0x1.36d81p-2 +-0x1.a3b80ep-1 +0x1.071304p-1 +0x1.4885fp-3 +-0x1.7fdf98p-3 +0x1.db9b74p-1 +0x1.57e2p-3 +0x1.e79ddcp-1 +-0x1.0b45bep-1 +-0x1.fe97fp-1 +0x1.063b1p-3 +-0x1.7651ecp-1 +-0x1.846faap-1 +0x1.c9b0b8p-2 +0x1.fce168p-2 +0x1.760038p-2 +0x1.97a78p-4 +-0x1.4ef20cp-1 +0x1.cd388p-3 +0x1.980448p-1 +-0x1.40e8dp-2 +-0x1.bc068cp-1 +0x1.58d7acp-1 +0x1.c4504p-2 +-0x1.1c36ccp-1 +-0x1.d0f6dap-1 +-0x1.ef9c8cp-2 +-0x1.fc6cf4p-2 +0x1.7322dp-1 +-0x1.3a179p-4 +0x1.10855p-1 +-0x1.579a98p-1 +-0x1.844cfp-4 +-0x1.32324p-1 +-0x1.fd135p-3 +-0x1.19a874p-2 +0x1.0f93c8p-1 +-0x1.211aecp-2 +0x1.ce1dcp-2 +0x1.8374d8p-1 +-0x1.5aac44p-2 +0x1.fe6e7p-1 +0x1.6f0834p-1 +-0x1.afe7bp-2 +-0x1.ce38eap-1 +-0x1.2f658cp-1 +0x1.c0cd6p-3 +0x1.265518p-2 +0x1.8100b8p-2 +-0x1.679b7p-4 +-0x1.aaa87cp-1 +0x1.36b80cp-1 +0x1.0943ccp-1 +0x1.ec34b4p-1 +-0x1.0e4dbp-3 +0x1.a370bcp-1 +-0x1.31e98p-2 +0x1.826604p-1 +-0x1.013e34p-1 +-0x1.804b3p-1 +-0x1.df8e88p-3 +0x1.18c81p-3 +-0x1.9e8266p-1 +-0x1.e50d8cp-1 +0x1.c6ecap-2 +-0x1.f21a84p-2 +0x1.b5e22p-3 +0x1.d8546p-3 +-0x1.79343ap-1 +0x1.44ff58p-2 +-0x1.04b4ep-1 +0x1.f5618p-4 +0x1.2a9bccp-1 +0x1.fc8e1p-3 +-0x1.237d98p-2 +-0x1.2f5478p-1 +0x1.a217ap-2 +-0x1.4fb5p-1 +-0x1.6d72cp-1 +0x1.1932p-7 +-0x1.f9508p-4 +0x1.c9f48p-3 +0x1.5257bcp-1 +0x1.6a2824p-1 +0x1.b0b384p-1 +0x1.e3b44p-4 +-0x1.b760a4p-2 +-0x1.e7219cp-1 +-0x1.97b86ep-1 +0x1.4489p-4 +-0x1.205ba8p-1 +-0x1.833d94p-2 +-0x1.32ce5p-3 +-0x1.1b52p-5 +-0x1.09c16p-5 +-0x1.0debb4p-2 +-0x1.cde8dcp-1 +0x1.b81418p-1 +-0x1.e980fcp-1 +-0x1.cf6af4p-2 +-0x1.b21478p-3 +0x1.73764p-5 +-0x1.c2c1c8p-2 +0x1.72cp-2 +0x1.7fbb78p-2 +-0x1.93c0e2p-1 +-0x1.6d22dcp-1 +0x1.e3758p-6 +0x1.8198a4p-1 +-0x1.624d7cp-1 +0x1.37b74p-2 +0x1.187b88p-1 +0x1.ab30cp-2 +0x1.2d7e5cp-1 +-0x1.4f6aep-1 +0x1.cd823p-3 +0x1.cd716p-4 +0x1.0819dcp-1 +-0x1.dc5c48p-3 +-0x1.e7db5p-4 +-0x1.8c0eaep-1 +-0x1.40c2p-4 +0x1.9186a8p-2 +-0x1.73f2a8p-2 +0x1.82bfd8p-1 +0x1.ce2ap-6 +0x1.bc11cp-2 +-0x1.f61b58p-2 +0x1.3663ep-4 +0x1.d0faf8p-1 +0x1.a9b264p-1 +-0x1.1884dp-1 +-0x1.ba3228p-3 +0x1.82077p-1 +0x1.58e548p-2 +0x1.0e54e8p-2 +-0x1.5ce5a4p-1 +-0x1.d331f8p-1 +0x1.f4453cp-1 +0x1.f9673p-3 +-0x1.b2f1f4p-2 +0x1.302518p-2 +-0x1.359454p-1 +0x1.2e42p-3 +-0x1.5c2ce2p-1 +-0x1.57aebp-2 +-0x1.9ee37p-1 +-0x1.5a08ecp-1 +-0x1.ed70f8p-3 +0x1.b9e95p-3 +-0x1.05e0ep-4 +0x1.2661p-3 +0x1.86b648p-1 +0x1.35b198p-2 +0x1.cf0b6p-3 +0x1.b7085p-2 +0x1.78a32p-3 +-0x1.50f5a8p-2 +-0x1.01876p-3 +-0x1.c38d5ep-1 +0x1.28ff08p-2 +-0x1.368088p-2 +-0x1.eae4a8p-3 +-0x1.9b8f6p-1 +-0x1.516258p-3 +0x1.aa1228p-1 +-0x1.2eb5c4p-2 +0x1.3fce04p-1 +0x1.18a3b8p-2 +0x1.792a8p-3 +-0x1.f50c58p-1 +0x1.218bd8p-2 +0x1.5a59p-6 +0x1.73d36cp-1 +0x1.82ee3cp-1 +-0x1.0b072p-5 +0x1.ba03p-1 +0x1.d5797p-3 +-0x1.b6ef8p-6 +-0x1.96e448p-3 +0x1.d47ffcp-1 +0x1.aba73p-1 +-0x1.f2a91p-4 +0x1.f619fp-3 +-0x1.d2a0ecp-1 +0x1.03ff9p-2 +0x1.29a4d4p-1 +0x1.ba1858p-1 +-0x1.5698b8p-1 +0x1.03f6p-4 +-0x1.b0049p-3 +-0x1.ef687ap-1 +0x1.ca5aep-1 +-0x1.0912cep-1 +0x1.c94bp-2 +0x1.7eb1p-7 +-0x1.0486c8p-1 +-0x1.7afa7cp-1 +-0x1.bf252p-3 +-0x1.b88928p-1 +0x1.8712p-1 +0x1.783d28p-2 +0x1.3f9294p-1 +0x1.5ec3ep-2 +0x1.804b9cp-1 +-0x1.29000cp-1 +0x1.231da8p-1 +0x1.e67a88p-1 +0x1.ca63dp-1 +-0x1.fe37c4p-1 +0x1.8be2cp-5 +0x1.4dd868p-1 +-0x1.b9bd3p-4 +0x1.3bb5dcp-1 +-0x1.4b52ap-5 +-0x1.d56088p-3 +0x1.d97b98p-2 +0x1.d7e3f8p-1 +-0x1.659138p-1 +0x1.f441fp-3 +0x1.d70568p-1 +-0x1.6ac302p-1 +0x1.29627p-3 +-0x1.205b12p-1 +0x1.c9198p-6 +-0x1.03982p-4 +-0x1.d4924p-1 +-0x1.3b3d6ep-1 +-0x1.aeb3a8p-1 +-0x1.5dd088p-1 +0x1.d2d808p-1 +0x1.51a07p-1 +-0x1.2abacp-1 +0x1.95678p-4 +0x1.87b8dcp-1 +0x1.64d19p-3 +-0x1.2cd41p-2 +-0x1.babd56p-1 +0x1.6a5958p-1 +-0x1.d32cp-3 +0x1.814974p-1 +0x1.c696b4p-1 +0x1.c62d2p-4 +0x1.32025cp-1 +0x1.b524cp-4 +-0x1.5a2f98p-1 +0x1.02e28p-1 +-0x1.eff4ep-2 +-0x1.0aa9p-8 +-0x1.cccc48p-1 +-0x1.a4662p-3 +0x1.cce124p-1 +0x1.a1136p-1 +0x1.44246p-4 +0x1.519848p-2 +0x1.c88e8p-2 +-0x1.d2f01ep-1 +0x1.3c07c8p-2 +0x1.6d96bp-3 +-0x1.eadcccp-2 +-0x1.31235ap-1 +-0x1.402d7p-1 +0x1.670b1p-2 +0x1.b47b4p-3 +0x1.d9d04p-5 +0x1.c7bfap-4 +-0x1.f2e40ap-1 +-0x1.5cd43cp-1 +0x1.d068c8p-1 +0x1.c0555p-2 +-0x1.b6148p-7 +-0x1.abef1ap-1 +0x1.ac8e58p-2 +-0x1.14c458p-3 +0x1.bd9e4cp-1 +-0x1.6a5c2p-4 +0x1.b74dp-5 +-0x1.4b81ap-2 +-0x1.3f1402p-1 +0x1.2022ep-2 +-0x1.72c778p-1 +0x1.3a5db8p-1 +0x1.8ea03p-3 +-0x1.61bae8p-2 +-0x1.e4b1b4p-1 +-0x1.ac45ap-2 +0x1.5ac59p-3 +-0x1.39dd4cp-1 +0x1.e515bp-3 +0x1.872a8p-4 +-0x1.21227cp-2 +0x1.ef6a8p-3 +0x1.0f6c3p-1 +-0x1.da1d18p-2 +0x1.e886b8p-1 +0x1.32493p-3 +-0x1.9986ap-3 +-0x1.a0793cp-2 +0x1.fee684p-1 +0x1.41da5p-2 +0x1.105074p-1 +0x1.939c2p-2 +-0x1.171014p-1 +0x1.0836a4p-1 +0x1.085ep-6 +0x1.f6b4bcp-1 +0x1.90ff88p-2 +0x1.d20d88p-1 +0x1.752848p-2 +-0x1.002d4cp-1 +0x1.fb6468p-1 +-0x1.c597d8p-1 +0x1.a6934p-2 +0x1.5c83p-6 +0x1.5d7dfp-1 +0x1.af2648p-1 +-0x1.e61052p-1 +-0x1.481ee8p-1 +0x1.0945ep-1 +-0x1.4da1cp-1 +-0x1.5add2cp-1 +0x1.8cdbp-5 +-0x1.d408d8p-1 +0x1.364d3p-3 +0x1.3ed22p-1 +0x1.c2a5bp-3 +0x1.cebc9p-1 +-0x1.68577p-1 +0x1.eb3cfcp-1 +-0x1.d5336p-5 +0x1.c53638p-2 +0x1.a68e2p-2 +0x1.0dabccp-1 +0x1.c9f7dcp-1 +0x1.15f2cp-5 +0x1.f083ap-4 +0x1.2b17d8p-2 +-0x1.869604p-1 +-0x1.2fe8b2p-1 +0x1.b36114p-1 +-0x1.548c82p-1 +-0x1.1b413p-1 +-0x1.ae54c4p-2 +0x1.fc3194p-1 +0x1.55825p-1 +0x1.e5da98p-1 +-0x1.22566p-3 +0x1.6bb11p-3 +-0x1.98d82p-5 +-0x1.689d8p-1 +-0x1.1221ap-4 +-0x1.4a5a24p-2 +-0x1.edc186p-1 +0x1.143a4p-2 +-0x1.97c0acp-2 +0x1.531618p-1 +0x1.81b618p-2 +-0x1.897d02p-1 +-0x1.f19b84p-1 +-0x1.dab6p-8 +0x1.2060fp-1 +0x1.ed0f38p-1 +-0x1.cf586cp-1 +0x1.314dfp-3 +0x1.4f85f4p-1 +0x1.43d994p-1 +0x1.4828ap-2 +-0x1.d6f894p-1 +-0x1.eaf656p-1 +-0x1.dfbd6p-1 +-0x1.9b0e5cp-2 +-0x1.da37f2p-1 +-0x1.40854cp-1 +0x1.912054p-1 +0x1.f52168p-2 +0x1.2a927p-2 +0x1.4040fp-1 +-0x1.0f3f5p-2 +-0x1.84ebf8p-3 +-0x1.2d78dcp-1 +-0x1.076e48p-2 +0x1.4d233p-1 +-0x1.34456ap-1 +0x1.fbe99p-1 +-0x1.714c88p-1 +-0x1.a4a9p-2 +-0x1.f23ebcp-2 +-0x1.bb996cp-1 +-0x1.1e8a4p-4 +0x1.a0cf8p-6 +0x1.eef508p-2 +-0x1.ca1fe8p-2 +0x1.67af88p-1 +0x1.2a8768p-1 +0x1.81951p-2 +-0x1.4017ccp-1 +0x1.f673bp-1 +-0x1.c5f8cap-1 +0x1.5fd68p-1 +0x1.d51968p-1 +0x1.197e3p-2 +-0x1.9ae8c8p-1 +0x1.aa8f8cp-1 +0x1.c881ep-3 +0x1.80978p-5 +0x1.5dd34p-4 +-0x1.9724fap-1 +0x1.d7aecp-3 +-0x1.5ed5cp-5 +-0x1.be9e1p-1 +0x1.4c463p-3 +-0x1.5a1146p-1 +-0x1.58d528p-2 +-0x1.0e2928p-1 +-0x1.d7ff82p-1 +0x1.4cabc4p-1 +-0x1.d81446p-1 +0x1.b59918p-1 +0x1.52efp-1 +0x1.a92efcp-1 +-0x1.f46a5cp-1 +-0x1.b10184p-2 +0x1.dcf45p-2 +-0x1.1cfa14p-1 +-0x1.e8d6aep-1 +0x1.613fdcp-1 +0x1.d99f1p-1 +0x1.2bb708p-1 +-0x1.ac72bep-1 +0x1.c5cf68p-1 +-0x1.cf923ap-1 +-0x1.cf19c6p-1 +-0x1.ff62dp-3 +0x1.05652p-1 +-0x1.9d39dcp-2 +0x1.b1facp-2 +0x1.f1927p-3 +-0x1.399e5cp-1 +-0x1.95a978p-3 +0x1.b6a0dp-3 +-0x1.cb14ap-5 +-0x1.8f5afep-1 +0x1.67a1ap-3 +-0x1.a9faep-3 +-0x1.4e7e4p-5 +-0x1.8879d6p-1 +-0x1.708b4ep-1 +0x1.eebac8p-1 +-0x1.e731f4p-1 +0x1.62d238p-2 +-0x1.74c4b8p-1 +0x1.29c5f4p-1 +-0x1.b46228p-2 +-0x1.d78c58p-1 +0x1.544118p-1 +-0x1.bd39ep-4 +0x1.ead0f8p-2 +-0x1.aeec3p-3 +0x1.94c14p-3 +-0x1.b0aeep-2 +-0x1.f76f9p-1 +0x1.5729bcp-1 +-0x1.96fccp-6 +-0x1.bd452p-2 +-0x1.589014p-1 +0x1.0684b8p-2 +-0x1.43be48p-2 +0x1.fe7538p-2 +0x1.b0b8ep-2 +0x1.e7776cp-1 +-0x1.e08802p-1 +0x1.7fc2bp-2 +-0x1.54d7e4p-2 +-0x1.75af68p-1 +-0x1.5d6ea4p-1 +0x1.8f5958p-1 +0x1.ef0b2p-2 +-0x1.356fcep-1 +0x1.6d97ep-2 +-0x1.9aa13ap-1 +-0x1.0f10acp-2 +0x1.d691b8p-1 +0x1.de216cp-1 +0x1.2d32bp-1 +0x1.8a6cp-2 +0x1.b1734cp-1 +-0x1.b7019p-1 +-0x1.faf64p-5 +-0x1.c944b8p-2 +0x1.37a2ap-4 +-0x1.bdd8p-5 +0x1.1fb618p-2 +0x1.6b373p-2 +-0x1.d8a1e8p-1 +0x1.44d64p-5 +0x1.c5b3ecp-1 +-0x1.f27efp-2 +-0x1.0bd156p-1 +0x1.470f38p-2 +-0x1.e83504p-2 +-0x1.8d8cfp-2 +-0x1.0fa7dcp-2 +-0x1.27abf8p-3 +0x1.ef3f04p-1 +-0x1.c2d1b8p-3 +-0x1.bbee04p-2 +-0x1.d873f4p-2 +0x1.3beb88p-1 +0x1.2c1178p-2 +-0x1.fd53cp-5 +0x1.1f8cd8p-1 +0x1.7e54f4p-1 +0x1.9a1608p-2 +0x1.4afd3p-1 +0x1.3f8c4p-2 +-0x1.e5749p-4 +0x1.c87938p-1 +-0x1.3adf1cp-2 +0x1.b8907p-2 +0x1.a09f78p-1 +-0x1.7ae38p-4 +0x1.0ef3ap-2 +-0x1.dc3fe4p-2 +-0x1.a711b4p-1 +0x1.44bc6p-4 +-0x1.cc96a8p-3 +0x1.4865p-4 +0x1.1f3a1p-3 +0x1.67ffcp-1 +0x1.5245cp-2 +0x1.ff05bp-1 +0x1.aea738p-2 +-0x1.d691ep-2 +-0x1.234f08p-2 +-0x1.0151p-8 +0x1.3caafp-3 +-0x1.824948p-3 +0x1.22bdap-3 +-0x1.3efba8p-2 +-0x1.c4002cp-1 +0x1.d2dd08p-1 +0x1.9891bcp-1 +0x1.a4d958p-1 +0x1.2d4138p-2 +0x1.68ded8p-1 +0x1.c3f2cp-1 +-0x1.0559bcp-2 +0x1.67b97p-3 +0x1.5535cp-2 +-0x1.edc238p-1 +-0x1.2f6d78p-1 +0x1.045eb8p-1 +0x1.76f5f8p-1 +-0x1.f04b3p-4 +0x1.2eb4e4p-1 +-0x1.41cd48p-2 +-0x1.a2492p-3 +0x1.93c93p-3 +0x1.778e3p-2 +-0x1.226a08p-1 +0x1.3b0c2cp-1 +-0x1.35b0bep-1 +0x1.61e3cp-4 +0x1.c0f9b8p-2 +-0x1.a603p-8 +0x1.c91a28p-1 +-0x1.4fcaa4p-2 +-0x1.f8e06p-1 +0x1.271914p-1 +0x1.a76328p-1 +-0x1.5fa898p-1 +-0x1.0bb38p-3 +-0x1.dee58cp-1 +0x1.b98e14p-1 +0x1.82038p-6 +0x1.c7114p-3 +-0x1.e162c4p-1 +0x1.736e88p-1 +0x1.9270c8p-2 +0x1.a8f6bp-3 +0x1.17108p-6 +0x1.3f882p-2 +0x1.2916bcp-1 +0x1.c77a6p-3 +-0x1.b1eccep-1 +0x1.d7169p-3 +-0x1.fae7bcp-1 +-0x1.9e4c0cp-1 +0x1.2bea1p-2 +-0x1.f66ccp-1 +0x1.d5ae28p-2 +-0x1.14367p-1 +0x1.44318p-5 +0x1.7903c8p-2 +-0x1.8618c8p-1 +-0x1.336ab4p-1 +0x1.7fbd78p-2 +-0x1.8d2544p-2 +0x1.deb7a8p-2 +-0x1.6a695p-4 +-0x1.9d1a28p-2 +0x1.968704p-1 +-0x1.c2daecp-1 +0x1.564f1p-1 +0x1.17f6c8p-2 +0x1.a9125cp-1 +0x1.53443cp-1 +-0x1.df373cp-1 +-0x1.dd00dcp-2 +-0x1.2c5d4p-1 +0x1.65d6p-2 +0x1.3d2dc8p-2 +-0x1.8f757ap-1 +-0x1.7298p-4 +0x1.d7097p-2 +-0x1.c1f4f8p-2 +-0x1.e69d3ap-1 +0x1.6bd28cp-1 +-0x1.893874p-1 +-0x1.16521p-1 +0x1.b06a3p-2 +-0x1.7a03d8p-2 +-0x1.d9e7p-6 +0x1.fd13c8p-1 +-0x1.2f5bf8p-3 +0x1.4f64c8p-1 +0x1.7e3ac8p-1 +-0x1.078326p-1 +0x1.b28858p-2 +0x1.787308p-2 +0x1.6148cp-4 +-0x1.0f76b6p-1 +-0x1.0836d4p-2 +-0x1.4d3214p-1 +0x1.3a834p-3 +0x1.cc354p-2 +-0x1.9c842p-1 +-0x1.756d1p-1 +-0x1.251f9p-4 +-0x1.979c4p-4 +-0x1.2d69f8p-2 +-0x1.8e19cp-5 +-0x1.702b58p-2 +-0x1.050548p-3 +0x1.0b28acp-1 +-0x1.1d671ap-1 +-0x1.c3da3ap-1 +0x1.29d16cp-1 +0x1.80db4p-5 +0x1.0f4a2p-1 +-0x1.ec20ep-1 +-0x1.114ce8p-2 +0x1.5dd65cp-1 +-0x1.a54838p-1 +-0x1.7f915p-1 +0x1.c9d268p-1 +0x1.ece6p-5 +0x1.c350ep-1 +0x1.014c4cp-1 +-0x1.bb8f7p-1 +0x1.879cecp-1 +0x1.9477e8p-2 +0x1.39b4f8p-2 +0x1.835444p-1 +0x1.017898p-1 +-0x1.b4e67ep-1 +-0x1.12f6bp-3 +-0x1.41199p-3 +-0x1.eb0972p-1 +0x1.5534a8p-2 +-0x1.54f84cp-2 +-0x1.3c5b8p-5 +0x1.b3321cp-1 +0x1.a2e5c4p-1 +0x1.4bcbcp-3 +-0x1.b7b5e4p-1 +0x1.45ddc4p-1 +-0x1.e3948ap-1 +-0x1.f7e6fcp-2 +-0x1.baf9ep-1 +0x1.387988p-2 +0x1.f1b2b8p-1 +0x1.986814p-1 +0x1.ba3bap-1 +-0x1.6d8b8p-7 +-0x1.c1e14ap-1 +0x1.8e2cf4p-1 +-0x1.ff7cc4p-1 +0x1.f716ecp-1 +0x1.a17d8p-4 +-0x1.9d85d8p-2 +0x1.ed8888p-1 +0x1.24452p-4 +-0x1.d525c4p-2 +0x1.ce485p-2 +-0x1.d10b9p-4 +-0x1.9d268cp-1 +-0x1.cc4a24p-2 +-0x1.ab8bp-8 +-0x1.8628bp-1 +-0x1.994p-14 +-0x1.fc2b18p-2 +0x1.278328p-2 +-0x1.624ffep-1 +0x1.a2bcc8p-2 +-0x1.84b3ecp-1 +-0x1.ee65p-6 +0x1.d2324p-5 +-0x1.84a924p-2 +0x1.32828p-3 +-0x1.9f54bap-1 +-0x1.7896ep-5 +-0x1.19b008p-3 +0x1.223e1p-2 +-0x1.fda774p-1 +-0x1.9ef1f8p-1 +-0x1.19875p-2 +-0x1.895ccp-1 +0x1.1c5214p-1 +0x1.1f1324p-1 +-0x1.f0720ap-1 +-0x1.99c742p-1 +0x1.6f1688p-1 +0x1.eea764p-1 +0x1.e659fcp-1 +0x1.ef2d48p-1 +0x1.4cdaf8p-1 +0x1.14774cp-1 +-0x1.23bd16p-1 +0x1.a50b14p-1 +0x1.0511p-5 +0x1.a65c48p-1 +-0x1.56a358p-1 +-0x1.5d33ecp-1 +-0x1.b9add4p-2 +-0x1.8d5014p-2 +0x1.9ff9p-4 +0x1.508298p-2 +0x1.f2028p-6 +0x1.5ff84p-5 +0x1.4524b4p-1 +-0x1.62c87ep-1 +0x1.c1949p-3 +0x1.40026p-4 +-0x1.eec23p-2 +0x1.083424p-1 +-0x1.dc401p-3 +-0x1.b09b3ap-1 +0x1.94902p-3 +-0x1.7078c2p-1 +0x1.8b9794p-1 +-0x1.676668p-3 +-0x1.ebf62ep-1 +-0x1.5150ecp-1 +-0x1.599bp-5 +0x1.0d85fp-2 +-0x1.c3612p-2 +0x1.7ba3p-1 +0x1.4e277p-1 +-0x1.34ee0cp-2 +-0x1.1941cp-1 +0x1.7901acp-1 +-0x1.12e06p-3 +-0x1.a4bb24p-1 +0x1.6b606p-1 +0x1.53f73p-3 +0x1.682dap-4 +-0x1.b8b2b8p-1 +-0x1.776c2p-2 +-0x1.cabb3p-2 +-0x1.e55acp-3 +-0x1.bb7736p-1 +0x1.dbd78p-6 +-0x1.81195p-2 +-0x1.6a1b34p-2 +-0x1.68dap-1 +-0x1.3bc7b8p-1 +0x1.e537e4p-1 +0x1.d7cff8p-2 +-0x1.6ccp-1 +0x1.759bd8p-2 +0x1.06833p-3 +0x1.93f23p-2 +0x1.c96c8p-3 +-0x1.d6818p-7 +-0x1.169266p-1 +-0x1.190eacp-1 +0x1.a7438p-3 +-0x1.a47328p-3 +-0x1.07ec38p-3 +-0x1.94aa84p-1 +0x1.1b3ep-8 +-0x1.3ba07p-4 +0x1.01d49p-2 +0x1.841a2p-4 +-0x1.fa121p-3 +-0x1.cc6ec4p-2 +0x1.9e14p-9 +-0x1.36b61p-1 +0x1.3eb44p-1 +0x1.ecde08p-2 +0x1.ddf61p-1 +0x1.7e6894p-1 +0x1.e1e66p-3 +0x1.19464p-4 +-0x1.ebb0fap-1 +-0x1.f008fp-3 +-0x1.31537p-1 +0x1.abcf78p-2 +0x1.c67dep-2 +0x1.375c9p-2 +-0x1.b39ap-1 +0x1.674efp-1 +0x1.b8d168p-1 +-0x1.ba77d2p-1 +-0x1.b20e28p-2 +-0x1.b15494p-1 +0x1.245494p-1 +-0x1.26051cp-1 +-0x1.02d45p-3 +0x1.5e6a48p-1 +-0x1.f70de4p-2 +0x1.61c1a8p-1 +0x1.20dfecp-1 +-0x1.f3c124p-1 +-0x1.56b824p-1 +0x1.fd8614p-1 +-0x1.cbabcap-1 +-0x1.69f508p-3 +-0x1.9323dcp-1 +0x1.a86f1p-3 +0x1.16a66p-2 +-0x1.6b1fa4p-1 +0x1.2fd954p-1 +-0x1.778c98p-2 +0x1.9ff7c4p-1 +-0x1.a1c88p-5 +0x1.bb67cp-4 +0x1.48771cp-1 +0x1.bec79cp-1 +-0x1.aae788p-3 +0x1.97e1acp-1 +-0x1.cd4494p-1 +0x1.42d16cp-1 +0x1.6cb03p-3 +0x1.70fcdp-2 +-0x1.3102a8p-3 +-0x1.09408cp-1 +-0x1.5d3704p-1 +0x1.8cc40cp-1 +0x1.bc3438p-2 +-0x1.402a8cp-2 +-0x1.6ad978p-1 +-0x1.1cef8cp-1 +-0x1.b541a8p-1 +0x1.9140a8p-2 +0x1.9319p-6 +-0x1.2c3cb2p-1 +-0x1.c46f7ep-1 +0x1.b2c6d4p-1 +-0x1.f11484p-1 +0x1.e8f8e8p-2 +0x1.30cfdp-2 +0x1.2cea1p-1 +-0x1.ab399p-2 +-0x1.f9c3p-7 +0x1.8f8644p-1 +-0x1.b59088p-2 +0x1.0469p-6 +0x1.bc5f1p-2 +0x1.ec7334p-1 +-0x1.b693e4p-2 +-0x1.16cbd8p-3 +-0x1.72582p-2 +-0x1.7ab076p-1 +-0x1.1bff94p-1 +0x1.131c34p-1 +0x1.56274p-1 +0x1.53497p-3 +-0x1.ae62dp-1 +0x1.cfda3p-2 +-0x1.03ebfp-1 +0x1.65ea1p-3 +-0x1.64fe74p-1 +0x1.fe8b4p-1 +-0x1.3ca64p-1 +-0x1.35ecep-3 +-0x1.3039f2p-1 +0x1.f6cd4p-4 +0x1.09ba84p-1 +-0x1.e77038p-3 +-0x1.1e89b4p-2 +-0x1.f37306p-1 +0x1.f8de0cp-1 +0x1.719328p-2 +0x1.0dbf08p-1 +0x1.6bd8dp-2 +-0x1.d4c608p-3 +0x1.7ce14p-5 +0x1.30f70cp-1 +-0x1.9d332ap-1 +0x1.62e9ap-1 +0x1.0b38d4p-1 +0x1.f97888p-1 +-0x1.486bep-5 +-0x1.de9a24p-2 +-0x1.6f0286p-1 +-0x1.14570cp-2 +0x1.28f68p-4 +-0x1.f05664p-1 +0x1.a02ae4p-1 +0x1.135a6p-2 +0x1.c33d98p-1 +-0x1.1b6814p-2 +0x1.506c14p-1 +0x1.9c072cp-1 +-0x1.fb31aap-1 +0x1.10fdbp-2 +0x1.0ac0bcp-1 +0x1.6ce06cp-1 +0x1.d3d408p-1 +-0x1.a07e72p-1 +-0x1.be305cp-2 +0x1.8a284p-5 +0x1.41bf88p-1 +-0x1.227e44p-1 +0x1.d77dfp-2 +0x1.8800ccp-1 +0x1.de849p-1 +-0x1.aae79p-3 +0x1.4d7728p-2 +-0x1.d7ca64p-1 +-0x1.150598p-1 +0x1.ae6114p-1 +0x1.4facp-4 +-0x1.ebda54p-1 +0x1.3fe818p-1 +0x1.b09p-10 +-0x1.2d391p-4 +0x1.e238e8p-1 +-0x1.60d8c4p-1 +0x1.3fff2cp-1 +0x1.4a059p-1 +-0x1.3bffbep-1 +-0x1.ff02e8p-1 +0x1.48a938p-2 +0x1.91f638p-2 +0x1.d9ee5p-3 +0x1.eb834p-4 +-0x1.2bd588p-1 +-0x1.212224p-2 +-0x1.2eb8cp-2 +0x1.fb2808p-1 +-0x1.d970d2p-1 +0x1.9a5bcp-2 +0x1.97088cp-1 +-0x1.6f76a4p-1 +-0x1.3c58cp-1 +0x1.d44c7p-2 From patchwork Fri Nov 29 13:17:32 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: 846127 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp858838wrp; Fri, 29 Nov 2024 05:28:03 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVWccJvjmdm+JKL/ycU/AYcZqOO+7Wcl27I2eFlF0K2JJMH9NhrLwu5wZwM9/iOVCITX5kHVQ==@linaro.org X-Google-Smtp-Source: AGHT+IG5XiZLG4BLNxXk8NpAsoZIiUCixB0na2gfRXYX74k4krkVWufwMFLC6b6ZY3d6UccUYhEG X-Received: by 2002:a05:690c:64ca:b0:6ef:5973:8260 with SMTP id 00721157ae682-6ef59739852mr38168817b3.33.1732886883305; Fri, 29 Nov 2024 05:28:03 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732886883; cv=pass; d=google.com; s=arc-20240605; b=FaCx4dabAxGjU6FplrEM4aCd+ZwSNsy7q482+tlS3HdtzIoQi2+q4zMA1uPSs+9jsp dmhO5pQlZ8DOTmtohGvHJ8/5afROFPnh1wwUlqOSjFVXgjNnODtBAiBxW+7h57qNeVSC wdYQgT1LqORqQTMneTi89oqosCmcv7pZukORfvOnmiqTCRLipHgxGqvzUm/koT51NbZR X6AjDEzXx7sTfN6NHAipVCMQ/i2yd/1sw7RCEhpjDmWUu691Tk85eglhpfy/kBI6XJEI 4co3TZQQcFI3aIFkEWWJgHKHgZ02HBmuy4TLs3lT0Sd1beQnbsf9xHsfCJPSVVhZYdHd zdEw== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=Cg9+dlxeGZENuXi1pV9urn5cY5RrZOvbgNrJYHI4kgs=; fh=/bzLn4Pu6wt5yJOmVA6NJX5WuFMrzV1CRzIGBeRqGpk=; b=fBtXQ1F38qQzpNLWR4pXSfKwUxwEtyKXcMItR4ijD3G6rzy+njcjc7HHiekwq0Bc51 0k2VuDuAfX7lTU7KZZUJW+uxiJgu2NE+T+8lMGlf9+1QUV9iaRZI36kFeRuA6sQoLIHl SdYOYXWIAIIBvoBLkaAXsJMYKtfMlbJ/KTZ1Qdff4ER9XNB3hXdr24tnmgtLbHnns1a/ CLDI/BFpwUIhqpHTttyUTxh11SXl4xD14XafcJ2Y8bEXKS1NXnSujHTJ8ySSh8HaWh1q +JDJhCuqyajCJAz9J8L1DvLc9MxN/MwwaBvk9cgqXkMKI2daN7jZGP1i3Qh+wxSAtMBZ WVWg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=HZECvxh9; 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 00721157ae682-6ef4db3225esi30126947b3.81.2024.11.29.05.28.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:28:03 -0800 (PST) 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=HZECvxh9; 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 C17E13858406 for ; Fri, 29 Nov 2024 13:28:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C17E13858406 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=HZECvxh9 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 6FA433858C42 for ; Fri, 29 Nov 2024 13:20:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6FA433858C42 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 6FA433858C42 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=1732886454; cv=none; b=Zz38jSeb7b2VGqkND0L7OlR7ZllAIAV1/SkdZjuBbMaNeGJYIBA491/yXVJ1P90lnhNqNc57mki/V5dn8sK8LvJZTEzNuBu10gZN5IXlt/pCX0ml0EyCkN2zMRwgeFslgkLX6G0SPU65G5evpmmqzdh7ENzJXjQ7lV2Rhph9j6k= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886454; c=relaxed/simple; bh=Nxr5b7LlDanwBAg6juqmfjkBdYbms4ZkKoaXMHl4d2E=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=CMMiqKo0att4/FnXwuv1jS713eEWUP7gq5kOn6OJj1EWrCLSJ9ardcH4IheScaC9jusTBCzg5LN/5BIcOX3vGIuaqbpp9nbydqHO+2yItMLPPKCuzU3g9jo/qNg8HJFn/JIrAbUVktvlLV1r0tu/C4J7OIV9SXduF/A6iRT2hos= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6FA433858C42 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-2128383b86eso16790385ad.2 for ; Fri, 29 Nov 2024 05:20:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886453; x=1733491253; 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=Cg9+dlxeGZENuXi1pV9urn5cY5RrZOvbgNrJYHI4kgs=; b=HZECvxh9rGhU/WLQ5xNguL9ygJSnqZ2BAQkbG01rAREln3p3mG4tZpHVsRKYxUDXSG yFeBF+vSLsy6G40RwIXBBPAummGd6uED7sOSZInVNOXR0gvty5RtR2GPxOHnCOMmBU6o 0Kp1njSO7/xXLjfnOrOhozBmuN1Yp8d9BW+6UJ1/q5fjxtk6xov/nmJCp97hPUnHS0JB qFzmtzNjIi+8XBrfau74lI4uxHOM5PHdsJ0GgkGuOiRji6ULtGYxuXNEeVBXiMxULznG kclZQ++ZJ39iJuN8nBr4ShdifB4GZ7zXeYwL/0sQGwBVOus5t4/frKIUrLvhj9uKDEK6 qTUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886453; x=1733491253; 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=Cg9+dlxeGZENuXi1pV9urn5cY5RrZOvbgNrJYHI4kgs=; b=lUL3oZhKslYskP4ygNvJ2ehSoAp2CG9iAnaMAeqROM/LfL5voVT0Wf1y1JdN8N5z1n ZfQiNMBhd87Grr4dQzQFLSJ3zF4K/LmOWM9XfY7amDw33K/XWe2Mm6gUT+BjCIhOtpu+ MzqHN8FYNXDDj5qlw8RBpajas9cBgN7VMbGpG5MU6iOQOrvb7W/YiwymjAmquUDqxgp/ Yi2UsYHXkd9uR55I5XnXRdlYi/sFQqtwzyygxnVF8k8LpgDyKRGXBLOGJ4Ven1GaMcB4 sKtsmQtQayK/S/CIQCpo05RAZxUzO6fa38arF2Ql+QqDF16lChJn0EpdnQ3B6PtltSTx gVEQ== X-Gm-Message-State: AOJu0YxLKYy1nXtpwyUkhc0974LmaubqeKFCHigfF7OURBQoWz8Y7kXS GYtm1RUXbENsoV1rR1r2EKHxcQyuGwm/R/Lin80/1gDZJxKdYR0OqSLEx2s9KfZUNHXw2XrITBp +EIKgFg== X-Gm-Gg: ASbGnctRLuaXRWOPCDKKWmzkhEp6paBqHu8kNu8mX4lF2a0PHOLh1mimCspZ1NxTWxT r7ddzifWXkgC0hu/8aeGTSizigT9CJz9iv+hCs6SdraEbPO+wbKcMSsrcsjGvaexisANSZjIutF PaByMapo8qxp/JJSO9RE+7Wuu6CF5U4jgiWgK3NcDbqP1q52A6eS5Y2FsOow7SG+9pO1S+97kPp xYguJQIIkbcbQEC/hSVn7ti0ghWQiSuj39Ly6KEXYeCDCHHnVXWimhaViVi24g= X-Received: by 2002:a17:902:ea0c:b0:1fa:9c04:946a with SMTP id d9443c01a7336-2150107d0f2mr171646235ad.1.1732886452165; Fri, 29 Nov 2024 05:20:52 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.20.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:20:51 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie Subject: [PATCH 08/23] benchtests: Add coshf benchmark Date: Fri, 29 Nov 2024 10:17:32 -0300 Message-ID: <20241129132032.476978-9-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 in the range [-10,10]. --- benchtests/Makefile | 1 + benchtests/coshf-inputs | 2005 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 2006 insertions(+) create mode 100644 benchtests/coshf-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index 8f5c55f19a..648d6f9d46 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -45,6 +45,7 @@ bench-math := \ cos \ cosf \ cosh \ + coshf \ erf \ erfc \ erfcf \ diff --git a/benchtests/coshf-inputs b/benchtests/coshf-inputs new file mode 100644 index 0000000000..11aa10a376 --- /dev/null +++ b/benchtests/coshf-inputs @@ -0,0 +1,2005 @@ +## args: float +## ret: float +## includes: math.h +# Random inputs in the range [-10,10] +## name: workload-random +-0x1.45bb82p+2 +-0x1.4c645p+1 +-0x1.d1fcacp+2 +0x1.0845e8p+3 +-0x1.89efap+0 +0x1.999458p+1 +-0x1.2c801cp+3 +0x1.f729dp+2 +-0x1.ab723ep+2 +0x1.004a18p+2 +-0x1.4d10eep+2 +0x1.0ac32cp+3 +-0x1.129fc6p+3 +-0x1.24ae7ep+3 +-0x1.3dbabcp+3 +-0x1.bacabap+2 +-0x1.3beb16p+3 +0x1.7e1724p+2 +-0x1.14e9ep+3 +0x1.cffe1p+2 +-0x1.3eb28p+0 +-0x1.2f3e08p+2 +0x1.0560ap+0 +-0x1.00e268p+3 +0x1.3792p+3 +0x1.916928p+2 +-0x1.966cecp+2 +0x1.fc48p+0 +0x1.d58c8p-3 +-0x1.2b767cp+2 +-0x1.320f3p+1 +-0x1.6085bp+0 +-0x1.36d222p+3 +0x1.3e7ec4p+2 +-0x1.55f818p+1 +-0x1.6d1e66p+2 +0x1.e1d4ap+0 +0x1.aed1cp-2 +0x1.9da9a8p+2 +0x1.a1029p+2 +-0x1.c0f3p-3 +0x1.19641cp+3 +0x1.9776bp+2 +-0x1.cc97fp+1 +0x1.0b89bp+0 +-0x1.cb0578p+1 +0x1.724b1p+0 +-0x1.5011cp-1 +-0x1.17a664p+1 +0x1.0fbf7p+2 +-0x1.43b43p+0 +0x1.b58bd8p+1 +0x1.a569fp+0 +-0x1.b38d62p+2 +0x1.0c5eacp+3 +0x1.61655p+1 +0x1.97c75p+1 +0x1.246b18p+2 +0x1.c2757p+1 +-0x1.8ad2c8p+1 +0x1.6b40f8p+1 +0x1.383378p+3 +-0x1.87371p+1 +0x1.910998p+1 +0x1.4cded8p+2 +0x1.04c2acp+2 +0x1.7a9cc8p+2 +-0x1.2961ep+3 +0x1.07417cp+3 +-0x1.66901cp+1 +0x1.0963ap+2 +0x1.1a8638p+2 +0x1.68e18cp+2 +-0x1.91bf14p+2 +-0x1.d16188p+1 +-0x1.7a3632p+2 +0x1.62a1p+2 +0x1.7ad1p+2 +-0x1.0d95a2p+3 +0x1.399c3p+3 +0x1.1566e4p+3 +-0x1.24d7ccp+1 +-0x1.0d95e8p+2 +0x1.f8b4d8p+2 +-0x1.36f2cp+0 +-0x1.2a3084p+2 +0x1.db05dp+2 +0x1.e3624p+1 +0x1.1e1a78p+1 +-0x1.855dcp+0 +-0x1.3cdf7cp+3 +-0x1.65de5p+2 +-0x1.4a71b8p+2 +-0x1.9f7348p+2 +0x1.2e8a2p+3 +0x1.3b55cp+2 +0x1.73eap+1 +0x1.148b58p+3 +0x1.59976cp+2 +0x1.2f9998p+2 +-0x1.2a6682p+3 +0x1.bd9428p+2 +-0x1.1e58a8p+3 +-0x1.bfb156p+2 +0x1.2824a8p+3 +0x1.08d1d8p+3 +-0x1.56bb7p+2 +-0x1.2fbf58p+2 +0x1.2ff90cp+2 +0x1.a45b48p+2 +-0x1.248ca4p+1 +-0x1.e8c744p+2 +-0x1.37e874p+1 +0x1.5a030cp+2 +-0x1.755074p+2 +-0x1.0c37d6p+3 +-0x1.a988bap+2 +-0x1.c4592ep+2 +0x1.2d2038p+3 +0x1.320d9p+2 +0x1.f4d478p+2 +-0x1.b12e5p+2 +0x1.8af8a8p+1 +-0x1.f065d8p+2 +0x1.a9ad2p-1 +-0x1.ccda34p+2 +0x1.3db074p+3 +-0x1.133f88p+3 +0x1.3a479p+3 +0x1.4215d8p+2 +-0x1.370906p+3 +-0x1.4f47d8p+1 +-0x1.1a404p-1 +0x1.d4145p+2 +0x1.2d07p+3 +-0x1.b9ef6cp+2 +0x1.035198p+2 +0x1.18eb18p+3 +-0x1.1a9058p+1 +-0x1.03742p-1 +0x1.b233fp+2 +-0x1.86ab5p+0 +0x1.33164cp+3 +-0x1.9d1e98p+2 +-0x1.025ab4p+2 +0x1.711f1p+0 +0x1.8eb8ep+2 +-0x1.f76aecp+2 +0x1.f7839p+2 +-0x1.11176cp+3 +0x1.335a98p+3 +0x1.141bf8p+2 +-0x1.dc274ep+2 +-0x1.bcb108p+2 +-0x1.3c17e6p+3 +-0x1.80c608p+1 +0x1.3148c8p+3 +-0x1.aeacecp+2 +-0x1.17dcbap+3 +0x1.a71fap+2 +-0x1.f03b9cp+2 +-0x1.2d93b8p+3 +0x1.530a18p+1 +0x1.49b9d4p+2 +-0x1.1febap+3 +0x1.7bf608p+2 +0x1.26a208p+3 +-0x1.514b6p+2 +-0x1.89162p-1 +0x1.64facp-1 +0x1.bcd86p+2 +0x1.8b702p+2 +-0x1.070aep-1 +0x1.0cf7ep+3 +-0x1.c57adcp+2 +0x1.e289a8p+2 +-0x1.963b8p+0 +-0x1.2b21fap+3 +0x1.13bd9p+3 +-0x1.195a4cp+2 +-0x1.5a1164p+2 +0x1.72e96p+2 +-0x1.362f08p+3 +-0x1.7ea98p-1 +0x1.eaf1e8p+2 +0x1.391b7p+1 +-0x1.981a7ap+2 +0x1.ef008p-1 +0x1.f77fp-2 +0x1.b1e4d8p+2 +-0x1.6d0382p+2 +-0x1.81b22p-1 +0x1.71aa7p+1 +-0x1.1487eap+2 +-0x1.060894p+3 +-0x1.00cb62p+2 +0x1.166768p+1 +0x1.e20cf8p+2 +0x1.51d3a8p+2 +-0x1.31abe6p+3 +0x1.f4f528p+2 +0x1.68c8e8p+2 +0x1.0c261cp+3 +-0x1.203bf2p+3 +-0x1.175a2ap+3 +0x1.168e8p-1 +-0x1.864e96p+2 +-0x1.501bf2p+2 +0x1.7fc12p+2 +0x1.0bcd4cp+3 +-0x1.6d6328p+2 +0x1.2fe25p+1 +0x1.e3846p+1 +-0x1.9474f4p+1 +0x1.df4818p+2 +-0x1.28a16ep+3 +0x1.17aap+1 +0x1.e2658p-1 +0x1.4d6b8p-3 +-0x1.2fb4p-3 +-0x1.ebc826p+2 +0x1.03e18p+3 +-0x1.914d94p+1 +0x1.241568p+3 +0x1.20adb8p+3 +0x1.acc05p+0 +-0x1.ba36e8p+1 +-0x1.09fc74p+3 +-0x1.739c2p+0 +-0x1.35d658p+3 +-0x1.9e2054p+2 +-0x1.036feep+3 +-0x1.81b1a4p+2 +-0x1.baf13p+0 +-0x1.3f58cp-2 +-0x1.5dc244p+1 +-0x1.24ab3cp+3 +0x1.c89f08p+2 +0x1.78f7ep+2 +-0x1.5cf0a4p+2 +0x1.b2231p+2 +0x1.34616p+0 +-0x1.2722d8p+3 +-0x1.2b5aa2p+3 +-0x1.f7b74cp+2 +-0x1.55a27ep+2 +0x1.97b05p+2 +-0x1.f83e4p+1 +0x1.741224p+2 +0x1.19b684p+3 +-0x1.0a035ep+2 +0x1.243a88p+3 +0x1.5e616p+2 +0x1.3c7f74p+3 +-0x1.1e57dp+0 +0x1.802f48p+1 +0x1.17b318p+2 +-0x1.0bb538p+1 +0x1.7ef3a8p+2 +-0x1.8d783ap+2 +0x1.34937p+3 +0x1.0fa01p+3 +-0x1.b0c62cp+2 +0x1.34852p-1 +-0x1.1dab04p+1 +-0x1.87a3bap+2 +-0x1.766d6p+0 +-0x1.ef4f14p+1 +0x1.b441c8p+2 +-0x1.d43c1p+0 +0x1.0b7bdcp+2 +-0x1.02d01ap+3 +-0x1.263d3cp+2 +-0x1.e1f0f4p+2 +-0x1.1de994p+1 +-0x1.935d28p+2 +0x1.15358cp+2 +-0x1.3b79d8p+2 +-0x1.0ed19p+2 +-0x1.b29e9p+0 +0x1.d729cp+2 +0x1.f9fa4p-1 +0x1.37698p+2 +0x1.8b588p+2 +0x1.062fdp+1 +-0x1.d7097cp+2 +-0x1.141096p+2 +0x1.eeea8p+1 +0x1.02b7f8p+2 +-0x1.c30b62p+2 +-0x1.5ea9d2p+2 +0x1.07b42cp+3 +-0x1.e391e8p+2 +-0x1.4b637ep+2 +-0x1.d1a414p+1 +-0x1.78bf4p+1 +-0x1.ee1e3ep+2 +-0x1.01b664p+2 +0x1.41fea8p+2 +0x1.02112cp+2 +-0x1.6a594cp+2 +0x1.b3577p+2 +0x1.823f4p+0 +0x1.1cf9fp+3 +-0x1.0d6dbep+3 +0x1.43e47p+2 +-0x1.1b77b4p+3 +-0x1.7cac9p+2 +0x1.344318p+3 +-0x1.eb8948p+2 +-0x1.b729fap+2 +0x1.fcaee8p+2 +-0x1.102dcp+0 +-0x1.077f28p+1 +-0x1.4690fp+0 +-0x1.20cbccp+3 +-0x1.687a6p-1 +-0x1.828cf2p+2 +-0x1.fee172p+2 +-0x1.2167aap+3 +0x1.8bf27p+1 +-0x1.38491p+0 +-0x1.d24aap+0 +0x1.75c1b4p+2 +-0x1.24c704p+2 +-0x1.1f31ap+2 +0x1.f525p+0 +-0x1.2073acp+2 +0x1.770924p+2 +-0x1.2a3fd8p+3 +-0x1.3d01eap+3 +-0x1.17a308p+3 +0x1.30efbp+3 +-0x1.61413p+0 +-0x1.c8188p-1 +0x1.7d8ec8p+1 +0x1.39a95cp+2 +0x1.8a33p-1 +-0x1.278184p+2 +0x1.775434p+2 +-0x1.11b4dep+3 +0x1.77492p+2 +-0x1.03dc24p+3 +-0x1.b6043p+2 +0x1.135ab8p+3 +0x1.305bf8p+3 +-0x1.37e2p-5 +-0x1.104bfp+1 +0x1.5e6f6p+1 +0x1.2ec3ep+3 +-0x1.36248p-2 +0x1.0be058p+2 +0x1.a940bp+1 +0x1.a552bp+1 +0x1.242a5p+3 +-0x1.c9a7cap+2 +0x1.5bac2p+1 +-0x1.b5c3p-3 +-0x1.2e02a4p+2 +-0x1.f60078p+2 +0x1.22c714p+2 +-0x1.9b1d4p+2 +-0x1.4f1f64p+2 +-0x1.342c54p+3 +0x1.227b98p+3 +-0x1.238baap+3 +0x1.116bfcp+3 +0x1.b766p+2 +-0x1.51e78p-1 +0x1.23441p+0 +-0x1.3351b4p+3 +0x1.e7b45p+2 +0x1.e0464p+2 +0x1.a003fp+2 +0x1.4a976p+0 +0x1.2d22b4p+3 +0x1.ea2c2p+2 +0x1.532b58p+2 +0x1.38a658p+3 +0x1.d0b0c8p+2 +0x1.48ee08p+2 +0x1.11128cp+3 +-0x1.2e370cp+3 +-0x1.34d4d2p+3 +0x1.103d48p+1 +-0x1.78cf68p+2 +0x1.0bbc84p+3 +-0x1.5a61b8p+2 +0x1.c8d628p+2 +0x1.efd068p+2 +0x1.23a6p+0 +0x1.8304bp+2 +-0x1.74ea5ap+2 +-0x1.33c918p+3 +-0x1.ac0316p+2 +-0x1.1605ecp+2 +0x1.4c934p+2 +-0x1.3a5364p+2 +-0x1.5108e8p+2 +0x1.05cf8p+2 +0x1.0c9a8p+0 +-0x1.572894p+1 +0x1.7c7ap-4 +-0x1.c3ed28p+1 +-0x1.39a316p+2 +-0x1.ef62p-1 +0x1.2ae9e8p+2 +-0x1.074644p+3 +0x1.98646p+0 +-0x1.c900fep+2 +0x1.b0c8p+2 +-0x1.0e4d0ep+3 +-0x1.0ea6e4p+2 +-0x1.2bcb84p+1 +-0x1.06419p+3 +0x1.51c33p+1 +0x1.f5868p-2 +0x1.550a54p+2 +0x1.b01f2p+2 +0x1.5f379p+2 +-0x1.196556p+2 +-0x1.d7ae64p+1 +-0x1.33f5a8p+1 +-0x1.18219ap+3 +0x1.0f248p+1 +-0x1.0830d4p+3 +0x1.3d1178p+3 +0x1.2b51f8p+3 +0x1.6ae298p+1 +-0x1.61009cp+2 +0x1.8a6248p+2 +0x1.a6d1p+2 +-0x1.f65c8p-2 +-0x1.8a5704p+1 +0x1.c7362p+2 +0x1.72246p+0 +0x1.f24838p+2 +0x1.0c208p+1 +-0x1.3a9afap+2 +0x1.1178f4p+3 +0x1.02b084p+3 +-0x1.90818p-3 +0x1.35f688p+3 +0x1.4f668p-2 +0x1.5e6b88p+2 +0x1.2306d8p+3 +0x1.2c1144p+2 +-0x1.0a8984p+3 +-0x1.d598e4p+2 +-0x1.a198f8p+2 +0x1.f9fc7p+0 +-0x1.c85f04p+1 +-0x1.11f12p+0 +-0x1.17ae84p+1 +0x1.fd21p+1 +-0x1.d23348p+2 +0x1.d131e8p+2 +0x1.db2f3p+1 +-0x1.126558p+1 +-0x1.88a2fp+1 +-0x1.d3811p+2 +0x1.6d4c7p+1 +0x1.0623f4p+2 +-0x1.6852cp-2 +-0x1.0d3b2cp+2 +0x1.58ea4p+0 +0x1.b96f4p+0 +-0x1.fc25ep+2 +0x1.51f98p+2 +-0x1.f27ccp-2 +0x1.15c85p+2 +0x1.757cp+0 +0x1.946c6p+1 +-0x1.8f7498p+1 +-0x1.036ca4p+3 +-0x1.9f601p+1 +-0x1.15a23p+2 +-0x1.ede8ap+0 +-0x1.3d3e24p+3 +0x1.4dccbp+2 +0x1.5ea9d8p+1 +-0x1.15f0bcp+3 +-0x1.c41394p+2 +-0x1.bcf11cp+2 +-0x1.5707aap+2 +0x1.8b637p+1 +-0x1.71bbf8p+1 +0x1.d34118p+2 +0x1.5ff0bp+2 +-0x1.6b46p+0 +0x1.5e6d6p-1 +0x1.b23e6p+0 +-0x1.33bc8p+2 +-0x1.c0aa46p+2 +0x1.6709bp+1 +0x1.bdbbp-1 +0x1.c099ep-1 +-0x1.ee602cp+1 +0x1.bbe5d8p+2 +-0x1.758c34p+2 +-0x1.979f7p+1 +0x1.c9143p+1 +-0x1.3a5dep+0 +-0x1.c3b81p+0 +0x1.00b178p+2 +-0x1.945148p+1 +0x1.65ab3p+2 +-0x1.27e69p+0 +-0x1.42d6p-1 +-0x1.fb4978p+1 +-0x1.1ff468p+2 +-0x1.0ccacp+2 +0x1.3e7eep+1 +0x1.e8f44p+0 +0x1.290eb4p+3 +0x1.3d57dp+2 +-0x1.00e8f4p+2 +-0x1.56e408p+2 +-0x1.fa996p+0 +0x1.b7e1p+2 +0x1.3d5b08p+3 +0x1.99f4ep-1 +-0x1.117ceep+2 +-0x1.16344p-2 +0x1.2aea9p+3 +0x1.20a4cp+0 +-0x1.906c52p+2 +-0x1.0301d8p+1 +0x1.78241p+1 +0x1.1bc9cp+0 +-0x1.67342ap+2 +-0x1.62c6ap-1 +-0x1.ede2p+0 +-0x1.136ce2p+3 +-0x1.00bf9p+2 +-0x1.cb8908p+1 +-0x1.027668p+1 +-0x1.f8276p+1 +-0x1.1f2354p+2 +-0x1.cf55e4p+1 +0x1.b44a1p+1 +-0x1.3f520cp+3 +0x1.234cacp+3 +-0x1.8c894p-1 +-0x1.4be65p+2 +0x1.96bdap+2 +-0x1.0a9c9p+3 +0x1.d155p+1 +-0x1.ef3b8p-1 +-0x1.2c4bcp+3 +0x1.c60e5p+2 +0x1.d6e458p+2 +-0x1.621f1p+0 +0x1.fa3a48p+2 +0x1.37d508p+1 +0x1.b940e8p+1 +-0x1.403a5p+1 +0x1.199478p+3 +-0x1.45f20ap+2 +-0x1.ea141p+1 +0x1.237f6p+1 +0x1.658938p+1 +0x1.342b8cp+3 +0x1.79057p+2 +-0x1.bc0fep+0 +-0x1.741fdp+2 +-0x1.f767ap+1 +0x1.464d48p+1 +0x1.fb66cp+0 +-0x1.759a8p-3 +0x1.721d58p+2 +0x1.900688p+2 +-0x1.37b61p+0 +0x1.58f92p+2 +0x1.0b2cbp+3 +-0x1.32a876p+3 +0x1.f26f8p-3 +-0x1.4e6f8p+1 +0x1.ce818p+2 +0x1.18fa7cp+3 +0x1.ec8508p+2 +-0x1.5b7908p+1 +-0x1.075bd4p+2 +0x1.0012a8p+1 +-0x1.41b838p+1 +-0x1.edc938p+1 +-0x1.ec0a9ap+2 +-0x1.e8387p+1 +-0x1.9deb84p+2 +-0x1.de3cccp+2 +-0x1.26da78p+3 +0x1.004e88p+1 +-0x1.bd4c7p+1 +0x1.5fb4a4p+2 +0x1.f707p-2 +0x1.f3e3ep+2 +0x1.aadd9p+2 +0x1.f80c58p+2 +-0x1.2191aap+3 +0x1.37c26p+2 +-0x1.2762a4p+2 +0x1.790fcp-2 +0x1.3db658p+1 +-0x1.bb905cp+2 +0x1.d28e4p+1 +0x1.f0c838p+1 +0x1.a535a8p+2 +-0x1.037bcep+2 +0x1.9cdbcp+0 +-0x1.62f076p+2 +0x1.2d693cp+2 +-0x1.ed965cp+2 +0x1.7674p-3 +0x1.935258p+2 +-0x1.4cfd58p+2 +-0x1.a3d01p+2 +-0x1.23dfap+2 +-0x1.e1e56p+2 +-0x1.ddf898p+2 +-0x1.ee858p-1 +-0x1.10a38p+3 +0x1.3e86dp+2 +0x1.25afdp+3 +0x1.95e9ep+2 +-0x1.4604b4p+2 +-0x1.7d9bbp+0 +-0x1.568242p+2 +0x1.bec05p+2 +0x1.df4168p+1 +0x1.94482p+2 +-0x1.ea224p+2 +-0x1.5d21e8p+2 +0x1.34b9p-2 +0x1.246becp+3 +-0x1.6b6674p+1 +0x1.f8cefp+2 +0x1.1b7b2cp+3 +0x1.162bbp+2 +-0x1.650c8p+0 +-0x1.1b3992p+3 +0x1.d1dc2p+0 +-0x1.6f9d5ap+2 +0x1.34bc1p+1 +-0x1.a082p-3 +-0x1.3ff4d6p+3 +-0x1.02918p-1 +-0x1.04ee14p+2 +0x1.acb3dp+2 +0x1.1d83p+3 +-0x1.ebd8p+1 +-0x1.0663p-3 +0x1.e70eap+2 +0x1.26fdf4p+3 +0x1.3c21dp+3 +-0x1.218a5p+2 +0x1.0eaa8cp+3 +0x1.1c5c7cp+3 +0x1.3bfce8p+2 +-0x1.b782p-1 +0x1.98804p+2 +0x1.006a1p+2 +-0x1.8ce128p+1 +-0x1.2be9c8p+1 +-0x1.8f93d4p+2 +0x1.c3d25p+2 +0x1.8e158p-2 +0x1.c9c588p+2 +-0x1.752cdp+2 +-0x1.096d36p+2 +0x1.aa58ep+1 +0x1.014e9p+0 +0x1.0fe3cp+0 +0x1.5c3fdcp+2 +0x1.2cb6p-3 +0x1.af0c68p+2 +-0x1.a59e9cp+2 +0x1.36f22p+2 +-0x1.d5855p+0 +0x1.05c59cp+3 +-0x1.24084cp+3 +-0x1.7df82p+0 +0x1.4cbcep+2 +-0x1.655562p+2 +-0x1.bcfd3p+1 +0x1.1cd3bp+3 +0x1.0dc48p+1 +0x1.b7c538p+1 +0x1.2faa24p+3 +-0x1.00ca4ap+3 +-0x1.39ffdcp+3 +0x1.cc3c7p+2 +-0x1.5a047p+0 +-0x1.e9bb8cp+1 +-0x1.aad89cp+2 +0x1.2aebccp+3 +0x1.0cbbe4p+3 +-0x1.b9a06ep+2 +0x1.adc638p+1 +-0x1.d142dcp+1 +0x1.425edp+2 +0x1.accd68p+2 +-0x1.24349ap+3 +0x1.3a5f34p+3 +0x1.be2f68p+2 +-0x1.3d83f8p+3 +-0x1.55e7d2p+2 +0x1.ed29bp+2 +0x1.dc48cp-1 +-0x1.41106cp+1 +0x1.195fe8p+3 +-0x1.ff77e8p+2 +0x1.2b9a84p+3 +0x1.153bcp+3 +0x1.05be54p+3 +-0x1.11c98p+0 +-0x1.22830cp+2 +-0x1.63b204p+2 +0x1.0e6fdp+3 +0x1.361cbp+2 +0x1.823a5p+2 +-0x1.e2e938p+1 +0x1.c385ep+2 +-0x1.0c038p+1 +-0x1.f13a9cp+2 +-0x1.156aecp+3 +0x1.2f964cp+3 +-0x1.e516b8p+1 +-0x1.d14p-6 +-0x1.94eep-4 +0x1.30923p+2 +-0x1.fcdbe6p+2 +0x1.d70cep+2 +-0x1.7e3ce4p+1 +0x1.371284p+2 +-0x1.f6c2b8p+1 +-0x1.6cc3ccp+2 +-0x1.5af3d2p+2 +-0x1.c3166cp+2 +0x1.fb5938p+2 +0x1.688fcp-1 +0x1.f5bf4p+0 +-0x1.a1027p+0 +-0x1.a901ep+1 +0x1.30783p+1 +0x1.dede38p+2 +0x1.22df5p+2 +0x1.b52358p+2 +0x1.3f333p+2 +0x1.469a9cp+2 +0x1.d38138p+2 +0x1.af4p-2 +0x1.2b29e8p+3 +0x1.32396p+3 +-0x1.0a34cp-2 +-0x1.880ce8p+1 +0x1.00aed8p+2 +-0x1.581cp-4 +-0x1.d2c844p+1 +-0x1.a211ep+0 +0x1.ae58p-3 +-0x1.32e68cp+1 +0x1.614de8p+2 +-0x1.bbff92p+2 +0x1.9637fp+2 +0x1.10172cp+2 +0x1.1d7c48p+2 +-0x1.9d61bcp+2 +-0x1.ce739cp+2 +0x1.efa048p+1 +-0x1.68043ap+2 +-0x1.74326cp+2 +-0x1.d62494p+2 +-0x1.c54cep+1 +-0x1.7def7cp+2 +0x1.66f69p+2 +0x1.2e8b48p+1 +-0x1.7ee06p+1 +-0x1.5f702cp+2 +-0x1.b0428ep+2 +0x1.221818p+2 +0x1.3812b8p+3 +0x1.16986p+3 +-0x1.603bb8p+2 +0x1.291ebp+1 +-0x1.e68188p+1 +-0x1.22b0a4p+3 +-0x1.1249b4p+2 +0x1.dc5dap+1 +0x1.2c2e18p+2 +0x1.b60ecp+0 +0x1.f024a8p+1 +-0x1.072efp+0 +0x1.8d0ba8p+2 +0x1.55642cp+2 +-0x1.71e378p+1 +0x1.92c968p+2 +0x1.3fd9f4p+2 +0x1.1e731p+3 +0x1.075dcp+3 +-0x1.edcb44p+2 +0x1.3761bp+1 +0x1.a9ba3p+0 +-0x1.01f5p+1 +0x1.2d42ep+3 +-0x1.3e6382p+3 +0x1.8eefdp+0 +0x1.729c8p-1 +0x1.38be78p+3 +-0x1.a492f4p+2 +0x1.ac8f38p+2 +0x1.27863cp+3 +0x1.eca008p+1 +-0x1.abea5ap+2 +0x1.2c2f94p+2 +-0x1.81333p+0 +0x1.a8642p+0 +0x1.207a48p+2 +-0x1.1dcc28p+3 +-0x1.a524b8p+2 +0x1.e444p-3 +0x1.2213ap+0 +0x1.9c6ce8p+2 +-0x1.e6bc8p-1 +-0x1.51528p-2 +-0x1.219c32p+3 +-0x1.5e1fc2p+2 +-0x1.3ef6acp+2 +0x1.4a83b8p+1 +-0x1.f98072p+2 +-0x1.d809a8p+2 +-0x1.67a7p-2 +0x1.64516p+2 +0x1.1e34dp+1 +-0x1.2e1a32p+2 +-0x1.6d606p-1 +0x1.139acp+3 +-0x1.695e3p+1 +0x1.fe3cp-5 +-0x1.ec1228p+2 +-0x1.68a99cp+1 +-0x1.c15a14p+1 +0x1.697fap+1 +0x1.2778f8p+3 +-0x1.af014p+2 +0x1.471178p+2 +0x1.34b67p+1 +0x1.78ea78p+2 +0x1.067ep+3 +0x1.1a2128p+3 +-0x1.fe8d6p+2 +-0x1.9ec5b8p+1 +-0x1.21abbp+0 +-0x1.34d44ep+3 +0x1.1cc644p+3 +-0x1.671eccp+2 +0x1.8b006p+2 +0x1.0226dcp+3 +-0x1.1ba716p+3 +-0x1.3436cep+3 +0x1.640bep+2 +0x1.1ff67p+0 +-0x1.0a6088p+3 +-0x1.6cf31p+0 +0x1.da57ap+0 +0x1.99141p+0 +-0x1.34e19ep+3 +-0x1.7580bcp+1 +-0x1.aa23bap+2 +-0x1.7b9d4ep+2 +-0x1.0ca2a4p+3 +0x1.9da52p+2 +0x1.351dacp+3 +-0x1.ae0968p+1 +-0x1.2b01c2p+3 +-0x1.1ba0bep+2 +-0x1.3b02d2p+3 +-0x1.eb5dc8p+2 +-0x1.472cc2p+2 +-0x1.32e758p+3 +-0x1.11324p-2 +-0x1.b884f2p+2 +0x1.423dd8p+2 +-0x1.0c9048p+2 +-0x1.c9b1p-4 +-0x1.f7d8d4p+1 +0x1.3e4654p+3 +0x1.fb8b8p+1 +-0x1.07ad1cp+3 +0x1.293ffp+0 +0x1.ffb2fp+2 +-0x1.c3e2fp+2 +-0x1.ab38cp+2 +0x1.c6d348p+1 +0x1.3a17bcp+3 +-0x1.1ed622p+3 +0x1.eb8a28p+2 +-0x1.0e72ep+1 +0x1.b46d2p-1 +0x1.f4268p-2 +-0x1.852aep+2 +-0x1.52b24p-1 +0x1.5c4a2p+2 +0x1.0ff95cp+3 +-0x1.02da64p+1 +0x1.0d5ecp+1 +0x1.9ce528p+2 +0x1.af238p-1 +-0x1.1bf07ap+2 +0x1.84a8cp+2 +0x1.8c119p+1 +-0x1.8efcf4p+2 +-0x1.13d128p+2 +0x1.0db57p+2 +0x1.288d88p+2 +-0x1.f1c6d8p+2 +0x1.f8cb8p+1 +-0x1.e73dp-3 +0x1.4a49bcp+2 +-0x1.63abf8p+2 +-0x1.a3fap-4 +0x1.067a9p+1 +0x1.88a8ap-1 +0x1.51632p+2 +-0x1.a196p-1 +0x1.287a48p+3 +0x1.82b6cp+2 +0x1.86108p+0 +-0x1.b20b88p+1 +0x1.01a094p+3 +-0x1.b806cp-1 +0x1.07a04p-1 +0x1.70edf4p+2 +0x1.de4c4p-1 +0x1.46a5e8p+1 +-0x1.4555b2p+2 +0x1.6d01p+2 +-0x1.27467ap+3 +-0x1.f3c514p+1 +-0x1.6d21cp+0 +0x1.6ea28p-1 +0x1.170f28p+2 +0x1.102e98p+3 +-0x1.051694p+3 +0x1.e56a8p+2 +0x1.45347cp+2 +-0x1.07c0e4p+3 +-0x1.0310cp+1 +0x1.37d958p+2 +-0x1.1d0e74p+1 +-0x1.9ba018p+1 +-0x1.e918p-1 +-0x1.2c46dep+2 +0x1.38d368p+3 +-0x1.38b1b4p+3 +0x1.3e7198p+2 +-0x1.c6dbp+0 +-0x1.ac018p+1 +0x1.267bep+2 +-0x1.5664cap+2 +0x1.26be8cp+3 +-0x1.5661e4p+2 +-0x1.62e572p+2 +-0x1.1019ap-1 +0x1.5711p-3 +-0x1.d0e1bp+1 +0x1.1d1724p+2 +0x1.574248p+2 +0x1.59edap+1 +0x1.a5d7fp+2 +-0x1.67683p+2 +-0x1.1c639ep+3 +-0x1.3bc504p+2 +0x1.531d4p+0 +0x1.abc298p+1 +-0x1.211432p+3 +0x1.d1b79p+1 +-0x1.20e9d2p+3 +0x1.0b0b4cp+3 +0x1.615338p+2 +0x1.381e78p+3 +0x1.00f2cp+3 +-0x1.76e1f6p+2 +0x1.b2bd5p+2 +-0x1.1fbac8p+2 +-0x1.89fep-4 +0x1.00bf1cp+3 +-0x1.23e1b4p+1 +0x1.e0944p+2 +0x1.1a7dep+0 +0x1.7710b8p+1 +0x1.39a61p+2 +-0x1.48afbp+0 +0x1.70368p-1 +-0x1.e3a78p+0 +0x1.80531p+1 +0x1.322394p+2 +0x1.a265p+2 +0x1.13bb6p+2 +0x1.9c8ca8p+2 +-0x1.7b3f88p+2 +0x1.467e58p+2 +0x1.1afdbp+1 +0x1.21578p+3 +-0x1.185eecp+2 +-0x1.a8420ap+2 +0x1.035e8cp+3 +-0x1.4535dp+2 +0x1.cbb58p-2 +0x1.d4e4ap+1 +0x1.5cac3p+2 +-0x1.879ba4p+2 +-0x1.0d8cf4p+3 +0x1.3b2bbp+2 +0x1.6f34c4p+2 +0x1.39586p-1 +-0x1.1f2d22p+3 +-0x1.0a624ep+3 +0x1.3ca054p+3 +0x1.a4bf98p+1 +-0x1.d7986ap+2 +0x1.2e5a04p+3 +-0x1.31f462p+2 +0x1.e1818p+2 +0x1.f31eap+1 +-0x1.1a685ap+3 +0x1.2a0754p+3 +-0x1.6be0ep+1 +0x1.02fb4cp+3 +0x1.05b48p+3 +-0x1.0f30aap+3 +0x1.30df1cp+2 +0x1.fb858p+1 +0x1.a5819p+0 +-0x1.2cc3cap+3 +0x1.11b0fp+0 +0x1.88b68p+2 +-0x1.0f5f1ap+2 +-0x1.9fa62ap+2 +0x1.3d5014p+3 +0x1.ecac5p+0 +0x1.15fd3p+1 +-0x1.7f6e6p+1 +-0x1.179c2p+3 +0x1.137e3cp+2 +-0x1.098136p+3 +-0x1.378a58p+1 +0x1.88d68p-1 +0x1.c88fbp+0 +-0x1.c8ffd8p+1 +0x1.b75e78p+2 +-0x1.0f11bap+3 +0x1.0ec4a4p+2 +0x1.03db4cp+2 +0x1.5a7e68p+2 +-0x1.516c6p+2 +0x1.efbbap+1 +0x1.7c578p+0 +-0x1.d89d5p+0 +0x1.689e1p+2 +0x1.d32e88p+2 +0x1.44ddf8p+1 +-0x1.0f634p+1 +0x1.31a5f8p+3 +-0x1.8566p-5 +-0x1.ca29ecp+2 +0x1.5107p-4 +0x1.3da44p+1 +-0x1.f071bp+1 +-0x1.7925b2p+2 +-0x1.710e78p+1 +0x1.d0453p+2 +0x1.5f67a8p+1 +-0x1.19d46p+3 +0x1.3b15a8p+3 +-0x1.51812p+1 +0x1.cee458p+1 +-0x1.5cdcfep+2 +-0x1.0f45c6p+3 +-0x1.397accp+3 +0x1.19352cp+3 +0x1.ebbaap+2 +-0x1.854f2p+0 +-0x1.d4b09p+0 +0x1.1ba198p+3 +-0x1.b7725ap+2 +0x1.22f98p-2 +0x1.5147cp+1 +-0x1.13ca2p-1 +0x1.61354p+2 +0x1.8a0238p+1 +-0x1.06e85ap+3 +0x1.471e5p+1 +-0x1.0bb526p+3 +0x1.c9be7p+1 +0x1.04e778p+2 +-0x1.042178p+1 +-0x1.1c7a7ap+2 +0x1.3f2dbp+0 +-0x1.7b78dp+2 +-0x1.fe6f4p+2 +-0x1.eec28p+1 +0x1.9d9cbp+2 +-0x1.aa8048p+2 +-0x1.6d890ap+2 +0x1.2cc53cp+3 +-0x1.914b8p+1 +-0x1.eeceecp+1 +0x1.5d994p+1 +-0x1.20e19ap+3 +0x1.f3ac7p+2 +0x1.55f048p+1 +0x1.a7424p+2 +0x1.d33738p+2 +-0x1.d0ef9ap+2 +0x1.d7502p+2 +0x1.023428p+3 +-0x1.0dad6ap+2 +0x1.d05068p+1 +0x1.ffef3p+2 +0x1.3486b8p+2 +-0x1.dcc67ap+2 +-0x1.65c2a2p+2 +-0x1.0b26c6p+3 +0x1.4abdep+2 +-0x1.2e7ba6p+3 +-0x1.c8e63ep+2 +-0x1.c05388p+2 +0x1.c24b28p+1 +0x1.0810b4p+3 +-0x1.9ced88p+2 +-0x1.90e556p+2 +0x1.7b0ffp+0 +0x1.dd354p+0 +-0x1.47967ep+2 +0x1.a40ea8p+2 +-0x1.bcf87p+2 +0x1.820a2p+0 +-0x1.5b2ed8p+1 +-0x1.819114p+1 +0x1.0828dp+2 +-0x1.e0689cp+1 +0x1.3ef6ep+1 +-0x1.a9c678p+2 +0x1.92b5c8p+2 +-0x1.1ebfeap+3 +0x1.1d6b7p+1 +0x1.6c37c8p+2 +-0x1.e7d46p-1 +-0x1.2de1ap+3 +-0x1.48743p+0 +-0x1.47a3cp+1 +-0x1.41c21p+0 +-0x1.084906p+2 +0x1.b67cep+2 +-0x1.13161cp+1 +-0x1.12b8dcp+2 +-0x1.3d5ep-1 +-0x1.c8888p-2 +-0x1.778f6p+1 +-0x1.cfc258p+2 +0x1.d33188p+1 +-0x1.766a6cp+2 +-0x1.bad2e2p+2 +0x1.3df0bp+3 +-0x1.1a02bcp+3 +-0x1.3ddd54p+2 +-0x1.384b3p+1 +-0x1.9fb0dcp+1 +-0x1.b1f7b4p+1 +0x1.04aa54p+3 +0x1.9a478p+0 +-0x1.ebecp-5 +-0x1.9f9698p+1 +0x1.0b7bc4p+3 +0x1.1c1388p+2 +-0x1.76bfb2p+2 +-0x1.ede454p+1 +-0x1.2f68ccp+3 +-0x1.466534p+1 +0x1.b601dp+2 +0x1.f6e838p+1 +0x1.bba758p+1 +-0x1.4e3102p+2 +-0x1.154126p+3 +-0x1.ca79cp-2 +-0x1.6d373ep+2 +0x1.298e68p+1 +0x1.d3cp+0 +-0x1.ec47fcp+2 +0x1.96ba68p+2 +0x1.c0ff8p-2 +0x1.24b06p+1 +0x1.f5a8e8p+2 +-0x1.c77c48p+2 +-0x1.602f44p+2 +-0x1.4a3aa8p+1 +-0x1.13dc24p+1 +0x1.d1c41p+2 +0x1.75ecp+1 +0x1.6118e8p+2 +-0x1.63f08p-1 +-0x1.d82124p+2 +-0x1.226bd8p+2 +-0x1.6524b8p+2 +-0x1.01b2a2p+3 +-0x1.6874c8p+2 +0x1.14acp-5 +-0x1.8113c6p+2 +-0x1.0d8d68p+1 +-0x1.21cc3ep+3 +0x1.9c518p+1 +0x1.9710ap+2 +-0x1.c8b5fcp+2 +0x1.7ae5bp+1 +0x1.209ec4p+3 +-0x1.ca3c98p+2 +0x1.59bf14p+2 +0x1.b0dffp+1 +-0x1.89426p+2 +0x1.a9e6d8p+2 +0x1.c3e868p+2 +0x1.8237p-4 +-0x1.af60d2p+2 +-0x1.9a004p-2 +0x1.37035cp+3 +-0x1.043894p+2 +-0x1.1c816cp+1 +0x1.9391ap+1 +0x1.c4db98p+2 +0x1.2026bp+3 +0x1.a5197p+2 +-0x1.2c21cp+2 +-0x1.14a7ep-1 +0x1.13c0d8p+2 +0x1.6f60fp+1 +-0x1.e88cb4p+2 +-0x1.a3838cp+1 +-0x1.132956p+2 +0x1.6b7598p+1 +-0x1.9dd84cp+1 +0x1.5c1b6p+2 +0x1.e5f918p+2 +0x1.97bdcp+2 +0x1.6492ccp+2 +0x1.c648p+2 +-0x1.bc555p+0 +0x1.682718p+1 +0x1.10f83cp+3 +-0x1.e91278p+1 +0x1.f901cp-1 +-0x1.4d8c6p+1 +0x1.588e1p+2 +-0x1.b09bdp+2 +-0x1.ab72cp-1 +0x1.b2a7cp+1 +0x1.0f0348p+2 +0x1.3c823cp+3 +0x1.3906b4p+2 +0x1.1c776cp+3 +-0x1.5c4c14p+1 +-0x1.66268p-3 +-0x1.e3869p+0 +0x1.df9c18p+2 +-0x1.dfb8bp+0 +0x1.325dep+2 +0x1.02552p+2 +0x1.2e72ep+1 +-0x1.c3e5e8p+2 +-0x1.6ebcaep+2 +-0x1.28dfecp+3 +0x1.3f6d8p+2 +-0x1.dc61a4p+2 +-0x1.133eaap+3 +0x1.74f4cp+1 +-0x1.8259d6p+2 +-0x1.247092p+3 +-0x1.150a58p+3 +0x1.0ee77p+2 +-0x1.469c58p+2 +0x1.f53bcp-1 +-0x1.5bebdcp+2 +0x1.f13d2p+2 +0x1.f7acfp+2 +-0x1.8bf268p+1 +0x1.fb50cp+2 +-0x1.92c8p-7 +-0x1.3fbb78p+3 +0x1.3f28b4p+2 +0x1.2968dcp+3 +0x1.f0696p+2 +0x1.3b5a88p+2 +-0x1.d54c9cp+2 +-0x1.3d414p+2 +0x1.f7318p-1 +-0x1.06cfa2p+3 +-0x1.196daep+3 +-0x1.a727aap+2 +-0x1.f24538p+2 +0x1.43cap+1 +0x1.b85988p+1 +-0x1.00ffacp+2 +0x1.0eb9c4p+3 +-0x1.bd9388p+2 +-0x1.0b3ep+1 +-0x1.4c7022p+2 +-0x1.d8641cp+2 +0x1.0bb028p+3 +0x1.ff94dp+2 +0x1.0d255p+2 +-0x1.700bcp+1 +-0x1.5ebfcep+2 +-0x1.9509bep+2 +0x1.020bcp+2 +0x1.b24ddp+2 +0x1.152368p+3 +0x1.d001ep+2 +0x1.f6c84p+1 +0x1.1dbf5p+3 +0x1.d9c6p+2 +-0x1.0a34cep+3 +-0x1.910122p+2 +-0x1.c1f4p-3 +-0x1.c489fp+1 +0x1.9c41f8p+1 +-0x1.f761ecp+1 +-0x1.34b752p+3 +-0x1.0df12ap+3 +-0x1.16505ap+3 +-0x1.340a64p+2 +0x1.2cf2ep+1 +0x1.81094p+2 +-0x1.af7308p+2 +-0x1.096dp+0 +0x1.845c6p+2 +-0x1.0a3d12p+3 +-0x1.4ce7cp-1 +-0x1.b23194p+2 +-0x1.118098p+3 +-0x1.214db2p+3 +0x1.3c3b8p-1 +-0x1.da9578p+2 +0x1.2209cp+1 +-0x1.36ed2p+0 +0x1.4d5e54p+2 +0x1.aad8ap+2 +-0x1.1cb8a8p+2 +0x1.998438p+2 +-0x1.1435p-4 +-0x1.dc5e72p+2 +-0x1.3c5d22p+2 +-0x1.ac6378p+2 +0x1.fb7c8p+0 +-0x1.1f16bp+2 +-0x1.8994p-1 +-0x1.f7195cp+2 +0x1.ca6p+1 +-0x1.158b88p+2 +0x1.26e544p+3 +0x1.8e086p+2 +-0x1.eac2ep-1 +0x1.d9309p+0 +0x1.3397bp+0 +0x1.365c78p+1 +0x1.b39fp+0 +0x1.8c3368p+2 +0x1.5f1ecp+1 +0x1.cf647p+1 +-0x1.4c8f1p+0 +0x1.f34908p+2 +0x1.2a5ffp+3 +-0x1.82b8dcp+1 +0x1.dbd53p+2 +-0x1.3de5a4p+3 +-0x1.1f0dp-3 +0x1.b4c93p+1 +0x1.222074p+3 +-0x1.1e8164p+2 +0x1.20d5bp+3 +-0x1.01a044p+3 +0x1.0a81acp+3 +0x1.316948p+3 +-0x1.d8ebcp-1 +-0x1.f98p-8 +0x1.30f3dp+0 +-0x1.d33348p+2 +-0x1.0873dp+2 +0x1.ccf2f8p+2 +-0x1.3391dp+0 +-0x1.13da84p+1 +-0x1.3707e4p+1 +-0x1.3f55fcp+1 +0x1.792e8p+2 +-0x1.9a1d26p+2 +0x1.7e741p+0 +0x1.0b8e2p+0 +0x1.e78b6p+1 +0x1.92adbp+2 +-0x1.0e342cp+2 +-0x1.463a0ep+2 +-0x1.369ad4p+3 +0x1.ea5ddp+2 +0x1.1da684p+3 +-0x1.ac6744p+1 +0x1.316818p+2 +0x1.8ea0ep-1 +0x1.38c50cp+2 +0x1.29aadcp+3 +0x1.40b92p+0 +-0x1.ca628ep+2 +0x1.d32518p+2 +0x1.bdab7p+2 +0x1.5dcbdp+2 +0x1.9c389p+1 +-0x1.92f05ep+2 +0x1.0dcd4p+0 +0x1.5bd48p-2 +0x1.de64ap-1 +-0x1.19f0c4p+3 +0x1.589cbp+1 +-0x1.75a3p-2 +0x1.6f0cap+1 +0x1.00663p+0 +0x1.9e84d8p+1 +0x1.73b39cp+2 +0x1.a32be8p+2 +-0x1.b73bc8p+2 +0x1.93c1e8p+2 +-0x1.fa36c4p+1 +-0x1.26d2acp+2 +0x1.0319f8p+2 +0x1.f958fp+1 +0x1.4ccafcp+2 +0x1.16d8fcp+3 +0x1.ca2e2p+0 +0x1.7dd2bcp+2 +-0x1.cd35d8p+2 +-0x1.2dc3ap+3 +-0x1.3c3e46p+2 +-0x1.74c9d8p+1 +-0x1.858dcep+2 +0x1.ec27d8p+2 +-0x1.993018p+2 +0x1.03094cp+2 +0x1.2b99dp+2 +0x1.8476p-1 +0x1.95399p+0 +0x1.f9d3ep+0 +-0x1.a09008p+1 +-0x1.274844p+3 +-0x1.95e33p+1 +-0x1.934618p+2 +0x1.b0b628p+2 +-0x1.6f266p-1 +0x1.77c84cp+2 +-0x1.327784p+3 +-0x1.14dffp+3 +-0x1.7fb896p+2 +0x1.b5784p+1 +-0x1.dd35ccp+1 +0x1.2da96p+1 +0x1.b5262p+1 +0x1.4fecp+1 +-0x1.3a63a2p+3 +-0x1.19327ep+3 +-0x1.f7d22p+1 +-0x1.e5fec8p+2 +0x1.3946dp+3 +-0x1.1eccb8p+3 +0x1.e8b26p+2 +0x1.f853fp+1 +0x1.66218cp+2 +0x1.3475p-4 +-0x1.7370ecp+1 +-0x1.a58218p+2 +0x1.0bb4p+0 +-0x1.39e8d4p+3 +0x1.09ccap+0 +0x1.8fc1f8p+2 +0x1.51b63p+2 +0x1.90deep+0 +-0x1.b7489p+2 +-0x1.de25ap+2 +-0x1.26e32p+3 +-0x1.f47874p+1 +-0x1.027f2cp+3 +0x1.be7238p+2 +0x1.22df04p+3 +0x1.3c0c2cp+3 +-0x1.b71c0ap+2 +-0x1.0343d8p+3 +-0x1.bd824ap+2 +-0x1.922d9p+0 +-0x1.bf1cb4p+2 +0x1.96d5fp+1 +-0x1.4e9cb4p+1 +0x1.84701p+2 +0x1.562eep+2 +-0x1.6e0026p+2 +0x1.2e56bp+2 +0x1.a88c9p+2 +0x1.4f7a84p+2 +-0x1.69d024p+1 +0x1.c3b69p+1 +-0x1.b31e1p+0 +-0x1.3890fp+2 +-0x1.ef9acp-2 +0x1.c56ecp-1 +-0x1.8478cp+1 +0x1.652bb4p+2 +-0x1.31e1dp+2 +0x1.63806p+2 +0x1.da5f5p+1 +0x1.4bd508p+2 +0x1.825898p+2 +0x1.b6fd4p+0 +0x1.2451bcp+3 +-0x1.f7f8e4p+1 +0x1.21f738p+3 +-0x1.17cb12p+3 +0x1.bccc9p+2 +-0x1.b205acp+2 +-0x1.b031p-1 +-0x1.0c5028p+2 +-0x1.434a4cp+2 +-0x1.b92e1ep+2 +0x1.2d6d1p+2 +-0x1.167f98p+3 +0x1.fad1e8p+2 +-0x1.6de77p+2 +-0x1.3a6262p+2 +0x1.048bbcp+3 +0x1.3e6c1cp+3 +-0x1.90994p-1 +-0x1.56cf4p+2 +-0x1.589feep+2 +0x1.ea3608p+2 +-0x1.140cep+0 +-0x1.53248p-1 +-0x1.5f4e9p+1 +0x1.8bc6p-1 +0x1.2df528p+2 +-0x1.340b0ap+3 +0x1.0271acp+3 +-0x1.b90fbcp+2 +-0x1.c3aaf4p+1 +0x1.3d2198p+3 +-0x1.60fb3cp+2 +0x1.218a34p+3 +0x1.0750c8p+1 +0x1.19e1ep+3 +0x1.0681ap+3 +0x1.3c1cd4p+2 +-0x1.0c65p-2 +0x1.060b24p+2 +-0x1.20368ep+3 +0x1.97d4dp+2 +-0x1.b8575p+1 +0x1.25f914p+3 +0x1.9edeap+1 +0x1.9ef518p+1 +0x1.89a5bp+2 +-0x1.3f1428p+1 +0x1.0c2994p+3 +-0x1.077e4cp+3 +0x1.58155p+2 +0x1.5d6ac8p+2 +-0x1.2c653ep+3 +-0x1.290328p+2 +0x1.a04868p+2 +0x1.ff72e8p+1 +-0x1.b1c2eap+2 +0x1.9e8a7p+0 +-0x1.0ca95ep+3 +0x1.2d94cp-1 +0x1.7d1e88p+2 +-0x1.fe1458p+2 +0x1.317bap-1 +0x1.8110b8p+1 +-0x1.ba8f5p+1 +0x1.d2ce28p+2 +-0x1.57f32cp+2 +-0x1.3af0ep+1 +-0x1.ed3a58p+2 +-0x1.62c2bp+1 +-0x1.19138p+1 +-0x1.107388p+2 +-0x1.755c1cp+2 +0x1.8d4bdp+2 +-0x1.0d8928p+2 +-0x1.9f851cp+1 +0x1.eaaacp+0 +-0x1.504366p+2 +-0x1.597996p+2 +0x1.997b3p+1 +-0x1.1a1d16p+2 +0x1.f915ap+1 +0x1.3650b8p+3 +-0x1.9afa2p-1 +0x1.329768p+2 +0x1.21c188p+3 +0x1.33bfd8p+2 +-0x1.1e752p+3 +-0x1.00f61p+1 +-0x1.b6c5f4p+1 +-0x1.4b5078p+2 +-0x1.8bd34p-2 +0x1.16523cp+2 +-0x1.1a4bap+0 +-0x1.f587cp+0 +0x1.2979d8p+3 +0x1.83824p+2 +-0x1.0ff90ep+3 +0x1.045f3p+2 +0x1.263c68p+1 +0x1.40fbd8p+1 +0x1.f1fe8p+2 +-0x1.fe0e6p+1 +0x1.5aec94p+2 +-0x1.8f6afap+2 +0x1.e02398p+1 +-0x1.e5d758p+2 +-0x1.1fcad4p+2 +-0x1.dc012p+2 +-0x1.1ce3c4p+3 +0x1.3b9ccp+0 +0x1.1ed61p+2 +-0x1.1ebfbap+3 +0x1.08392cp+2 +-0x1.39fbe2p+3 +0x1.009ep-1 +-0x1.ba6334p+2 +0x1.47522p+2 +-0x1.48816p+2 +0x1.49374p+1 +-0x1.771f6cp+1 +0x1.fb3278p+2 +-0x1.4afdp-1 +-0x1.89fb5p+2 +-0x1.0a93ep+0 +0x1.d8c728p+2 +0x1.f8b6ap+0 +-0x1.4a3e4p+1 +0x1.094d8p+1 +-0x1.13f4p-3 +0x1.cb13bp+2 +0x1.09a4c4p+2 +-0x1.00dc98p+1 +-0x1.56d44p-1 +-0x1.01f64p+3 +-0x1.6b0df4p+1 +0x1.2a181p+2 +0x1.f8b28p-3 +-0x1.619954p+1 +-0x1.07105cp+1 +-0x1.348fe2p+3 +0x1.d2ceep+2 +0x1.26a918p+1 +0x1.1af7f8p+3 +-0x1.50156p-1 +-0x1.d309p-2 +-0x1.a1a4bp+2 +0x1.0dac44p+3 +0x1.1913d8p+2 +-0x1.953998p+2 +-0x1.c76edcp+2 +-0x1.8a2618p+1 +0x1.37dbfp+3 +0x1.89e7ep+1 +-0x1.c90968p+1 +0x1.b8e788p+2 +-0x1.26b75ep+3 +0x1.c8937p+0 +0x1.09283cp+3 +-0x1.4112e2p+2 +-0x1.db94dcp+2 +-0x1.879c1cp+2 +0x1.03102p+0 +-0x1.d4794p+2 +-0x1.8fa48p-1 +0x1.1ffb3p+2 +-0x1.f701dcp+1 +-0x1.574f2p+2 +-0x1.94b592p+2 +0x1.a981p+0 +0x1.fe773p+2 +-0x1.0404p-1 +0x1.a34938p+1 +0x1.46d77cp+2 +0x1.1271cp-2 +0x1.49198p+0 +0x1.2b8174p+3 +0x1.17b1p-2 +-0x1.191d2p+2 +-0x1.3b1c24p+1 +-0x1.5f41ecp+2 +0x1.2b81c4p+3 +0x1.4e9cdp+2 +0x1.e5dbep+0 +0x1.158d9p+1 +-0x1.e20a14p+2 +0x1.ed4ep-3 +0x1.cb68p+0 +-0x1.79f334p+2 +0x1.507d4p+2 +-0x1.adefp-1 +-0x1.0493bap+3 +0x1.bab8p+2 +0x1.e5ded8p+2 +0x1.47d8cp-2 +0x1.6161b8p+2 +-0x1.194e14p+3 +-0x1.26122ap+3 +-0x1.371816p+2 +0x1.002fc4p+3 +-0x1.3c6704p+2 +-0x1.e4aa38p+2 +-0x1.7e6e4p-2 +0x1.0342f8p+1 +-0x1.2b84c8p+3 +0x1.1c8858p+1 +0x1.7048bp+0 +-0x1.96abbp+0 +-0x1.829962p+2 +0x1.acc798p+2 +0x1.7925bp+1 +0x1.b72ab8p+2 +0x1.611488p+2 +0x1.97a92p+0 +-0x1.cd9a6p+2 +0x1.4cd3p+0 +0x1.17ba68p+2 +-0x1.ef8ccp+2 +-0x1.0f5feep+3 +0x1.ad27b8p+2 +0x1.6041ep+1 +-0x1.84d9fp+1 +-0x1.17b2dp+3 +0x1.71dp-2 +0x1.18cad8p+3 +-0x1.eb32cp+0 +-0x1.297b12p+2 +-0x1.29ea46p+3 +0x1.61ae58p+1 +-0x1.1d87c6p+2 +0x1.028ce8p+1 +0x1.1097fp+3 +0x1.1806ecp+3 +0x1.24effp+1 +0x1.58b45p+2 +-0x1.6d2bfp+1 +0x1.5eb9ap-1 +-0x1.746566p+2 +-0x1.11556cp+1 +-0x1.ff6decp+2 +0x1.8a6438p+1 +-0x1.3512c8p+1 +0x1.2bba9p+3 +0x1.165068p+3 +0x1.8f7d18p+2 +0x1.b153bp+2 +-0x1.c9b802p+2 +-0x1.5eaa6p+0 +-0x1.2604p+1 +-0x1.c035p-2 +0x1.ce10b8p+2 +0x1.b8d53p+1 +0x1.07effcp+3 +0x1.3fc294p+3 +0x1.0f2098p+3 +0x1.ea07bp+2 +-0x1.8a9698p+2 +0x1.48dd9cp+2 +-0x1.c92ce8p+1 +-0x1.055186p+3 +-0x1.08fca6p+3 +-0x1.1be24p+3 +-0x1.fbd558p+1 +-0x1.2d1334p+3 +0x1.a77fbp+0 +0x1.dc1718p+2 +0x1.7fac7p+2 +-0x1.da2afap+2 +0x1.cb0bb8p+2 +0x1.d366ep+2 +0x1.73837p+2 +0x1.637e4p+1 +-0x1.aa8b8p-3 +-0x1.28791cp+1 +0x1.7fe5a8p+2 +-0x1.e31dfp+2 +0x1.e85bp+2 +-0x1.0c3bf8p+3 +0x1.c39558p+1 +0x1.03ebp-1 +0x1.f74e88p+2 +-0x1.2ff78cp+1 +0x1.9f945p+2 +0x1.81f18p+2 +0x1.370eap-1 +-0x1.9b977p+0 +0x1.1203fp+2 +0x1.7ad92p-1 +0x1.cff0dp+2 +0x1.21305cp+3 +-0x1.d7e806p+2 +0x1.53710cp+2 +0x1.8d42ep+0 +0x1.362c38p+2 +0x1.1c622p+3 +0x1.ba10cp+1 +0x1.a7052p+1 +-0x1.887612p+2 +0x1.7ac98p-1 +0x1.12527p+3 +0x1.37ee6p+1 +-0x1.1a0374p+3 +-0x1.905294p+2 +-0x1.ad88d8p+2 +0x1.af538p+0 +0x1.2419ap+3 +-0x1.565182p+2 +-0x1.8026p-2 +-0x1.53469ep+2 +0x1.407324p+2 +0x1.abf8fp+0 +-0x1.18af6ap+3 +-0x1.a3714p-1 +-0x1.270f6cp+3 +-0x1.145596p+3 +-0x1.9f3478p+2 +-0x1.2104fcp+1 +-0x1.867c8p+0 +-0x1.b658fp+1 +-0x1.9c8f8p-1 +0x1.3cd278p+3 +-0x1.d3e8cp+1 +-0x1.d93e2ap+2 +-0x1.74b918p+1 +0x1.d6846p+2 +-0x1.ccf428p+1 +0x1.2da134p+2 +-0x1.dab99p+2 +0x1.25853p+2 +-0x1.5999bp+2 +0x1.279678p+3 +0x1.3915cp+3 +-0x1.c339c8p+2 +-0x1.09e15p+0 +0x1.205ep+2 +-0x1.8277ep+0 +0x1.69e6a8p+2 +-0x1.ec7p-1 +-0x1.00c624p+3 +0x1.cf98dp+2 +0x1.7230bcp+2 +-0x1.25a18p-3 +0x1.167614p+3 +-0x1.e3c7a8p+2 +-0x1.fbc2b8p+1 +-0x1.2e5154p+3 +0x1.b79fap-1 +-0x1.f634e4p+2 +-0x1.272224p+2 +0x1.9bcf38p+2 +-0x1.17af56p+3 +0x1.480298p+1 +0x1.09ca68p+2 +0x1.650348p+2 +0x1.291ef4p+2 +0x1.f8cc78p+2 +-0x1.c3459p+0 +0x1.8b0878p+2 +-0x1.3db94ep+3 +0x1.d2216p+2 +0x1.9f9d3p+0 +-0x1.249792p+3 +0x1.7254cp+0 +0x1.39d84p-1 +0x1.127bfcp+3 +0x1.0abb7cp+3 +-0x1.5ee8dcp+2 +-0x1.52e964p+2 +-0x1.046634p+2 +-0x1.70abf8p+2 +0x1.bc7938p+2 +0x1.18be98p+1 +0x1.674544p+2 +-0x1.0195b4p+1 +-0x1.a4ab2cp+2 +0x1.1bede8p+3 +-0x1.f90c6cp+1 +0x1.25ceb8p+2 +0x1.084bap+0 +-0x1.b5351p+0 +0x1.0c9258p+2 +-0x1.49c48ap+2 +0x1.733f58p+1 +0x1.55714cp+2 +-0x1.1ecf86p+3 +0x1.9d1cp+1 +0x1.2b8ba8p+2 +-0x1.f471acp+1 +0x1.07505p+3 +0x1.3d8348p+3 +-0x1.4bfeccp+1 +-0x1.9a15a8p+2 +0x1.65b72p+1 +0x1.9b16bp+2 +0x1.3ab958p+3 +0x1.b3c9ep-1 +0x1.ac5f98p+1 +-0x1.c70acp+0 +-0x1.13eb96p+3 +-0x1.05d9d2p+3 +0x1.2f84p-3 +0x1.3d4068p+2 +-0x1.4b9f8p+0 +0x1.a04398p+1 +0x1.f08198p+1 +0x1.0cbe6cp+2 +-0x1.6dab0cp+2 +-0x1.d4aa18p+2 +-0x1.e9267p+0 +-0x1.397aaap+3 +0x1.2d112cp+3 +-0x1.2cfd0cp+3 +0x1.32f5f4p+3 +0x1.80e8cp-1 +0x1.325d8p-3 +-0x1.3c509p+0 +-0x1.1b761p+3 +0x1.1663p+3 +-0x1.81be0cp+2 +-0x1.487bf2p+2 +0x1.3fcabp+3 +0x1.1f5b18p+3 +-0x1.ad1bcp+1 +0x1.050d1cp+3 +0x1.0d5658p+3 +0x1.dbe17p+1 +-0x1.627f5p+2 +-0x1.cfe14p-1 +0x1.0d8b2cp+3 +0x1.b2cce8p+1 +-0x1.b1851p+1 +-0x1.8adc98p+1 +-0x1.bfd6p+1 +0x1.1e3b88p+3 +0x1.54738p-2 +-0x1.1a637cp+1 +-0x1.75b012p+2 +-0x1.758f48p+1 +0x1.e726c8p+1 +-0x1.771364p+1 +-0x1.b7834p-2 +-0x1.2eccap+2 +0x1.024d78p+3 +0x1.98fd1p+1 +-0x1.3872fcp+3 +0x1.19b98p+2 +-0x1.2fdc44p+3 +-0x1.1efcd6p+2 +-0x1.e207dcp+1 +0x1.0b00b8p+2 +0x1.8ae52p+2 +-0x1.5b5d48p+2 +0x1.47159p+1 +0x1.992afp+0 +-0x1.d667a8p+2 +0x1.195edp+3 +0x1.853e1p+2 +-0x1.2ae43ap+3 +-0x1.2aad32p+3 +0x1.cff148p+2 +0x1.72ccdcp+2 +-0x1.d1caep+1 +0x1.bd806p+0 +0x1.cbd0c8p+2 +-0x1.b2d9cp-2 +0x1.113a2cp+2 +-0x1.ee23d4p+2 +0x1.0b9eb4p+2 +-0x1.d3d0dp+0 +-0x1.948ce8p+1 +0x1.049768p+1 +-0x1.989e8p+0 +-0x1.f5a0dp+2 +-0x1.52998p+2 +-0x1.2c228p-2 +-0x1.1a6d74p+2 +-0x1.6b5f3p+2 +0x1.31b4e8p+2 +-0x1.0337e6p+3 +-0x1.3dfb66p+2 +-0x1.93d3a8p+1 +0x1.ee0ec8p+2 +-0x1.4bdcf8p+1 +0x1.6d056p+2 +0x1.d22de8p+2 +0x1.ed8ebp+2 From patchwork Fri Nov 29 13:17:33 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: 846138 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp868949wrp; Fri, 29 Nov 2024 05:43:06 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVUu7mi9qSbusKpXQ6/9HeAGYKyKP7RWDHiedc91vdCOzyVdKWKON6FeNR+PhF+5nTrVFF1EQ==@linaro.org X-Google-Smtp-Source: AGHT+IFa2vQJ9QlIsMS8x5y0+myZ4CEWHejY96QTrqbHiwZnKkDWqKY6CdxTBS8CS4pqNxiDo73p X-Received: by 2002:a05:6102:cd0:b0:4af:4983:d8c8 with SMTP id ada2fe7eead31-4af4983d95cmr12475614137.10.1732887785779; Fri, 29 Nov 2024 05:43:05 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732887785; cv=pass; d=google.com; s=arc-20240605; b=UCzbohLx1lqqW6aD2+utEbPIF+20rVPWVfN2VATlorW25u/F5GnxNL/P8JDRCf1Nnh 5F9kMeFPYqGnH5z9LeAB3PBdALvzJufbBg1mhkE/3LuKA15x81bXp12GSqUl9+QLJf+L In4hPpKtgfhtufebkb7LPCq1AUsrxVmgzlyhMfoj1AIKlzwybH09LMPLgPY9zz/lPj9F HS7t4pbY1CkOUpud3sdSeE4vzmCYzuyg1uPxoNFMAnONvIN5lA1bd5s/F8l9EVC08VNB RI1W5EQ/P2VahQcUkq/tFhDnvDo+4DFqMe+5PsKONIfiYxRHYf0cec8xesfrTlsTf1q6 l1LA== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=p6ZoA9k+lbdDbWajE9u5jXfbhhLz/7JGdFgTzk7xmRg=; fh=/bzLn4Pu6wt5yJOmVA6NJX5WuFMrzV1CRzIGBeRqGpk=; b=a+z4e4C1r2iScXBHz4iq2pJdaa98mY9qbKuyQzH7IGuxIAnElEscx5R2mPDNwyA3qP XXXc/N+EkaDHnlHBTEsJX4sm6R86fyMNb2pzu2HP605qhCB3HqRl9f4evhPNnagHgkfG GEQldXNhwB/pipbMxwief+Ej6vo/ZxoA9b0HysFu42SE22CGXnGA3YcsW8yrEjxzVT/R 74dsUcKEPtWz20Pn5iklwsj0JYuJ1I1D6ho1h+Tx5T/dfltzMAq0JGGBckTa+wDvjNn/ QnszUQG3cF8wkbFe4cpuVMriObHeJvL9/eNGE9dPOx2BdGZpRx2BgoRPDFrXe/ftc1+k FfoA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=tdLmCLDA; 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 ada2fe7eead31-4af5922f4f9si1316020137.337.2024.11.29.05.43.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:43:05 -0800 (PST) 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=tdLmCLDA; 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 3DE3E3858C5F for ; Fri, 29 Nov 2024 13:43:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3DE3E3858C5F Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=tdLmCLDA X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id A43583858D29 for ; Fri, 29 Nov 2024 13:20:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A43583858D29 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 A43583858D29 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886462; cv=none; b=Pu92DUCwvwZ6wqpHotls1BeYSUErS8oQ8vA01v4o2VxHJuFhyDjq2aH6Kj3QOtkyW2muWW0+N7DAkuqPyBOnqC3LdG4h5sGFpeDdeorizOtNO8LBLtbx7GXFyAOnMkcXz67vVvb69tLw6PFhDisa02e8PIsX+B4g+Si6QVZnxsM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886462; c=relaxed/simple; bh=N+rTLx7cMy6zK4bjQXQ1p5WGJFXPTE+0lvNMzW86jOE=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=inrfXFL6ECwMxYRyCURp/eU7QNwnGcZeL2Ko6DxjX1ADRqd/76olcfWFnR+z5wlIoxBU7bcbQJ02lqHM18X9YdtNmUekN6H7kwlI/FSIOUDQVeD/L5v88Q109qCJ8y3cX146pbjg6XiU1AYVJocK34T1llQX3rRDpdPvQqofVOw= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A43583858D29 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-215348d1977so9959595ad.3 for ; Fri, 29 Nov 2024 05:20:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886455; x=1733491255; 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=p6ZoA9k+lbdDbWajE9u5jXfbhhLz/7JGdFgTzk7xmRg=; b=tdLmCLDAVLcPjw5gMzAj6vOZmkjNyffaB97llnrpMVzwfwWCSs9smUgRrLhCWHOVIz j4C9IXlTMS07p2/XTgsrR2QCWUVrP/BJjXKER7xpEu522qL+htKAafa3toC9knkQsdmu dCWleMmKAYHay33vUrnig01xnxCTo74v1UAWDyDroXNl7cCT9i9/focEl/i0J795Cogj cgyd084V658CvH1L8UBUGOHCRWNaMGOu+sWznrltNm7uKqk/D1jnWTcLZwMaGOfsgWe4 mAvA5hRBowCTRpDSi27ko6+/GcOxsowh5XOCN9VCoFnsAsE68x0jS0z0i27J/7uOsIhI 3NwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886455; x=1733491255; 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=p6ZoA9k+lbdDbWajE9u5jXfbhhLz/7JGdFgTzk7xmRg=; b=YnCX93EJJWZvilcY2kOIMiqWKttrOIPMlFwuhaU9YyQOSLHqd2Ih7dA7nxyPON1Ugz 0keMLyYe4a32KTvI/3/SGCWzEzbY6IH4Iu8At4c1JZU0WXPoAUPMFkZ+/Us4GXvlLNOS WDma6u1kFPA/BwEDQzWMDoHMovLAdG88Z53vd2ppGVY29JVgWLzcFOCOMNrfst7ajM70 E6uWQkhjs2idwXzI07TlaKLCxFQPsH5UYn6XLkSMchJiULPMBApc/IetA1EpalfCwqPI gjeCh0tyTCrmBkqVljIPdQPRLBpAmEEcf5FZRSDPH1pJOuM8pIYE9XYggRrpzhDlKco2 1Y6A== X-Gm-Message-State: AOJu0YzS/R0I4YC9oSiggb49Tr5dKWXOfvGrnXSHyIOQ+5ZPXwme8FEC 0x0a/fR0SG7Z26AWXiVIknolyWzDHSYwGhYnT4fGGM5biDMebrhVHa780RkVNngStz6ls+y0NEd kLZjucw== X-Gm-Gg: ASbGnct8UHKWcaKV/J43qrG0E3bElXdO51A8RoR6Ca6gCE6203/S54mzaausxq4Zi+m J+tQAkJtvR2l0HJaxLiUQb1v4XcOVjM2JBdePuijjfX84nLPTLmwifSV8wP1pKrcyHWWG0mCmF+ LSUIXMKj+E3im4EeH08tqZY7ZoUi3mxBHwg4AOqzYjd0GjVRNYLXdMhgxd6xJhfY5uwUMGwrX6a AROcDZUNUFwRTiFldQT6+1ex2pppHtjBvSLo4rl3ohbAnqzhhcktaak07xwvTk= X-Received: by 2002:a17:902:d483:b0:215:4662:db7a with SMTP id d9443c01a7336-2154662dd3dmr20244405ad.54.1732886454367; Fri, 29 Nov 2024 05:20:54 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.20.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:20:53 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie Subject: [PATCH 09/23] benchtests: Add sinhf benchmark Date: Fri, 29 Nov 2024 10:17:33 -0300 Message-ID: <20241129132032.476978-10-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 in the range [-10,10]. --- benchtests/Makefile | 1 + benchtests/sinhf-inputs | 2005 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 2006 insertions(+) create mode 100644 benchtests/sinhf-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index 648d6f9d46..e70904cd44 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -109,6 +109,7 @@ bench-math := \ sincosf \ sinf \ sinh \ + sinhf \ sqrt \ tan \ tanf \ diff --git a/benchtests/sinhf-inputs b/benchtests/sinhf-inputs new file mode 100644 index 0000000000..c20a4a228d --- /dev/null +++ b/benchtests/sinhf-inputs @@ -0,0 +1,2005 @@ +## args: float +## ret: float +## includes: math.h +# Random inputs in the range [-10,10] +## name: workload-random +0x1.e1e69p+1 +0x1.19b24p-1 +0x1.f523dp+2 +0x1.81642p+1 +-0x1.5651p-3 +0x1.c94p-1 +0x1.0ddf88p+2 +0x1.16c524p+3 +0x1.e9118p+2 +0x1.f42e68p+1 +0x1.a91798p+1 +-0x1.76e382p+2 +-0x1.2df976p+3 +-0x1.8e718p-1 +0x1.2a3c88p+3 +0x1.5baep+0 +0x1.38c7b8p+2 +-0x1.698448p+2 +-0x1.af8f02p+2 +0x1.469344p+2 +0x1.f695p-3 +-0x1.cf8096p+2 +-0x1.8f94ccp+1 +-0x1.2d65a4p+3 +0x1.e16d2p+1 +-0x1.54e8dp+0 +-0x1.f7c94p+2 +-0x1.8c4bd4p+2 +0x1.9076ap+2 +-0x1.37d17p+2 +0x1.144f5p+0 +0x1.5a454p+1 +0x1.17a384p+2 +0x1.cd215p+2 +0x1.239078p+3 +-0x1.32b718p+3 +0x1.f940cp-2 +0x1.a7c848p+1 +-0x1.6a4428p+2 +-0x1.b63e64p+2 +-0x1.ce691cp+2 +-0x1.1f759p+2 +-0x1.acba1p+1 +0x1.937ffp+0 +0x1.d9d07p+2 +0x1.05fcc8p+2 +-0x1.345f2p+3 +-0x1.b1262p-1 +-0x1.cc3ca4p+2 +0x1.61e6bp+2 +0x1.c4df2p-1 +-0x1.220b9p+2 +-0x1.e8606p-1 +-0x1.088fp-2 +-0x1.60c088p+1 +-0x1.246f6p+0 +0x1.beec58p+1 +-0x1.2f378ep+3 +-0x1.73fcecp+2 +0x1.aa9e9p+1 +0x1.be0e5p+0 +-0x1.9c044p+2 +0x1.6acfep+0 +0x1.3d186cp+3 +-0x1.56c794p+2 +0x1.5d28bp+0 +-0x1.3ecf6ep+2 +-0x1.544788p+1 +0x1.04e84cp+3 +0x1.b98acp+1 +-0x1.fcd732p+2 +0x1.88d4p-4 +-0x1.66db38p+2 +-0x1.75c86p+1 +-0x1.98e11cp+1 +-0x1.d0a148p+2 +-0x1.28b29p+0 +0x1.aeaadp+2 +-0x1.85a7ap+0 +0x1.1464a8p+2 +0x1.67b3e4p+2 +-0x1.e78f98p+1 +0x1.3500f4p+3 +-0x1.a988a8p+2 +0x1.18eacp+0 +-0x1.320d9ap+3 +-0x1.e82dp+0 +-0x1.7399f4p+2 +-0x1.0655cep+3 +-0x1.25452ep+2 +0x1.5033cp+1 +0x1.3af438p+2 +-0x1.3e4c5cp+1 +0x1.16817cp+3 +0x1.3f904p+3 +-0x1.c52d2p-1 +-0x1.f79264p+2 +0x1.e76c08p+2 +-0x1.1f9654p+3 +-0x1.8a9a8p-2 +0x1.c0f2ep+0 +0x1.3f8028p+3 +0x1.2cab4cp+3 +-0x1.916d2p+0 +0x1.0e1048p+2 +-0x1.3f642p+3 +-0x1.323ff2p+3 +0x1.316f54p+3 +-0x1.26cf36p+3 +-0x1.82d9p-1 +0x1.1927ecp+2 +0x1.2e4fap+3 +0x1.c07dap+2 +0x1.f9d1f8p+1 +0x1.2b41f8p+1 +0x1.36ffcp-1 +0x1.fb3918p+2 +0x1.b69bbp+2 +-0x1.b23c4p+0 +0x1.e5a1p+1 +-0x1.2a61bp+3 +0x1.a12a78p+2 +0x1.e0028p+1 +-0x1.31807p+2 +0x1.c497bp+0 +-0x1.e942ep+2 +-0x1.e8a212p+2 +0x1.405a8p-2 +0x1.66cc78p+1 +-0x1.e269b8p+2 +-0x1.dda24cp+2 +-0x1.a03c38p+2 +0x1.07beap+3 +0x1.a275a8p+2 +0x1.e07318p+2 +0x1.efb9p-4 +-0x1.77cacp+0 +0x1.21eep+2 +0x1.8dfa48p+2 +-0x1.469e48p+1 +0x1.53cfdp+1 +-0x1.04497ap+3 +-0x1.88448p-2 +0x1.0bd5cp+2 +-0x1.36b396p+3 +0x1.2b36bp+3 +0x1.485e1p+2 +-0x1.a75df4p+2 +0x1.0fb6ap-1 +0x1.f23f38p+2 +-0x1.a5142p+0 +0x1.b1bb58p+2 +-0x1.baf6c4p+2 +0x1.899fap+1 +0x1.478c2p+0 +0x1.9c7038p+2 +0x1.b124ep+2 +0x1.f52f9p+2 +0x1.5f53ep+2 +-0x1.3216bp+2 +-0x1.42299p+0 +-0x1.168c86p+3 +0x1.acc4b8p+1 +0x1.eb43dp+0 +-0x1.833634p+2 +-0x1.0618aep+3 +-0x1.ea518p-1 +0x1.3228cp-1 +-0x1.33cc6p+3 +0x1.34989cp+3 +0x1.695cd8p+2 +-0x1.d77e4p-2 +-0x1.44af48p+1 +0x1.b0caep+2 +-0x1.0682e2p+2 +0x1.35b1cp+0 +0x1.8f5ba8p+2 +-0x1.0f7982p+3 +0x1.c8b1dp+0 +0x1.02349cp+3 +0x1.335aa4p+3 +0x1.37cce8p+2 +0x1.d9535p+2 +0x1.fda8ep+0 +-0x1.de5548p+1 +0x1.b2d1cp+2 +0x1.941a1p+2 +0x1.49123p+2 +-0x1.3aead8p+2 +-0x1.a3c048p+2 +-0x1.edee4p+0 +0x1.f7a16p+0 +0x1.4c6ap-4 +0x1.1c3c08p+3 +-0x1.2653ap+0 +0x1.72ac9p+0 +-0x1.86fc6ap+2 +-0x1.768eap+2 +0x1.80c79p+2 +-0x1.4b5298p+2 +0x1.d275ap+2 +-0x1.c6a32p+1 +0x1.b5cb3p+1 +-0x1.b145eap+2 +0x1.989a4p+2 +-0x1.2ffcf2p+3 +0x1.1121ap+2 +0x1.7701d8p+2 +-0x1.630da8p+2 +0x1.96ef48p+1 +0x1.4d4p+0 +0x1.accc2p+0 +-0x1.0c878ap+3 +0x1.32cc08p+1 +-0x1.f0beccp+1 +0x1.1da6d8p+3 +-0x1.c0c39p+0 +0x1.769cc8p+2 +0x1.c6f23p+2 +0x1.887eep-1 +0x1.01b518p+3 +-0x1.2fd8p-1 +0x1.2a1edp+0 +0x1.16748p-3 +0x1.2206p+1 +-0x1.6b5fp+0 +-0x1.758afp+1 +-0x1.b0b91p+0 +-0x1.9ed6ap+2 +0x1.8f8b9p+1 +0x1.bd5f7p+2 +-0x1.ed26c8p+2 +-0x1.97877cp+2 +-0x1.bca62p+0 +-0x1.bdccp+1 +0x1.9cd6a8p+2 +0x1.6baffcp+2 +0x1.b0fa58p+1 +-0x1.918ffp+2 +-0x1.3cff8p-1 +0x1.0a7b38p+1 +0x1.b405b8p+1 +-0x1.8d398p+1 +0x1.10c7a8p+2 +-0x1.934b8ap+2 +-0x1.325bd8p+1 +-0x1.78b752p+2 +0x1.1c0cap+3 +-0x1.2a9b5ap+3 +-0x1.1d31fcp+3 +0x1.7cd988p+1 +0x1.7b3dp+1 +0x1.90bbf8p+2 +0x1.f452dp+2 +0x1.07682p+2 +-0x1.68dd5p+1 +0x1.60e78p-2 +0x1.5b1d1p+2 +0x1.f1b2b8p+2 +0x1.2612f4p+3 +-0x1.6b23cp+0 +0x1.8b93ep+2 +-0x1.e65766p+2 +-0x1.f3cdfcp+2 +-0x1.4e904cp+1 +0x1.480a9p+2 +-0x1.a9e6cp-1 +0x1.75331p+1 +-0x1.5636p-4 +0x1.5d1f14p+2 +-0x1.6298cp-1 +-0x1.c789f8p+2 +0x1.e029bp+2 +-0x1.42648p+0 +-0x1.0ef254p+1 +0x1.255ca8p+3 +0x1.71dbep-1 +-0x1.0d7af2p+3 +0x1.225424p+2 +-0x1.f80f36p+2 +-0x1.9558acp+2 +0x1.e8255p+1 +-0x1.23d4fp+1 +-0x1.b7e0d6p+2 +-0x1.b8f34cp+2 +-0x1.616aecp+1 +-0x1.d322p-2 +-0x1.e11ce8p+2 +0x1.5054bp+1 +-0x1.90690ap+2 +-0x1.90918p+2 +0x1.6731e8p+1 +-0x1.3331ep+0 +-0x1.6e0df4p+2 +0x1.c39bcp+2 +0x1.52b94p-1 +-0x1.fd3a3cp+2 +-0x1.363716p+3 +0x1.f2c15p+2 +-0x1.2e2386p+3 +0x1.e117f8p+2 +-0x1.8425a4p+1 +0x1.9f254p+2 +-0x1.388186p+2 +0x1.03d734p+3 +0x1.53c75p+1 +-0x1.c410b8p+2 +-0x1.22f23p+2 +0x1.52ad1p+2 +-0x1.19451p+2 +-0x1.fffd6p+2 +0x1.14748p+1 +-0x1.a1e16ap+2 +0x1.00f418p+3 +-0x1.96472p-1 +-0x1.d84888p+2 +0x1.ef03d8p+2 +0x1.e73f98p+2 +-0x1.ce00dcp+2 +0x1.4c06bcp+2 +-0x1.26ed7cp+3 +0x1.2d5e04p+2 +0x1.ba3778p+1 +0x1.a8a95p+1 +-0x1.11d17p+0 +-0x1.b917a4p+2 +-0x1.dd4a04p+1 +-0x1.1c49bcp+1 +-0x1.c31c9p+1 +-0x1.116ad4p+2 +0x1.2256ccp+2 +0x1.a83718p+2 +0x1.b798cp+1 +0x1.308dc4p+3 +0x1.7344p-5 +-0x1.01819cp+2 +0x1.72eabp+1 +-0x1.ee2716p+2 +-0x1.043e3p+2 +-0x1.c69e28p+2 +0x1.a21748p+2 +0x1.878508p+2 +-0x1.02818ap+3 +-0x1.796c8p+0 +-0x1.7e477p+1 +0x1.19c96p+3 +0x1.200178p+2 +0x1.264c18p+3 +-0x1.ce8e58p+1 +0x1.c16d3p+2 +-0x1.834f8cp+1 +-0x1.61ebep+1 +0x1.7bb7e4p+2 +-0x1.be58e2p+2 +-0x1.3e440ep+2 +-0x1.6112p+2 +0x1.644458p+1 +0x1.8ad538p+2 +0x1.d47f98p+2 +-0x1.2cc444p+3 +-0x1.8612ecp+1 +0x1.16e04p+3 +0x1.359da8p+2 +-0x1.015294p+2 +0x1.bfd218p+2 +0x1.df501p+0 +-0x1.e33d9ep+2 +0x1.049becp+3 +-0x1.0d230cp+2 +0x1.365be8p+1 +0x1.40df4p+2 +0x1.30aa3cp+2 +-0x1.342e5cp+1 +-0x1.474cbp+0 +0x1.2c52b8p+3 +-0x1.6fcf4ap+2 +0x1.722b74p+2 +-0x1.58ff38p+1 +0x1.cedd2p+1 +0x1.38a93p+0 +0x1.199dc4p+2 +-0x1.8b5ap+0 +-0x1.b726bcp+2 +0x1.44e318p+2 +0x1.9bc4c8p+2 +-0x1.b20ce2p+2 +0x1.5e468p-3 +-0x1.246bfcp+2 +0x1.3ba97p+1 +0x1.31c7f8p+2 +-0x1.f0e58p-1 +-0x1.4933bp+2 +-0x1.feb4bep+2 +-0x1.1d79fcp+2 +0x1.1bec6cp+3 +0x1.94fc6p+0 +0x1.5eb1bp+1 +-0x1.08372p+0 +0x1.c83158p+2 +-0x1.ac1d7p+0 +0x1.46e94cp+2 +-0x1.19f102p+3 +0x1.f5a2ap+2 +-0x1.a34b7p+0 +0x1.c4f9cp-1 +0x1.0d4ap+3 +-0x1.2773cp-1 +0x1.284f38p+2 +0x1.a81b2p+0 +0x1.f19ccp+2 +0x1.4d174p-1 +0x1.90f6ap+2 +0x1.1d3c4p+1 +-0x1.b2b688p+2 +-0x1.116b5ep+3 +-0x1.c283p+0 +0x1.3def4p+1 +0x1.a33d9p+0 +-0x1.9324c8p+1 +0x1.4d552p-1 +-0x1.3639cp-2 +-0x1.92f874p+2 +0x1.b820ap+2 +-0x1.88de4p+1 +-0x1.775be8p+2 +-0x1.4bbb4p+0 +-0x1.f555cp-1 +-0x1.7b4bp-4 +-0x1.dd713p+0 +0x1.a0b07p+2 +0x1.33ff7p+3 +-0x1.138fb4p+2 +0x1.bc9528p+1 +0x1.cba5p+1 +-0x1.492a2p-1 +0x1.2d62dp+1 +-0x1.bd397cp+1 +0x1.644eap+1 +0x1.09f864p+3 +0x1.51477p+1 +0x1.4cef7p+1 +-0x1.dfe5d2p+2 +-0x1.d510b8p+1 +0x1.e3e6d8p+2 +-0x1.10f8a8p+1 +0x1.47178p+0 +0x1.489b8p+1 +0x1.60d24p+1 +-0x1.f3f8f8p+2 +0x1.667ffp+2 +0x1.508d5p+1 +-0x1.550ep-2 +0x1.0d3934p+3 +-0x1.7c708p+1 +0x1.3dbb8cp+3 +-0x1.1e3ep+2 +0x1.7008bp+1 +-0x1.01a16cp+3 +0x1.c95368p+2 +0x1.362ff4p+2 +-0x1.37521ap+3 +0x1.b4e0cp+1 +-0x1.b350f4p+1 +0x1.4c2214p+2 +0x1.d73d6p+1 +-0x1.ab4p-9 +0x1.52b124p+2 +-0x1.ee10b4p+2 +-0x1.b06658p+1 +0x1.52f1dp+1 +-0x1.6fef52p+2 +-0x1.115f38p+1 +0x1.2da064p+3 +0x1.6547e4p+2 +-0x1.d961p-2 +0x1.120f48p+3 +-0x1.a105c8p+1 +0x1.f784p-3 +-0x1.f5fda4p+2 +0x1.1ffb8cp+3 +-0x1.7c6e7cp+1 +0x1.09d0bp+3 +0x1.2b5124p+2 +-0x1.109494p+3 +-0x1.d175ap-1 +-0x1.33c26cp+3 +-0x1.93ce58p+2 +0x1.a8b54p+0 +-0x1.1ee6aep+3 +-0x1.e84a62p+2 +-0x1.5b8cep+1 +-0x1.f2b44p-1 +0x1.06fedcp+3 +-0x1.278f28p+3 +-0x1.c6f2fp+0 +-0x1.959d9p+0 +0x1.a8debp+2 +-0x1.8d3bp+0 +0x1.a5a6ap+2 +-0x1.1f4208p+1 +-0x1.d9837p+0 +-0x1.1d0dd6p+3 +0x1.14248p+1 +-0x1.9db16p+2 +-0x1.66e14ap+2 +0x1.0b0f8cp+3 +0x1.32106cp+3 +-0x1.33aa18p+3 +0x1.1f8a1p+3 +0x1.3b69ccp+2 +0x1.77aecp-2 +-0x1.1c728p+1 +0x1.37aa88p+3 +0x1.ad1dfp+1 +0x1.7d2dd8p+2 +-0x1.9e7cp-4 +-0x1.23c4e4p+3 +-0x1.dd0764p+2 +0x1.ff8bc8p+2 +-0x1.dc452cp+2 +-0x1.91e9eap+2 +0x1.46464p-1 +-0x1.c79134p+2 +0x1.10e544p+3 +0x1.29bfbcp+3 +0x1.2108a8p+2 +-0x1.35a09ep+2 +0x1.1d7fc4p+3 +0x1.3517a8p+3 +0x1.5ebc78p+1 +0x1.c6278p-2 +0x1.327d84p+3 +0x1.5b71e8p+1 +0x1.30557p+1 +0x1.6ef38cp+2 +-0x1.1d59e8p+3 +-0x1.e7fdf8p+1 +0x1.6dcecp+0 +-0x1.09e93p+0 +0x1.234688p+1 +0x1.1a250cp+3 +-0x1.61cf36p+2 +-0x1.585b5ep+2 +0x1.0cc8bp+1 +0x1.053cep+0 +-0x1.11ae4cp+3 +-0x1.8ad9b8p+2 +-0x1.8974p-2 +-0x1.1fb4e4p+1 +0x1.f13ap-1 +0x1.fc7d48p+1 +0x1.1e1a88p+2 +-0x1.242faap+3 +0x1.e6e32p+1 +0x1.6fe8d8p+1 +0x1.7c6decp+2 +0x1.168b8p+1 +0x1.a9fbd8p+2 +0x1.95631p+0 +-0x1.2553aep+3 +-0x1.d5a37p+1 +0x1.1d5a4p+3 +0x1.175248p+2 +-0x1.45f2cep+2 +-0x1.cab148p+1 +0x1.1bb33p+1 +-0x1.f22384p+2 +-0x1.8c7e8p+0 +-0x1.9aed3p+2 +-0x1.15850cp+3 +0x1.d5da9p+1 +0x1.bb96cp+0 +-0x1.14f216p+2 +0x1.fbfc78p+2 +0x1.0455dcp+2 +0x1.37a27p+0 +-0x1.5f40f8p+2 +-0x1.90fb18p+2 +0x1.dc8408p+2 +0x1.61c4p+1 +0x1.79e7c8p+1 +-0x1.528686p+2 +-0x1.8269ccp+1 +-0x1.2b8aa4p+3 +0x1.f30bp-2 +0x1.0d218p-2 +0x1.eaa3b8p+1 +-0x1.8ad12ap+2 +-0x1.f891bp+1 +-0x1.65a3cp+0 +0x1.648dep+1 +-0x1.1d5d0ep+3 +0x1.76ca2p+2 +0x1.b83b58p+2 +0x1.2d558cp+3 +-0x1.b28df4p+2 +0x1.efe9fp+1 +0x1.33c6bp+1 +0x1.0364p+3 +0x1.a50dp+2 +-0x1.ccbb9p+2 +-0x1.8aebf2p+2 +-0x1.3ae3ep+2 +-0x1.72bcfcp+1 +0x1.0b4b68p+3 +0x1.36f434p+3 +0x1.2df6p+3 +-0x1.359d8cp+3 +-0x1.144c3cp+2 +0x1.e7716p+2 +-0x1.24a3eep+3 +0x1.0ccc44p+3 +0x1.94ab7p+2 +-0x1.29d6f8p+3 +0x1.3cc03p+2 +-0x1.b53c5cp+2 +-0x1.c9ba18p+1 +-0x1.aa3f4cp+2 +-0x1.178a6cp+3 +0x1.66c44p+1 +0x1.184658p+3 +-0x1.6fb14p-1 +-0x1.bb6014p+2 +-0x1.0239ep+2 +0x1.63a68p-1 +0x1.45ac28p+1 +0x1.e0abp+2 +0x1.39db28p+3 +0x1.6af93p+0 +0x1.f59a8p-3 +-0x1.1f1938p+3 +0x1.21c6cp+1 +-0x1.dbdfd8p+1 +0x1.47a4ep+1 +0x1.a7059p+2 +0x1.47538p+0 +0x1.6d2b4p+2 +0x1.345928p+1 +0x1.1cb7bcp+2 +0x1.098314p+3 +-0x1.fd15f8p+2 +-0x1.d6fe8ep+2 +-0x1.52898ap+2 +0x1.563054p+2 +-0x1.0b2d62p+3 +0x1.521cp+2 +-0x1.f95e0cp+2 +-0x1.267804p+3 +-0x1.ad06ccp+1 +-0x1.217c5ep+3 +0x1.6603ap+2 +0x1.70444p+1 +-0x1.0b9aeep+3 +0x1.e81658p+2 +0x1.2b568p+0 +-0x1.e683p-4 +-0x1.1f2182p+3 +0x1.af62d8p+2 +0x1.2ab84p-2 +0x1.3847dp+3 +-0x1.f6fefp+0 +0x1.6c5014p+2 +-0x1.1a1304p+3 +-0x1.898218p+1 +-0x1.161b2p-1 +0x1.d0c38p+1 +-0x1.c1f858p+2 +-0x1.72eb02p+2 +0x1.22896p+1 +0x1.2f556p+3 +-0x1.412f42p+2 +-0x1.2a0d76p+3 +0x1.2f5d94p+3 +-0x1.a9e6fp+0 +0x1.812a48p+2 +-0x1.1ad836p+3 +-0x1.45562p+0 +0x1.d9db2p+1 +0x1.bedffp+0 +0x1.b192ap+0 +0x1.c9f9ap+1 +-0x1.e134c4p+2 +-0x1.3dd2a8p+3 +-0x1.a599ap-1 +0x1.9c3dep+2 +-0x1.ad28bp+2 +0x1.96776p+1 +0x1.3e1d5cp+3 +-0x1.33477ap+2 +-0x1.9bfafp+1 +-0x1.257608p+1 +0x1.ed80bp+1 +0x1.9b445p+0 +-0x1.47654p+2 +-0x1.3bcaacp+1 +-0x1.f6cc7p+0 +0x1.1d7864p+2 +-0x1.26bd3cp+2 +0x1.1842fp+2 +-0x1.b992ap-1 +-0x1.9dec4cp+1 +0x1.c3a818p+1 +0x1.2eb1f8p+1 +0x1.496cf8p+1 +-0x1.e6cap+0 +0x1.7b65f4p+2 +-0x1.0e0aeep+2 +-0x1.87b302p+2 +0x1.89fbb8p+1 +0x1.14e194p+2 +0x1.87d36p+2 +-0x1.24b8e4p+3 +-0x1.b32962p+2 +-0x1.fcfb18p+2 +-0x1.4f84p-2 +0x1.e3322p-1 +-0x1.908edcp+2 +0x1.8d561p+0 +0x1.843688p+1 +0x1.3d69d8p+2 +-0x1.7b8edp+2 +-0x1.816df8p+2 +-0x1.9343p-4 +0x1.109e28p+1 +-0x1.8e9e2ap+2 +-0x1.dede9p+2 +-0x1.9cd8cp+2 +0x1.937488p+2 +-0x1.76414cp+2 +-0x1.25c03p+1 +-0x1.21223ep+3 +0x1.aee6e8p+1 +-0x1.76f54cp+1 +-0x1.1d0746p+3 +-0x1.670708p+2 +-0x1.29b98cp+3 +-0x1.1eb9e6p+3 +-0x1.94828p-2 +-0x1.ed436p+1 +-0x1.0668bp+3 +0x1.908f8p+1 +-0x1.c71d7p+2 +-0x1.dc88a6p+2 +-0x1.71cc12p+2 +-0x1.4bbcacp+2 +-0x1.c4089cp+1 +0x1.17bf98p+3 +0x1.12da94p+2 +0x1.293a88p+3 +-0x1.c16b9ap+2 +-0x1.ce6p-6 +0x1.1ec69p+3 +0x1.4eae2p-1 +-0x1.5c752p-1 +-0x1.281b28p+3 +0x1.bc9a68p+2 +-0x1.7dd018p+2 +-0x1.bfbfep+1 +0x1.122638p+2 +0x1.12fc2p+0 +0x1.57f5cp+2 +-0x1.a40ca8p+1 +-0x1.fef8ecp+2 +-0x1.2b65c8p+2 +-0x1.3646ap+0 +-0x1.24375ep+3 +0x1.107bbcp+3 +-0x1.10afep+0 +0x1.25bde8p+3 +-0x1.45eca2p+2 +-0x1.3c574ep+3 +0x1.f1934p+2 +-0x1.ce029p+2 +-0x1.7668b4p+2 +-0x1.797526p+2 +-0x1.2172dp+3 +-0x1.ff7b28p+1 +-0x1.328b9p+3 +-0x1.27312cp+3 +-0x1.3658bap+3 +-0x1.3e349p+0 +0x1.e7ff8p-2 +0x1.bcba58p+2 +0x1.399e58p+2 +-0x1.a1c918p+2 +-0x1.1dbc04p+2 +-0x1.07ef8ep+3 +-0x1.578448p+2 +-0x1.cb33ap+0 +0x1.b8b66p-1 +-0x1.1949d4p+3 +-0x1.1bc50cp+3 +-0x1.78828cp+2 +-0x1.9ae3cp+0 +-0x1.f5b67p+2 +-0x1.bc21bp+1 +-0x1.0f453ap+3 +-0x1.d6164p+1 +-0x1.172272p+2 +-0x1.2b425p+0 +0x1.156ef4p+3 +-0x1.16b242p+2 +0x1.2e8224p+3 +-0x1.1803ccp+3 +0x1.57d6ap+0 +0x1.f4e658p+2 +0x1.0b9f8cp+3 +0x1.48fa5cp+2 +0x1.d5964p+0 +-0x1.c0b4fcp+1 +0x1.119da8p+3 +-0x1.349c7ep+2 +-0x1.7b0062p+2 +0x1.c48d8p+2 +-0x1.2b5cdp+1 +-0x1.c1c166p+2 +-0x1.ba6dacp+2 +0x1.f11548p+1 +0x1.e48c8p-1 +0x1.c28168p+2 +-0x1.341af8p+3 +0x1.f1ce8p+0 +0x1.8f12cp+2 +-0x1.6321bcp+2 +-0x1.ef738p+2 +-0x1.d87dfap+2 +-0x1.020bcp+1 +0x1.2f5768p+3 +0x1.502768p+2 +0x1.b55cd8p+1 +0x1.18b95p+3 +0x1.14b3b8p+3 +0x1.f861p-2 +-0x1.3307ep+0 +0x1.0b156cp+3 +-0x1.00ea8p+3 +-0x1.3cabf4p+2 +0x1.432bp+1 +0x1.200904p+2 +-0x1.0b25fp+3 +-0x1.01be84p+1 +0x1.981448p+1 +-0x1.0b820ap+2 +0x1.fd42p+0 +0x1.9ae42p-1 +-0x1.1a03eep+2 +-0x1.2e88ecp+3 +-0x1.913386p+2 +-0x1.2e6a76p+3 +0x1.1b3b0cp+2 +0x1.3a5a8cp+3 +-0x1.bfec3p+2 +0x1.506dcp+1 +0x1.1c9d6cp+2 +-0x1.890e28p+1 +0x1.21d6dp+0 +0x1.09e42p+0 +0x1.eeb18p+2 +-0x1.7da84p+0 +-0x1.a1e81p+1 +-0x1.416cdap+2 +-0x1.00fc3cp+3 +0x1.ead0fp+2 +0x1.865768p+2 +-0x1.50106p+0 +-0x1.89f6fp+1 +-0x1.70c54ep+2 +0x1.13a088p+3 +-0x1.c473a2p+2 +0x1.90a388p+2 +-0x1.3a8f4ep+3 +0x1.5db1bcp+2 +-0x1.a059e8p+2 +0x1.57516p+2 +0x1.a935p-3 +-0x1.edbdp-4 +0x1.7aecfp+0 +-0x1.6acaa4p+2 +0x1.d359ep+2 +-0x1.13f112p+3 +-0x1.3537e4p+3 +0x1.2f3bc8p+3 +0x1.14ac08p+3 +-0x1.ba7704p+1 +-0x1.2a089ep+3 +0x1.a4e6ap+1 +-0x1.1c737p+0 +0x1.055608p+1 +-0x1.ae3b1p+2 +-0x1.da0d28p+1 +0x1.87b3cp+1 +0x1.42b76p+2 +-0x1.7f7e5p+2 +0x1.8d17cp-1 +0x1.8cd688p+2 +0x1.e29458p+2 +0x1.1875d4p+3 +0x1.cb01bp+2 +-0x1.2e804cp+1 +-0x1.e67ceep+2 +0x1.9c3a98p+2 +-0x1.8f73a8p+1 +0x1.377f6p+3 +-0x1.2ed8cp+3 +-0x1.1067f6p+3 +-0x1.583b08p+2 +0x1.d94d98p+2 +0x1.be9c38p+2 +-0x1.a4deep+2 +-0x1.824b5p+0 +0x1.20f1c8p+2 +0x1.82f94p-2 +-0x1.86be9cp+2 +-0x1.854fap-1 +-0x1.025af2p+2 +-0x1.bc52cp+2 +0x1.ea108p+0 +-0x1.d942dcp+2 +0x1.8887bp+1 +0x1.18f7f8p+2 +-0x1.20c55cp+3 +-0x1.a40fcp+2 +-0x1.62564p+0 +0x1.0bfaap+3 +0x1.a5a768p+2 +0x1.b73f78p+2 +-0x1.4b73p-2 +-0x1.af60a4p+2 +-0x1.9976ap+0 +-0x1.3416cp+2 +0x1.279838p+2 +0x1.830acp+0 +0x1.0fcfb8p+3 +0x1.78560cp+2 +-0x1.f5406p+0 +0x1.a49088p+2 +-0x1.e35a8cp+2 +-0x1.8154d4p+2 +0x1.07fbb4p+3 +0x1.25178p+3 +0x1.18f918p+1 +-0x1.3a5cf8p+1 +0x1.8126cp-1 +0x1.abc1bp+2 +-0x1.979628p+1 +0x1.0314p-4 +0x1.1519fp+3 +-0x1.4adeap+0 +0x1.60a2p-2 +-0x1.f20b5p+0 +0x1.1bc33p+2 +-0x1.415294p+2 +-0x1.43f412p+2 +0x1.16b158p+2 +0x1.48793cp+2 +0x1.1978cp+2 +-0x1.e00ccp-1 +-0x1.44a26ap+2 +0x1.32045cp+3 +-0x1.346478p+3 +-0x1.8b4b18p+2 +-0x1.8397ap+0 +0x1.2c908p+3 +0x1.03a24cp+3 +-0x1.0d71p-1 +0x1.3b1f3p+1 +-0x1.50c64ap+2 +-0x1.0d75f4p+3 +-0x1.f504c8p+1 +0x1.3e9e54p+3 +-0x1.08b562p+3 +0x1.2955c8p+2 +0x1.3d574p+3 +0x1.7a30cp+1 +0x1.c8607p+2 +0x1.57f72p+1 +-0x1.57cb8cp+2 +0x1.8e9d98p+1 +0x1.38e20cp+3 +0x1.2aa8cp-1 +-0x1.e54432p+2 +-0x1.71ca56p+2 +0x1.8a5d8p+2 +0x1.d8d89p+2 +-0x1.9f07bcp+1 +0x1.142ca4p+3 +0x1.4f6758p+2 +0x1.65becp+0 +0x1.d3e4p-2 +-0x1.a86f64p+2 +-0x1.00ff92p+2 +-0x1.dac0cp+0 +-0x1.e48becp+2 +-0x1.5ab58ep+2 +0x1.8df7ep+1 +0x1.407454p+2 +-0x1.0fe658p+3 +-0x1.008fd4p+1 +0x1.5dda98p+2 +0x1.0b2bp+0 +0x1.2923f4p+3 +-0x1.1e6f9p+1 +-0x1.ea766p+0 +-0x1.6e9256p+2 +0x1.b935ep-1 +-0x1.b337ep-1 +-0x1.12a68ep+2 +0x1.67bb4p+0 +-0x1.8b5b54p+2 +0x1.e842cp+1 +-0x1.1263cep+3 +0x1.3e9458p+3 +0x1.0c6e4p+3 +0x1.04827p+3 +-0x1.bb8afcp+2 +0x1.9aa988p+1 +0x1.ca1178p+2 +0x1.82278p-2 +0x1.0f0d48p+2 +-0x1.0967ep+0 +-0x1.0ffe8cp+1 +0x1.12456cp+3 +-0x1.0ab848p+3 +0x1.117fd8p+2 +-0x1.c65ep+0 +-0x1.198b4ep+2 +-0x1.325088p+3 +-0x1.5309e8p+2 +-0x1.25f3d8p+3 +-0x1.096028p+2 +0x1.199918p+3 +-0x1.18b308p+3 +0x1.9dcc58p+1 +-0x1.063fbp+3 +-0x1.fea5f4p+1 +0x1.2c5bdp+2 +-0x1.2c00e8p+2 +-0x1.c45dep+0 +0x1.d563e8p+2 +-0x1.985914p+2 +0x1.faa8b8p+2 +-0x1.b628p-4 +-0x1.076134p+3 +-0x1.f82824p+2 +0x1.c4234p-2 +-0x1.2ea26ep+3 +0x1.127ac8p+3 +0x1.ae4d28p+2 +0x1.d91edp+0 +0x1.3e5bp+3 +0x1.2c3e04p+3 +0x1.b2edb8p+1 +-0x1.aa8fc8p+2 +-0x1.c3d78p+1 +-0x1.10c72ep+3 +-0x1.f8672p+2 +-0x1.0e1ceep+3 +-0x1.de4ff8p+1 +0x1.90f7ap+1 +-0x1.1eff1p+2 +-0x1.0bf1dep+3 +0x1.48fe28p+1 +0x1.68397p+1 +0x1.d94c2p+2 +0x1.713a4p+2 +0x1.72913p+2 +-0x1.fff96p-1 +0x1.2a50ecp+3 +-0x1.de9908p+1 +0x1.02b848p+3 +-0x1.18cbd4p+3 +-0x1.919acp-2 +0x1.582b88p+1 +0x1.57320cp+2 +0x1.2604d8p+2 +-0x1.133724p+3 +-0x1.37115ep+3 +-0x1.0ccdaap+3 +-0x1.80af6p-1 +-0x1.174d28p+1 +0x1.959c38p+1 +0x1.e6612p+0 +0x1.c7f16p-1 +0x1.8ae04p+1 +0x1.83bdcp-1 +0x1.32df8cp+3 +-0x1.c52428p+2 +-0x1.0cd7e4p+2 +-0x1.aff3ep+2 +0x1.246048p+2 +-0x1.3140a4p+3 +-0x1.9c6fbp+2 +-0x1.d98172p+2 +-0x1.11c1d6p+3 +-0x1.3355dep+3 +-0x1.00db98p+1 +-0x1.42fcc8p+1 +0x1.e69318p+2 +-0x1.4940e6p+2 +-0x1.8be2fp+2 +0x1.2444f8p+1 +-0x1.099c6ap+3 +0x1.e13828p+2 +-0x1.23cbbcp+3 +-0x1.1607bp+1 +-0x1.c9b8bp+1 +-0x1.bf7cap+1 +-0x1.36ca8p-3 +-0x1.2dcc62p+3 +0x1.d4d65p+2 +-0x1.35e29p+3 +0x1.5ed65p+2 +-0x1.c75c8p-3 +0x1.7e17ap+0 +-0x1.4a7d78p+1 +0x1.7175a8p+2 +0x1.7474b8p+1 +-0x1.35decp+0 +-0x1.04d83p+2 +0x1.0b4834p+2 +-0x1.2a0434p+1 +0x1.6ddcdp+2 +-0x1.1ea2fap+2 +0x1.2269bcp+3 +0x1.111cf8p+3 +0x1.f34a98p+1 +-0x1.600dcep+2 +-0x1.cbd89p+0 +0x1.20b18p-3 +-0x1.03b0a8p+3 +-0x1.afc1e8p+2 +0x1.f50038p+2 +-0x1.853b8p+2 +-0x1.d358bp+0 +0x1.acff6p+2 +0x1.09b9a4p+3 +0x1.0a19cp+0 +-0x1.17cf84p+3 +0x1.5150ep+2 +0x1.a0fad8p+2 +0x1.91ep-1 +0x1.e8b398p+2 +0x1.e74bd8p+1 +0x1.39afbp+1 +-0x1.8c3cfp+1 +-0x1.02aa02p+2 +-0x1.9083cp+1 +-0x1.d3262p+0 +-0x1.000cp+3 +-0x1.73af82p+2 +0x1.3697ep+1 +0x1.784p-9 +-0x1.37f958p+1 +0x1.7f15f8p+1 +-0x1.16d4fap+3 +-0x1.3add58p+2 +0x1.2fef5cp+3 +0x1.56d9cp-1 +-0x1.da18dp+1 +0x1.08a42p+0 +-0x1.8ed93p+0 +0x1.dc318p-2 +-0x1.513c2p+0 +0x1.078f8p-2 +-0x1.5d4124p+1 +-0x1.dee91cp+1 +-0x1.287404p+1 +-0x1.42aadp+1 +-0x1.76044cp+1 +0x1.b03d3p+2 +-0x1.475d2cp+2 +-0x1.2f5b3p+0 +-0x1.4a8404p+1 +0x1.d24c48p+2 +0x1.53e648p+2 +-0x1.c526bp+2 +0x1.5b4aap+1 +-0x1.371ae2p+2 +0x1.1fd34p-1 +-0x1.801808p+1 +0x1.a5e98p-3 +0x1.5b2eap+1 +0x1.3394bp+3 +0x1.22129cp+3 +0x1.9061ep+1 +0x1.d1cd4p+1 +0x1.a3c29p+2 +-0x1.21843p+0 +0x1.a3856p+2 +-0x1.7e151p+0 +-0x1.16fa9cp+1 +-0x1.a0816p+2 +0x1.082adp+3 +0x1.d0338p+1 +0x1.3ec5f4p+2 +0x1.1c116p+0 +0x1.2452ep+1 +0x1.bf731p+2 +0x1.7deedp+1 +0x1.ef0cc8p+1 +-0x1.2a197ap+3 +-0x1.1b0254p+3 +0x1.4f4e8p+0 +-0x1.a8c628p+2 +-0x1.8cf61ep+2 +-0x1.c25e3p+2 +-0x1.02cd78p+3 +0x1.620c3p+2 +-0x1.21f72p+2 +-0x1.939e16p+2 +-0x1.e9eac8p+2 +0x1.e32a8p+2 +-0x1.be12cap+2 +0x1.6dd95p+1 +-0x1.205ecp+1 +-0x1.2448cp+1 +-0x1.0f4f5p+1 +0x1.e25028p+2 +-0x1.39ddf2p+3 +0x1.607898p+2 +0x1.0e3be8p+3 +0x1.69ae88p+2 +-0x1.6ccb48p+1 +0x1.edcaap-1 +-0x1.e2172p+0 +0x1.2a266p+1 +0x1.235ee8p+1 +-0x1.b16bcp+0 +0x1.341cd8p+3 +0x1.21a9d8p+3 +-0x1.e078b6p+2 +0x1.3e60b8p+2 +0x1.0731p+2 +-0x1.4937ecp+1 +0x1.be92f8p+2 +-0x1.003ba4p+3 +-0x1.19ce6ep+3 +-0x1.2858b4p+3 +0x1.2b8c98p+3 +-0x1.17e74p-1 +0x1.0d7f6p-1 +-0x1.f81f9p+0 +-0x1.340ff2p+2 +-0x1.1f121ap+3 +-0x1.64d958p+2 +0x1.6976d8p+1 +-0x1.a2263ep+2 +0x1.88d7cp+2 +0x1.9d4168p+2 +-0x1.1c4feap+2 +0x1.2b7b9p+3 +0x1.0ef6bp+3 +0x1.92d8p-3 +-0x1.83bb5cp+2 +0x1.e8aacp+0 +-0x1.59666p+1 +-0x1.829f5p+2 +0x1.a80d6p+1 +-0x1.0b94ep+0 +-0x1.189c9ap+3 +-0x1.1113aep+3 +0x1.c559cp-2 +0x1.34c9ap+0 +-0x1.25f59ap+3 +-0x1.25b82p-1 +0x1.0dd83p+1 +-0x1.f9c09p+0 +0x1.23b93p+0 +-0x1.e1bd64p+2 +-0x1.abddp-1 +-0x1.e0e4ecp+1 +-0x1.26022p+0 +0x1.cd5a8p-2 +-0x1.34366p+0 +0x1.04f8p-2 +-0x1.d54c2cp+1 +0x1.486a6p+0 +0x1.fa0718p+2 +-0x1.0b422p+0 +0x1.a90e1p+0 +0x1.2c8528p+2 +-0x1.7bf87cp+2 +0x1.6dce2p-1 +-0x1.1582acp+3 +-0x1.4fbcbp+1 +0x1.c78978p+2 +0x1.2eeddp+3 +0x1.99af9p+1 +-0x1.f0627p+0 +0x1.337c54p+2 +-0x1.974708p+1 +0x1.1e598p-3 +-0x1.0b082p+2 +-0x1.274a56p+2 +0x1.65c7cp+1 +-0x1.46f178p+1 +-0x1.c148eep+2 +0x1.709acp+2 +0x1.f8d38p-2 +0x1.a42e3p+2 +-0x1.335252p+3 +0x1.be91fp+2 +-0x1.4c2afp+0 +0x1.14af18p+1 +0x1.ed7b4p+2 +0x1.2e47b8p+3 +-0x1.175cp-5 +0x1.bad278p+2 +-0x1.f5586p+2 +0x1.ec4688p+2 +0x1.4a031p+2 +0x1.c1532p+0 +-0x1.19bd1ap+3 +-0x1.96183p+2 +0x1.d60ae8p+1 +0x1.76d308p+1 +0x1.24f5b4p+3 +0x1.4bf288p+2 +0x1.730b78p+1 +0x1.31787cp+3 +-0x1.310b22p+3 +-0x1.6bc0dp+1 +-0x1.a33d58p+2 +0x1.2dc418p+2 +0x1.a65dp+2 +-0x1.9f4684p+2 +-0x1.3fa968p+1 +0x1.e985fp+2 +-0x1.f8e9p+2 +-0x1.4d0f1ep+2 +-0x1.69dbp+0 +-0x1.5d8e8p+1 +0x1.7a2b3p+1 +-0x1.180c4p+3 +0x1.eb313p+2 +-0x1.eec64cp+2 +0x1.2264p-2 +0x1.dd0bcp+2 +0x1.35012p+3 +0x1.a82528p+2 +0x1.a66a58p+2 +0x1.4a4c6p+0 +0x1.264638p+2 +-0x1.9858p-1 +0x1.2dfc7p+1 +-0x1.eecab2p+2 +-0x1.2a9294p+2 +0x1.1f5708p+3 +0x1.e05db8p+2 +0x1.dfa6ep+2 +-0x1.56fb2cp+2 +0x1.d546p+0 +-0x1.d63f48p+1 +0x1.3018d4p+3 +-0x1.faabcp-1 +0x1.2cdp-1 +-0x1.3ca764p+3 +-0x1.3f0d7ep+3 +-0x1.20d378p+3 +0x1.13ef8p+2 +0x1.441ccp+0 +0x1.043d28p+2 +0x1.f8e678p+2 +-0x1.9ba92p-1 +0x1.b2c02p+1 +0x1.2a9c14p+2 +-0x1.19841cp+3 +-0x1.d3f414p+2 +0x1.5b36b4p+2 +0x1.241f48p+1 +-0x1.e9e638p+2 +0x1.e91e08p+2 +-0x1.d7a2cp+2 +0x1.ca983p+1 +-0x1.2de4e4p+3 +-0x1.cc216p+0 +0x1.965acp+2 +-0x1.3b2354p+3 +0x1.a12c4p+1 +0x1.b53ffp+2 +-0x1.264582p+3 +0x1.0cfe18p+2 +0x1.3b87ccp+3 +-0x1.859ccap+2 +0x1.9b1cbp+0 +-0x1.969ce2p+2 +0x1.2d851p+1 +0x1.ddc13p+2 +0x1.da2f6p+1 +-0x1.772a5p+1 +0x1.a177cp+1 +0x1.e867dp+1 +-0x1.3a278p+0 +-0x1.b509e4p+1 +0x1.e51cdp+2 +-0x1.05692ep+3 +0x1.296bcp+2 +-0x1.395934p+3 +-0x1.c31c9p+2 +0x1.c994fp+2 +0x1.d85d7p+2 +-0x1.148dccp+3 +0x1.a62658p+2 +0x1.aee4f8p+2 +0x1.7a68fcp+2 +0x1.8f4b8p-1 +-0x1.2bfad2p+3 +-0x1.1d4e84p+3 +0x1.728b28p+2 +0x1.202ca4p+2 +-0x1.7cc66p+0 +0x1.f2c5ap+0 +0x1.8e499p+0 +-0x1.7ef28p-3 +-0x1.e805d8p+2 +-0x1.f18d8p-2 +-0x1.381e5p+1 +-0x1.454728p+1 +0x1.89478p+2 +0x1.9f81a8p+1 +0x1.cdf9ap+0 +-0x1.3ed574p+2 +0x1.ba13a8p+2 +0x1.335b78p+3 +-0x1.f63c4p-1 +-0x1.618ca8p+1 +0x1.c4d2cp+0 +0x1.3c2828p+3 +0x1.146a78p+1 +0x1.9a1df8p+2 +0x1.ebe1p+2 +0x1.423e38p+1 +-0x1.7842bp+0 +0x1.93094p+2 +-0x1.c0727cp+2 +0x1.2722cp-2 +0x1.755a7p+2 +-0x1.e94p+0 +-0x1.362edp+1 +0x1.1321cp+0 +-0x1.f6359p+0 +-0x1.afe678p+2 +-0x1.f851ap+1 +0x1.684bb8p+2 +-0x1.04c7ap-1 +-0x1.f8849p+2 +-0x1.2ae7d4p+3 +-0x1.6402c2p+2 +-0x1.2d63fp+1 +-0x1.ca9ffp+1 +-0x1.405f2p+2 +0x1.10e8p+2 +-0x1.1c60e2p+3 +0x1.11c074p+2 +-0x1.09cc9ep+2 +-0x1.3f5486p+2 +0x1.67ce6p+2 +-0x1.75ac8p+2 +0x1.9f448p-2 +-0x1.082d46p+3 +-0x1.deb8f4p+1 +-0x1.257604p+3 +-0x1.2c7544p+3 +0x1.e47d8p+1 +-0x1.8034ap+0 +-0x1.0348bp+1 +0x1.770908p+2 +-0x1.279836p+3 +0x1.13da7p+1 +0x1.3c566p-1 +0x1.cc228p-2 +-0x1.b3b06p+0 +0x1.1d363p+2 +-0x1.08bdp+0 +-0x1.58473ap+2 +0x1.ae696p+1 +0x1.365688p+2 +0x1.73efbp+0 +-0x1.281134p+3 +0x1.105dbp+1 +-0x1.5009d4p+2 +0x1.c319bp+2 +-0x1.2fe442p+3 +0x1.82bca8p+1 +0x1.82cbcp-2 +0x1.908ed8p+2 +-0x1.5c96bp+1 +-0x1.5ff408p+2 +0x1.1a8694p+2 +-0x1.1c92eep+3 +-0x1.062de6p+3 +0x1.6f5748p+2 +-0x1.e2126p+0 +-0x1.16a12cp+2 +-0x1.b0f93cp+1 +0x1.a341p-2 +-0x1.120a68p+1 +-0x1.d238aep+2 +-0x1.f9a73cp+2 +-0x1.4baffp+1 +0x1.01cf74p+2 +0x1.44bcp-4 +-0x1.55f034p+2 +0x1.e599bp+1 +-0x1.cd90fp+0 +-0x1.0008eap+2 +-0x1.a3dfcap+2 +-0x1.9e471p+0 +0x1.490844p+2 +-0x1.35eap+3 +0x1.31d9b8p+2 +-0x1.18b058p+1 +-0x1.3420cap+3 +0x1.4001c8p+2 +-0x1.42c6e8p+1 +-0x1.3abb68p+1 +0x1.effaep+0 +0x1.ed0dp-2 +0x1.e06798p+2 +0x1.21f0ap+3 +0x1.162004p+2 +0x1.5f14p+0 +-0x1.b9d126p+2 +-0x1.d614fcp+2 +0x1.4a9f8p-2 +0x1.162208p+1 +0x1.a874ap+0 +-0x1.77a91p+1 +-0x1.f834ep+0 +-0x1.1be85p+3 +-0x1.3da948p+3 +-0x1.33824p+0 +0x1.34d49p+3 +0x1.736724p+2 +0x1.08ed84p+3 +0x1.1e6198p+1 +-0x1.ebd568p+1 +0x1.1dfd78p+1 +-0x1.229a4p+0 +0x1.175cbcp+2 +0x1.69e52cp+2 +0x1.bc1fep+2 +0x1.2539bp+3 +0x1.1bc34cp+3 +-0x1.2fd57p+3 +0x1.f29b7p+1 +-0x1.a36aap+0 +0x1.b7e67p+0 +-0x1.50174p+1 +0x1.0a41b4p+3 +-0x1.e0018p+0 +-0x1.f0959p+0 +-0x1.2bb862p+3 +0x1.3ce7e4p+2 +-0x1.03719cp+2 +-0x1.a753c8p+1 +-0x1.bbd10cp+1 +0x1.291c74p+3 +-0x1.09c928p+2 +0x1.b3436p+2 +0x1.4a618p-3 +0x1.0899ap+1 +0x1.a1536p+2 +-0x1.cbbaccp+2 +0x1.2423f4p+3 +0x1.89a52p+0 +0x1.9d7648p+2 +-0x1.df39ap-1 +0x1.3dce4cp+2 +-0x1.10f834p+3 +-0x1.0a5c0ap+2 +0x1.ee479p+2 +0x1.1dabacp+3 +-0x1.cdfec8p+1 +0x1.ce90c8p+2 +0x1.0303ap-1 +0x1.31b12cp+3 +0x1.0d945p+3 +0x1.19dea8p+3 +-0x1.260c54p+2 +0x1.bd5a6p+2 +0x1.baf08p+1 +0x1.2f76c8p+3 +-0x1.76d95ap+2 +0x1.2c24f8p+3 +-0x1.9b4306p+2 +0x1.43038p-2 +0x1.a527dp+2 +-0x1.19f6a4p+3 +0x1.2268e8p+2 +-0x1.4dc31p+0 +0x1.12e26p+3 +0x1.ec0f2p+2 +-0x1.2a0524p+3 +0x1.3c02bp+0 +0x1.0eb98p+3 +-0x1.b035dep+2 +0x1.13cad8p+3 +-0x1.a7e32p+0 +-0x1.8e806ap+2 +-0x1.424e68p+2 +-0x1.16ed5ap+3 +0x1.1311p-2 +0x1.601ff8p+2 +0x1.96a7ap+2 +0x1.a02bp+0 +-0x1.5e0ca6p+2 +0x1.1aabccp+3 +0x1.631dd4p+2 +-0x1.aa1188p+1 +0x1.38525p+0 +0x1.6872fp+0 +-0x1.ce068p-1 +0x1.d5fb8p-2 +0x1.5da648p+1 +0x1.838b78p+2 +0x1.87adfp+0 +-0x1.ddb9c8p+2 +-0x1.2647b6p+3 +-0x1.2b4e4ep+2 +-0x1.0a6ep+3 +0x1.babf18p+1 +-0x1.3568dp+1 +0x1.0819p+1 +0x1.3ab2a4p+2 +-0x1.7e156cp+2 +-0x1.2d144ep+3 +-0x1.c9786cp+1 +0x1.48a88p+0 +0x1.29a8e8p+3 +-0x1.074p-4 +-0x1.14b19p+2 +0x1.66713p+1 +0x1.1df908p+2 +0x1.400eep+1 +0x1.14c964p+3 +0x1.9d41cp+1 +-0x1.600fcp+1 +0x1.7a83f8p+1 +0x1.03d60cp+3 +-0x1.209818p+2 +0x1.094984p+2 +-0x1.e99568p+1 +-0x1.4c978ap+2 +0x1.506bp-2 +-0x1.6e42p-2 +-0x1.dbb442p+2 +-0x1.9d1134p+2 +-0x1.9d6da8p+2 +-0x1.b990bp+1 +0x1.82962p+2 +-0x1.75dd8p+0 +0x1.7cf36p+2 +0x1.19362p+0 +-0x1.e53fap-1 +-0x1.c4ee84p+2 +-0x1.27f494p+3 +-0x1.28e72ep+2 +0x1.ae9fp+1 +-0x1.f039dp+0 +-0x1.16497ap+3 +0x1.cd5148p+2 +0x1.27a27p+1 +-0x1.b9671p+1 +0x1.72e99p+2 +0x1.c076dp+0 +0x1.93c91p+1 +-0x1.30ccdep+2 +-0x1.8c08fp+2 +-0x1.465d0ep+2 +-0x1.143664p+3 +0x1.2f0414p+3 +0x1.203294p+3 +0x1.08d5p-3 +0x1.363a8p+1 +0x1.a9118p-3 +0x1.2145cp+2 +-0x1.ce3142p+2 +-0x1.36fa0cp+3 +0x1.9a917p+2 +0x1.048668p+3 +0x1.d83e48p+2 +-0x1.03e18p+0 +-0x1.8db9acp+1 +0x1.c3eea8p+1 +0x1.3af0fcp+3 +0x1.f31d4p+2 +0x1.1127f4p+3 +-0x1.308b06p+3 +-0x1.66299ep+2 +0x1.ada4b8p+1 +0x1.97ae6p+2 +-0x1.03d84cp+1 +0x1.9167bp+2 +-0x1.810f44p+2 +0x1.200db4p+2 +0x1.1f006p+2 +-0x1.5be324p+1 +0x1.1d5374p+3 +-0x1.26b032p+2 +-0x1.f50afp+0 +-0x1.e1e59p+2 +0x1.b1e858p+1 +-0x1.1eaadcp+3 +0x1.d0396p-1 +-0x1.c9448p+2 +0x1.d34158p+1 +-0x1.b43b28p+1 +0x1.6b4bfp+2 +-0x1.3f4c66p+3 +-0x1.4ef3p-3 +-0x1.73cf3p+2 +0x1.26de44p+3 +-0x1.1fcbbep+3 +-0x1.fcec7p+1 +-0x1.b02d7p+0 +-0x1.13a99ep+3 +-0x1.3e1f4p+2 +0x1.6971d8p+1 +0x1.28b4f8p+2 +-0x1.bb2efp+0 +0x1.3b314p+0 +-0x1.9eccdcp+2 +-0x1.9cb674p+2 +-0x1.121122p+3 +-0x1.d2a53cp+1 +0x1.3b719p+2 +0x1.27b08cp+3 +0x1.863c8p+2 +-0x1.353388p+3 +-0x1.18790ap+3 +-0x1.34e18p+1 +-0x1.121d66p+2 +0x1.851e98p+2 +-0x1.26837ep+3 +-0x1.87db28p+2 +0x1.050838p+2 +-0x1.ae3ebp+2 +-0x1.51eb7cp+1 +0x1.36e388p+3 +-0x1.37d388p+3 +0x1.44da54p+2 +0x1.3819ap-1 +0x1.4f7094p+2 +0x1.f869cp+2 +0x1.0ba55p+3 +0x1.8cbe8p+0 +0x1.cdf7dp+2 +-0x1.50f034p+2 +0x1.26b8ecp+3 +0x1.cb19f8p+1 +-0x1.09597cp+3 +0x1.87585p+2 +-0x1.a2cd5ep+2 +-0x1.40bb56p+2 +0x1.d6cc9p+2 +-0x1.1d2e22p+2 +-0x1.bdf54cp+1 +0x1.f5e85p+2 +-0x1.24560cp+3 +-0x1.4225a2p+2 +-0x1.1c46fp+1 +0x1.81867p+0 +-0x1.9c8f32p+2 +0x1.fd9c3p+1 +-0x1.4c89p+0 +0x1.edecp-2 +0x1.8e3d4p+2 +-0x1.a602a4p+2 +-0x1.e1efp-2 +0x1.ae7dap+1 +0x1.3473ep-1 +0x1.5b2ep+0 +0x1.873edp+1 +0x1.55704p+2 +0x1.df0bp-3 +-0x1.7f3c6cp+1 +-0x1.51e7d8p+2 +0x1.28d74p-1 +-0x1.abb6dp+0 +0x1.35de98p+3 +-0x1.b4f1dp+1 +-0x1.364f14p+1 +-0x1.2eda06p+3 +0x1.7f0fbp+1 +-0x1.a84c04p+2 +-0x1.101a16p+3 +0x1.4f79bp+2 +-0x1.37253cp+2 +-0x1.39072p+1 +-0x1.246418p+2 +-0x1.e9c3b4p+1 +0x1.3ee95p+1 +0x1.37b9b4p+2 +0x1.dd353p+1 +-0x1.ad1a2p-1 +0x1.329714p+3 +0x1.5897cp+0 +0x1.5a36bp+0 +-0x1.569c18p+2 +0x1.8ba49p+1 +-0x1.1c35fep+3 +0x1.d4fe4p-2 +-0x1.27d98p+3 +0x1.d2bd1p+0 +-0x1.d6774p-1 +-0x1.e6294p+0 +-0x1.13885ap+3 +0x1.38edb8p+2 +-0x1.00281cp+2 +0x1.78a5p+0 +-0x1.b2ecdp+1 +-0x1.0e9b14p+3 +0x1.0bf5cp+2 +-0x1.ebf718p+2 +-0x1.1b1114p+2 +0x1.074eap+3 +-0x1.d3898p-2 +-0x1.b68e98p+1 +-0x1.308f1p+2 +0x1.f6e658p+1 +-0x1.12869p+1 +-0x1.eebf2p-1 +-0x1.3e19p-4 +-0x1.30aep-4 +-0x1.1b2482p+3 +0x1.475cfp+0 +-0x1.72838p-1 +-0x1.eb1d7cp+1 +0x1.4ae04p+2 +0x1.fe0e78p+2 +0x1.3082dcp+2 +0x1.07d8fp+3 +-0x1.232bc8p+2 +0x1.2f46b4p+3 +-0x1.09be84p+3 +0x1.24b028p+2 +0x1.3d0508p+3 +-0x1.2b5a9p+0 +0x1.0bf2d8p+3 +-0x1.c0d6ep-1 +-0x1.20471ep+3 +-0x1.baf2dap+2 +-0x1.1c018p-3 +-0x1.36b2d2p+3 +-0x1.0a616cp+1 +-0x1.f20e7cp+2 +-0x1.4df06p+0 +0x1.2b2008p+2 +0x1.0ee2dp+3 +0x1.c02a78p+2 +0x1.3842d4p+3 +0x1.3d90ecp+3 +-0x1.2927eap+2 +-0x1.6aca9p+1 +-0x1.7c4a54p+2 +-0x1.00f98cp+3 +-0x1.9e7b8p-3 +0x1.a010c8p+2 +0x1.8d9b3p+1 +0x1.100c14p+2 +0x1.84b8ap+2 +-0x1.5e1cbp+1 +0x1.f24a9p+2 +0x1.8177fp+2 +-0x1.6fa70cp+2 +0x1.3ece2p+2 +-0x1.0b0444p+3 +-0x1.ad8438p+1 +-0x1.07dcf6p+3 +0x1.634a9p+1 +0x1.a61dep+0 +0x1.3efdcp+3 +-0x1.5eeeccp+2 +0x1.2c519p+0 +-0x1.4b8f8p+0 +0x1.17049p+1 +-0x1.e7dbfp+1 +-0x1.9256ep-1 +-0x1.625c58p+1 +0x1.fde48p-3 +-0x1.63807p+1 +-0x1.ff191p+0 +-0x1.dd6c74p+1 +0x1.668d1p+2 +-0x1.8f4f36p+2 +-0x1.74216p+0 +0x1.2ae19p+3 +0x1.343404p+3 +0x1.06a48p-1 +-0x1.5469e6p+2 +0x1.c78668p+2 +-0x1.316e82p+3 +0x1.8cd5ap+0 +-0x1.168654p+1 +-0x1.30ea66p+2 +-0x1.78958p+1 +-0x1.cbb67cp+2 +0x1.6f746cp+2 +0x1.c187p+2 +-0x1.4f02d6p+2 +-0x1.28e3bp+3 +0x1.4a6b78p+2 +0x1.6a5dp-4 +0x1.4cea2p+2 +0x1.013914p+3 +-0x1.9e0d18p+1 +-0x1.fc64a4p+2 +-0x1.063bp-3 +0x1.06b55p+2 +0x1.dd45b8p+2 +0x1.d9f43p+1 +-0x1.3bd0ep-1 +0x1.57c08p+1 +-0x1.deabf6p+2 +0x1.ef80dp+0 +-0x1.023dd2p+3 +-0x1.ea7298p+2 +-0x1.ddf41ep+2 +0x1.31e068p+1 +0x1.bc77cp+2 +0x1.2741a4p+3 +-0x1.8dc38p-3 +-0x1.109ccp+3 +-0x1.1a378ap+3 +-0x1.066268p+3 +-0x1.c39654p+2 +-0x1.c4473cp+2 +0x1.87843p+2 +0x1.4064p-3 +0x1.28c478p+2 +-0x1.a72c98p+1 +-0x1.33a44p+1 +0x1.69faep+2 +-0x1.1faff8p+3 +-0x1.2127d2p+2 +-0x1.72a1p-4 +0x1.657ecp+2 +-0x1.31314p+0 +0x1.9336ap-1 +0x1.2a8528p+3 +0x1.b752ap+2 +-0x1.81ff4ap+2 +0x1.0dc058p+3 +0x1.70e3d8p+2 +-0x1.0dfb8p-1 +0x1.174814p+3 +-0x1.749b94p+1 +0x1.23f15p+2 +0x1.ebd63p+1 +-0x1.066a1p+3 +0x1.1cca44p+3 +0x1.217228p+1 +-0x1.37075cp+3 +-0x1.0dfee8p+2 +0x1.93fd5p+0 +-0x1.2f7852p+2 +-0x1.239c86p+3 +-0x1.377e6p+3 +0x1.3b4bb8p+2 +0x1.ba4dp-2 +-0x1.222d9cp+1 +0x1.f1424p-1 +0x1.15a478p+2 +-0x1.3eb4dep+3 +-0x1.96ac1cp+2 +0x1.40d3fp+2 +0x1.7abdap+1 +0x1.547a6p-1 +0x1.db972p+2 +0x1.840ce8p+2 +0x1.91497p+1 +0x1.87dffp+2 +-0x1.f3545ap+2 +0x1.d3fbp+1 +0x1.6fcbecp+2 +-0x1.6d63bp+2 +0x1.1d1bdp+3 +-0x1.01167cp+2 +-0x1.725dcp-2 +0x1.c6e2ep+2 +-0x1.374062p+2 +-0x1.e65aep+2 +0x1.b0dd6p+0 +-0x1.125d5p+0 +0x1.f1b84p+0 +-0x1.a1a3fp+2 +0x1.2cef64p+3 +-0x1.802fcp+0 +-0x1.e73bp-4 +-0x1.205d9cp+3 +-0x1.c95674p+2 +-0x1.98324p+0 +0x1.f0cb6p+1 +-0x1.36871cp+3 +-0x1.5fe0ccp+1 +-0x1.2a0f2p+0 +0x1.05176p+0 +-0x1.1d13dcp+1 +0x1.4adf2p+2 From patchwork Fri Nov 29 13:17:34 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: 846134 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp861798wrp; Fri, 29 Nov 2024 05:32:09 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVh63RwR9AHIc1P6OTGHPO0cUySQ6Wimad6Ep6c26u7oU/vdIXknJ576n4M1kAmhvuXGnUrCA==@linaro.org X-Google-Smtp-Source: AGHT+IFqojPkjoOd2opt5o0Q2LCsXAoBDjrHj0tWWtSsgO9t947c+D8h4gcUFWcnAIWapqsJS8dn X-Received: by 2002:a05:6358:9386:b0:1c3:94:8ff9 with SMTP id e5c5f4694b2df-1cab15d0b13mr529937855d.9.1732887129321; Fri, 29 Nov 2024 05:32:09 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732887129; cv=pass; d=google.com; s=arc-20240605; b=jBv8cOw2xGut7ByZTWq24c7LE4G0So4r2hNO87qum2HOPo6lRSbkmNtsefiGucNvZs skScmTekom4wVpmQgjCq1LBe16H3vf+e6qJEAZ5RuH3+uVe814bQw9WlPcENy4MptfNO ilEb6kXFBCpN4I/3gcGqJx41Y5BLFJUj7Og8FcElhF1Cv9JXos7Ko0J0szHHCOyo+Umq mDifB8kM6H8xK3mhJtfbsoMPIvCRZqZborLwhdaOc9UiLhFJaNPvoPlSvheYDrV1dpA/ xi28y/348VDTojBN+svNI9KWf9ZvYBx6Bg6p291JLWFs1wupQPXB+CjSI3pkstekTosC lTBw== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=Y6uDiqV3TarxsoPCOnRaI79fcp7vKifYojVHWDjnI8s=; fh=/bzLn4Pu6wt5yJOmVA6NJX5WuFMrzV1CRzIGBeRqGpk=; b=Ege+B4k78jBm9z9ioP97tKHbph/kryAWMKVyaCgbpFZRHO1pddlHxgLddIMNNnaQ10 m9euKY/ZFrGk9vdQ7XPkdLlEKgjNAzDqE1Gx9/Ll3B5eLWfRX0dx3zw9tPnE9IH7n5Gq 1GNcyyv+bdrF3evKGaHULv3CoKqG50GdgrMi1U0FAuVyvq6A7+31+8d1qaXtlBLVVxSY YrpN+DigCJ5HHPV6CY/KgTA0xoS/dJtynW11liWi/5NypQBFZHXRBbEEaK5ttA3L2kQM WgabpphlJFh87HNysLATBPmQ8gmSA2gRTPRKfdBMdSTzgOtmKZC4Mav8IqcAFav7aZxa dUOg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=nzUUtxQh; 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 a1e0cc1a2514c-85b82d397ddsi1374085241.156.2024.11.29.05.32.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:32:09 -0800 (PST) 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=nzUUtxQh; 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 BE1683858D29 for ; Fri, 29 Nov 2024 13:32:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BE1683858D29 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=nzUUtxQh X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id 856463858C50 for ; Fri, 29 Nov 2024 13:20:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 856463858C50 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 856463858C50 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886458; cv=none; b=MV0myLovEJ0MPnI/md/MTi2FIidYW+V0s4PbZDUQWxge3Al4c4Tx0u3fYAs8U01cIsjrANJ5aiYG2pbvihDnlADit5jDskMOlOuatkaBdkbtszxy+V1VRzRBeT0fP1eCNDi/ZSsmKbxdCC5KYP1IihIoeqH8/HD0t616MUNEpx8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886458; c=relaxed/simple; bh=lf2s5gd/yuGS+NDHNheOXjLYKJIDJA2pMVjNZI/EZdY=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=mxJV62Sde+hQjUhcC8upcuQmzeNwGzT4RAMLQxX8xIlHjVEH7FM0yd+9JdEc/VegHLA+cJwy0gUrfA0QI3gYdtn8YEGcQqMihx5nzTjD6BZ1xQqIXXFQzuyj2s89EsvoQhFR8LHMQp7rs/L/eHF+xXFd+gdZcHagmmK2XuAqngQ= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 856463858C50 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2129fd7b1a5so15343585ad.1 for ; Fri, 29 Nov 2024 05:20:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886457; x=1733491257; 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=Y6uDiqV3TarxsoPCOnRaI79fcp7vKifYojVHWDjnI8s=; b=nzUUtxQhjf57G0vTZ434D6Xwsy+6MKas8KmM9YlY6BWa6bBw+CygHwnTCLA/ZRWQ5S O96OxXfavP8d2j6dOj2/87zE6y+pQealLyX/yGbj5qmIh59j0PMTbwNpnIagkH6OXoXQ vO2hpTjC3HAE+RkjXVgV+lniHvFS6QzqXBop+pKsIn5e+FjDPvU3x0oLaQJxuPdimltf 45aYJVY86QnFtVL9aroDkjvd/OWnAysO6zuYJVEJKl15K/ipqwZDpdgJYHAWl34je1yd H3SLeonQgZMsf/FcsHK66dlAbrzhxViHKxykPV7kHPst2ZDXrQAz8Z5n6aa3k1+SfL6U Ty+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886457; x=1733491257; 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=Y6uDiqV3TarxsoPCOnRaI79fcp7vKifYojVHWDjnI8s=; b=azfdAv3GT6NqbQxJ2kaaYCwOg9ntPSDXO5xqU4+WNGC+WIkB/2/mH3K+3A1sxh85tC 9hJuGhe3BPkjUxtg3ZYU4g5/FcsFNyINoOZ4+7291Q9Sb8s2WVlFIkyCPplufzYk3J1t Rc3ABXznCxlMnTliEL9MB73QA+cMg0YGQdV3PxSWZqANQ6dnFdLc4GLAY26arsDkljOU 7aYY3IIrlZ6yZpq/XD04M/hpZ/F9bgetrJ65xd6R3PoXJK+TWnU2DjjKsl8SOMoiZF8x /fUhJ1UEKvpS91YhJJ1HXMyv1ZOKyrDiD3jva/PZ+suge+cXHACPnMW8w4GPlQiAITSC 5n+g== X-Gm-Message-State: AOJu0Yz8qniQgn/msMntkkwpqAr7hdkajj37QDuevHPGnFUFzLhzy8Wv fYYrplG6JOeGwTtyqYaaFwDlKhcwREje9qnTxSVz9rWpEc8K+pBZ4vqx7xOpsMQdSoJtqzUJ+IY QUKQRTw== X-Gm-Gg: ASbGncty2f3cYbXqOV7ysgc0yXP8Azzmwr4ycqRaK1mzSol8v3xikr8U/L23p+jVfU3 Jk3C4pb4XvlciMCzQE7/gmNalIWrV7JmNuQQyr2V5De60s+v0N4zHTnRHHSfMlK2Tyb+usZfJUv ZGaVFLXSgzVcbsAnPvDWWBoOsDM1uXJcYVJ8yWoPZiSHtOow8ih3muFKJtgF7lkCf+4kiEpXUSf VepBskSPksX/U0OmY2C2bae6JS6BIqPnQPw9yuAek44iLIxr455n2KpaAvSMfo= X-Received: by 2002:a17:902:cec3:b0:20c:cd23:449d with SMTP id d9443c01a7336-21501e5d86amr146215375ad.46.1732886456512; Fri, 29 Nov 2024 05:20:56 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.20.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:20:55 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie Subject: [PATCH 10/23] benchtests: Add tanhf benchmark Date: Fri, 29 Nov 2024 10:17:34 -0300 Message-ID: <20241129132032.476978-11-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 in the range [-10,10]. --- benchtests/Makefile | 1 + benchtests/tanhf-inputs | 2005 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 2006 insertions(+) create mode 100644 benchtests/tanhf-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index e70904cd44..e64d028a23 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -114,6 +114,7 @@ bench-math := \ tan \ tanf \ tanh \ + tanhf \ tgamma \ tgammaf \ trunc \ diff --git a/benchtests/tanhf-inputs b/benchtests/tanhf-inputs new file mode 100644 index 0000000000..eb6f3b5def --- /dev/null +++ b/benchtests/tanhf-inputs @@ -0,0 +1,2005 @@ +## args: float +## ret: float +## includes: math.h +# Random inputs in the range [-10,10] +## name: workload-random +-0x1.28c9ap-1 +-0x1.37e9ap+0 +-0x1.2698fap+3 +-0x1.3d997p+2 +0x1.4d46bp+1 +-0x1.f4e3p-2 +-0x1.79dedep+2 +-0x1.20918p-2 +-0x1.b8e0a8p+1 +0x1.154c1cp+3 +-0x1.9a6dp+1 +-0x1.2064f6p+3 +0x1.a80b28p+2 +-0x1.08d46p-1 +0x1.113384p+3 +0x1.0c32e8p+3 +-0x1.76ea7p+0 +0x1.0a5b54p+2 +0x1.463174p+2 +-0x1.4248p-5 +0x1.137c1cp+3 +-0x1.729594p+2 +0x1.990ep-4 +-0x1.8c792p-1 +-0x1.09846p+1 +0x1.0a1cd4p+2 +-0x1.073772p+2 +0x1.1cec4cp+2 +-0x1.698f22p+2 +0x1.e413dp+2 +0x1.77c14p+1 +0x1.f1d6c8p+2 +-0x1.1c493p+1 +0x1.c1507p+2 +0x1.1bdb44p+2 +0x1.d7c78p-1 +0x1.332b4p-1 +0x1.fdfc48p+1 +-0x1.9a0b7cp+1 +0x1.28665cp+2 +0x1.73d3d8p+2 +0x1.eebd2p+1 +-0x1.5bf3ecp+1 +0x1.ded8b8p+2 +0x1.2b7e58p+1 +0x1.efb4f8p+2 +-0x1.05a8fp+0 +-0x1.52bd7p+1 +0x1.18da4cp+2 +-0x1.97c62p+0 +-0x1.519a06p+2 +0x1.77c548p+2 +0x1.cd14b8p+2 +0x1.fda5ap+1 +0x1.f72a6p+0 +0x1.176bap+3 +-0x1.7aa22p+2 +0x1.cce028p+2 +0x1.aed428p+2 +-0x1.607bp+1 +-0x1.6a4a44p+2 +0x1.90ab2p+2 +0x1.f1fe2p+0 +-0x1.be08bp+0 +0x1.13cac8p+3 +-0x1.743dp-2 +0x1.2ae718p+2 +0x1.92029p+2 +-0x1.6c5c68p+1 +-0x1.99af4ep+2 +-0x1.da0358p+1 +-0x1.8ddeep+2 +-0x1.66702p-1 +0x1.65f2p-2 +0x1.a84848p+2 +0x1.74576p+0 +0x1.5b285p+1 +0x1.e9aedp+0 +-0x1.055842p+3 +-0x1.bd89d8p+2 +0x1.d474cp+1 +-0x1.08fa24p+3 +0x1.54f3ep+2 +0x1.4621cp+0 +-0x1.f14aecp+2 +0x1.298794p+2 +-0x1.54a3c8p+1 +0x1.6dd2ep+2 +0x1.833f9p+2 +-0x1.b5fbap+1 +-0x1.621966p+2 +0x1.e0204p-2 +-0x1.0836d4p+1 +-0x1.92b9f8p+1 +-0x1.30a248p+2 +0x1.b698f8p+2 +0x1.3f1518p+2 +0x1.341924p+3 +0x1.1229e8p+1 +0x1.2049a4p+3 +0x1.46bef8p+2 +-0x1.528822p+2 +0x1.2821cp+0 +0x1.1ecb28p+3 +0x1.a50798p+1 +0x1.fedf9p+1 +-0x1.e91bf8p+1 +-0x1.021p-8 +-0x1.6c45f8p+2 +0x1.203dc8p+3 +-0x1.017058p+3 +0x1.dec65p+0 +0x1.d88bb8p+1 +-0x1.edd72ep+2 +-0x1.2bbf4ap+3 +-0x1.156a44p+1 +0x1.c420f8p+2 +0x1.c98c2p+2 +0x1.2b0fa8p+2 +-0x1.92549cp+2 +-0x1.9c07cp-2 +0x1.c71fcp+1 +-0x1.383362p+3 +0x1.5cb68p+0 +-0x1.bab61ap+2 +-0x1.0e659p+2 +0x1.18d28p-3 +0x1.165908p+2 +0x1.23d88p+1 +0x1.09de6cp+3 +-0x1.e42f84p+2 +-0x1.25e7c8p+3 +-0x1.7b570cp+2 +0x1.a118a8p+2 +0x1.a6cfb8p+2 +0x1.c0edcp+0 +-0x1.7736p+1 +0x1.baca1p+1 +0x1.9d885p+1 +-0x1.130228p+2 +0x1.70cf4p+2 +0x1.739728p+1 +-0x1.76678p-1 +-0x1.404946p+2 +0x1.b15938p+2 +0x1.ee0188p+2 +-0x1.d09bb4p+1 +-0x1.142f4ap+3 +0x1.185494p+3 +-0x1.c76184p+2 +0x1.441a2p-1 +-0x1.2c2ee8p+2 +0x1.9dd4p+1 +-0x1.60115ap+2 +-0x1.cfc84p+0 +0x1.2def14p+2 +-0x1.1e62d2p+3 +0x1.0fe47p+1 +0x1.a87d08p+2 +0x1.316398p+2 +0x1.2e4758p+3 +-0x1.6c1ee6p+2 +-0x1.c6417p+0 +-0x1.19385cp+3 +-0x1.9c5554p+1 +-0x1.22533p+0 +-0x1.dd0552p+2 +-0x1.b01ep-3 +0x1.afae3p+2 +-0x1.7a5ff6p+2 +-0x1.757614p+2 +0x1.266168p+2 +0x1.1d5434p+3 +-0x1.531d3cp+2 +-0x1.360f2p+1 +-0x1.c3e208p+2 +0x1.0238cp+0 +0x1.290ea4p+3 +0x1.c05158p+2 +-0x1.c042p-3 +0x1.f94898p+2 +0x1.3100fp+2 +0x1.725908p+2 +0x1.31f14p-2 +0x1.307b58p+2 +-0x1.3ed214p+3 +-0x1.a59e9cp+1 +0x1.b5158p+1 +0x1.11cc78p+1 +0x1.3c7d6cp+3 +-0x1.4e5bd2p+2 +0x1.28b3cp+2 +0x1.117ca4p+2 +0x1.0345ap+3 +-0x1.3210b8p+3 +-0x1.aa1c86p+2 +0x1.3c9ef8p+1 +-0x1.fa343p+0 +0x1.18d514p+3 +-0x1.a43bf4p+2 +-0x1.3216p-5 +0x1.4b2b1p+1 +-0x1.292d2ep+2 +0x1.340568p+3 +-0x1.1f4e7ap+2 +-0x1.1e9592p+3 +0x1.8fp-8 +0x1.7784f8p+2 +0x1.742f34p+2 +0x1.24335p+2 +-0x1.2f5fdcp+3 +0x1.29d308p+3 +0x1.5c34p-3 +-0x1.ad5d7ep+2 +0x1.a5754p+1 +0x1.3b3db8p+1 +0x1.c42c4p+1 +0x1.0453ep+2 +0x1.67e63p+1 +0x1.23fecp+1 +-0x1.04299ep+3 +0x1.ac703p+1 +0x1.2763e8p+3 +0x1.256b4cp+3 +-0x1.dc9b94p+2 +-0x1.a976bp+0 +-0x1.8e014cp+2 +-0x1.802502p+2 +-0x1.71c33p+0 +0x1.2ac8b8p+2 +0x1.4ffc5p+1 +-0x1.1b118p+3 +0x1.d20ap+2 +0x1.2947ap+3 +-0x1.fd56c4p+1 +0x1.2f6228p+2 +0x1.24151p+1 +-0x1.c6a40cp+2 +0x1.046fdcp+2 +-0x1.4843ep+2 +-0x1.b244fcp+1 +-0x1.04287ap+2 +0x1.273d3cp+2 +0x1.44cc78p+2 +0x1.2c18c8p+3 +0x1.2eba8p-2 +0x1.612b88p+2 +-0x1.17b3f8p+3 +0x1.6c81cp+1 +0x1.a6b5b8p+1 +0x1.35f1p-3 +0x1.c9b25p+0 +-0x1.c86162p+2 +-0x1.063558p+3 +0x1.3cc904p+2 +-0x1.3c0992p+3 +-0x1.3ca02p-1 +-0x1.dc54a6p+2 +0x1.26c89cp+2 +-0x1.051becp+2 +-0x1.9e882p+0 +-0x1.0eed9p+3 +-0x1.15d932p+3 +-0x1.15442cp+3 +-0x1.8b74eep+2 +0x1.055b08p+2 +-0x1.dc2f9cp+1 +-0x1.06d3b2p+3 +-0x1.0e4232p+3 +0x1.0d981p+2 +-0x1.0c8p+2 +-0x1.37ccaap+3 +0x1.84ce58p+2 +0x1.7f79dp+2 +0x1.0d7a1p+1 +0x1.31c05p+3 +-0x1.d7b53p+1 +-0x1.aa694p+2 +0x1.d13cfp+0 +-0x1.dffd4p+0 +-0x1.069d18p+1 +-0x1.a147ap+0 +-0x1.1fe62cp+3 +0x1.251b6p+3 +0x1.419284p+2 +0x1.500cp+1 +0x1.c38ddp+0 +-0x1.210eap+1 +0x1.d3ec78p+1 +0x1.91597p+2 +-0x1.d737ap+1 +-0x1.70d0acp+2 +-0x1.2408dcp+2 +0x1.38d628p+3 +-0x1.f0ddfp+0 +0x1.c9fe88p+1 +-0x1.2cb75ep+3 +0x1.65055p+2 +-0x1.5a562cp+1 +-0x1.1a2ce4p+2 +-0x1.6942c8p+1 +-0x1.17cd58p+3 +-0x1.5c20d4p+2 +0x1.7d471p+2 +-0x1.3d7d26p+3 +-0x1.7059cp+1 +-0x1.35c494p+2 +-0x1.87b2ap+0 +-0x1.b4c404p+2 +0x1.35d3f8p+1 +-0x1.1ff388p+1 +0x1.2fe98cp+3 +0x1.e0ccbp+0 +0x1.196f9p+0 +0x1.29268cp+2 +-0x1.5d5b7cp+1 +0x1.0f8434p+2 +0x1.90f53p+2 +0x1.b2b238p+2 +-0x1.c69ee8p+2 +0x1.3e932p+2 +0x1.3c2bdp+1 +0x1.9d2ddp+2 +0x1.1f5ec4p+3 +-0x1.ae829p+0 +0x1.0b42cp+3 +0x1.03cfb4p+3 +0x1.f78a8p-2 +0x1.c1cd4p-1 +-0x1.ce3c6cp+2 +-0x1.0c24bep+3 +-0x1.a3583p+0 +-0x1.12ffb8p+2 +-0x1.d41fe2p+2 +0x1.3575fp+2 +-0x1.b52f98p+2 +0x1.22a10cp+3 +-0x1.0a1ep-4 +-0x1.b59cep+0 +-0x1.348c1cp+2 +0x1.57941cp+2 +0x1.6415fp+1 +0x1.94418p+1 +-0x1.a292c4p+2 +-0x1.4d8db8p+1 +-0x1.de9d6p-1 +-0x1.82408p-3 +-0x1.b64acap+2 +0x1.4b4bp+1 +-0x1.2cae8cp+3 +0x1.75b328p+2 +0x1.39c798p+2 +0x1.2f97f8p+2 +0x1.7b34p+2 +-0x1.69d78p-1 +0x1.212fp+1 +-0x1.26c9bap+3 +0x1.fb2efp+2 +-0x1.27bd5ep+3 +0x1.61278p+1 +0x1.2f8ep+3 +-0x1.96ae48p+1 +-0x1.f92ap-2 +-0x1.46eep+2 +-0x1.3897dap+3 +-0x1.46b8bp+2 +0x1.e7338p+2 +0x1.1034b8p+1 +-0x1.b672d4p+1 +0x1.5345c4p+2 +0x1.78aa9p+0 +0x1.206bbp+0 +-0x1.a822b8p+1 +0x1.813e3p+0 +0x1.f925c8p+2 +0x1.9da01p+0 +0x1.0d702p+3 +-0x1.d1eaep+1 +0x1.d384ep+2 +-0x1.7c26ep+0 +0x1.904d6p+2 +0x1.8d613p+2 +0x1.e002p-1 +-0x1.01370ep+3 +-0x1.113284p+3 +0x1.12405cp+3 +0x1.61a54p+2 +0x1.957418p+1 +-0x1.27c92p-1 +0x1.f8b2cp-2 +0x1.23ef4cp+3 +-0x1.e9c06p-1 +0x1.1c7af8p+3 +0x1.0dd25p+3 +0x1.b2b4bp+2 +-0x1.950468p+2 +-0x1.559af4p+2 +-0x1.1b3c8p-2 +-0x1.309e32p+3 +0x1.1117e4p+3 +0x1.dfc358p+2 +-0x1.c672c8p+2 +-0x1.3b6f6ep+3 +-0x1.bb796p+2 +-0x1.6eb9eap+2 +-0x1.4d0384p+2 +0x1.151c5p+1 +-0x1.17404p+0 +-0x1.bc35p+0 +0x1.ff386p+1 +0x1.87ae3p+2 +-0x1.0c6a7cp+2 +0x1.2beacp+1 +0x1.55b3bp+1 +-0x1.4195c6p+2 +-0x1.eb7474p+2 +0x1.a551c8p+1 +0x1.3e6d84p+3 +0x1.57ddb8p+1 +-0x1.c3e7eep+2 +-0x1.57561p+1 +-0x1.7ae0a8p+1 +0x1.f2c19p+0 +-0x1.90ad6cp+2 +0x1.147adp+2 +-0x1.75e672p+2 +-0x1.22dde8p+1 +-0x1.f0b392p+2 +0x1.738928p+1 +-0x1.a702d8p+2 +0x1.03fb9cp+3 +0x1.0c3aap+1 +0x1.74f47p+1 +0x1.c556c8p+2 +-0x1.9a1f76p+2 +-0x1.9a1b28p+2 +-0x1.9589p-3 +-0x1.23f9fp+0 +0x1.36c158p+3 +-0x1.de73f8p+2 +-0x1.33165cp+2 +-0x1.e2473p+0 +0x1.8f9b7p+2 +0x1.4ba85p+2 +-0x1.831d2ap+2 +-0x1.20b1ep-1 +-0x1.db217p+2 +0x1.b7ccep+1 +0x1.15501cp+3 +0x1.2721ep+1 +-0x1.63cb4p-1 +-0x1.ee9a98p+2 +0x1.5925dp+0 +0x1.72219p+1 +0x1.391654p+3 +0x1.db3898p+2 +0x1.7bacb8p+1 +-0x1.350cdp+0 +-0x1.61f8p+0 +-0x1.a21a08p+2 +0x1.19ab8p+0 +-0x1.b8d8bcp+2 +0x1.babea8p+1 +-0x1.0ecc38p+3 +-0x1.d51a1p+0 +0x1.9e789p+1 +-0x1.8ad358p+1 +-0x1.816c8cp+2 +-0x1.3aa16ap+3 +0x1.220d5p+3 +0x1.2c53cp+0 +-0x1.1d1e6ep+3 +-0x1.8bdbc8p+2 +-0x1.3aa5d2p+3 +0x1.1a11cp+3 +-0x1.337d96p+2 +-0x1.c8ceep+2 +0x1.6f7ebp+0 +0x1.f90468p+1 +-0x1.f5bdp+2 +-0x1.19f7b6p+3 +-0x1.3c384ap+3 +0x1.58eae8p+2 +-0x1.8bcc8ap+2 +-0x1.d69c6p+0 +0x1.17a3bp+2 +-0x1.f4276p+1 +0x1.94e28p+2 +0x1.2d246p-1 +0x1.ed107p+2 +-0x1.2f14a2p+3 +-0x1.33062p+3 +0x1.251dd8p+2 +0x1.290948p+3 +-0x1.123eb6p+2 +0x1.a60e48p+1 +0x1.393158p+1 +0x1.40b7c8p+1 +-0x1.9e4f4p+0 +0x1.f2c0bp+0 +0x1.2360ccp+2 +-0x1.32869cp+2 +-0x1.65dbcap+2 +-0x1.17da9cp+3 +-0x1.083316p+2 +0x1.0d73ap+0 +0x1.6f2c6p+0 +0x1.0fac4p+3 +-0x1.3e74ccp+3 +-0x1.18ba02p+2 +0x1.3e8834p+3 +-0x1.8a4a62p+2 +-0x1.2e041p+0 +0x1.659c0cp+2 +-0x1.a1b318p+1 +0x1.f9a54p+1 +0x1.d6bcp+0 +-0x1.161494p+3 +0x1.661068p+2 +0x1.b205cp+2 +-0x1.3c2902p+3 +-0x1.12c092p+3 +-0x1.4a43eep+2 +-0x1.5a2502p+2 +-0x1.c1548p-3 +0x1.087828p+3 +0x1.e17a8p+0 +0x1.ba62dp+2 +-0x1.c4c034p+2 +0x1.b76cap+2 +0x1.d2b17p+0 +-0x1.2f5f28p+2 +-0x1.b47b2p+0 +-0x1.abe22p+2 +0x1.ec0a8p-2 +0x1.b0bb58p+1 +0x1.852068p+2 +0x1.7f6bfp+1 +0x1.a6731p+2 +-0x1.2f04c2p+3 +0x1.f5628p+2 +-0x1.61ce9p+0 +-0x1.9acbep+0 +-0x1.c8b816p+2 +-0x1.f7ffb8p+1 +-0x1.31d9c4p+2 +0x1.56575p+0 +-0x1.2bbf5p+2 +-0x1.9e6dcp-1 +-0x1.6de52ap+2 +-0x1.3e141p+0 +-0x1.351992p+3 +-0x1.8b162p+0 +0x1.213ep-1 +-0x1.5b50bp+2 +-0x1.1aade6p+2 +-0x1.5b0c2p+2 +-0x1.07a546p+3 +0x1.5925c8p+1 +-0x1.8b75bp+0 +-0x1.a228bp+2 +0x1.38f938p+1 +0x1.24cc3p+2 +-0x1.ee252p-1 +-0x1.233c24p+3 +0x1.e69688p+2 +-0x1.0c5482p+3 +0x1.12563cp+2 +0x1.3807a8p+3 +0x1.1052d4p+3 +0x1.d91378p+1 +-0x1.8ae4b8p+2 +0x1.01e7e4p+3 +-0x1.f3307cp+1 +-0x1.04719cp+3 +-0x1.58edp+0 +-0x1.4f5966p+2 +0x1.0ea524p+3 +0x1.7194ep+1 +0x1.0bf81p+3 +0x1.81984p-1 +0x1.05879p+3 +0x1.4ae47p+2 +0x1.db66cp+2 +0x1.950588p+2 +0x1.484c1p+2 +0x1.4d1214p+2 +0x1.e8ca3p+2 +0x1.f2f47p+2 +-0x1.11624ep+3 +-0x1.0b5b6p+0 +0x1.ebed3p+1 +-0x1.4a9dfp+1 +-0x1.c6575p+2 +-0x1.3748p-2 +0x1.0b027p+0 +-0x1.52ad4p+2 +-0x1.9d436cp+2 +-0x1.07adc4p+3 +0x1.92a79p+2 +0x1.2a5898p+3 +-0x1.a1c9fp+0 +-0x1.5071f4p+2 +0x1.4fad68p+2 +0x1.525b8p+0 +0x1.458e8p+2 +-0x1.395ad4p+3 +0x1.28e524p+3 +-0x1.1d995ap+3 +-0x1.0ba9e8p+3 +-0x1.b22cp+1 +0x1.0e5ddp+2 +-0x1.7f7414p+2 +0x1.8e153p+2 +0x1.39cc7cp+2 +0x1.f39e8p-2 +0x1.23a76p+2 +0x1.cd77bp+2 +-0x1.910a2p+0 +-0x1.026c8cp+3 +0x1.3b9f78p+2 +-0x1.41ef2p+0 +0x1.d7da68p+2 +0x1.c2004p+2 +-0x1.7d9ddcp+2 +-0x1.09add8p+2 +-0x1.9140bcp+2 +0x1.238ba4p+3 +0x1.c4c8c8p+2 +0x1.28p-13 +-0x1.6705a8p+2 +-0x1.150866p+2 +0x1.a69b8p-3 +0x1.dc561p+2 +-0x1.4bf808p+2 +0x1.46d468p+2 +-0x1.1cdfap-1 +0x1.4639cp+1 +-0x1.2d1dap-1 +-0x1.b6dc8p+2 +-0x1.026b5cp+2 +0x1.031c8p+2 +-0x1.31d14p+3 +0x1.2d9494p+3 +0x1.090ccp+3 +0x1.261468p+3 +0x1.e6792p+2 +-0x1.7e50c8p+1 +0x1.d79c1p+1 +0x1.8217ep-1 +-0x1.04562p-1 +-0x1.1134a2p+3 +0x1.8b131p+1 +-0x1.047a4ep+3 +0x1.10f25p+2 +-0x1.6e6e78p+1 +-0x1.18666p+2 +0x1.f563p-2 +0x1.7e424p+1 +-0x1.1932f8p+3 +0x1.93eb8p+0 +0x1.7517ap+2 +-0x1.16aep+2 +-0x1.26c19p+1 +-0x1.15caacp+1 +-0x1.018122p+2 +-0x1.ac65cp-2 +-0x1.ea6a54p+2 +0x1.7f119p+1 +0x1.5f850cp+2 +0x1.002e38p+3 +-0x1.62b9e4p+2 +-0x1.73512p+2 +-0x1.6a6258p+1 +0x1.0d0648p+3 +-0x1.707b8p-1 +-0x1.fbd402p+2 +-0x1.08ff4cp+3 +0x1.a017p+2 +0x1.a126ep+2 +0x1.f2336p+2 +0x1.fedfap+0 +0x1.1ae1p-1 +0x1.d86c7p+2 +-0x1.de3bp-1 +0x1.3a2c68p+1 +-0x1.253b9p+2 +0x1.0a5cbcp+3 +-0x1.d9dp-6 +-0x1.a44158p+1 +-0x1.59f588p+1 +0x1.7de65p+2 +0x1.f59cdp+1 +-0x1.7498acp+1 +0x1.55955p+2 +-0x1.91386p-1 +0x1.3074bp+3 +0x1.a6c568p+2 +0x1.3dae5p+2 +-0x1.c1da6p+2 +0x1.f8b3ap+2 +-0x1.63052ap+2 +0x1.db959p+2 +-0x1.8f2012p+2 +0x1.60a1c8p+2 +-0x1.07ab84p+3 +-0x1.34803ap+3 +0x1.2a3c1p+3 +0x1.bb69ap-1 +0x1.7e66ep-1 +0x1.5e626p+2 +-0x1.1a2268p+1 +-0x1.6337cp+0 +0x1.8ef7a8p+2 +0x1.0b4ap+3 +0x1.80129p+1 +-0x1.3095f4p+3 +-0x1.cd8176p+2 +-0x1.7440dap+2 +-0x1.db3decp+2 +0x1.45a07p+2 +0x1.a2fd5p+2 +0x1.1ce528p+1 +0x1.70498p+1 +0x1.b5b4bp+2 +0x1.9e3ep-1 +0x1.398104p+3 +-0x1.b6472ep+2 +-0x1.05a538p+2 +0x1.82a63p+1 +0x1.dbc3bp+2 +0x1.343a5cp+3 +0x1.1a58a4p+2 +0x1.3e9f3p+0 +-0x1.8d8794p+2 +-0x1.30a6b4p+3 +-0x1.9e7b4p+0 +-0x1.09435cp+2 +-0x1.0cde56p+3 +0x1.3fb584p+3 +0x1.7e54p-6 +-0x1.df539p+1 +-0x1.8631a8p+1 +-0x1.61628p-3 +0x1.2fd18p-2 +0x1.f292ap+2 +0x1.9683p-1 +0x1.1aa544p+3 +-0x1.662b7p+1 +0x1.46d88p+0 +0x1.9df18p-1 +-0x1.354eap+1 +0x1.13c34p-1 +0x1.952ad8p+2 +0x1.2c08p-7 +-0x1.6dd9c2p+2 +0x1.67468p-1 +0x1.fd9388p+2 +-0x1.54c216p+2 +-0x1.9792p+0 +0x1.e542fp+2 +-0x1.85bdbcp+1 +-0x1.f2ffp-1 +-0x1.a6e6f4p+1 +-0x1.15bfdp+2 +0x1.8b9f8p-1 +-0x1.7b04dcp+2 +-0x1.9c3524p+1 +0x1.80e9ap-1 +0x1.33c7ep+3 +0x1.e0a05p+1 +0x1.694384p+2 +0x1.a59758p+1 +-0x1.01c3cep+3 +0x1.66094p+2 +0x1.11f6dcp+3 +0x1.1f956p+3 +0x1.4ae128p+1 +-0x1.ee5fbcp+2 +-0x1.d4f5d4p+1 +0x1.35811p+0 +0x1.103268p+3 +0x1.448b5cp+2 +-0x1.6f372p-1 +-0x1.11ac18p+1 +-0x1.c0b3cp+1 +0x1.90746p+0 +0x1.f9f11p+2 +-0x1.8bf42p+1 +-0x1.182ccap+3 +0x1.c64f18p+2 +0x1.5253b4p+2 +-0x1.02ddd6p+3 +0x1.4ab8p-6 +0x1.5bb74p-1 +-0x1.c357p+2 +-0x1.006bdp+0 +0x1.fb1b58p+1 +0x1.eea5p-2 +0x1.1dd72p+3 +0x1.9b87bp+1 +0x1.2b2d7p+3 +-0x1.4e6c2p+0 +0x1.605dp+2 +-0x1.b099bp+0 +0x1.5dd5f8p+2 +-0x1.d5585ap+2 +0x1.30921p+3 +-0x1.80cc34p+2 +0x1.17c9bp+3 +0x1.726bccp+2 +-0x1.81b408p+2 +0x1.163ddp+1 +-0x1.eb67cp+0 +-0x1.8d72b8p+2 +0x1.ae82ap+1 +0x1.de0818p+2 +-0x1.4a79e4p+2 +0x1.682898p+2 +-0x1.12f6ccp+3 +0x1.1b599p+0 +-0x1.1e9558p+2 +-0x1.ba47cp+1 +0x1.f1102p+0 +-0x1.b65e5p+2 +0x1.2ad888p+1 +-0x1.133d22p+3 +0x1.78ffap+2 +0x1.9f519p+2 +0x1.5e4d98p+2 +0x1.3dfc88p+3 +0x1.7c526p+2 +0x1.b42cp+2 +-0x1.29cdcp+3 +-0x1.d1ea5p+1 +-0x1.2e40f4p+1 +0x1.4def1p+2 +-0x1.0da0eep+3 +0x1.6be88p+2 +0x1.7133bp+2 +0x1.e3ab28p+2 +0x1.16a6b8p+3 +-0x1.1f7bfp+2 +-0x1.12a8dap+2 +-0x1.dc9586p+2 +0x1.e337a8p+2 +0x1.351c48p+2 +0x1.2cb488p+3 +0x1.98d1ap+2 +-0x1.72a1b4p+1 +-0x1.3fd44p+2 +-0x1.3a585p+3 +-0x1.8a052p+0 +-0x1.228c9cp+1 +-0x1.f704ep+2 +0x1.62931p+1 +0x1.8639ap+2 +0x1.007c7cp+3 +-0x1.b2cc2p+0 +0x1.77a6p-2 +-0x1.2ee724p+2 +-0x1.31780cp+3 +0x1.1e9318p+3 +0x1.680e4p+0 +-0x1.3554c4p+2 +-0x1.982c8p+2 +-0x1.212edcp+1 +-0x1.088bb8p+1 +0x1.ab5fd8p+2 +-0x1.7e9c8cp+2 +0x1.3a340cp+3 +-0x1.53165p+1 +-0x1.c95fa6p+2 +0x1.ba5ccp+2 +-0x1.fecdfp+1 +0x1.e42988p+2 +0x1.de3c08p+2 +0x1.3d18a4p+2 +0x1.706f24p+2 +-0x1.3a2fc4p+2 +-0x1.60718p-3 +-0x1.69b4dcp+2 +0x1.da7f1p+2 +0x1.f256p+2 +-0x1.e46b88p+2 +0x1.373cfp+3 +-0x1.15599ap+3 +-0x1.220586p+3 +-0x1.3ef06p+2 +0x1.9a2378p+2 +-0x1.136b0cp+1 +0x1.ba61ap+1 +0x1.c8a96p+1 +-0x1.15a4bep+3 +0x1.c2e0a8p+2 +0x1.1c73dp+1 +0x1.0aa08cp+3 +-0x1.288c54p+3 +0x1.20f50cp+2 +-0x1.746f48p+1 +0x1.099958p+3 +0x1.2bbd0cp+2 +0x1.e81ab8p+2 +0x1.f06d9p+2 +0x1.00d77p+3 +0x1.4def1cp+2 +0x1.a933bp+2 +0x1.79713p+2 +0x1.b0db2p-1 +0x1.cc062p+2 +-0x1.c6e88cp+2 +0x1.0ee4dp+0 +0x1.67f45p+1 +-0x1.de78e6p+2 +0x1.39f8cp-1 +-0x1.5429b4p+1 +0x1.d397p+1 +-0x1.dfabbp+2 +0x1.1869ap-1 +-0x1.5447e8p+1 +0x1.7c03d4p+2 +-0x1.eea074p+1 +-0x1.eee38p-1 +-0x1.0f376p+2 +0x1.fd3118p+2 +-0x1.55e3c4p+2 +0x1.0f6f5p+3 +0x1.e6321p+2 +0x1.99e22p-1 +0x1.ccaeap+2 +-0x1.a3f244p+1 +-0x1.9c476p-1 +0x1.434378p+1 +0x1.bfa48p+2 +0x1.13b80cp+3 +0x1.47cf9cp+2 +0x1.0ad6ccp+2 +0x1.e95848p+2 +-0x1.2b870ap+3 +-0x1.4a09e8p+1 +0x1.d8906p+0 +0x1.23701p+0 +-0x1.5e08acp+1 +-0x1.a8a1d8p+1 +-0x1.686fep+1 +-0x1.3a0ddcp+3 +-0x1.381012p+3 +-0x1.2dfc46p+2 +0x1.35edf4p+2 +0x1.276c1cp+2 +0x1.c5ed8p-3 +-0x1.d6f72cp+2 +-0x1.373162p+2 +-0x1.ef574p+2 +-0x1.e35474p+2 +-0x1.f553ep+1 +0x1.f28e2p-1 +-0x1.2d6df8p+3 +0x1.290fccp+3 +-0x1.219bacp+2 +-0x1.374748p+3 +-0x1.8667bp+0 +0x1.da7348p+2 +-0x1.2b5c8cp+2 +0x1.14436p+2 +-0x1.a9c18ep+2 +-0x1.6d1a64p+1 +-0x1.5185eep+2 +0x1.e16cbp+1 +0x1.f1aa9p+0 +0x1.265a34p+3 +-0x1.0c2bf6p+3 +-0x1.041ap-1 +0x1.970398p+1 +-0x1.a82376p+2 +-0x1.1cf99p+3 +-0x1.9d98dp+1 +0x1.0af074p+3 +0x1.59775p+0 +-0x1.6b3b6p-1 +-0x1.c8874p+2 +-0x1.198a9cp+2 +0x1.3c099p+3 +-0x1.d0c694p+2 +0x1.fbe858p+2 +0x1.5d248p+0 +0x1.b72a38p+1 +-0x1.a24358p+2 +-0x1.304c68p+2 +-0x1.1d5db6p+3 +-0x1.82b13ep+2 +-0x1.d83a96p+2 +0x1.f55498p+2 +0x1.c76ce8p+2 +-0x1.6bfc6p-1 +0x1.884c5p+1 +0x1.23652p+0 +-0x1.f58d68p+1 +0x1.715418p+1 +-0x1.628344p+2 +-0x1.707c66p+2 +-0x1.222876p+2 +0x1.f01098p+2 +-0x1.709e32p+2 +-0x1.33329p+2 +-0x1.0bf414p+3 +-0x1.03c11ap+2 +-0x1.413fp+0 +0x1.fabfcp+2 +-0x1.11da0ep+3 +0x1.038668p+1 +0x1.e1d58p+2 +-0x1.995428p+2 +-0x1.ef2efcp+2 +-0x1.0441ep+2 +0x1.0f23p-2 +0x1.3381e4p+3 +-0x1.219af8p+2 +-0x1.00f7d8p+1 +-0x1.a76ac4p+2 +0x1.a13d3p+2 +-0x1.ef4496p+2 +0x1.a2eba8p+2 +-0x1.22e76cp+1 +0x1.21d8e8p+3 +0x1.26ab6p+0 +0x1.14b0cp-1 +0x1.3b9bc8p+3 +0x1.eec778p+2 +0x1.405538p+2 +0x1.b1de3p+1 +-0x1.7b9216p+2 +-0x1.2fd9ccp+1 +0x1.97c48p+2 +-0x1.65c9ep+0 +-0x1.c54c4ap+2 +0x1.b16ca8p+2 +0x1.a8ca9p+2 +-0x1.69ad3p+0 +0x1.c188bp+2 +0x1.6fc93p+0 +-0x1.0a409p+1 +0x1.0f001cp+2 +-0x1.29a96p+1 +0x1.76c33p+2 +-0x1.18f09cp+1 +-0x1.cf577ep+2 +-0x1.5bc8acp+2 +0x1.a99eap+0 +-0x1.14aedp+3 +-0x1.1eb69p+3 +-0x1.a60e3p+0 +0x1.5128d4p+2 +0x1.9308p-4 +0x1.2bceep+3 +0x1.5a862p+0 +0x1.60818p-2 +-0x1.406826p+2 +0x1.42fc8p+0 +0x1.26c97cp+3 +-0x1.a938bp+1 +0x1.2d7b5cp+3 +-0x1.6b84a8p+2 +0x1.7a15ap+1 +0x1.3843b8p+3 +-0x1.467af8p+1 +0x1.f922cp+0 +0x1.76fbp+2 +0x1.e8021p+2 +-0x1.70e808p+1 +-0x1.fa5046p+2 +-0x1.88279p+0 +0x1.5f3f6p+2 +-0x1.f1d3p-3 +0x1.3b1dep+0 +0x1.c2245p+2 +-0x1.722d9cp+1 +-0x1.f6e89cp+2 +-0x1.195dp+1 +0x1.3dc0ecp+2 +0x1.2bf4c8p+3 +0x1.afbfp-1 +-0x1.f002bcp+2 +0x1.dae4b8p+2 +-0x1.5ba146p+2 +0x1.a9eb58p+1 +-0x1.212112p+2 +-0x1.1eb7cep+3 +-0x1.58f53cp+2 +-0x1.355878p+1 +-0x1.2aed18p+1 +-0x1.17ea6p-1 +0x1.230bap+2 +0x1.33218p+1 +-0x1.e2d1p-3 +-0x1.2ed26cp+2 +-0x1.1698ep+3 +-0x1.11df4ap+2 +0x1.c30a2p+2 +0x1.93d448p+2 +0x1.f1959p+0 +0x1.0989cp+0 +-0x1.21af3ap+3 +-0x1.09fa1cp+3 +-0x1.4fd8cp-2 +-0x1.7dd288p+2 +0x1.db0d68p+2 +-0x1.b7112cp+2 +-0x1.1162ap-1 +-0x1.32c84cp+3 +-0x1.ba2cep-1 +0x1.e1cdcp+2 +-0x1.059d58p+3 +-0x1.cb3b8p-1 +-0x1.453494p+1 +0x1.060f3p+2 +0x1.95051p+2 +-0x1.aa692cp+2 +0x1.4ff95p+2 +0x1.1da1ap+2 +-0x1.79139ep+2 +0x1.3f8e58p+3 +-0x1.f038e2p+2 +0x1.e948cp+2 +0x1.3cb5a4p+3 +-0x1.262a34p+3 +-0x1.95ea4cp+2 +0x1.400358p+2 +0x1.2a03a4p+2 +-0x1.eb2p-4 +0x1.a08668p+2 +0x1.713f18p+2 +-0x1.b6d158p+2 +-0x1.a3eb34p+2 +0x1.c5d49p+2 +0x1.6c448p-2 +-0x1.3f6238p+3 +-0x1.c4d918p+2 +-0x1.6488eep+2 +0x1.1db168p+2 +-0x1.24054ap+3 +0x1.018358p+2 +0x1.7e172p+0 +-0x1.239eep+2 +-0x1.374c5ep+3 +-0x1.1c6768p+2 +-0x1.bf3e0ap+2 +0x1.80983p+2 +0x1.96187p+2 +-0x1.3a5924p+3 +-0x1.59c76ap+2 +-0x1.f4a368p+2 +0x1.c1a7cp-1 +-0x1.704cacp+2 +0x1.a0c68p+1 +-0x1.e746e4p+1 +0x1.1be69p+1 +0x1.08633p+3 +0x1.0ae42p+1 +0x1.7d9e18p+1 +0x1.dfba08p+2 +0x1.3296e4p+3 +0x1.b7449p+1 +0x1.1fa7ep+0 +0x1.2b609cp+3 +0x1.d25b58p+2 +-0x1.f44c8p-2 +0x1.262abp+3 +0x1.6f16b8p+1 +-0x1.da6618p+1 +-0x1.1d0bep+3 +-0x1.c8598p-2 +-0x1.d2a0dcp+1 +0x1.8db3dp+2 +-0x1.898dp-2 +-0x1.cf0a4ep+2 +-0x1.0d368p-2 +0x1.88006p+1 +-0x1.4341p-2 +-0x1.dbf25p+2 +0x1.57c6bcp+2 +0x1.18a788p+1 +-0x1.af2c6p+1 +0x1.c5ceep+2 +0x1.158978p+2 +0x1.05d18p+3 +-0x1.fc8bp+0 +-0x1.2d1d8ep+2 +0x1.93de8p-1 +-0x1.28ac4p+3 +0x1.1f7348p+3 +0x1.638e38p+1 +0x1.1d245p+1 +0x1.20eca8p+2 +0x1.1b579p+1 +0x1.0e64p-6 +-0x1.13b30cp+2 +0x1.d7aap-3 +0x1.1051bp+3 +0x1.8fc4p+2 +-0x1.821c0cp+1 +-0x1.310ep+1 +0x1.16454p+0 +-0x1.2681a4p+3 +0x1.176dfp+3 +0x1.5ce57p+1 +-0x1.c2e6e6p+2 +0x1.10c8f8p+1 +-0x1.3dd9ap+2 +0x1.d9de9p+2 +-0x1.22aaap+2 +-0x1.ef322ap+2 +-0x1.26a28p-1 +0x1.c0b2ap+2 +0x1.ad6a7p+2 +0x1.e099dp+0 +-0x1.f34f82p+2 +-0x1.ec7444p+1 +0x1.54d3ep+2 +-0x1.a72cp-2 +0x1.d2cf3p+0 +-0x1.000392p+2 +-0x1.ebfcf8p+2 +-0x1.06341p+3 +-0x1.f318ccp+2 +0x1.57bacp+0 +0x1.1ffea8p+2 +-0x1.2a4a4p-1 +0x1.c6ec2p-1 +-0x1.38c47p+1 +-0x1.74d09p+1 +0x1.9cc58p+1 +0x1.651d2p+2 +0x1.a1845p+2 +-0x1.795c4p-1 +-0x1.a1369p+1 +-0x1.1ff06cp+2 +-0x1.144a08p+3 +0x1.3da32cp+3 +0x1.d651ap+2 +-0x1.56695ap+2 +0x1.9c98a8p+2 +0x1.e01f8p+2 +0x1.15a6c8p+1 +-0x1.f76bbp+0 +0x1.7a0bfp+0 +-0x1.52cbfp+0 +0x1.ce9cap+1 +0x1.080d7p+3 +0x1.2ee3ap+1 +0x1.2f661p+2 +0x1.fb0ee8p+2 +0x1.c341ap+2 +-0x1.80e82p-1 +0x1.1f7314p+3 +-0x1.2c07bp+3 +-0x1.47d644p+2 +0x1.75767p+1 +-0x1.e45dfcp+1 +0x1.d104p-3 +0x1.b34e48p+1 +0x1.c6144p+1 +-0x1.6949b2p+2 +-0x1.25ca28p+3 +0x1.8a1f38p+2 +0x1.26389p+2 +-0x1.1481a8p+1 +-0x1.e9d138p+2 +-0x1.3cdf2cp+2 +-0x1.60ae06p+2 +0x1.5b3538p+2 +-0x1.4fa6c4p+2 +0x1.9e375p+2 +-0x1.f74f84p+1 +-0x1.130fb8p+2 +0x1.f238fp+0 +-0x1.e83d5p+1 +0x1.d67988p+1 +-0x1.13a272p+3 +-0x1.3b3p-5 +-0x1.0dfe2p-1 +-0x1.af7208p+1 +-0x1.db5e3p+1 +-0x1.426f78p+2 +-0x1.66328ap+2 +0x1.906718p+1 +0x1.4fa7ap-1 +-0x1.7be34p-1 +0x1.4ade08p+2 +-0x1.3ae384p+3 +0x1.0c29ap+1 +-0x1.72a9b4p+2 +-0x1.107d38p+1 +0x1.2b7f38p+3 +0x1.bd582p+0 +0x1.0a14e4p+2 +0x1.2164p-5 +0x1.b9a3p+2 +0x1.fedp-2 +0x1.abd6b8p+2 +0x1.b91fbp+2 +-0x1.00af82p+3 +-0x1.7d63dp+2 +-0x1.c069cep+2 +-0x1.7d4958p+1 +-0x1.7a4e7p+0 +-0x1.c412f4p+1 +-0x1.21299cp+1 +-0x1.3dbef8p+1 +0x1.3ca89p+2 +-0x1.329a3p+2 +0x1.42c28p+0 +0x1.5b2b7p+2 +-0x1.345fb8p+2 +0x1.54c6ap+0 +0x1.ba3f2p+0 +0x1.ca6fd8p+1 +0x1.2ba408p+3 +0x1.030354p+3 +-0x1.d04a14p+2 +-0x1.a6e94p+2 +-0x1.a0576cp+2 +0x1.dcf478p+1 +0x1.39e8dp+1 +-0x1.7d885p+2 +-0x1.10929ap+3 +-0x1.286f84p+3 +-0x1.83d9b4p+1 +0x1.32edacp+2 +0x1.cfe39p+2 +0x1.d0a6b8p+2 +0x1.bb71f8p+2 +0x1.8758b8p+2 +-0x1.ea49ep+2 +0x1.25f7a4p+2 +-0x1.6ea384p+2 +-0x1.02d2bcp+3 +-0x1.a37196p+2 +0x1.2b384p-2 +0x1.02cc0cp+3 +-0x1.c95e14p+1 +0x1.68e8cp-2 +0x1.e1fed8p+2 +-0x1.2c1a68p+3 +-0x1.1956bcp+2 +0x1.36aa4p+2 +0x1.0e32ap+1 +-0x1.af1a6cp+1 +-0x1.2ae9aep+3 +0x1.673dfp+0 +-0x1.a290fp+1 +-0x1.1c30a4p+2 +0x1.df4ac8p+1 +-0x1.729188p+2 +0x1.accabp+0 +-0x1.7b6e3p+1 +0x1.431588p+2 +-0x1.221114p+3 +0x1.3142e4p+3 +-0x1.629454p+2 +0x1.771cdp+0 +0x1.343478p+2 +-0x1.1a949cp+3 +0x1.f45728p+2 +-0x1.df0a9p+1 +0x1.ef4ep+2 +0x1.6ae8cp+0 +-0x1.56468ap+2 +-0x1.4d4928p+1 +0x1.d3f0ap+2 +-0x1.a7404p+0 +0x1.18d0cp+2 +0x1.0abfe4p+3 +-0x1.49fad4p+2 +-0x1.870bdp+1 +0x1.7f163p+1 +0x1.88d3dp+1 +-0x1.c7ecccp+2 +-0x1.9836p+1 +-0x1.e96a64p+2 +0x1.036e7cp+3 +0x1.9ceeap+2 +-0x1.30fa6p+1 +0x1.1b2efcp+3 +-0x1.763b3p+0 +0x1.2d71e8p+2 +-0x1.39fb1ap+2 +-0x1.3b585ap+2 +-0x1.d6ecb4p+1 +0x1.f8d2b8p+2 +-0x1.2a242p+0 +-0x1.242fcp-2 +0x1.eb956p+1 +-0x1.cdfa1p+1 +-0x1.7ebb7ep+2 +-0x1.44f2ap+1 +0x1.d44bep-1 +0x1.9019cp+2 +0x1.0a451p+3 +-0x1.167ba2p+3 +0x1.a966b8p+2 +0x1.0d5548p+3 +-0x1.41efecp+2 +-0x1.25deep+0 +0x1.8d2378p+1 +0x1.33e6bcp+3 +-0x1.2c945cp+1 +-0x1.bd8438p+2 +0x1.188e28p+3 +-0x1.7c134cp+1 +-0x1.8e072p+2 +-0x1.8c01a8p+1 +0x1.0579dp+0 +0x1.ebc94p+0 +0x1.2e93bp+2 +0x1.050248p+2 +0x1.114c9cp+2 +-0x1.18563cp+1 +0x1.22eda4p+3 +0x1.766d4cp+2 +-0x1.17343p+2 +-0x1.0209b4p+3 +-0x1.093b42p+3 +0x1.2ad37p+3 +0x1.e76ccp-1 +-0x1.0d7c36p+2 +-0x1.a20f18p+1 +-0x1.a1f1p+2 +0x1.4f51dcp+2 +-0x1.2ba4cp-1 +0x1.e3a228p+1 +-0x1.3bafccp+2 +-0x1.2260acp+2 +0x1.3c156cp+3 +0x1.93c468p+1 +-0x1.e7f3p+1 +-0x1.4343p+0 +-0x1.d120d4p+1 +0x1.c1dca8p+2 +0x1.1209c8p+3 +0x1.e7f7cp+2 +-0x1.3f62aep+3 +0x1.c071cp+2 +-0x1.4d81e4p+1 +0x1.26a35cp+3 +-0x1.5ed224p+1 +-0x1.f67fdcp+1 +0x1.e29dfp+0 +-0x1.96522cp+2 +-0x1.688d88p+2 +-0x1.3fdf52p+3 +-0x1.26c1acp+3 +-0x1.d2de3cp+2 +0x1.a6ada8p+2 +-0x1.d73c54p+2 +0x1.8a577p+1 +0x1.1aae5p+2 +-0x1.1c01bp+2 +-0x1.9ebf58p+1 +-0x1.199c94p+3 +0x1.0d6408p+1 +-0x1.52d3fp+2 +-0x1.0ae4f8p+2 +-0x1.2434cp-2 +-0x1.0a51a6p+3 +0x1.2da0c8p+3 +0x1.9569bp+2 +-0x1.0879f4p+3 +0x1.259804p+3 +0x1.0b6df4p+2 +-0x1.2dff78p+1 +-0x1.a22fdp+1 +0x1.ea921p+2 +-0x1.389448p+1 +0x1.3d287p+1 +-0x1.1b07dap+3 +0x1.bfc078p+2 +0x1.5b9abcp+2 +-0x1.a8b06p+0 +-0x1.a037b4p+2 +-0x1.6fb6cp+0 +-0x1.3ep-6 +-0x1.156078p+2 +0x1.eccf5p+2 +0x1.4caa88p+1 +-0x1.1009c8p+3 +-0x1.dd4c6p+0 +0x1.06a348p+2 +0x1.360768p+3 +-0x1.4f7a14p+2 +0x1.3e346p+3 +0x1.e7668p+2 +-0x1.11aca8p+2 +0x1.251e1p+3 +-0x1.7d39dp+1 +-0x1.024662p+3 +-0x1.603c92p+2 +-0x1.845ad6p+2 +0x1.0c16cp+0 +0x1.07642p+3 +-0x1.0d8c9p+3 +-0x1.1f1fp-3 +-0x1.7c16e8p+2 +0x1.c487ap+0 +-0x1.f97c0ep+2 +-0x1.c55b06p+2 +-0x1.9136ap+2 +-0x1.2f0b18p+2 +0x1.29e92cp+2 +0x1.5a13a4p+2 +0x1.74c38p+2 +-0x1.5743bp+0 +0x1.10f818p+3 +0x1.840d7p+2 +-0x1.0743d2p+3 +-0x1.3a0ab8p+2 +-0x1.2c9764p+3 +-0x1.88cbp-1 +0x1.e878bp+1 +0x1.38d8fcp+2 +-0x1.74101cp+2 +-0x1.a0d4bp+1 +-0x1.0b9862p+3 +-0x1.1cep-1 +-0x1.ff65d4p+1 +-0x1.3876acp+3 +-0x1.aa07dp+1 +0x1.390444p+3 +-0x1.b18f04p+2 +-0x1.cc7498p+2 +-0x1.24d9fcp+2 +0x1.f04b3p+0 +-0x1.f1409ap+2 +0x1.36d1fp+3 +-0x1.328c3cp+3 +-0x1.a4f6ap-1 +0x1.2baa08p+2 +0x1.573fb8p+1 +-0x1.47b308p+1 +-0x1.897ap-3 +-0x1.7fb9e4p+1 +-0x1.694cp+0 +-0x1.8d1e14p+2 +-0x1.dfcfp-3 +0x1.06a2ap+1 +-0x1.345844p+2 +-0x1.2e1bfap+3 +-0x1.13e036p+2 +-0x1.2ed87cp+3 +-0x1.b20f8p-1 +-0x1.8a414cp+2 +0x1.a626fp+1 +-0x1.33b8e8p+3 +0x1.9a3efp+1 +0x1.2eab0cp+3 +0x1.265e4cp+3 +0x1.81bc3p+0 +0x1.3ca668p+2 +-0x1.f763ap+0 +-0x1.526272p+2 +0x1.0c4da4p+2 +0x1.77bdb8p+2 +0x1.ffb5ep+1 +0x1.d009ap-1 +0x1.caedc8p+2 +-0x1.95bfb8p+2 +0x1.f6eecp+1 +0x1.26cdep+1 +0x1.22c6bcp+3 +0x1.27009p+1 +0x1.f70888p+2 +-0x1.3a783p+3 +0x1.9664p+2 +-0x1.bbd47ep+2 +0x1.2e377p+3 +0x1.4437b8p+2 +0x1.238744p+2 +-0x1.19a1c4p+3 +0x1.47d318p+2 +0x1.02a12p+3 +-0x1.2603c4p+2 +-0x1.feecap+1 +0x1.0ccf28p+3 +0x1.49c108p+1 +0x1.d53c6p+0 +0x1.6626p-1 +0x1.6a93fp+0 +0x1.21e6e8p+2 +0x1.af0e4p-2 +0x1.ad2cb8p+2 +-0x1.75d67cp+2 +-0x1.dc8p+0 +0x1.07c6d8p+3 +-0x1.29dd9p+3 +0x1.56d0b4p+2 +0x1.1601ecp+3 +0x1.e0e3p+0 +0x1.95a4ep-1 +-0x1.2d2f2p+1 +-0x1.2604p+3 +-0x1.02f228p+3 +0x1.2afd14p+2 +0x1.2e3ed8p+3 +-0x1.3eca8p+3 +0x1.3d71ap-1 +-0x1.769f44p+1 +0x1.1c80b8p+2 +-0x1.7888ccp+2 +0x1.3ff2p+3 +0x1.6d8a48p+1 +0x1.34d908p+3 +-0x1.9e907p+2 +-0x1.7ecca2p+2 +0x1.e752ep+0 +-0x1.25b304p+2 +0x1.ea68dp+2 +-0x1.de988p-2 +0x1.2c758p+3 +0x1.d49aep+0 +-0x1.20a14p-1 +-0x1.2b5d28p+3 +-0x1.254fp+1 +0x1.bfbfp+0 +0x1.0bb78cp+3 +0x1.59e3ccp+2 +0x1.40afap+0 +-0x1.f537ecp+2 +0x1.021cbp+3 +0x1.6f96dp+1 +-0x1.afe0e6p+2 +0x1.77e8ap-1 +-0x1.bf77e4p+2 +-0x1.c6ee4p-1 +-0x1.182dbcp+3 +-0x1.81382p-1 +-0x1.3257ap-1 +0x1.3c987p+1 +-0x1.6648cp+0 +-0x1.0f38c4p+2 +-0x1.c77d3p+1 +-0x1.bc777ep+2 +-0x1.1e8f4p+2 +-0x1.fd47bep+2 +-0x1.aca0b8p+2 +-0x1.3857e4p+3 +-0x1.23f1cep+2 +-0x1.df0ddp+2 +-0x1.fcd48p-3 +0x1.e90eep+2 +-0x1.f4b55ap+2 +-0x1.85762cp+1 +-0x1.789294p+1 +0x1.835ecp-1 +0x1.a909b8p+1 +-0x1.2e1a8p-1 +-0x1.9d244cp+1 +0x1.8f927p+2 +-0x1.16805p+1 +0x1.291298p+3 +-0x1.830e8p+0 +0x1.6ad1p-4 +-0x1.250d14p+3 +-0x1.2a3a52p+2 +-0x1.2d846ap+3 +0x1.04071p+2 +0x1.b3192p+1 +0x1.12b5p-4 +0x1.a70f6p+0 +0x1.fce1cp-1 +0x1.9c92p-2 +-0x1.2113fp+2 +-0x1.9c0dc4p+1 +0x1.a427ep+1 +-0x1.7b5cp+1 +-0x1.620824p+2 +-0x1.f543f8p+2 +0x1.40e6e8p+1 +0x1.eacd08p+1 +-0x1.12e964p+3 +-0x1.18866p+2 +0x1.2f4688p+3 +0x1.96f8fp+2 +0x1.290f4p-2 +-0x1.7873ep+1 +-0x1.3792a6p+3 +0x1.7746p-4 +0x1.aa88p-7 +-0x1.11244cp+3 +-0x1.7e212p-1 +-0x1.4a181cp+2 +0x1.595f3cp+2 +-0x1.7dc98cp+2 +-0x1.3a299p+0 +-0x1.24d414p+1 +0x1.158554p+2 +-0x1.41474ep+2 +-0x1.a846p-4 +0x1.52e0dp+0 +-0x1.31c6a8p+3 +-0x1.e77d74p+2 +0x1.10034p+1 +-0x1.121a8cp+2 +0x1.443eep+2 +-0x1.4accdcp+2 +-0x1.ac2a1p+1 +-0x1.038cb6p+3 +0x1.643a4cp+2 +-0x1.5ae7c8p+1 +-0x1.2a22a4p+1 +-0x1.d0a294p+2 +0x1.27d2c8p+1 +0x1.533dap-1 +0x1.e688f8p+2 +0x1.fca848p+2 +-0x1.4990ap+0 +0x1.1f5248p+3 +-0x1.a0028p+2 +0x1.b4e94p+1 +0x1.1b9b34p+3 +-0x1.00e14p+0 +0x1.9ade6p+1 +0x1.cc4f7p+2 +-0x1.ce04bcp+2 +0x1.5471ap+1 +0x1.3b3068p+3 +-0x1.8117p+1 +0x1.2d438p+3 +0x1.26a3acp+2 +-0x1.edc64cp+2 +0x1.5725bp+2 +0x1.d7c03p+2 +-0x1.04acb8p+2 +-0x1.d2fbep+0 +-0x1.d2f2cp+2 +-0x1.1ba96p-1 +-0x1.ef2268p+1 +-0x1.6244b6p+2 +-0x1.33493p+3 +-0x1.c0c418p+2 +-0x1.f34afcp+1 +0x1.b82aap+2 +-0x1.9a96b6p+2 +-0x1.d97f5ep+2 +-0x1.435f24p+1 +-0x1.b2065p+1 +-0x1.ea7c8cp+2 +-0x1.0a02c6p+3 +0x1.eb6acp+2 +-0x1.d97ep-4 +-0x1.0775acp+3 +0x1.f8966p+1 +-0x1.f3992ep+2 +0x1.ef799p+1 +-0x1.ac26ap+2 +-0x1.1d7adp+2 +-0x1.47967p+2 +0x1.43fb3p+2 +-0x1.be3ca4p+2 +-0x1.8facf4p+2 +0x1.511ca8p+2 +-0x1.a45cfp+0 +-0x1.2e376p+2 +-0x1.0af362p+3 +-0x1.0d8c0ep+2 +0x1.583ecp-1 +0x1.42f788p+1 +-0x1.aa738p-3 +-0x1.b9fc44p+2 +-0x1.b0f8c8p+2 +-0x1.92cacp-1 +0x1.124568p+2 +-0x1.51a394p+2 +0x1.52ab28p+2 +-0x1.02c724p+3 +-0x1.54781p+0 +0x1.a2e208p+2 +0x1.af3ep+0 +0x1.a2834p+2 +0x1.a729dp+2 +-0x1.381f0cp+3 +-0x1.c7d8ep+2 +-0x1.22ed8cp+3 +0x1.f706dp+2 +0x1.751afp+0 +0x1.ed9b8p+0 +0x1.e466ep+0 +0x1.f8efep-1 +-0x1.338e5ep+2 +-0x1.0eae4p+2 +0x1.29bc2p+3 +0x1.9328d8p+2 +0x1.8f0dap+1 +-0x1.78e984p+1 +0x1.085918p+3 +0x1.06e2c8p+1 +0x1.199418p+1 +-0x1.25037cp+3 +0x1.0c07ap+1 +-0x1.c9c43p+0 +-0x1.f6573p+2 +-0x1.bdd01cp+1 +0x1.351958p+2 +-0x1.d06e58p+1 +0x1.691efp+1 +0x1.fc2dep+0 +0x1.ff412p-1 +-0x1.0d0048p+3 +-0x1.97265ep+2 +0x1.1d5fc4p+3 +0x1.076688p+3 +0x1.4f35p-3 +-0x1.1f65ecp+3 +0x1.341a8p-3 +0x1.87522p+0 +0x1.5d4cap+0 +-0x1.cf4c6p+1 +0x1.269988p+3 +-0x1.496388p+2 +-0x1.4f1c5cp+1 +-0x1.1200bp+2 +0x1.fa541p+1 +-0x1.ec93cp-1 +0x1.156388p+3 +-0x1.2b278p+1 +-0x1.a50e04p+2 +-0x1.d37b0cp+2 +0x1.075618p+2 +0x1.e90b08p+2 +0x1.05f9fcp+3 +0x1.347824p+2 +-0x1.c8c8ecp+2 +0x1.05fbe8p+3 +0x1.8950cp+0 +-0x1.61064p+2 +0x1.30950cp+2 +0x1.d30a4p+2 +0x1.27605p+0 +-0x1.4c47aap+2 +-0x1.96ap-1 +-0x1.367ff6p+2 +0x1.bd6128p+2 +0x1.129f28p+1 +-0x1.b3b84p-1 +0x1.40a8p+2 +0x1.af2d3p+2 +0x1.9dd6bp+2 +0x1.9f80e8p+1 +0x1.0bd7p+3 +0x1.bbdp-7 +-0x1.122ce4p+2 +-0x1.5b7b8p-3 +-0x1.6d56b8p+1 +0x1.d5224p+1 +0x1.0d64fp+2 +0x1.0901bp+1 +0x1.99c17p+1 +-0x1.edd148p+2 +-0x1.463ae8p+2 +0x1.b2bd8p-2 +-0x1.6413b4p+2 +-0x1.151f5p+1 +0x1.bb67dp+0 +0x1.5e1ff8p+2 +0x1.9daae8p+1 +0x1.349e4p-1 +0x1.02154cp+2 +-0x1.bc9c36p+2 +0x1.f312d8p+2 +-0x1.31b44p+2 +0x1.068388p+3 +-0x1.7e68bcp+1 +0x1.c95aap-1 +-0x1.c5f4cp-2 +0x1.35f728p+3 +-0x1.1aaadcp+2 +-0x1.473654p+2 +-0x1.0e50f4p+3 +-0x1.cb5f78p+2 +0x1.1d822p+3 +0x1.6d92b8p+1 +0x1.ed4d58p+2 +0x1.6259a8p+2 +0x1.ec0a48p+2 +-0x1.20b59cp+1 +0x1.6cf6dp+2 +-0x1.d8617p+2 +0x1.714a68p+2 +0x1.5e6e6p+0 +-0x1.3fc3cep+3 +0x1.49c8f8p+2 +0x1.09dd4p+0 +-0x1.44e86p-1 +0x1.eef9dp+1 +0x1.67aebp+2 +0x1.6090fp+2 +0x1.50f0ep-1 +0x1.79af5cp+2 +0x1.3439f8p+3 +0x1.d40ff8p+2 +-0x1.3382ep+1 +0x1.594b9p+0 +-0x1.118738p+2 +0x1.f04d4p+1 +0x1.4b6afcp+2 +-0x1.94e64p+2 +-0x1.293426p+2 +0x1.212dfcp+2 +0x1.27befcp+3 +-0x1.01b082p+2 +0x1.e829f8p+1 +-0x1.671bd8p+1 +-0x1.19c828p+1 +-0x1.3975b2p+3 +0x1.90ap+0 +-0x1.b4cb1cp+2 +-0x1.2be49ep+2 +0x1.0cc2cp-2 +0x1.366f9p+0 +0x1.37c478p+2 +0x1.8bf18p-2 +0x1.771b3p+1 +-0x1.83d80cp+1 +-0x1.471a78p+1 +-0x1.6240dp+0 +-0x1.1a335ep+3 +0x1.46b92p+1 +0x1.b1e9ep-1 +0x1.b411ep-1 +-0x1.07f01cp+3 +0x1.acdb8p-2 +-0x1.66f62p+1 +0x1.b50f6p+2 +0x1.42768p-1 +0x1.cfa5fp+2 +-0x1.7fd87p+0 +-0x1.e4e59p+1 +0x1.4f688p-3 +-0x1.74e78p-2 +-0x1.00c0dcp+3 +-0x1.14dfaap+3 +-0x1.0b8934p+1 +0x1.a0a0fp+0 +-0x1.caa1cp+0 +0x1.dc9a2p-1 +0x1.547dp+0 +-0x1.0c89f4p+1 +0x1.f4998p+1 +-0x1.df30c8p+2 +-0x1.339fep+3 +0x1.0a3078p+2 +0x1.97e16p+2 +-0x1.05b0dp+1 +0x1.0388p-6 +0x1.6bc9d4p+2 +0x1.e865d8p+2 +-0x1.7371fcp+1 +0x1.5112p-2 +0x1.8443p+1 +0x1.3c9aap-1 +0x1.1751f8p+1 +0x1.f2f7e8p+2 +-0x1.2cf5a4p+3 +0x1.72fa48p+2 +0x1.aca4p-3 +-0x1.86538p+1 +0x1.f20e78p+2 +0x1.54a78p-2 +0x1.67512p+1 +-0x1.d143a2p+2 +0x1.0fccp-2 +0x1.05c1d8p+3 +-0x1.dba52p+1 +-0x1.0d0e72p+3 +-0x1.72f61cp+1 +-0x1.32b68cp+3 +0x1.fbc9b8p+1 +-0x1.324672p+3 +0x1.ef1698p+2 +0x1.42305p+2 +0x1.3090c4p+3 +0x1.06b99p+0 +0x1.e41118p+1 +-0x1.284332p+3 +-0x1.35fdecp+3 +-0x1.c327dcp+1 +-0x1.08e364p+2 +-0x1.357188p+3 +-0x1.ebf73p+0 +-0x1.18feeep+2 +-0x1.f0f7e8p+2 +-0x1.82d7dp+0 +0x1.ba6988p+2 +-0x1.add1e8p+1 +0x1.234ef4p+3 +-0x1.010964p+3 +0x1.72ae68p+2 +-0x1.2bf8p-3 +-0x1.45c0d6p+2 +-0x1.da5ea8p+1 +0x1.c704ap+2 From patchwork Fri Nov 29 13:17:35 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: 846132 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp861486wrp; Fri, 29 Nov 2024 05:31:47 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVyLtMDcip5R/0M6J2TIt+VTNN0KiLlFPyhucLt9U5c+3Pb+I9wddsOKO6rWRlr7yA2KWf74w==@linaro.org X-Google-Smtp-Source: AGHT+IGchfmXIeRLzojlAHEssG/RZhFLA/Wj1GnuhNHgFI5kWyrclSFsDJEm60GZraIAmTdNJdsm X-Received: by 2002:a05:6512:3f1f:b0:53d:d3ff:77f6 with SMTP id 2adb3069b0e04-53df010900cmr7784124e87.46.1732887106874; Fri, 29 Nov 2024 05:31:46 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732887106; cv=pass; d=google.com; s=arc-20240605; b=G5X59nNb8JXQu0JnbbgXtezOzhk5EMg7tQBE2E6eagofN2+reY6nYk4Ux7g/Az3QYX Cv3kmqJAqVH7QfTedp8ip+oz3lCidnz0Ag02uIRRJ6X6sEdwnkDojHtYqVbs70pofnE9 4ZZP9jTdhanJsqAkkDAyv8VjtIBWbNz3yj/hoNX+jKlSxMg4jI2TYoIeAP14Jp1jYDyW nSIPP286NVkixak57d/lFcfSMg4abhQhbUK1GiJiOoyvwat93qgJF0ivQzMbzKzyzT1j +Hj+bwRvqjm+sdzCX+FMDSKFsytijk9oTXMSqtfMTQtdna8dqwhlv+HGaEOn1xsCPB7w EIBA== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=NNUPxc2XL7gmL6lvkz9xEmSz4KCJR0DVvnDODxlsksc=; fh=/bzLn4Pu6wt5yJOmVA6NJX5WuFMrzV1CRzIGBeRqGpk=; b=NtYVi/19xlDu+VB/G4MnpDDGptkHOgFR+B7nsUKMqoaI0llX14MkBtragBF+KqgCUA xh6f+VEdGlB3oOOjJl6TUEcWjUxQYLnoEwboNGTD/UzKcuRD5fD2QEP+wsgqfuPFPpWm 5x71ltPYovDzvXeS/MufVhmLo1JDAYc8pu8D4NBAPryqTpMT2WJVgQJS5bi5Dwayx1hV taXttFJFaE6Jk95tIjdoUAvBPdBmK6Sq5xOdYqA155EK6xf9cj7+NZaEdf5Z/2dkOFzt EYpQwyqhWSE6oqnh1cVInUiW+83URNe69hCarqLzBMfl0ljuAOfCkuHlgvXKzHGySdYp G3pg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=PhTvCtEQ; 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 2adb3069b0e04-53df64963a4si1404228e87.352.2024.11.29.05.31.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:31:46 -0800 (PST) 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=PhTvCtEQ; 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 F0F123858CDA for ; Fri, 29 Nov 2024 13:31:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F0F123858CDA Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=PhTvCtEQ 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 C85923858CD9 for ; Fri, 29 Nov 2024 13:20:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C85923858CD9 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 C85923858CD9 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=1732886460; cv=none; b=BR5irQpiHnrJwV+gr9jHdjozZ8NvVDkWCUkQBsEHnAAk/HjTe1Bh2ozPXnbPsKn94omLuMm2MfuEhDbHpj5SwxFIIBw/EroqAsogkzhO8TQugYyPWPg8X5pB/gPoiscKeDYB7xTisfkvNd2Utm0NLbaOSz4C4L/6prWarjljlC0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886460; c=relaxed/simple; bh=SX9YFqxfrlOCXQIM3bdRENXm8vthDHMgrdzgUchqCFQ=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=XN2nEB3jVrmTCg+oM0sYuvvrd8m2CW3nfoVyIJnScvXG2JgdxMYIPJyLHO0J1n41FBohaXjxHpq4F3jDVR3oG9niNiEe9p3d6qdtLA1t6PTZuJ3O9jVj9tUIiXsUTx2DMExyEF6J95JALFw8ycUW62Rca63SKRb4Lq3e+gOvXBU= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C85923858CD9 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-2155157c31fso760035ad.1 for ; Fri, 29 Nov 2024 05:20:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886458; x=1733491258; 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=NNUPxc2XL7gmL6lvkz9xEmSz4KCJR0DVvnDODxlsksc=; b=PhTvCtEQLwaaubGeRfneHTQMpEI1Z0I2CZTJYfO87tfuh4ORB7tp9cxO3zKLSuSrTR dxonpRSc7aMLajEb3oxO4YgnB9tReSJSQXWvnc0AgfHhyeGFZG62sziwhv02YageToW/ jxirzTdVSBX+WzQZEc33coJI/2CREa7H6fCHhT5YgGg5/izrKgxHHuhmxNf7B2sIsfI8 rU5v4QySgnt5U3Rho0HPKsz3hdhH9r1/CFDzQxGE6Oa8wRBeKVo+sMcdubdUbpiUsiMR 5KijBYi4pvQaeqxOwA3CHkU/1ymHbvvfUKU9mWYur+6lmaAuH3YVwHoEcHwLdN+9WD5Z whrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886458; x=1733491258; 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=NNUPxc2XL7gmL6lvkz9xEmSz4KCJR0DVvnDODxlsksc=; b=CwypZPOI2Blg+kb3Y1JPCiStPNTCbMrEhNbLGAe0IlB6bb5Kcmkarh3y/m2Fkc9u7O S+LAyHYqVxWEDa/TxKUwncT3az1Hl2v9yDRNJ505MEmyYIaNlO0a9/AB1qb4FUocY2gs S1RZOxFrH3tdxGKnLUSa93/td1aXxn1/n+E6RnChnHWGo5g5K83G0qxXfHXGDIY79+Kk Vb3gzIOsptXhlZ93fMrEADIHcIjx/3GfaSbY8YaNLk1XZ4DcNglqCfYlOeJc+gOYz3ke mTn8kxSGcMA0iZh7uYqvkcK+6gWLK2pRS2p8hLQ7LXWp6JdH/na0Zjgvv+cq+fY47LHw CNzQ== X-Gm-Message-State: AOJu0Yz4EFoj3bLnguLNaPEXSCn5wilSFfUNtb5+ezp/XO57yOU3ojUB v/6tYRAUgnzZSEGgfeRk4htAqato5/FRSYsebxhOPmngn/ZP2FpTa0dsAt0B7uJ9zc66x/7DBq0 syG0R3A== X-Gm-Gg: ASbGncsvsxRqN0UTIXGIrp/h7qmVBi6DbHPGk2BETCqf1n6bNX67G4n0PNQniGlppUF QvwXq7OtBHbTcXsPWR0gLLRCfrzLWYgJWTnlOYPoIqPHQScajd+VIezYawXGVHj6vXJm59NOPvD vg1K7ddZSVUS8F+wGKLFo3MlAnw+Mx2GNJ88VrgRsp+fyDonKaylypwUFGQKMm+ZdKyDfP0qZx6 FMvkzDZE3SCqfnrkxmP9epJ0V74EKg7OVaCUEtIcIa6RxD3PZmp6gZEa660QVY= X-Received: by 2002:a17:902:fc4d:b0:212:38d7:78ea with SMTP id d9443c01a7336-2151d861ac3mr122731895ad.25.1732886458466; Fri, 29 Nov 2024 05:20:58 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.20.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:20:57 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie Subject: [PATCH 11/23] math: Add inf support on gen-auto-libm-tests.c Date: Fri, 29 Nov 2024 10:17:35 -0300 Message-ID: <20241129132032.476978-12-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 For some correctly rounded inputs where infinity might generate a number (like atanf), comparing to a pre-defined constant does not yield the expected result in all roundind modes. The most straightforward way to handle it would be to get the expected result from mpfr, where it handles all the rounding mode. --- math/gen-auto-libm-tests.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/math/gen-auto-libm-tests.c b/math/gen-auto-libm-tests.c index 0b1e307fae..457610ef04 100644 --- a/math/gen-auto-libm-tests.c +++ b/math/gen-auto-libm-tests.c @@ -981,6 +981,26 @@ special_fill_e_minus_1 (mpfr_t res0, mpfr_t res1, fp_format format) return 2; } +/* Set the precision of RES0 based on FORMAT and initialize as an + infinite number. */ +static size_t +special_fill_inf (mpfr_t res0, mpfr_t res1 __attribute__ ((unused)), + fp_format format) +{ + mpfr_init2 (res0, fp_formats[format].mant_dig); + mpfr_set_inf (res0, 0); + return 1; +} + +static size_t +special_fill_minus_inf (mpfr_t res0, mpfr_t res1 __attribute__ ((unused)), + fp_format format) +{ + mpfr_init2 (res0, fp_formats[format].mant_dig); + mpfr_set_inf (res0, -1); + return 1; +} + /* A special string accepted in input arguments. */ typedef struct { @@ -1016,6 +1036,8 @@ static const special_real_input special_real_inputs[] = { "e", special_fill_e }, { "1/e", special_fill_1_e }, { "e-1", special_fill_e_minus_1 }, + { "inf", special_fill_inf }, + { "-inf", special_fill_minus_inf }, }; /* Given a real number R computed in round-to-zero mode, set the @@ -1062,7 +1084,6 @@ round_real (mpfr_t res[rm_num_modes], unsigned int exc_after[rm_num_modes], mpfr_t r, fp_format format) { - assert (mpfr_number_p (r)); for (rounding_mode m = rm_first_mode; m < rm_num_modes; m++) { mpfr_init2 (res[m], fp_formats[format].mant_dig); From patchwork Fri Nov 29 13:17:36 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: 846136 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp865805wrp; Fri, 29 Nov 2024 05:38:11 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUQD8CYeFnccuLlFDqxYKjuAe8ZXL9oEckXpiI/QCWSKIYbT2h8iNPb+WyxRK6wbotzx4B3NA==@linaro.org X-Google-Smtp-Source: AGHT+IEjiMD0iiP9P4und94NtkxDFOSavTam8C8SjRQOpMQxIo+9VaASvPyUvGkGXASE9FCm6y2x X-Received: by 2002:a05:6359:459d:b0:1ca:95cc:dbc2 with SMTP id e5c5f4694b2df-1cab159bb56mr532238855d.2.1732887491311; Fri, 29 Nov 2024 05:38:11 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732887491; cv=pass; d=google.com; s=arc-20240605; b=Za0vO1RE188z9AzWucT0pvz2hTzPprvwp/c8o3/gbpBI9XmQpsFR5UtS1dx7cudsUN Qwrrx633B9EN/kWr0swsY9A+NdvWJYTZ53DymZxRHD6xljcIHV0iO3N7j0CO0b7pLdQJ JlYi9rE8nka28CdlsIVbZr2Xu1cp4ke/7eiYFzSZkbIBf+O95vFxtbxEtZ4f0ng2ZOKW HMtm3GNHwLAAt6b977voFi31r1GKJeov0vvTNFGxB+QVJOxGBKDmhgbIy+Mf22t/uyRs cE5MARM3P8qCUQiw1+7XCysk4jZJMhgc1OnsYvM/ZU6yu2SrXtFx9aONUnANrT7XEOxv CW2Q== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=mgmZFwsck4ceL/UY4BIegEAwcpMJpqfR0g6cQNtwP9k=; fh=/bzLn4Pu6wt5yJOmVA6NJX5WuFMrzV1CRzIGBeRqGpk=; b=GmyNk7/gegfbhhU4WuCnIS8zHw36R3rYbIE0MjGq4+U+kidHd3veq+dsmHCJbP+3lB +ELje68TeJeKj8wqTVL8eed8eD9fO2vC13I4bhITuCJz9NKYChmMxIuPj512D/0ZwVj2 YZw9ZhgC3exQ9Bhd1u5WarUiApujRel2jhCbnOQv2aCGw8+vxDb+9qpx8+rPKRO9MiKU Ce93aBcvWipUCgv6F0nxtuTYK91Q1vE0ANtXbioNBXlvXC4LKLRiXmu8y6pQiGUKW+xo eEXIMznKdcuzKsa42+sY6hvLrV6FUnCFKIOrupU3/Btz6NURj7JTY9z3Pvo/hOr18Rvt 0hmw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=kYfwiKHl; 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 71dfb90a1353d-5156cd0afb5si1766779e0c.84.2024.11.29.05.38.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:38:11 -0800 (PST) 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=kYfwiKHl; 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 C3D673858CD1 for ; Fri, 29 Nov 2024 13:38:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C3D673858CD1 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=kYfwiKHl 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 9B6093858C32 for ; Fri, 29 Nov 2024 13:21:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9B6093858C32 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 9B6093858C32 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=1732886461; cv=none; b=TRbHD5E0TK5U4RUcFlBHZzZr1abTdNfhYSQOtz1w75/DUgkPFRTiHWOBuell6AXhoXIJkXcvcv2wXW88m2ElFJPEJnztEra0w3TyrWL9KrTi4x6eHlr+Xwns4KL2QacsdtD+rP1YmRR84GxqP0NhQCZLPVnI32pzKFK2QPdY94Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886461; c=relaxed/simple; bh=9LEQLKk77Ku5R1lAu+ZhPMl+XwU4/TlrKIf4FaOvAU4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=K93dG4MJakEWAVyKCmDgOJd4+IIgJR5EiwQLwvIS1jjW6jRM9awefcdyt4cjGOwdcNvNLNtMS2V8TaracnSwNQsBi5GRBk5Rctn9EHqT2wxKyhlv6Wdp8o/rSn6U2CQjGD1ZDnsXfsTDs6YgDevHQO0YJebIaRSvO85wJ/o9WcE= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9B6093858C32 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-2142214abd2so13783415ad.0 for ; Fri, 29 Nov 2024 05:21:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886460; x=1733491260; 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=mgmZFwsck4ceL/UY4BIegEAwcpMJpqfR0g6cQNtwP9k=; b=kYfwiKHlzLd49lm9cNhvOJThgtPnzzwT4w2gVYZSHQ2zWwAHJ6YJMXhzIoWfEeE+Nb cXCWTw3tOxJCEDAV3EETgkywjkAkhPc2hIHA/1Y/d0j68wxI0TGlFq0yF+7X8jfpS0Ye HO/EIm2BQJGWUpBYcBUBSnqnXPp+/mVDiZ15wzhgo8SL/3HJ8FSC8aBipNTMNsjcDYd8 hr6p7h8wu9Xs+X31hz0CO9VJ7uOjwMlf/f5tEwjV7jTvklCMNIH9J2j6upG2mjh+VmG6 XZ6h00Rv7fvsUJ+csmlLQYxJZOi7fwyA7TuWCWjUnLpnkI8djmwKH3ahP2bwHKNj6laz 6xBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886460; x=1733491260; 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=mgmZFwsck4ceL/UY4BIegEAwcpMJpqfR0g6cQNtwP9k=; b=GpVDv68zOs71y5FQ+wxXSLDp4JHOQXMvm4o2kJOcKgqNi7bpCd9XVsu4zt07ittD0s oUW5B0d9cloudpIznGL21reD2spm/wDvP3PtOfMmdql3Utyp8kQxd+kb6HDybzf0julA SkZIS+6OU2OeyCGmsVx7oCTtFdxt5VBFnRMpDsj6ogoFL54hwljQC3+Lkws5ZBcSCW4e ZHo8Hj/w2cNGR3o4bN7j8XDQ7y6JZsbirsE+jr5hHu8Bvo2tosj4amGm6xZT+SVGmI9K v9xbEZkFofQ8xrkiTGCaivPBMV6FMRjWMW6ROiQPD8YoyVvQKwhIM+LYu+W5prnT1czg 2V5Q== X-Gm-Message-State: AOJu0YzmkwjOtEONm0czG3pweVC75u3Kyt4+BHAGX/rqxWXC+0gImDW7 Sz8ievIM/R/Uj4Vt3UbpN/GEbEXZZS2p2ksxEfBY4jUM8h7jI9CIK5ddjCOlae9h9pVXdBdxsz3 ReLLc2A== X-Gm-Gg: ASbGncuyOGRyCSuk1NA5+ZenFf51T2w8VqpRikfHNv5C23qLKdVTa8SPv+wTy1HNESz 0T82gmyX1ZiDhyRYaAGTbbf/0DqWi8Kw2PBSBetcSXdROAHPdL9ZPTCXdF8serPafjXBPK+rO9o +5a4HTGrclU9QPq2Vr2VqYbd+8H3XlhsBSGHY85x7XIhKg2cMCqUT+VLCYPjwbCvz/u9BihZq4E Vj6QIHk7k+Cx4jMb4U1KdYjD50VVpMJzR+8xCHG/m/LpB8Y3GSkszfv3XlSxjU= X-Received: by 2002:a17:902:fc47:b0:215:5204:3913 with SMTP id d9443c01a7336-21552044c13mr4300505ad.52.1732886460160; Fri, 29 Nov 2024 05:21:00 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.20.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:20:59 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie Subject: [PATCH 12/23] math: Fix the expected atanf (inf) results Date: Fri, 29 Nov 2024 10:17:36 -0300 Message-ID: <20241129132032.476978-13-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 M_PI_2 (lit_pi_2_d) constant is not the expected value for atanf on non-default rounding modes. Instead use the autogenerated value. --- math/auto-libm-test-in | 2 ++ math/auto-libm-test-out-atan | 50 ++++++++++++++++++++++++++++++++++++ math/libm-test-atan.inc | 2 -- 3 files changed, 52 insertions(+), 2 deletions(-) diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index b570e88e78..83f125b313 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -394,6 +394,8 @@ asinh -min_subnorm asinh max asinh -max +atan inf +atan -inf atan 0 atan -0 atan max diff --git a/math/auto-libm-test-out-atan b/math/auto-libm-test-out-atan index 334894a90a..cc41d61239 100644 --- a/math/auto-libm-test-out-atan +++ b/math/auto-libm-test-out-atan @@ -1,3 +1,53 @@ +atan inf += atan downward binary32 plus_infty : 0x1.921fb4p+0 : inexact-ok += atan tonearest binary32 plus_infty : 0x1.921fb6p+0 : inexact-ok += atan towardzero binary32 plus_infty : 0x1.921fb4p+0 : inexact-ok += atan upward binary32 plus_infty : 0x1.921fb6p+0 : inexact-ok += atan downward binary64 plus_infty : 0x1.921fb54442d18p+0 : inexact-ok += atan tonearest binary64 plus_infty : 0x1.921fb54442d18p+0 : inexact-ok += atan towardzero binary64 plus_infty : 0x1.921fb54442d18p+0 : inexact-ok += atan upward binary64 plus_infty : 0x1.921fb54442d19p+0 : inexact-ok += atan downward intel96 plus_infty : 0x1.921fb54442d18468p+0 : inexact-ok += atan tonearest intel96 plus_infty : 0x1.921fb54442d1846ap+0 : inexact-ok += atan towardzero intel96 plus_infty : 0x1.921fb54442d18468p+0 : inexact-ok += atan upward intel96 plus_infty : 0x1.921fb54442d1846ap+0 : inexact-ok += atan downward m68k96 plus_infty : 0x1.921fb54442d18468p+0 : inexact-ok += atan tonearest m68k96 plus_infty : 0x1.921fb54442d1846ap+0 : inexact-ok += atan towardzero m68k96 plus_infty : 0x1.921fb54442d18468p+0 : inexact-ok += atan upward m68k96 plus_infty : 0x1.921fb54442d1846ap+0 : inexact-ok += atan downward binary128 plus_infty : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan tonearest binary128 plus_infty : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan towardzero binary128 plus_infty : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan upward binary128 plus_infty : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan downward ibm128 plus_infty : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan tonearest ibm128 plus_infty : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan towardzero ibm128 plus_infty : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan upward ibm128 plus_infty : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok +atan -inf += atan downward binary32 minus_infty : -0x1.921fb6p+0 : inexact-ok += atan tonearest binary32 minus_infty : -0x1.921fb6p+0 : inexact-ok += atan towardzero binary32 minus_infty : -0x1.921fb4p+0 : inexact-ok += atan upward binary32 minus_infty : -0x1.921fb4p+0 : inexact-ok += atan downward binary64 minus_infty : -0x1.921fb54442d19p+0 : inexact-ok += atan tonearest binary64 minus_infty : -0x1.921fb54442d18p+0 : inexact-ok += atan towardzero binary64 minus_infty : -0x1.921fb54442d18p+0 : inexact-ok += atan upward binary64 minus_infty : -0x1.921fb54442d18p+0 : inexact-ok += atan downward intel96 minus_infty : -0x1.921fb54442d1846ap+0 : inexact-ok += atan tonearest intel96 minus_infty : -0x1.921fb54442d1846ap+0 : inexact-ok += atan towardzero intel96 minus_infty : -0x1.921fb54442d18468p+0 : inexact-ok += atan upward intel96 minus_infty : -0x1.921fb54442d18468p+0 : inexact-ok += atan downward m68k96 minus_infty : -0x1.921fb54442d1846ap+0 : inexact-ok += atan tonearest m68k96 minus_infty : -0x1.921fb54442d1846ap+0 : inexact-ok += atan towardzero m68k96 minus_infty : -0x1.921fb54442d18468p+0 : inexact-ok += atan upward m68k96 minus_infty : -0x1.921fb54442d18468p+0 : inexact-ok += atan downward binary128 minus_infty : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan tonearest binary128 minus_infty : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan towardzero binary128 minus_infty : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan upward binary128 minus_infty : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan downward ibm128 minus_infty : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan tonearest ibm128 minus_infty : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan towardzero ibm128 minus_infty : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan upward ibm128 minus_infty : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok atan 0 = atan downward binary32 0x0p+0 : 0x0p+0 : inexact-ok = atan tonearest binary32 0x0p+0 : 0x0p+0 : inexact-ok diff --git a/math/libm-test-atan.inc b/math/libm-test-atan.inc index 3581d3b5ee..19e441556b 100644 --- a/math/libm-test-atan.inc +++ b/math/libm-test-atan.inc @@ -20,8 +20,6 @@ static const struct test_f_f_data atan_test_data[] = { - TEST_f_f (atan, plus_infty, lit_pi_2_d, ERRNO_UNCHANGED), - TEST_f_f (atan, minus_infty, -lit_pi_2_d, ERRNO_UNCHANGED), TEST_f_f (atan, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_f_f (atan, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_f_f (atan, snan_value, qnan_value, INVALID_EXCEPTION), From patchwork Fri Nov 29 13:17:37 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: 846135 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp863691wrp; Fri, 29 Nov 2024 05:34:50 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCW+49O16T+AfmaMCSHaIKs1RL3bM7YtNSC5Uu7HHKpBgLhBOXV/pr+xsL4UAKEnW6mLfh/dGg==@linaro.org X-Google-Smtp-Source: AGHT+IG4v50mdE7Hcu4UbHoehfRMFxESwxaX6LTaoFnmHp3bz5gD4HeydV2RU8G5ZrjIe73D5Qba X-Received: by 2002:a05:600c:458b:b0:42f:8229:a09e with SMTP id 5b1f17b1804b1-434a9df7b85mr110358835e9.29.1732887290768; Fri, 29 Nov 2024 05:34:50 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732887290; cv=pass; d=google.com; s=arc-20240605; b=PJDvpt6uVqczEKefjQSw6jcGLNvUdOn4TlqdsQGAtkSNW/Ju+zcfxlS6V6f6vUCg9e CXSuMehdUV1KKD7ziwrjkl1I322nZIaB+P7sWo+7bufsD22PRH0r7MF5PC/r2de0SOKe lqtRpbLezlhfewYJP77TLPqm7sf2M0GOMn7yxJiUkFqUVL0EN+Kg+rug4cKAbJnKlwm2 bKQPIrxUwsvU6aqh4eRMkUFGpP2nvcWQUgrx/giWCjlx6jpMbACIcmE+E8mkCc6tTg98 9WwSexWgu67JGb4EF3GGDDsiSsnzNHv33gn3O9/LID/7Ee2pyIC2qwcg87093Kf1XbIm LYSQ== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=op9ycuWXKXAhXiHo19LuNVJ/NVtaQ56gWIDTql2ciEo=; fh=/bzLn4Pu6wt5yJOmVA6NJX5WuFMrzV1CRzIGBeRqGpk=; b=g1EflR4ACKF2REs6OBkipmm4Yqd0dLKFrFEwOHBRni9zJR0f/m7cGz8mDg7swz4KTt zfBwrkiCIpqk13iOYxszByjHaz0fN8s1TK8R6duSPZ4QERhT2eO41Vlu+lgVU2t35Tnz Lzcbchv8rzPh9sVbLiMAjHL5LkGCm3dzBcrrLc1S31toVwCVb6oLRbGIxegmAyBagW0l UYSbGFpe4YFUCAl+PFKJp+s1RzHnstvWLWQ5u6jSKBV9hPKaDmIWA2KfS2TJ0dyNe426 seeBeVi/057aT5TwPuB8pMsDyG8ONA0pW/eIjSMaymR/p+yjCcyBwbGbQ8yftaDYGAYI 6ycw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=H5iVGyCL; 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 ffacd0b85a97d-385de9515a0si945525f8f.71.2024.11.29.05.34.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:34:50 -0800 (PST) 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=H5iVGyCL; 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 8EF763858C31 for ; Fri, 29 Nov 2024 13:34:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8EF763858C31 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=H5iVGyCL 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 D66633858C60 for ; Fri, 29 Nov 2024 13:21:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D66633858C60 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 D66633858C60 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=1732886466; cv=none; b=Nb1Q1fsPvz99YyNkPyc6KO5xl7MJqF3zPeYogfA1Kqg3AD8blbgiSHTc43+UYT8lRGM8S32YvYumzyGHldG5uIa86LyY6G+wJzny11BglxFXQ6lA4treIVZEVaUHtjYPKJz2gCGpv7PSDxreTDy2foYWpaO1p0vvL6CpTnayvxo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886466; c=relaxed/simple; bh=Uwkpggjby71GCCYdCC15egYm1i3oRXC915rN4lemONo=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=oS/N1ldxQh2Q9ov+CBV9bw+1wLp+WZlY/WOHFMr34Sy4uJBYpJpV6NZTCk4ZFTsBjKKcDXFV0sidKycDzAcRZ+hLSMccpDQ7bTYDA5+9qxdv4FR8B6bOLNRWi+s+FzVF7Sd6hfMkuy0Piv58j1OmW6AkBSYle+lALWyTZ06t8bo= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D66633858C60 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-2153e642114so6787875ad.0 for ; Fri, 29 Nov 2024 05:21:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886464; x=1733491264; 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=op9ycuWXKXAhXiHo19LuNVJ/NVtaQ56gWIDTql2ciEo=; b=H5iVGyCL1L0hwXjBCnShvU0myDODoYgHua7FBFec6EdAbsBumydjVKpwR9r5A3ygsp fKqMof/JofAVxS59b6SqJnj2D38m+i5WvVSez/0BR/8THRUigSPtI8w2+z2l28DWutqq AsvAjeryzU9uSCBZmHSNATRf4ZtB0b/tVePmYfqJcAj6WgPAOaZ+O+QgkINs0mXfPu6/ sGMuCMmaCymVKi79UU7JLV+w0ldzPkSO78P8Ki6PyzMKJ6D6A7poOW0GmTmE/IWROjBG 46k7KT8XKQRznxre4OUAtEzpnAYiqRg2kb+eTZF6b4YW9+XVZVQGA81euF/fgM5HcO2b ba+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886464; x=1733491264; 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=op9ycuWXKXAhXiHo19LuNVJ/NVtaQ56gWIDTql2ciEo=; b=cPT3Qz7LK2twDc+sgEXCUKBV77h4/ogVRQ5HbOagzamMM9NBDg9EDwU/c4n7INkXIX EsSJLLDjK+XgSS0qEIGcKgsGe43PpOGMm0MWjzcm40vR2fnWozp/Qr5OZQnuce/MwBfp 4G30htD5ZnPnVPao/5a/QFUf/6+REBr3V9F1WtEPzm/n0Hn+vC8HGDV+rJXLiXkyenn/ ephlTnYcmA+P6rJOAa3zda8gX6nBhjqC38P9puX2y1sb/h/MyikwS0b6VJD7ECLuAYCa zb1TqaMDwTg7GePkitV0SPjf7KUpsA8hsRxxkjMWQUuFPnh50S6Jn/CNqzAMnpbQrglG 2/Tg== X-Gm-Message-State: AOJu0YyX8fVATvyLntwnDPsovQxAJdgKWTYSeKuV5EO65uUKmBfSPUiD Erwb5NqcENl5qI/U3PimY9pwGe3u8nexXj/OTqVOFJAaIeWFvzu9iuWVIUhLSzwzC9EoUCoZ+DE A9FEHJQ== X-Gm-Gg: ASbGncs182e52MlZBAI07SxqM8BBykv6EnJhx5dpumDQUx8zLj/AsMtBjvPIyOXUjec iQatWzOonRsM3hZI/IJq6TrSKumi2DCtpNpy0PXg35EKMM1mPKiQcOEZjrW0iz+jfYIRWr1+FhW VUelnUnQEJKAtGlBjs1NRMZH3h7c9QmPgQBLpQlDy6pyTMhL2KizKcj/KhecORURP1Vku/rz4Ub vttipYVXChImot2hObpB7YBBkvi8aFQ3OElY/8wAH04xsn+Wmk0XC09SYLnu7c= X-Received: by 2002:a17:902:e848:b0:212:2fde:1a1c with SMTP id d9443c01a7336-21501e5c68dmr130299045ad.47.1732886462576; Fri, 29 Nov 2024 05:21:02 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.21.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:21:02 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie Subject: [PATCH 13/23] math: Fix the expected atan2f (inf) results Date: Fri, 29 Nov 2024 10:17:37 -0300 Message-ID: <20241129132032.476978-14-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 pi defined constants are not the expected value for atan2 on non-default rounding modes. Instead use the autogenerated value. --- math/auto-libm-test-in | 50 + math/auto-libm-test-out-atan2 | 2316 +++++++++++++++++++++++++++++++++ math/libm-test-atan2.inc | 56 - 3 files changed, 2366 insertions(+), 56 deletions(-) diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index 83f125b313..6dbda50a28 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -437,6 +437,56 @@ atan -min atan min_subnorm atan -min_subnorm +# atan2 (y,inf) == +0 for finite y > 0 or +0 +atan2 1 inf +atan2 0 inf +atan2 min inf +atan2 min_subnorm inf +atan2 max inf +# atan2 (y,inf) == -0 for finite y < 0 or -0 +atan2 -1 inf +atan2 -0 inf +atan2 -min inf +atan2 -min_subnorm inf +atan2 -max inf +# atan2(+inf, x) == pi/2 for finite x +atan2 inf 1 +atan2 inf 0 +atan2 inf min +atan2 inf min_subnorm +atan2 inf max +atan2 inf -1 +atan2 inf -0 +atan2 inf -min +atan2 inf -min_subnorm +atan2 inf -max +# atan2(-inf, x) == -pi/2 for finite x +atan2 -inf 1 +atan2 -inf 0 +atan2 -inf min +atan2 -inf min_subnorm +atan2 -inf max +atan2 -inf -1 +atan2 -inf -0 +atan2 -inf -min +atan2 -inf -min_subnorm +atan2 -inf -max +# atan2 (y,-inf) == +pi for finite y > 0 or +0 +atan2 1 -inf +atan2 0 -inf +atan2 min -inf +atan2 min_subnorm -inf +atan2 max -inf +# atan2 (y,-inf) == -pi for finite y < 0 or -0. +atan2 -1 -inf +atan2 -0 -inf +atan2 -min -inf +atan2 -min_subnorm -inf +atan2 -max -inf +atan2 inf inf +atan2 -inf inf +atan2 inf -inf +atan2 -inf -inf # atan2 (0,x) == 0 for x > 0. atan2 0 1 # atan2 (-0,x) == -0 for x > 0. diff --git a/math/auto-libm-test-out-atan2 b/math/auto-libm-test-out-atan2 index d7a7ffcd5b..b8ba6befe4 100644 --- a/math/auto-libm-test-out-atan2 +++ b/math/auto-libm-test-out-atan2 @@ -1,3 +1,2319 @@ +atan2 1 inf += atan2 downward binary32 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary32 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary32 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary32 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary64 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary64 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary64 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary64 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 downward intel96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest intel96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero intel96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 upward intel96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 downward m68k96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest m68k96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero m68k96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 upward m68k96 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 downward ibm128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest ibm128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero ibm128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 upward ibm128 0x1p+0 plus_infty : 0x0p+0 : inexact-ok +atan2 0 inf += atan2 downward binary32 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary32 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary32 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary32 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary64 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary64 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary64 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary64 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 downward intel96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest intel96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero intel96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 upward intel96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 downward m68k96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest m68k96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero m68k96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 upward m68k96 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 downward ibm128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest ibm128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero ibm128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok += atan2 upward ibm128 0x0p+0 plus_infty : 0x0p+0 : inexact-ok +atan2 min inf += atan2 downward binary32 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary32 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary32 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary32 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary64 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary64 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary64 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary64 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 downward intel96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest intel96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero intel96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 upward intel96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 downward m68k96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest m68k96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero m68k96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 upward m68k96 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 downward ibm128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest ibm128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero ibm128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 upward ibm128 0x4p-128 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary64 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary64 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary64 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary64 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 downward intel96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest intel96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero intel96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 upward intel96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 downward m68k96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest m68k96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero m68k96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 upward m68k96 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 downward ibm128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest ibm128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero ibm128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 upward ibm128 0x4p-1024 plus_infty : 0x0p+0 : inexact-ok += atan2 downward intel96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest intel96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero intel96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 upward intel96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 downward m68k96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest m68k96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero m68k96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 upward m68k96 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0x4p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 downward intel96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest intel96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero intel96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 upward intel96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 downward m68k96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest m68k96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero m68k96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 upward m68k96 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0x2p-16384 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary64 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary64 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary64 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary64 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 downward intel96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest intel96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero intel96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 upward intel96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 downward m68k96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest m68k96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero m68k96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 upward m68k96 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 downward ibm128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest ibm128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero ibm128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok += atan2 upward ibm128 0x8p-972 plus_infty : 0x0p+0 : inexact-ok +atan2 min_subnorm inf += atan2 downward binary32 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary32 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary32 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary32 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary64 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary64 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary64 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary64 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 downward intel96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest intel96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero intel96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 upward intel96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 downward m68k96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest m68k96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero m68k96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 upward m68k96 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 downward ibm128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest ibm128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero ibm128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 upward ibm128 0x8p-152 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary64 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary64 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary64 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary64 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 downward intel96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest intel96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero intel96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 upward intel96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 downward m68k96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest m68k96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero m68k96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 upward m68k96 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 downward ibm128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest ibm128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero ibm128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 upward ibm128 0x4p-1076 plus_infty : 0x0p+0 : inexact-ok += atan2 downward intel96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest intel96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero intel96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 upward intel96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 downward m68k96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest m68k96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero m68k96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 upward m68k96 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0x8p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 downward m68k96 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest m68k96 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero m68k96 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 upward m68k96 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0x4p-16448 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0x4p-16496 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0x4p-16496 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0x4p-16496 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0x4p-16496 plus_infty : 0x0p+0 : inexact-ok +atan2 max inf += atan2 downward binary32 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary32 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary32 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary32 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary64 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary64 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary64 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary64 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 downward intel96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest intel96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero intel96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 upward intel96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 downward m68k96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest m68k96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero m68k96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 upward m68k96 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 downward ibm128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest ibm128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero ibm128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 upward ibm128 0xf.fffffp+124 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary64 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary64 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary64 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary64 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 downward intel96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest intel96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero intel96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 upward intel96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 downward m68k96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest m68k96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero m68k96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 upward m68k96 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 downward ibm128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest ibm128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero ibm128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 upward ibm128 0xf.ffffffffffff8p+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 downward intel96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest intel96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero intel96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 upward intel96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 downward m68k96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest m68k96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero m68k96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 upward m68k96 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0xf.fffffffffffffffp+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 plus_infty : 0x0p+0 : inexact-ok += atan2 downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok += atan2 upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : 0x0p+0 : inexact-ok +atan2 -1 inf += atan2 downward binary32 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary32 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary32 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary32 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary64 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary64 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary64 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary64 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 downward intel96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest intel96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero intel96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 upward intel96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 downward m68k96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest m68k96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero m68k96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 upward m68k96 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 downward ibm128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest ibm128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero ibm128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 upward ibm128 -0x1p+0 plus_infty : -0x0p+0 : inexact-ok +atan2 -0 inf += atan2 downward binary32 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary32 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary32 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary32 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary64 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary64 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary64 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary64 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 downward intel96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest intel96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero intel96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 upward intel96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 downward m68k96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest m68k96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero m68k96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 upward m68k96 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 downward ibm128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest ibm128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero ibm128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok += atan2 upward ibm128 -0x0p+0 plus_infty : -0x0p+0 : inexact-ok +atan2 -min inf += atan2 downward binary32 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary32 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary32 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary32 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary64 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary64 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary64 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary64 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 downward intel96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest intel96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero intel96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 upward intel96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 downward m68k96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest m68k96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero m68k96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 upward m68k96 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 downward ibm128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest ibm128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero ibm128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 upward ibm128 -0x4p-128 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary64 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary64 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary64 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary64 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 downward intel96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest intel96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero intel96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 upward intel96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 downward m68k96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest m68k96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero m68k96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 upward m68k96 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 downward ibm128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest ibm128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero ibm128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 upward ibm128 -0x4p-1024 plus_infty : -0x0p+0 : inexact-ok += atan2 downward intel96 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest intel96 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero intel96 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 upward intel96 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 downward m68k96 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest m68k96 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero m68k96 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 upward m68k96 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0x4p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 downward intel96 -0x2p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest intel96 -0x2p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero intel96 -0x2p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 upward intel96 -0x2p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 downward m68k96 -0x2p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest m68k96 -0x2p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero m68k96 -0x2p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 upward m68k96 -0x2p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0x2p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0x2p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0x2p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0x2p-16384 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary64 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary64 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary64 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary64 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 downward intel96 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest intel96 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero intel96 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 upward intel96 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 downward m68k96 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest m68k96 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero m68k96 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 upward m68k96 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 downward ibm128 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest ibm128 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero ibm128 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok += atan2 upward ibm128 -0x8p-972 plus_infty : -0x0p+0 : inexact-ok +atan2 -min_subnorm inf += atan2 downward binary32 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary32 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary32 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary32 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary64 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary64 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary64 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary64 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 downward intel96 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest intel96 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero intel96 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 upward intel96 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 downward m68k96 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest m68k96 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero m68k96 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 upward m68k96 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 downward ibm128 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest ibm128 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero ibm128 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 upward ibm128 -0x8p-152 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary64 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary64 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary64 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary64 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 downward intel96 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest intel96 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero intel96 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 upward intel96 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 downward m68k96 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest m68k96 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero m68k96 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 upward m68k96 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 downward ibm128 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest ibm128 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero ibm128 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 upward ibm128 -0x4p-1076 plus_infty : -0x0p+0 : inexact-ok += atan2 downward intel96 -0x8p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest intel96 -0x8p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero intel96 -0x8p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 upward intel96 -0x8p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 downward m68k96 -0x8p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest m68k96 -0x8p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero m68k96 -0x8p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 upward m68k96 -0x8p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0x8p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0x8p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0x8p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0x8p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 downward m68k96 -0x4p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest m68k96 -0x4p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero m68k96 -0x4p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 upward m68k96 -0x4p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0x4p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0x4p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0x4p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0x4p-16448 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0x4p-16496 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0x4p-16496 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0x4p-16496 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0x4p-16496 plus_infty : -0x0p+0 : inexact-ok +atan2 -max inf += atan2 downward binary32 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary32 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary32 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary32 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary64 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary64 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary64 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary64 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 downward intel96 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest intel96 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero intel96 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 upward intel96 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 downward m68k96 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest m68k96 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero m68k96 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 upward m68k96 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 downward ibm128 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest ibm128 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero ibm128 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 upward ibm128 -0xf.fffffp+124 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary64 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary64 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary64 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary64 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 downward intel96 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest intel96 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero intel96 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 upward intel96 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 downward m68k96 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest m68k96 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero m68k96 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 upward m68k96 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 downward ibm128 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest ibm128 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero ibm128 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 upward ibm128 -0xf.ffffffffffff8p+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 downward intel96 -0xf.fffffffffffffffp+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest intel96 -0xf.fffffffffffffffp+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero intel96 -0xf.fffffffffffffffp+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 upward intel96 -0xf.fffffffffffffffp+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 downward m68k96 -0xf.fffffffffffffffp+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest m68k96 -0xf.fffffffffffffffp+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero m68k96 -0xf.fffffffffffffffp+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 upward m68k96 -0xf.fffffffffffffffp+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0xf.fffffffffffffffp+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0xf.fffffffffffffffp+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0xf.fffffffffffffffp+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0xf.fffffffffffffffp+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 plus_infty : -0x0p+0 : inexact-ok += atan2 downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : -0x0p+0 : inexact-ok += atan2 upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 plus_infty : -0x0p+0 : inexact-ok +atan2 inf 1 += atan2 downward binary32 plus_infty 0x1p+0 : 0x1.921fb4p+0 : inexact-ok += atan2 tonearest binary32 plus_infty 0x1p+0 : 0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 plus_infty 0x1p+0 : 0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 plus_infty 0x1p+0 : 0x1.921fb6p+0 : inexact-ok += atan2 downward binary64 plus_infty 0x1p+0 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty 0x1p+0 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty 0x1p+0 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty 0x1p+0 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty 0x1p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty 0x1p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty 0x1p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty 0x1p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty 0x1p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty 0x1p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty 0x1p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty 0x1p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty 0x1p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0x1p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0x1p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0x1p+0 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty 0x1p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty 0x1p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty 0x1p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty 0x1p+0 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok +atan2 inf 0 += atan2 downward binary32 plus_infty 0x0p+0 : 0x1.921fb4p+0 : inexact-ok += atan2 tonearest binary32 plus_infty 0x0p+0 : 0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 plus_infty 0x0p+0 : 0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 plus_infty 0x0p+0 : 0x1.921fb6p+0 : inexact-ok += atan2 downward binary64 plus_infty 0x0p+0 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty 0x0p+0 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty 0x0p+0 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty 0x0p+0 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty 0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty 0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty 0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty 0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty 0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty 0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty 0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty 0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty 0x0p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0x0p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0x0p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0x0p+0 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty 0x0p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty 0x0p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty 0x0p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty 0x0p+0 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok +atan2 inf min += atan2 downward binary32 plus_infty 0x4p-128 : 0x1.921fb4p+0 : inexact-ok += atan2 tonearest binary32 plus_infty 0x4p-128 : 0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 plus_infty 0x4p-128 : 0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 plus_infty 0x4p-128 : 0x1.921fb6p+0 : inexact-ok += atan2 downward binary64 plus_infty 0x4p-128 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty 0x4p-128 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty 0x4p-128 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty 0x4p-128 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty 0x4p-128 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty 0x4p-128 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty 0x4p-128 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty 0x4p-128 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty 0x4p-128 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty 0x4p-128 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty 0x4p-128 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty 0x4p-128 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty 0x4p-128 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0x4p-128 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0x4p-128 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0x4p-128 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty 0x4p-128 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty 0x4p-128 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty 0x4p-128 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty 0x4p-128 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 downward binary64 plus_infty 0x4p-1024 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty 0x4p-1024 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty 0x4p-1024 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty 0x4p-1024 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty 0x4p-1024 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty 0x4p-1024 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty 0x4p-1024 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty 0x4p-1024 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty 0x4p-1024 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty 0x4p-1024 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty 0x4p-1024 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty 0x4p-1024 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty 0x4p-1024 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0x4p-1024 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0x4p-1024 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0x4p-1024 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty 0x4p-1024 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty 0x4p-1024 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty 0x4p-1024 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty 0x4p-1024 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 downward intel96 plus_infty 0x4p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty 0x4p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty 0x4p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty 0x4p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty 0x4p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty 0x4p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty 0x4p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty 0x4p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty 0x4p-16384 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0x4p-16384 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0x4p-16384 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0x4p-16384 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward intel96 plus_infty 0x2p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty 0x2p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty 0x2p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty 0x2p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty 0x2p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty 0x2p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty 0x2p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty 0x2p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty 0x2p-16384 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0x2p-16384 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0x2p-16384 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0x2p-16384 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward binary64 plus_infty 0x8p-972 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty 0x8p-972 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty 0x8p-972 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty 0x8p-972 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty 0x8p-972 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty 0x8p-972 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty 0x8p-972 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty 0x8p-972 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty 0x8p-972 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty 0x8p-972 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty 0x8p-972 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty 0x8p-972 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty 0x8p-972 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0x8p-972 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0x8p-972 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0x8p-972 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty 0x8p-972 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty 0x8p-972 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty 0x8p-972 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty 0x8p-972 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok +atan2 inf min_subnorm += atan2 downward binary32 plus_infty 0x8p-152 : 0x1.921fb4p+0 : inexact-ok += atan2 tonearest binary32 plus_infty 0x8p-152 : 0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 plus_infty 0x8p-152 : 0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 plus_infty 0x8p-152 : 0x1.921fb6p+0 : inexact-ok += atan2 downward binary64 plus_infty 0x8p-152 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty 0x8p-152 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty 0x8p-152 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty 0x8p-152 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty 0x8p-152 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty 0x8p-152 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty 0x8p-152 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty 0x8p-152 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty 0x8p-152 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty 0x8p-152 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty 0x8p-152 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty 0x8p-152 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty 0x8p-152 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0x8p-152 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0x8p-152 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0x8p-152 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty 0x8p-152 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty 0x8p-152 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty 0x8p-152 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty 0x8p-152 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 downward binary64 plus_infty 0x4p-1076 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty 0x4p-1076 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty 0x4p-1076 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty 0x4p-1076 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty 0x4p-1076 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty 0x4p-1076 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty 0x4p-1076 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty 0x4p-1076 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty 0x4p-1076 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty 0x4p-1076 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty 0x4p-1076 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty 0x4p-1076 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty 0x4p-1076 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0x4p-1076 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0x4p-1076 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0x4p-1076 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty 0x4p-1076 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty 0x4p-1076 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty 0x4p-1076 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty 0x4p-1076 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 downward intel96 plus_infty 0x8p-16448 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty 0x8p-16448 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty 0x8p-16448 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty 0x8p-16448 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty 0x8p-16448 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty 0x8p-16448 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty 0x8p-16448 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty 0x8p-16448 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty 0x8p-16448 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0x8p-16448 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0x8p-16448 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0x8p-16448 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward m68k96 plus_infty 0x4p-16448 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty 0x4p-16448 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty 0x4p-16448 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty 0x4p-16448 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty 0x4p-16448 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0x4p-16448 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0x4p-16448 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0x4p-16448 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward binary128 plus_infty 0x4p-16496 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0x4p-16496 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0x4p-16496 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0x4p-16496 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok +atan2 inf max += atan2 downward binary32 plus_infty 0xf.fffffp+124 : 0x1.921fb4p+0 : inexact-ok += atan2 tonearest binary32 plus_infty 0xf.fffffp+124 : 0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 plus_infty 0xf.fffffp+124 : 0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 plus_infty 0xf.fffffp+124 : 0x1.921fb6p+0 : inexact-ok += atan2 downward binary64 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty 0xf.fffffp+124 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 downward binary64 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty 0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 downward intel96 plus_infty 0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty 0xf.fffffffffffffffp+16380 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty 0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty 0xf.fffffffffffffffp+16380 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty 0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty 0xf.fffffffffffffffp+16380 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty 0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty 0xf.fffffffffffffffp+16380 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty 0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward binary128 plus_infty 0xf.fffffffffffffffffffffffffff8p+16380 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0xf.fffffffffffffffffffffffffff8p+16380 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0xf.fffffffffffffffffffffffffff8p+16380 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0xf.fffffffffffffffffffffffffff8p+16380 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward binary128 plus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok +atan2 inf -1 += atan2 downward binary32 plus_infty -0x1p+0 : 0x1.921fb4p+0 : inexact-ok += atan2 tonearest binary32 plus_infty -0x1p+0 : 0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 plus_infty -0x1p+0 : 0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 plus_infty -0x1p+0 : 0x1.921fb6p+0 : inexact-ok += atan2 downward binary64 plus_infty -0x1p+0 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty -0x1p+0 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty -0x1p+0 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty -0x1p+0 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty -0x1p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty -0x1p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty -0x1p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty -0x1p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty -0x1p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty -0x1p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty -0x1p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty -0x1p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty -0x1p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0x1p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0x1p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0x1p+0 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty -0x1p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty -0x1p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty -0x1p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty -0x1p+0 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok +atan2 inf -0 += atan2 downward binary32 plus_infty -0x0p+0 : 0x1.921fb4p+0 : inexact-ok += atan2 tonearest binary32 plus_infty -0x0p+0 : 0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 plus_infty -0x0p+0 : 0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 plus_infty -0x0p+0 : 0x1.921fb6p+0 : inexact-ok += atan2 downward binary64 plus_infty -0x0p+0 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty -0x0p+0 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty -0x0p+0 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty -0x0p+0 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty -0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty -0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty -0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty -0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty -0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty -0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty -0x0p+0 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty -0x0p+0 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty -0x0p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0x0p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0x0p+0 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0x0p+0 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty -0x0p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty -0x0p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty -0x0p+0 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty -0x0p+0 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok +atan2 inf -min += atan2 downward binary32 plus_infty -0x4p-128 : 0x1.921fb4p+0 : inexact-ok += atan2 tonearest binary32 plus_infty -0x4p-128 : 0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 plus_infty -0x4p-128 : 0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 plus_infty -0x4p-128 : 0x1.921fb6p+0 : inexact-ok += atan2 downward binary64 plus_infty -0x4p-128 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty -0x4p-128 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty -0x4p-128 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty -0x4p-128 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty -0x4p-128 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty -0x4p-128 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty -0x4p-128 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty -0x4p-128 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty -0x4p-128 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty -0x4p-128 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty -0x4p-128 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty -0x4p-128 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty -0x4p-128 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0x4p-128 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0x4p-128 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0x4p-128 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty -0x4p-128 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty -0x4p-128 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty -0x4p-128 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty -0x4p-128 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 downward binary64 plus_infty -0x4p-1024 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty -0x4p-1024 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty -0x4p-1024 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty -0x4p-1024 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty -0x4p-1024 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty -0x4p-1024 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty -0x4p-1024 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty -0x4p-1024 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty -0x4p-1024 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty -0x4p-1024 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty -0x4p-1024 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty -0x4p-1024 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty -0x4p-1024 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0x4p-1024 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0x4p-1024 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0x4p-1024 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty -0x4p-1024 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty -0x4p-1024 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty -0x4p-1024 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty -0x4p-1024 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 downward intel96 plus_infty -0x4p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty -0x4p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty -0x4p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty -0x4p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty -0x4p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty -0x4p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty -0x4p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty -0x4p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty -0x4p-16384 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0x4p-16384 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0x4p-16384 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0x4p-16384 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward intel96 plus_infty -0x2p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty -0x2p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty -0x2p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty -0x2p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty -0x2p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty -0x2p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty -0x2p-16384 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty -0x2p-16384 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty -0x2p-16384 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0x2p-16384 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0x2p-16384 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0x2p-16384 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward binary64 plus_infty -0x8p-972 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty -0x8p-972 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty -0x8p-972 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty -0x8p-972 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty -0x8p-972 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty -0x8p-972 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty -0x8p-972 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty -0x8p-972 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty -0x8p-972 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty -0x8p-972 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty -0x8p-972 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty -0x8p-972 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty -0x8p-972 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0x8p-972 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0x8p-972 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0x8p-972 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty -0x8p-972 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty -0x8p-972 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty -0x8p-972 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty -0x8p-972 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok +atan2 inf -min_subnorm += atan2 downward binary32 plus_infty -0x8p-152 : 0x1.921fb4p+0 : inexact-ok += atan2 tonearest binary32 plus_infty -0x8p-152 : 0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 plus_infty -0x8p-152 : 0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 plus_infty -0x8p-152 : 0x1.921fb6p+0 : inexact-ok += atan2 downward binary64 plus_infty -0x8p-152 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty -0x8p-152 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty -0x8p-152 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty -0x8p-152 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty -0x8p-152 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty -0x8p-152 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty -0x8p-152 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty -0x8p-152 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty -0x8p-152 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty -0x8p-152 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty -0x8p-152 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty -0x8p-152 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty -0x8p-152 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0x8p-152 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0x8p-152 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0x8p-152 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty -0x8p-152 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty -0x8p-152 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty -0x8p-152 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty -0x8p-152 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 downward binary64 plus_infty -0x4p-1076 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty -0x4p-1076 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty -0x4p-1076 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty -0x4p-1076 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty -0x4p-1076 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty -0x4p-1076 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty -0x4p-1076 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty -0x4p-1076 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty -0x4p-1076 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty -0x4p-1076 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty -0x4p-1076 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty -0x4p-1076 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty -0x4p-1076 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0x4p-1076 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0x4p-1076 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0x4p-1076 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty -0x4p-1076 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty -0x4p-1076 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty -0x4p-1076 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty -0x4p-1076 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 downward intel96 plus_infty -0x8p-16448 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty -0x8p-16448 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty -0x8p-16448 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty -0x8p-16448 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty -0x8p-16448 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty -0x8p-16448 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty -0x8p-16448 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty -0x8p-16448 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty -0x8p-16448 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0x8p-16448 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0x8p-16448 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0x8p-16448 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward m68k96 plus_infty -0x4p-16448 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty -0x4p-16448 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty -0x4p-16448 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty -0x4p-16448 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty -0x4p-16448 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0x4p-16448 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0x4p-16448 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0x4p-16448 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward binary128 plus_infty -0x4p-16496 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0x4p-16496 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0x4p-16496 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0x4p-16496 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok +atan2 inf -max += atan2 downward binary32 plus_infty -0xf.fffffp+124 : 0x1.921fb4p+0 : inexact-ok += atan2 tonearest binary32 plus_infty -0xf.fffffp+124 : 0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 plus_infty -0xf.fffffp+124 : 0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 plus_infty -0xf.fffffp+124 : 0x1.921fb6p+0 : inexact-ok += atan2 downward binary64 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty -0xf.fffffp+124 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 downward binary64 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 tonearest binary64 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d19p+0 : inexact-ok += atan2 downward intel96 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty -0xf.ffffffffffff8p+1020 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 downward intel96 plus_infty -0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest intel96 plus_infty -0xf.fffffffffffffffp+16380 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty -0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 plus_infty -0xf.fffffffffffffffp+16380 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward m68k96 plus_infty -0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 tonearest m68k96 plus_infty -0xf.fffffffffffffffp+16380 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty -0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 plus_infty -0xf.fffffffffffffffp+16380 : 0x1.921fb54442d1846ap+0 : inexact-ok += atan2 downward binary128 plus_infty -0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0xf.fffffffffffffffp+16380 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward binary128 plus_infty -0xf.fffffffffffffffffffffffffff8p+16380 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0xf.fffffffffffffffffffffffffff8p+16380 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0xf.fffffffffffffffffffffffffff8p+16380 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0xf.fffffffffffffffffffffffffff8p+16380 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward binary128 plus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 tonearest binary128 plus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 plus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 plus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 downward ibm128 plus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 plus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok +atan2 -inf 1 += atan2 downward binary32 minus_infty 0x1p+0 : -0x1.921fb6p+0 : inexact-ok += atan2 tonearest binary32 minus_infty 0x1p+0 : -0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 minus_infty 0x1p+0 : -0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 minus_infty 0x1p+0 : -0x1.921fb4p+0 : inexact-ok += atan2 downward binary64 minus_infty 0x1p+0 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty 0x1p+0 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty 0x1p+0 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty 0x1p+0 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty 0x1p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty 0x1p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty 0x1p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty 0x1p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty 0x1p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty 0x1p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty 0x1p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty 0x1p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty 0x1p+0 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0x1p+0 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0x1p+0 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0x1p+0 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty 0x1p+0 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty 0x1p+0 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty 0x1p+0 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty 0x1p+0 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok +atan2 -inf 0 += atan2 downward binary32 minus_infty 0x0p+0 : -0x1.921fb6p+0 : inexact-ok += atan2 tonearest binary32 minus_infty 0x0p+0 : -0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 minus_infty 0x0p+0 : -0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 minus_infty 0x0p+0 : -0x1.921fb4p+0 : inexact-ok += atan2 downward binary64 minus_infty 0x0p+0 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty 0x0p+0 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty 0x0p+0 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty 0x0p+0 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty 0x0p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty 0x0p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty 0x0p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty 0x0p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty 0x0p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty 0x0p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty 0x0p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty 0x0p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty 0x0p+0 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0x0p+0 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0x0p+0 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0x0p+0 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty 0x0p+0 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty 0x0p+0 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty 0x0p+0 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty 0x0p+0 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok +atan2 -inf min += atan2 downward binary32 minus_infty 0x4p-128 : -0x1.921fb6p+0 : inexact-ok += atan2 tonearest binary32 minus_infty 0x4p-128 : -0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 minus_infty 0x4p-128 : -0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 minus_infty 0x4p-128 : -0x1.921fb4p+0 : inexact-ok += atan2 downward binary64 minus_infty 0x4p-128 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty 0x4p-128 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty 0x4p-128 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty 0x4p-128 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty 0x4p-128 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty 0x4p-128 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty 0x4p-128 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty 0x4p-128 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty 0x4p-128 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty 0x4p-128 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty 0x4p-128 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty 0x4p-128 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty 0x4p-128 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0x4p-128 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0x4p-128 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0x4p-128 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty 0x4p-128 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty 0x4p-128 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty 0x4p-128 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty 0x4p-128 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 downward binary64 minus_infty 0x4p-1024 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty 0x4p-1024 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty 0x4p-1024 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty 0x4p-1024 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty 0x4p-1024 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty 0x4p-1024 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty 0x4p-1024 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty 0x4p-1024 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty 0x4p-1024 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty 0x4p-1024 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty 0x4p-1024 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty 0x4p-1024 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty 0x4p-1024 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0x4p-1024 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0x4p-1024 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0x4p-1024 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty 0x4p-1024 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty 0x4p-1024 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty 0x4p-1024 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty 0x4p-1024 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 downward intel96 minus_infty 0x4p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty 0x4p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty 0x4p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty 0x4p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty 0x4p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty 0x4p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty 0x4p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty 0x4p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty 0x4p-16384 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0x4p-16384 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0x4p-16384 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0x4p-16384 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward intel96 minus_infty 0x2p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty 0x2p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty 0x2p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty 0x2p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty 0x2p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty 0x2p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty 0x2p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty 0x2p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty 0x2p-16384 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0x2p-16384 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0x2p-16384 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0x2p-16384 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward binary64 minus_infty 0x8p-972 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty 0x8p-972 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty 0x8p-972 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty 0x8p-972 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty 0x8p-972 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty 0x8p-972 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty 0x8p-972 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty 0x8p-972 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty 0x8p-972 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty 0x8p-972 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty 0x8p-972 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty 0x8p-972 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty 0x8p-972 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0x8p-972 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0x8p-972 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0x8p-972 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty 0x8p-972 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty 0x8p-972 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty 0x8p-972 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty 0x8p-972 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok +atan2 -inf min_subnorm += atan2 downward binary32 minus_infty 0x8p-152 : -0x1.921fb6p+0 : inexact-ok += atan2 tonearest binary32 minus_infty 0x8p-152 : -0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 minus_infty 0x8p-152 : -0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 minus_infty 0x8p-152 : -0x1.921fb4p+0 : inexact-ok += atan2 downward binary64 minus_infty 0x8p-152 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty 0x8p-152 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty 0x8p-152 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty 0x8p-152 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty 0x8p-152 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty 0x8p-152 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty 0x8p-152 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty 0x8p-152 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty 0x8p-152 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty 0x8p-152 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty 0x8p-152 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty 0x8p-152 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty 0x8p-152 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0x8p-152 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0x8p-152 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0x8p-152 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty 0x8p-152 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty 0x8p-152 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty 0x8p-152 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty 0x8p-152 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 downward binary64 minus_infty 0x4p-1076 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty 0x4p-1076 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty 0x4p-1076 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty 0x4p-1076 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty 0x4p-1076 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty 0x4p-1076 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty 0x4p-1076 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty 0x4p-1076 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty 0x4p-1076 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty 0x4p-1076 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty 0x4p-1076 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty 0x4p-1076 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty 0x4p-1076 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0x4p-1076 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0x4p-1076 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0x4p-1076 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty 0x4p-1076 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty 0x4p-1076 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty 0x4p-1076 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty 0x4p-1076 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 downward intel96 minus_infty 0x8p-16448 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty 0x8p-16448 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty 0x8p-16448 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty 0x8p-16448 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty 0x8p-16448 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty 0x8p-16448 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty 0x8p-16448 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty 0x8p-16448 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty 0x8p-16448 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0x8p-16448 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0x8p-16448 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0x8p-16448 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward m68k96 minus_infty 0x4p-16448 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty 0x4p-16448 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty 0x4p-16448 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty 0x4p-16448 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty 0x4p-16448 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0x4p-16448 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0x4p-16448 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0x4p-16448 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward binary128 minus_infty 0x4p-16496 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0x4p-16496 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0x4p-16496 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0x4p-16496 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok +atan2 -inf max += atan2 downward binary32 minus_infty 0xf.fffffp+124 : -0x1.921fb6p+0 : inexact-ok += atan2 tonearest binary32 minus_infty 0xf.fffffp+124 : -0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 minus_infty 0xf.fffffp+124 : -0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 minus_infty 0xf.fffffp+124 : -0x1.921fb4p+0 : inexact-ok += atan2 downward binary64 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty 0xf.fffffp+124 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 downward binary64 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty 0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 downward intel96 minus_infty 0xf.fffffffffffffffp+16380 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty 0xf.fffffffffffffffp+16380 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty 0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty 0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty 0xf.fffffffffffffffp+16380 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty 0xf.fffffffffffffffp+16380 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty 0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty 0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty 0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward binary128 minus_infty 0xf.fffffffffffffffffffffffffff8p+16380 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0xf.fffffffffffffffffffffffffff8p+16380 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0xf.fffffffffffffffffffffffffff8p+16380 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0xf.fffffffffffffffffffffffffff8p+16380 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward binary128 minus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty 0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok +atan2 -inf -1 += atan2 downward binary32 minus_infty -0x1p+0 : -0x1.921fb6p+0 : inexact-ok += atan2 tonearest binary32 minus_infty -0x1p+0 : -0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 minus_infty -0x1p+0 : -0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 minus_infty -0x1p+0 : -0x1.921fb4p+0 : inexact-ok += atan2 downward binary64 minus_infty -0x1p+0 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty -0x1p+0 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty -0x1p+0 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty -0x1p+0 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty -0x1p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty -0x1p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty -0x1p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty -0x1p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty -0x1p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty -0x1p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty -0x1p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty -0x1p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty -0x1p+0 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0x1p+0 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0x1p+0 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0x1p+0 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty -0x1p+0 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty -0x1p+0 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty -0x1p+0 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty -0x1p+0 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok +atan2 -inf -0 += atan2 downward binary32 minus_infty -0x0p+0 : -0x1.921fb6p+0 : inexact-ok += atan2 tonearest binary32 minus_infty -0x0p+0 : -0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 minus_infty -0x0p+0 : -0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 minus_infty -0x0p+0 : -0x1.921fb4p+0 : inexact-ok += atan2 downward binary64 minus_infty -0x0p+0 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty -0x0p+0 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty -0x0p+0 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty -0x0p+0 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty -0x0p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty -0x0p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty -0x0p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty -0x0p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty -0x0p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty -0x0p+0 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty -0x0p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty -0x0p+0 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty -0x0p+0 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0x0p+0 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0x0p+0 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0x0p+0 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty -0x0p+0 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty -0x0p+0 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty -0x0p+0 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty -0x0p+0 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok +atan2 -inf -min += atan2 downward binary32 minus_infty -0x4p-128 : -0x1.921fb6p+0 : inexact-ok += atan2 tonearest binary32 minus_infty -0x4p-128 : -0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 minus_infty -0x4p-128 : -0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 minus_infty -0x4p-128 : -0x1.921fb4p+0 : inexact-ok += atan2 downward binary64 minus_infty -0x4p-128 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty -0x4p-128 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty -0x4p-128 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty -0x4p-128 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty -0x4p-128 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty -0x4p-128 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty -0x4p-128 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty -0x4p-128 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty -0x4p-128 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty -0x4p-128 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty -0x4p-128 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty -0x4p-128 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty -0x4p-128 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0x4p-128 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0x4p-128 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0x4p-128 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty -0x4p-128 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty -0x4p-128 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty -0x4p-128 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty -0x4p-128 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 downward binary64 minus_infty -0x4p-1024 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty -0x4p-1024 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty -0x4p-1024 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty -0x4p-1024 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty -0x4p-1024 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty -0x4p-1024 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty -0x4p-1024 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty -0x4p-1024 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty -0x4p-1024 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty -0x4p-1024 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty -0x4p-1024 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty -0x4p-1024 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty -0x4p-1024 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0x4p-1024 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0x4p-1024 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0x4p-1024 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty -0x4p-1024 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty -0x4p-1024 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty -0x4p-1024 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty -0x4p-1024 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 downward intel96 minus_infty -0x4p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty -0x4p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty -0x4p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty -0x4p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty -0x4p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty -0x4p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty -0x4p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty -0x4p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty -0x4p-16384 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0x4p-16384 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0x4p-16384 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0x4p-16384 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward intel96 minus_infty -0x2p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty -0x2p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty -0x2p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty -0x2p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty -0x2p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty -0x2p-16384 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty -0x2p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty -0x2p-16384 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty -0x2p-16384 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0x2p-16384 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0x2p-16384 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0x2p-16384 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward binary64 minus_infty -0x8p-972 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty -0x8p-972 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty -0x8p-972 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty -0x8p-972 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty -0x8p-972 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty -0x8p-972 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty -0x8p-972 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty -0x8p-972 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty -0x8p-972 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty -0x8p-972 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty -0x8p-972 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty -0x8p-972 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty -0x8p-972 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0x8p-972 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0x8p-972 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0x8p-972 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty -0x8p-972 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty -0x8p-972 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty -0x8p-972 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty -0x8p-972 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok +atan2 -inf -min_subnorm += atan2 downward binary32 minus_infty -0x8p-152 : -0x1.921fb6p+0 : inexact-ok += atan2 tonearest binary32 minus_infty -0x8p-152 : -0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 minus_infty -0x8p-152 : -0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 minus_infty -0x8p-152 : -0x1.921fb4p+0 : inexact-ok += atan2 downward binary64 minus_infty -0x8p-152 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty -0x8p-152 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty -0x8p-152 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty -0x8p-152 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty -0x8p-152 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty -0x8p-152 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty -0x8p-152 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty -0x8p-152 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty -0x8p-152 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty -0x8p-152 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty -0x8p-152 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty -0x8p-152 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty -0x8p-152 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0x8p-152 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0x8p-152 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0x8p-152 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty -0x8p-152 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty -0x8p-152 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty -0x8p-152 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty -0x8p-152 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 downward binary64 minus_infty -0x4p-1076 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty -0x4p-1076 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty -0x4p-1076 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty -0x4p-1076 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty -0x4p-1076 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty -0x4p-1076 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty -0x4p-1076 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty -0x4p-1076 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty -0x4p-1076 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty -0x4p-1076 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty -0x4p-1076 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty -0x4p-1076 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty -0x4p-1076 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0x4p-1076 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0x4p-1076 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0x4p-1076 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty -0x4p-1076 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty -0x4p-1076 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty -0x4p-1076 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty -0x4p-1076 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 downward intel96 minus_infty -0x8p-16448 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty -0x8p-16448 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty -0x8p-16448 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty -0x8p-16448 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty -0x8p-16448 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty -0x8p-16448 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty -0x8p-16448 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty -0x8p-16448 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty -0x8p-16448 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0x8p-16448 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0x8p-16448 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0x8p-16448 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward m68k96 minus_infty -0x4p-16448 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty -0x4p-16448 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty -0x4p-16448 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty -0x4p-16448 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty -0x4p-16448 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0x4p-16448 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0x4p-16448 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0x4p-16448 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward binary128 minus_infty -0x4p-16496 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0x4p-16496 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0x4p-16496 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0x4p-16496 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok +atan2 -inf -max += atan2 downward binary32 minus_infty -0xf.fffffp+124 : -0x1.921fb6p+0 : inexact-ok += atan2 tonearest binary32 minus_infty -0xf.fffffp+124 : -0x1.921fb6p+0 : inexact-ok += atan2 towardzero binary32 minus_infty -0xf.fffffp+124 : -0x1.921fb4p+0 : inexact-ok += atan2 upward binary32 minus_infty -0xf.fffffp+124 : -0x1.921fb4p+0 : inexact-ok += atan2 downward binary64 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty -0xf.fffffp+124 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 downward binary64 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d19p+0 : inexact-ok += atan2 tonearest binary64 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 towardzero binary64 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 upward binary64 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18p+0 : inexact-ok += atan2 downward intel96 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty -0xf.ffffffffffff8p+1020 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 downward intel96 minus_infty -0xf.fffffffffffffffp+16380 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty -0xf.fffffffffffffffp+16380 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty -0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward intel96 minus_infty -0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward m68k96 minus_infty -0xf.fffffffffffffffp+16380 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty -0xf.fffffffffffffffp+16380 : -0x1.921fb54442d1846ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty -0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 upward m68k96 minus_infty -0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18468p+0 : inexact-ok += atan2 downward binary128 minus_infty -0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0xf.fffffffffffffffp+16380 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward binary128 minus_infty -0xf.fffffffffffffffffffffffffff8p+16380 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0xf.fffffffffffffffffffffffffff8p+16380 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0xf.fffffffffffffffffffffffffff8p+16380 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0xf.fffffffffffffffffffffffffff8p+16380 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward binary128 minus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += atan2 tonearest binary128 minus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 towardzero binary128 minus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 upward binary128 minus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += atan2 downward ibm128 minus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += atan2 upward ibm128 minus_infty -0xf.ffffffffffffbffffffffffffcp+1020 : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok +atan2 1 -inf += atan2 downward binary32 0x1p+0 minus_infty : 0x3.243f68p+0 : inexact-ok += atan2 tonearest binary32 0x1p+0 minus_infty : 0x3.243f6cp+0 : inexact-ok += atan2 towardzero binary32 0x1p+0 minus_infty : 0x3.243f68p+0 : inexact-ok += atan2 upward binary32 0x1p+0 minus_infty : 0x3.243f6cp+0 : inexact-ok += atan2 downward binary64 0x1p+0 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 tonearest binary64 0x1p+0 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 0x1p+0 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 0x1p+0 minus_infty : 0x3.243f6a8885a32p+0 : inexact-ok += atan2 downward intel96 0x1p+0 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest intel96 0x1p+0 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 0x1p+0 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 0x1p+0 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward m68k96 0x1p+0 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest m68k96 0x1p+0 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 0x1p+0 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 0x1p+0 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward binary128 0x1p+0 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0x1p+0 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0x1p+0 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0x1p+0 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward ibm128 0x1p+0 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 tonearest ibm128 0x1p+0 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 0x1p+0 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 0x1p+0 minus_infty : 0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok +atan2 0 -inf += atan2 downward binary32 0x0p+0 minus_infty : 0x3.243f68p+0 : inexact-ok += atan2 tonearest binary32 0x0p+0 minus_infty : 0x3.243f6cp+0 : inexact-ok += atan2 towardzero binary32 0x0p+0 minus_infty : 0x3.243f68p+0 : inexact-ok += atan2 upward binary32 0x0p+0 minus_infty : 0x3.243f6cp+0 : inexact-ok += atan2 downward binary64 0x0p+0 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 tonearest binary64 0x0p+0 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 0x0p+0 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 0x0p+0 minus_infty : 0x3.243f6a8885a32p+0 : inexact-ok += atan2 downward intel96 0x0p+0 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest intel96 0x0p+0 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 0x0p+0 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 0x0p+0 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward m68k96 0x0p+0 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest m68k96 0x0p+0 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 0x0p+0 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 0x0p+0 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward binary128 0x0p+0 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0x0p+0 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0x0p+0 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0x0p+0 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward ibm128 0x0p+0 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 tonearest ibm128 0x0p+0 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 0x0p+0 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 0x0p+0 minus_infty : 0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok +atan2 min -inf += atan2 downward binary32 0x4p-128 minus_infty : 0x3.243f68p+0 : inexact-ok += atan2 tonearest binary32 0x4p-128 minus_infty : 0x3.243f6cp+0 : inexact-ok += atan2 towardzero binary32 0x4p-128 minus_infty : 0x3.243f68p+0 : inexact-ok += atan2 upward binary32 0x4p-128 minus_infty : 0x3.243f6cp+0 : inexact-ok += atan2 downward binary64 0x4p-128 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 tonearest binary64 0x4p-128 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 0x4p-128 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 0x4p-128 minus_infty : 0x3.243f6a8885a32p+0 : inexact-ok += atan2 downward intel96 0x4p-128 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest intel96 0x4p-128 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 0x4p-128 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 0x4p-128 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward m68k96 0x4p-128 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest m68k96 0x4p-128 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 0x4p-128 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 0x4p-128 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward binary128 0x4p-128 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0x4p-128 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0x4p-128 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0x4p-128 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward ibm128 0x4p-128 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 tonearest ibm128 0x4p-128 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 0x4p-128 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 0x4p-128 minus_infty : 0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 downward binary64 0x4p-1024 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 tonearest binary64 0x4p-1024 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 0x4p-1024 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 0x4p-1024 minus_infty : 0x3.243f6a8885a32p+0 : inexact-ok += atan2 downward intel96 0x4p-1024 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest intel96 0x4p-1024 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 0x4p-1024 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 0x4p-1024 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward m68k96 0x4p-1024 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest m68k96 0x4p-1024 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 0x4p-1024 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 0x4p-1024 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward binary128 0x4p-1024 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0x4p-1024 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0x4p-1024 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0x4p-1024 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward ibm128 0x4p-1024 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 tonearest ibm128 0x4p-1024 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 0x4p-1024 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 0x4p-1024 minus_infty : 0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 downward intel96 0x4p-16384 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest intel96 0x4p-16384 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 0x4p-16384 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 0x4p-16384 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward m68k96 0x4p-16384 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest m68k96 0x4p-16384 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 0x4p-16384 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 0x4p-16384 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward binary128 0x4p-16384 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0x4p-16384 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0x4p-16384 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0x4p-16384 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward intel96 0x2p-16384 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest intel96 0x2p-16384 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 0x2p-16384 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 0x2p-16384 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward m68k96 0x2p-16384 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest m68k96 0x2p-16384 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 0x2p-16384 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 0x2p-16384 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward binary128 0x2p-16384 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0x2p-16384 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0x2p-16384 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0x2p-16384 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward binary64 0x8p-972 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 tonearest binary64 0x8p-972 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 0x8p-972 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 0x8p-972 minus_infty : 0x3.243f6a8885a32p+0 : inexact-ok += atan2 downward intel96 0x8p-972 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest intel96 0x8p-972 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 0x8p-972 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 0x8p-972 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward m68k96 0x8p-972 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest m68k96 0x8p-972 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 0x8p-972 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 0x8p-972 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward binary128 0x8p-972 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0x8p-972 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0x8p-972 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0x8p-972 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward ibm128 0x8p-972 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 tonearest ibm128 0x8p-972 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 0x8p-972 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 0x8p-972 minus_infty : 0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok +atan2 min_subnorm -inf += atan2 downward binary32 0x8p-152 minus_infty : 0x3.243f68p+0 : inexact-ok += atan2 tonearest binary32 0x8p-152 minus_infty : 0x3.243f6cp+0 : inexact-ok += atan2 towardzero binary32 0x8p-152 minus_infty : 0x3.243f68p+0 : inexact-ok += atan2 upward binary32 0x8p-152 minus_infty : 0x3.243f6cp+0 : inexact-ok += atan2 downward binary64 0x8p-152 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 tonearest binary64 0x8p-152 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 0x8p-152 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 0x8p-152 minus_infty : 0x3.243f6a8885a32p+0 : inexact-ok += atan2 downward intel96 0x8p-152 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest intel96 0x8p-152 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 0x8p-152 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 0x8p-152 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward m68k96 0x8p-152 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest m68k96 0x8p-152 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 0x8p-152 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 0x8p-152 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward binary128 0x8p-152 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0x8p-152 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0x8p-152 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0x8p-152 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward ibm128 0x8p-152 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 tonearest ibm128 0x8p-152 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 0x8p-152 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 0x8p-152 minus_infty : 0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 downward binary64 0x4p-1076 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 tonearest binary64 0x4p-1076 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 0x4p-1076 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 0x4p-1076 minus_infty : 0x3.243f6a8885a32p+0 : inexact-ok += atan2 downward intel96 0x4p-1076 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest intel96 0x4p-1076 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 0x4p-1076 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 0x4p-1076 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward m68k96 0x4p-1076 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest m68k96 0x4p-1076 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 0x4p-1076 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 0x4p-1076 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward binary128 0x4p-1076 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0x4p-1076 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0x4p-1076 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0x4p-1076 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward ibm128 0x4p-1076 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 tonearest ibm128 0x4p-1076 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 0x4p-1076 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 0x4p-1076 minus_infty : 0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 downward intel96 0x8p-16448 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest intel96 0x8p-16448 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 0x8p-16448 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 0x8p-16448 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward m68k96 0x8p-16448 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest m68k96 0x8p-16448 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 0x8p-16448 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 0x8p-16448 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward binary128 0x8p-16448 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0x8p-16448 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0x8p-16448 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0x8p-16448 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward m68k96 0x4p-16448 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest m68k96 0x4p-16448 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 0x4p-16448 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 0x4p-16448 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward binary128 0x4p-16448 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0x4p-16448 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0x4p-16448 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0x4p-16448 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward binary128 0x4p-16496 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0x4p-16496 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0x4p-16496 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0x4p-16496 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok +atan2 max -inf += atan2 downward binary32 0xf.fffffp+124 minus_infty : 0x3.243f68p+0 : inexact-ok += atan2 tonearest binary32 0xf.fffffp+124 minus_infty : 0x3.243f6cp+0 : inexact-ok += atan2 towardzero binary32 0xf.fffffp+124 minus_infty : 0x3.243f68p+0 : inexact-ok += atan2 upward binary32 0xf.fffffp+124 minus_infty : 0x3.243f6cp+0 : inexact-ok += atan2 downward binary64 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 tonearest binary64 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a32p+0 : inexact-ok += atan2 downward intel96 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest intel96 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward m68k96 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest m68k96 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward binary128 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward ibm128 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 tonearest ibm128 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 0xf.fffffp+124 minus_infty : 0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 downward binary64 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 tonearest binary64 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a32p+0 : inexact-ok += atan2 downward intel96 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest intel96 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward m68k96 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest m68k96 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward binary128 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward ibm128 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 tonearest ibm128 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 0xf.ffffffffffff8p+1020 minus_infty : 0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 downward intel96 0xf.fffffffffffffffp+16380 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest intel96 0xf.fffffffffffffffp+16380 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 0xf.fffffffffffffffp+16380 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 0xf.fffffffffffffffp+16380 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward m68k96 0xf.fffffffffffffffp+16380 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 tonearest m68k96 0xf.fffffffffffffffp+16380 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 0xf.fffffffffffffffp+16380 minus_infty : 0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 0xf.fffffffffffffffp+16380 minus_infty : 0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 downward binary128 0xf.fffffffffffffffp+16380 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0xf.fffffffffffffffp+16380 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0xf.fffffffffffffffp+16380 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0xf.fffffffffffffffp+16380 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : 0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok +atan2 -1 -inf += atan2 downward binary32 -0x1p+0 minus_infty : -0x3.243f6cp+0 : inexact-ok += atan2 tonearest binary32 -0x1p+0 minus_infty : -0x3.243f6cp+0 : inexact-ok += atan2 towardzero binary32 -0x1p+0 minus_infty : -0x3.243f68p+0 : inexact-ok += atan2 upward binary32 -0x1p+0 minus_infty : -0x3.243f68p+0 : inexact-ok += atan2 downward binary64 -0x1p+0 minus_infty : -0x3.243f6a8885a32p+0 : inexact-ok += atan2 tonearest binary64 -0x1p+0 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 -0x1p+0 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 -0x1p+0 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 downward intel96 -0x1p+0 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest intel96 -0x1p+0 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 -0x1p+0 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 -0x1p+0 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward m68k96 -0x1p+0 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest m68k96 -0x1p+0 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 -0x1p+0 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 -0x1p+0 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward binary128 -0x1p+0 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0x1p+0 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0x1p+0 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0x1p+0 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward ibm128 -0x1p+0 minus_infty : -0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 tonearest ibm128 -0x1p+0 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 -0x1p+0 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 -0x1p+0 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok +atan2 -0 -inf += atan2 downward binary32 -0x0p+0 minus_infty : -0x3.243f6cp+0 : inexact-ok += atan2 tonearest binary32 -0x0p+0 minus_infty : -0x3.243f6cp+0 : inexact-ok += atan2 towardzero binary32 -0x0p+0 minus_infty : -0x3.243f68p+0 : inexact-ok += atan2 upward binary32 -0x0p+0 minus_infty : -0x3.243f68p+0 : inexact-ok += atan2 downward binary64 -0x0p+0 minus_infty : -0x3.243f6a8885a32p+0 : inexact-ok += atan2 tonearest binary64 -0x0p+0 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 -0x0p+0 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 -0x0p+0 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 downward intel96 -0x0p+0 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest intel96 -0x0p+0 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 -0x0p+0 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 -0x0p+0 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward m68k96 -0x0p+0 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest m68k96 -0x0p+0 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 -0x0p+0 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 -0x0p+0 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward binary128 -0x0p+0 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0x0p+0 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0x0p+0 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0x0p+0 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward ibm128 -0x0p+0 minus_infty : -0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 tonearest ibm128 -0x0p+0 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 -0x0p+0 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 -0x0p+0 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok +atan2 -min -inf += atan2 downward binary32 -0x4p-128 minus_infty : -0x3.243f6cp+0 : inexact-ok += atan2 tonearest binary32 -0x4p-128 minus_infty : -0x3.243f6cp+0 : inexact-ok += atan2 towardzero binary32 -0x4p-128 minus_infty : -0x3.243f68p+0 : inexact-ok += atan2 upward binary32 -0x4p-128 minus_infty : -0x3.243f68p+0 : inexact-ok += atan2 downward binary64 -0x4p-128 minus_infty : -0x3.243f6a8885a32p+0 : inexact-ok += atan2 tonearest binary64 -0x4p-128 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 -0x4p-128 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 -0x4p-128 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 downward intel96 -0x4p-128 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest intel96 -0x4p-128 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 -0x4p-128 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 -0x4p-128 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward m68k96 -0x4p-128 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest m68k96 -0x4p-128 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 -0x4p-128 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 -0x4p-128 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward binary128 -0x4p-128 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0x4p-128 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0x4p-128 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0x4p-128 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward ibm128 -0x4p-128 minus_infty : -0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 tonearest ibm128 -0x4p-128 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 -0x4p-128 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 -0x4p-128 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 downward binary64 -0x4p-1024 minus_infty : -0x3.243f6a8885a32p+0 : inexact-ok += atan2 tonearest binary64 -0x4p-1024 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 -0x4p-1024 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 -0x4p-1024 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 downward intel96 -0x4p-1024 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest intel96 -0x4p-1024 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 -0x4p-1024 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 -0x4p-1024 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward m68k96 -0x4p-1024 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest m68k96 -0x4p-1024 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 -0x4p-1024 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 -0x4p-1024 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward binary128 -0x4p-1024 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0x4p-1024 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0x4p-1024 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0x4p-1024 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward ibm128 -0x4p-1024 minus_infty : -0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 tonearest ibm128 -0x4p-1024 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 -0x4p-1024 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 -0x4p-1024 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 downward intel96 -0x4p-16384 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest intel96 -0x4p-16384 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 -0x4p-16384 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 -0x4p-16384 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward m68k96 -0x4p-16384 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest m68k96 -0x4p-16384 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 -0x4p-16384 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 -0x4p-16384 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward binary128 -0x4p-16384 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0x4p-16384 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0x4p-16384 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0x4p-16384 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward intel96 -0x2p-16384 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest intel96 -0x2p-16384 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 -0x2p-16384 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 -0x2p-16384 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward m68k96 -0x2p-16384 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest m68k96 -0x2p-16384 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 -0x2p-16384 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 -0x2p-16384 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward binary128 -0x2p-16384 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0x2p-16384 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0x2p-16384 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0x2p-16384 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward binary64 -0x8p-972 minus_infty : -0x3.243f6a8885a32p+0 : inexact-ok += atan2 tonearest binary64 -0x8p-972 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 -0x8p-972 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 -0x8p-972 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 downward intel96 -0x8p-972 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest intel96 -0x8p-972 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 -0x8p-972 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 -0x8p-972 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward m68k96 -0x8p-972 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest m68k96 -0x8p-972 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 -0x8p-972 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 -0x8p-972 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward binary128 -0x8p-972 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0x8p-972 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0x8p-972 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0x8p-972 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward ibm128 -0x8p-972 minus_infty : -0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 tonearest ibm128 -0x8p-972 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 -0x8p-972 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 -0x8p-972 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok +atan2 -min_subnorm -inf += atan2 downward binary32 -0x8p-152 minus_infty : -0x3.243f6cp+0 : inexact-ok += atan2 tonearest binary32 -0x8p-152 minus_infty : -0x3.243f6cp+0 : inexact-ok += atan2 towardzero binary32 -0x8p-152 minus_infty : -0x3.243f68p+0 : inexact-ok += atan2 upward binary32 -0x8p-152 minus_infty : -0x3.243f68p+0 : inexact-ok += atan2 downward binary64 -0x8p-152 minus_infty : -0x3.243f6a8885a32p+0 : inexact-ok += atan2 tonearest binary64 -0x8p-152 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 -0x8p-152 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 -0x8p-152 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 downward intel96 -0x8p-152 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest intel96 -0x8p-152 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 -0x8p-152 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 -0x8p-152 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward m68k96 -0x8p-152 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest m68k96 -0x8p-152 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 -0x8p-152 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 -0x8p-152 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward binary128 -0x8p-152 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0x8p-152 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0x8p-152 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0x8p-152 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward ibm128 -0x8p-152 minus_infty : -0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 tonearest ibm128 -0x8p-152 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 -0x8p-152 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 -0x8p-152 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 downward binary64 -0x4p-1076 minus_infty : -0x3.243f6a8885a32p+0 : inexact-ok += atan2 tonearest binary64 -0x4p-1076 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 -0x4p-1076 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 -0x4p-1076 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 downward intel96 -0x4p-1076 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest intel96 -0x4p-1076 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 -0x4p-1076 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 -0x4p-1076 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward m68k96 -0x4p-1076 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest m68k96 -0x4p-1076 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 -0x4p-1076 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 -0x4p-1076 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward binary128 -0x4p-1076 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0x4p-1076 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0x4p-1076 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0x4p-1076 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward ibm128 -0x4p-1076 minus_infty : -0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 tonearest ibm128 -0x4p-1076 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 -0x4p-1076 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 -0x4p-1076 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 downward intel96 -0x8p-16448 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest intel96 -0x8p-16448 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 -0x8p-16448 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 -0x8p-16448 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward m68k96 -0x8p-16448 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest m68k96 -0x8p-16448 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 -0x8p-16448 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 -0x8p-16448 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward binary128 -0x8p-16448 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0x8p-16448 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0x8p-16448 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0x8p-16448 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward m68k96 -0x4p-16448 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest m68k96 -0x4p-16448 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 -0x4p-16448 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 -0x4p-16448 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward binary128 -0x4p-16448 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0x4p-16448 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0x4p-16448 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0x4p-16448 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward binary128 -0x4p-16496 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0x4p-16496 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0x4p-16496 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0x4p-16496 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok +atan2 -max -inf += atan2 downward binary32 -0xf.fffffp+124 minus_infty : -0x3.243f6cp+0 : inexact-ok += atan2 tonearest binary32 -0xf.fffffp+124 minus_infty : -0x3.243f6cp+0 : inexact-ok += atan2 towardzero binary32 -0xf.fffffp+124 minus_infty : -0x3.243f68p+0 : inexact-ok += atan2 upward binary32 -0xf.fffffp+124 minus_infty : -0x3.243f68p+0 : inexact-ok += atan2 downward binary64 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a32p+0 : inexact-ok += atan2 tonearest binary64 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 downward intel96 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest intel96 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward m68k96 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest m68k96 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward binary128 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward ibm128 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 tonearest ibm128 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 -0xf.fffffp+124 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 downward binary64 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a32p+0 : inexact-ok += atan2 tonearest binary64 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 towardzero binary64 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 upward binary64 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a3p+0 : inexact-ok += atan2 downward intel96 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest intel96 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward m68k96 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest m68k96 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward binary128 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward ibm128 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 tonearest ibm128 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 -0xf.ffffffffffff8p+1020 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 downward intel96 -0xf.fffffffffffffffp+16380 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest intel96 -0xf.fffffffffffffffp+16380 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero intel96 -0xf.fffffffffffffffp+16380 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward intel96 -0xf.fffffffffffffffp+16380 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward m68k96 -0xf.fffffffffffffffp+16380 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 tonearest m68k96 -0xf.fffffffffffffffp+16380 minus_infty : -0x3.243f6a8885a308d4p+0 : inexact-ok += atan2 towardzero m68k96 -0xf.fffffffffffffffp+16380 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 upward m68k96 -0xf.fffffffffffffffp+16380 minus_infty : -0x3.243f6a8885a308dp+0 : inexact-ok += atan2 downward binary128 -0xf.fffffffffffffffp+16380 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0xf.fffffffffffffffp+16380 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0xf.fffffffffffffffp+16380 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0xf.fffffffffffffffp+16380 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += atan2 tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += atan2 downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : -0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += atan2 tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += atan2 upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 minus_infty : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok +atan2 inf inf += atan2 downward binary32 plus_infty plus_infty : 0xc.90fdap-4 : inexact-ok += atan2 tonearest binary32 plus_infty plus_infty : 0xc.90fdbp-4 : inexact-ok += atan2 towardzero binary32 plus_infty plus_infty : 0xc.90fdap-4 : inexact-ok += atan2 upward binary32 plus_infty plus_infty : 0xc.90fdbp-4 : inexact-ok += atan2 downward binary64 plus_infty plus_infty : 0xc.90fdaa22168cp-4 : inexact-ok += atan2 tonearest binary64 plus_infty plus_infty : 0xc.90fdaa22168cp-4 : inexact-ok += atan2 towardzero binary64 plus_infty plus_infty : 0xc.90fdaa22168cp-4 : inexact-ok += atan2 upward binary64 plus_infty plus_infty : 0xc.90fdaa22168c8p-4 : inexact-ok += atan2 downward intel96 plus_infty plus_infty : 0xc.90fdaa22168c234p-4 : inexact-ok += atan2 tonearest intel96 plus_infty plus_infty : 0xc.90fdaa22168c235p-4 : inexact-ok += atan2 towardzero intel96 plus_infty plus_infty : 0xc.90fdaa22168c234p-4 : inexact-ok += atan2 upward intel96 plus_infty plus_infty : 0xc.90fdaa22168c235p-4 : inexact-ok += atan2 downward m68k96 plus_infty plus_infty : 0xc.90fdaa22168c234p-4 : inexact-ok += atan2 tonearest m68k96 plus_infty plus_infty : 0xc.90fdaa22168c235p-4 : inexact-ok += atan2 towardzero m68k96 plus_infty plus_infty : 0xc.90fdaa22168c234p-4 : inexact-ok += atan2 upward m68k96 plus_infty plus_infty : 0xc.90fdaa22168c235p-4 : inexact-ok += atan2 downward binary128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok += atan2 tonearest binary128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok += atan2 towardzero binary128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok += atan2 upward binary128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b80dc8p-4 : inexact-ok += atan2 downward ibm128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok += atan2 tonearest ibm128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok += atan2 towardzero ibm128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok += atan2 upward ibm128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b81p-4 : inexact-ok +atan2 -inf inf += atan2 downward binary32 minus_infty plus_infty : -0xc.90fdbp-4 : inexact-ok += atan2 tonearest binary32 minus_infty plus_infty : -0xc.90fdbp-4 : inexact-ok += atan2 towardzero binary32 minus_infty plus_infty : -0xc.90fdap-4 : inexact-ok += atan2 upward binary32 minus_infty plus_infty : -0xc.90fdap-4 : inexact-ok += atan2 downward binary64 minus_infty plus_infty : -0xc.90fdaa22168c8p-4 : inexact-ok += atan2 tonearest binary64 minus_infty plus_infty : -0xc.90fdaa22168cp-4 : inexact-ok += atan2 towardzero binary64 minus_infty plus_infty : -0xc.90fdaa22168cp-4 : inexact-ok += atan2 upward binary64 minus_infty plus_infty : -0xc.90fdaa22168cp-4 : inexact-ok += atan2 downward intel96 minus_infty plus_infty : -0xc.90fdaa22168c235p-4 : inexact-ok += atan2 tonearest intel96 minus_infty plus_infty : -0xc.90fdaa22168c235p-4 : inexact-ok += atan2 towardzero intel96 minus_infty plus_infty : -0xc.90fdaa22168c234p-4 : inexact-ok += atan2 upward intel96 minus_infty plus_infty : -0xc.90fdaa22168c234p-4 : inexact-ok += atan2 downward m68k96 minus_infty plus_infty : -0xc.90fdaa22168c235p-4 : inexact-ok += atan2 tonearest m68k96 minus_infty plus_infty : -0xc.90fdaa22168c235p-4 : inexact-ok += atan2 towardzero m68k96 minus_infty plus_infty : -0xc.90fdaa22168c234p-4 : inexact-ok += atan2 upward m68k96 minus_infty plus_infty : -0xc.90fdaa22168c234p-4 : inexact-ok += atan2 downward binary128 minus_infty plus_infty : -0xc.90fdaa22168c234c4c6628b80dc8p-4 : inexact-ok += atan2 tonearest binary128 minus_infty plus_infty : -0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok += atan2 towardzero binary128 minus_infty plus_infty : -0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok += atan2 upward binary128 minus_infty plus_infty : -0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok += atan2 downward ibm128 minus_infty plus_infty : -0xc.90fdaa22168c234c4c6628b81p-4 : inexact-ok += atan2 tonearest ibm128 minus_infty plus_infty : -0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok += atan2 towardzero ibm128 minus_infty plus_infty : -0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok += atan2 upward ibm128 minus_infty plus_infty : -0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok +atan2 inf -inf += atan2 downward binary32 plus_infty minus_infty : 0x2.5b2f8cp+0 : inexact-ok += atan2 tonearest binary32 plus_infty minus_infty : 0x2.5b2f9p+0 : inexact-ok += atan2 towardzero binary32 plus_infty minus_infty : 0x2.5b2f8cp+0 : inexact-ok += atan2 upward binary32 plus_infty minus_infty : 0x2.5b2f9p+0 : inexact-ok += atan2 downward binary64 plus_infty minus_infty : 0x2.5b2f8fe6643a4p+0 : inexact-ok += atan2 tonearest binary64 plus_infty minus_infty : 0x2.5b2f8fe6643a4p+0 : inexact-ok += atan2 towardzero binary64 plus_infty minus_infty : 0x2.5b2f8fe6643a4p+0 : inexact-ok += atan2 upward binary64 plus_infty minus_infty : 0x2.5b2f8fe6643a6p+0 : inexact-ok += atan2 downward intel96 plus_infty minus_infty : 0x2.5b2f8fe6643a469cp+0 : inexact-ok += atan2 tonearest intel96 plus_infty minus_infty : 0x2.5b2f8fe6643a46ap+0 : inexact-ok += atan2 towardzero intel96 plus_infty minus_infty : 0x2.5b2f8fe6643a469cp+0 : inexact-ok += atan2 upward intel96 plus_infty minus_infty : 0x2.5b2f8fe6643a46ap+0 : inexact-ok += atan2 downward m68k96 plus_infty minus_infty : 0x2.5b2f8fe6643a469cp+0 : inexact-ok += atan2 tonearest m68k96 plus_infty minus_infty : 0x2.5b2f8fe6643a46ap+0 : inexact-ok += atan2 towardzero m68k96 plus_infty minus_infty : 0x2.5b2f8fe6643a469cp+0 : inexact-ok += atan2 upward m68k96 plus_infty minus_infty : 0x2.5b2f8fe6643a46ap+0 : inexact-ok += atan2 downward binary128 plus_infty minus_infty : 0x2.5b2f8fe6643a469e4e5327a28294p+0 : inexact-ok += atan2 tonearest binary128 plus_infty minus_infty : 0x2.5b2f8fe6643a469e4e5327a28294p+0 : inexact-ok += atan2 towardzero binary128 plus_infty minus_infty : 0x2.5b2f8fe6643a469e4e5327a28294p+0 : inexact-ok += atan2 upward binary128 plus_infty minus_infty : 0x2.5b2f8fe6643a469e4e5327a28296p+0 : inexact-ok += atan2 downward ibm128 plus_infty minus_infty : 0x2.5b2f8fe6643a469e4e5327a282p+0 : inexact-ok += atan2 tonearest ibm128 plus_infty minus_infty : 0x2.5b2f8fe6643a469e4e5327a283p+0 : inexact-ok += atan2 towardzero ibm128 plus_infty minus_infty : 0x2.5b2f8fe6643a469e4e5327a282p+0 : inexact-ok += atan2 upward ibm128 plus_infty minus_infty : 0x2.5b2f8fe6643a469e4e5327a283p+0 : inexact-ok +atan2 -inf -inf += atan2 downward binary32 minus_infty minus_infty : -0x2.5b2f9p+0 : inexact-ok += atan2 tonearest binary32 minus_infty minus_infty : -0x2.5b2f9p+0 : inexact-ok += atan2 towardzero binary32 minus_infty minus_infty : -0x2.5b2f8cp+0 : inexact-ok += atan2 upward binary32 minus_infty minus_infty : -0x2.5b2f8cp+0 : inexact-ok += atan2 downward binary64 minus_infty minus_infty : -0x2.5b2f8fe6643a6p+0 : inexact-ok += atan2 tonearest binary64 minus_infty minus_infty : -0x2.5b2f8fe6643a4p+0 : inexact-ok += atan2 towardzero binary64 minus_infty minus_infty : -0x2.5b2f8fe6643a4p+0 : inexact-ok += atan2 upward binary64 minus_infty minus_infty : -0x2.5b2f8fe6643a4p+0 : inexact-ok += atan2 downward intel96 minus_infty minus_infty : -0x2.5b2f8fe6643a46ap+0 : inexact-ok += atan2 tonearest intel96 minus_infty minus_infty : -0x2.5b2f8fe6643a46ap+0 : inexact-ok += atan2 towardzero intel96 minus_infty minus_infty : -0x2.5b2f8fe6643a469cp+0 : inexact-ok += atan2 upward intel96 minus_infty minus_infty : -0x2.5b2f8fe6643a469cp+0 : inexact-ok += atan2 downward m68k96 minus_infty minus_infty : -0x2.5b2f8fe6643a46ap+0 : inexact-ok += atan2 tonearest m68k96 minus_infty minus_infty : -0x2.5b2f8fe6643a46ap+0 : inexact-ok += atan2 towardzero m68k96 minus_infty minus_infty : -0x2.5b2f8fe6643a469cp+0 : inexact-ok += atan2 upward m68k96 minus_infty minus_infty : -0x2.5b2f8fe6643a469cp+0 : inexact-ok += atan2 downward binary128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a28296p+0 : inexact-ok += atan2 tonearest binary128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a28294p+0 : inexact-ok += atan2 towardzero binary128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a28294p+0 : inexact-ok += atan2 upward binary128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a28294p+0 : inexact-ok += atan2 downward ibm128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a283p+0 : inexact-ok += atan2 tonearest ibm128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a283p+0 : inexact-ok += atan2 towardzero ibm128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a282p+0 : inexact-ok += atan2 upward ibm128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a282p+0 : inexact-ok atan2 0 1 = atan2 downward binary32 0x0p+0 0x1p+0 : 0x0p+0 : inexact-ok = atan2 tonearest binary32 0x0p+0 0x1p+0 : 0x0p+0 : inexact-ok diff --git a/math/libm-test-atan2.inc b/math/libm-test-atan2.inc index 5933aeee87..fa3233f099 100644 --- a/math/libm-test-atan2.inc +++ b/math/libm-test-atan2.inc @@ -20,62 +20,6 @@ static const struct test_ff_f_data atan2_test_data[] = { - /* atan2 (y,inf) == +0 for finite y > 0 or +0. */ - TEST_ff_f (atan2, 1, plus_infty, 0, ERRNO_UNCHANGED), - TEST_ff_f (atan2, plus_zero, plus_infty, 0, ERRNO_UNCHANGED), - TEST_ff_f (atan2, min_value, plus_infty, 0, ERRNO_UNCHANGED), - TEST_ff_f (atan2, min_subnorm_value, plus_infty, 0, ERRNO_UNCHANGED), - TEST_ff_f (atan2, max_value, plus_infty, 0, ERRNO_UNCHANGED), - - /* atan2 (y,inf) == -0 for finite y < 0 or -0. */ - TEST_ff_f (atan2, -1, plus_infty, minus_zero, ERRNO_UNCHANGED), - TEST_ff_f (atan2, minus_zero, plus_infty, minus_zero, ERRNO_UNCHANGED), - TEST_ff_f (atan2, -min_value, plus_infty, minus_zero, ERRNO_UNCHANGED), - TEST_ff_f (atan2, -min_subnorm_value, plus_infty, minus_zero, ERRNO_UNCHANGED), - TEST_ff_f (atan2, -max_value, plus_infty, minus_zero, ERRNO_UNCHANGED), - - /* atan2(+inf, x) == pi/2 for finite x. */ - TEST_ff_f (atan2, plus_infty, 1, lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, plus_infty, plus_zero, lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, plus_infty, min_value, lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, plus_infty, min_subnorm_value, lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, plus_infty, max_value, lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, plus_infty, -1, lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, plus_infty, minus_zero, lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, plus_infty, -min_value, lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, plus_infty, -min_subnorm_value, lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, plus_infty, -max_value, lit_pi_2_d, ERRNO_UNCHANGED), - - /* atan2(-inf, x) == -pi/2 for finite x. */ - TEST_ff_f (atan2, minus_infty, 1, -lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, minus_infty, plus_zero, -lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, minus_infty, min_value, -lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, minus_infty, min_subnorm_value, -lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, minus_infty, max_value, -lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, minus_infty, -1, -lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, minus_infty, minus_zero, -lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, minus_infty, -min_value, -lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, minus_infty, -min_subnorm_value, -lit_pi_2_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, minus_infty, -max_value, -lit_pi_2_d, ERRNO_UNCHANGED), - - /* atan2 (y,-inf) == +pi for finite y > 0 or +0. */ - TEST_ff_f (atan2, 1, minus_infty, lit_pi, ERRNO_UNCHANGED), - TEST_ff_f (atan2, plus_zero, minus_infty, lit_pi, ERRNO_UNCHANGED), - TEST_ff_f (atan2, min_value, minus_infty, lit_pi, ERRNO_UNCHANGED), - TEST_ff_f (atan2, min_subnorm_value, minus_infty, lit_pi, ERRNO_UNCHANGED), - TEST_ff_f (atan2, max_value, minus_infty, lit_pi, ERRNO_UNCHANGED), - - /* atan2 (y,-inf) == -pi for finite y < 0 or -0. */ - TEST_ff_f (atan2, -1, minus_infty, -lit_pi, ERRNO_UNCHANGED), - TEST_ff_f (atan2, minus_zero, minus_infty, -lit_pi, ERRNO_UNCHANGED), - TEST_ff_f (atan2, -min_value, minus_infty, -lit_pi, ERRNO_UNCHANGED), - TEST_ff_f (atan2, -min_subnorm_value, minus_infty, -lit_pi, ERRNO_UNCHANGED), - TEST_ff_f (atan2, -max_value, minus_infty, -lit_pi, ERRNO_UNCHANGED), - - TEST_ff_f (atan2, plus_infty, plus_infty, lit_pi_4_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, minus_infty, plus_infty, -lit_pi_4_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, plus_infty, minus_infty, lit_pi_3_m_4_d, ERRNO_UNCHANGED), - TEST_ff_f (atan2, minus_infty, minus_infty, -lit_pi_3_m_4_d, ERRNO_UNCHANGED), TEST_ff_f (atan2, qnan_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_ff_f (atan2, qnan_value, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_ff_f (atan2, -qnan_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), From patchwork Fri Nov 29 13:17:38 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: 846130 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp859855wrp; Fri, 29 Nov 2024 05:29:40 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUMXhJKHPLcdOi0yhYLwN2V/1Sqq8hLmnK+L7F7FNdaHKQWLWRvsnUX9ey3zKLJq4zVgdx27g==@linaro.org X-Google-Smtp-Source: AGHT+IFFuYRd/Rdc/AhqiplqmYkjZs6gwI6PEKyzgFde7QLW4GO4+fzCZrTP3uH11rkbyizM8zfk X-Received: by 2002:a05:6902:1586:b0:e38:b85c:31a5 with SMTP id 3f1490d57ef6-e395b891348mr12289063276.16.1732886980209; Fri, 29 Nov 2024 05:29:40 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732886980; cv=pass; d=google.com; s=arc-20240605; b=bVontZFgVQsvW9aH7+M4Ifxxl3W++tms9CamIfaiwx+c3Ji+X7uxSz0ynj0HF9f88W p0AJIvdSYtleHljLHStuczwG5Fsk+jRBR9dN38dmQZLdkMMXdBNCIugZSPd/4PHstQsT vPyOmbHUsoMmly53R4x8nFdi8eWMxlw9C+cGAYVDW3A0WIW543BYNJGqoHmanuCRD/w1 QPKGs1J4bX7pVCAQleIww7Ip3bLftMiQZZjc1u27xynxQBm/zxNvgW674psfvCipCeRH vz8B3vOAbq8lAoFfBZ5vOVQz0BCfC5nb4ONNM7G/mHAuxSwX0J8TiWz24mHlcDVSEYog +JVw== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to; bh=aD/U0iBx1knBk62GaPRrG3FNY+ODo4DUmiib4X2UTxE=; fh=sFucH9KQW8Y8eMoQXaNIgycLDa7roysdjTHpHLIprh4=; b=kiWtNsbbtmRFcYeVAqKgJcNWxO0/Qb6vLnEDTRcHzRKWNd1Tp/e8wvnpIMi9Buau6X o5gzQB+s2036P9sKgVYe9i+9kpXjg590uEOiBkuVdydHpIlWWcdTqAfvfGk7Ya24Erjd RlcBewHsSOuhoa18fkck8jduWhKxBtdUbT2qRsXxNT6jXYi2CVuDauLX4l/khKAeil7C 4yUs6wkMVZX6tHidDLALluDTjNDjPvCN7LJO9Jr3+uJ+Xhhg1/N/KjzMB0DDyr3CaC2h zhq7lCbWMND/IyfVDMWeqe42wgswiegAQgMoKAnf8TNMbtwe/a3ilyA7cgUDntChqnY1 JyMw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=LbYzapLh; 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 3f1490d57ef6-e3976c8e252si3174329276.307.2024.11.29.05.29.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:29:40 -0800 (PST) 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=LbYzapLh; 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 BE07A3858C42 for ; Fri, 29 Nov 2024 13:29:39 +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 ED7953858D37 for ; Fri, 29 Nov 2024 13:21:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ED7953858D37 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 ED7953858D37 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=1732886479; cv=none; b=VfjdnOViXpmDgR52+Ho+s2SqPdEhpt36oyggT6oSHHTlp6IFTVnOjmENjrKQrtcWsC6I0tziGbrpYA6y8vqi6o62MCh3llhu1rd3Sk5S/ejGJZ/ZdyGvFvXn6+WWPu+D9HwKxiUB5go1t9GPJl2aGOAAGomPuoUn5QBNKHQSYu4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886479; c=relaxed/simple; bh=kK3PcU4q5k1HiBFfxYXx/vrKAc7OSepp9dVK6249WaY=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=SPScBGqzVP4V9PRsLGRCJo036jAoWG4kjcGu/yGcXu0VwNKHj2hJ9cA9/INio0ypXXOK9Qnt8dO+siB8ry3UWlHLHSpP4un6fNRBLiD4HKfjdF320AElBlUEPN1BgQpJMJ/juhD9yWomrNs6C+LJMZ6ksUOlr+0LCRLSQO17x4I= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ED7953858D37 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=LbYzapLh Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-215348d1977so9965485ad.3 for ; Fri, 29 Nov 2024 05:21:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886477; x=1733491277; 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=aD/U0iBx1knBk62GaPRrG3FNY+ODo4DUmiib4X2UTxE=; b=LbYzapLhnVW5+nwShJRw4bjldTeVhzeGveHe6PoL39K+bvPZ0h4hwQi0/hXqPnYTEa T5bIjaiTkz0NlbrgMJp/W4hB3WbA3bDtlpKZMfQiNRoxPOo1MiAPONrlD/gkwh5y8kcn jCJQRBgMKc82FVuF7wC8gEDI7pIanLQI62JgTviMET7bEBdStV103rlZKvpYkMwqXZcG BOqGK6Ne2Ru/eJ+yvY/LCqAt1KiJeREt/NdOV06i6iH+5QUquAMEPK6NbUYHUyBt8E/I 72vX2FfcDNWO0r9XI6cRXiRVMh/7fM/Dj/E0VWkaIpu5YQ56bnuDkBVb5FT5yyrzPW2Z Wxow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886477; x=1733491277; 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=aD/U0iBx1knBk62GaPRrG3FNY+ODo4DUmiib4X2UTxE=; b=F2mT30ymulTuFYcC0+XKSphzAJYxqiSSFdPMWhI6dZbfDeFnMIawnMaaOJfJCP98H7 1hZ9y3EZtKV+Hp5rySkNiRWrRFW+aOIpf9S7H7cRY0WpXzIChXYklhmTR1unW4+N25Gc 6Sc0D1nX+YjiOWEPCnekYaK7MZxoC1nfUyVDLYEjt9bKN8YHkJ9L17EVDAlacxLeAn3S cwRUdrspjILBx9xJGcA0tI/MGGY4D0wr8JCQxpXLdnuaDJ5JlLxr7HVDeuSuQQK2/HTs fJbMwO8Gk3p2a7c7sAiyqaPuRC6rLJS8TStt/c/bNyaeBf00xXyUPA8iTgvgTO5S8s+Y 9DBQ== X-Gm-Message-State: AOJu0Yxdqr5mNPZY7Y3fYSYUCRE4DhNHOuJ7e1PQYZzgnKLv8aAkSjI9 ABNRFtDOlPZXyA+Nemqlk56y4WBeqAQ/KbdsyB2+WDWab5wUuEOtUIc3o9HsPovOs4GL7ElCf4/ QDT8p0A== X-Gm-Gg: ASbGncv4TGPHN/UyhesZ0b5rBzhDFKsSETWa9QB4iVbDNNV9uVASqO1DwfDbawRpMzG xwI+YU6Q/anAoDc0QpmD1makWZg334WGIqXn2ks9iqawaJsskm1AxEC6VNpH9Qq8nkpo12iSi6v Wo9384sMFojnYoJrXwSIaWVTEMKNHmVDHALUw0rc7vjYaeLsitKgnqLo6dqRYWGg4TaIFaBo5jr RR8KCXX22CX0W2VvYhOOxuxolzhVcRin4/6Bs8uWD4dcbE9PL5kO/XT6WCn/Xc= X-Received: by 2002:a17:902:ecce:b0:20b:51b0:4b22 with SMTP id d9443c01a7336-21501e6c3e6mr129510325ad.47.1732886477179; Fri, 29 Nov 2024 05:21:17 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.21.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:21:16 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH 14/23] math: Use acosf from CORE-MATH Date: Fri, 29 Nov 2024 10:17:38 -0300 Message-ID: <20241129132032.476978-15-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 acosf. 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 52.5098 36.6312 30.24% x86_64v2 53.0217 37.3091 29.63% x86_64v3 42.8501 32.3977 24.39% i686 207.3960 109.4000 47.25% aarch64 21.3694 13.7871 35.48% power10 14.5542 7.2891 49.92% reciprocal-throughput master patched improvement x86_64 14.1487 15.9508 -12.74% x86_64v2 14.3293 16.1899 -12.98% x86_64v3 13.6563 12.6161 7.62% i686 158.4060 45.7354 71.13% aarch64 12.5515 9.19233 26.76% power10 5.7868 3.3487 42.13% 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/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 | 4 - sysdeps/csky/fpu/libm-test-ulps | 4 - sysdeps/csky/nofpu/libm-test-ulps | 4 - sysdeps/hppa/fpu/libm-test-ulps | 4 - sysdeps/i386/fpu/e_acosf.S | 23 ---- sysdeps/ieee754/flt-32/e_acosf.c | 191 +++++++++++++++++--------- 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/or1k/fpu/libm-test-ulps | 4 - sysdeps/or1k/nofpu/libm-test-ulps | 4 - sysdeps/powerpc/fpu/libm-test-ulps | 4 - 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 | 4 - 25 files changed, 128 insertions(+), 170 deletions(-) delete mode 100644 sysdeps/i386/fpu/e_acosf.S diff --git a/SHARED-FILES b/SHARED-FILES index 9f4de81b66..3d32f0f3b6 100644 --- a/SHARED-FILES +++ b/SHARED-FILES @@ -294,3 +294,7 @@ sysdeps/ieee754/flt-32/s_tanf.c: functions to handle errno, overflow, and underflow. It was changed to use an internal wrapper for 128 bit unsigned integer operations for ABIs that do not support the type natively. +sysdeps/ieee754/flt-32/e_acosf.c: + (src/binary32/acos/acosf.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 89b166b71b..a593a4f8cb 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -3,7 +3,6 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 ldouble: 1 Function: "acos_advsimd": @@ -12,7 +11,6 @@ float: 1 Function: "acos_downward": double: 1 -float: 1 ldouble: 1 Function: "acos_sve": @@ -21,12 +19,10 @@ float: 1 Function: "acos_towardzero": double: 1 -float: 1 ldouble: 1 Function: "acos_upward": double: 1 -float: 1 ldouble: 1 Function: "acosh": diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps index 0f7628b75b..aac2e31951 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -3,22 +3,18 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 ldouble: 1 Function: "acos_downward": double: 1 -float: 1 ldouble: 1 Function: "acos_towardzero": double: 1 -float: 1 ldouble: 1 Function: "acos_upward": double: 1 -float: 1 ldouble: 1 Function: "acosh": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index 4d4b22db47..b80f97b5ed 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -3,19 +3,15 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 Function: "acos_downward": double: 1 -float: 1 Function: "acos_towardzero": double: 1 -float: 1 Function: "acos_upward": double: 1 -float: 1 Function: "acosh": double: 3 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index 4faf784aad..de1fdd9b1e 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -3,7 +3,6 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 Function: "acosh": double: 2 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index c80122de79..a2e6549e65 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -3,19 +3,15 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 Function: "acos_downward": double: 1 -float: 1 Function: "acos_towardzero": double: 1 -float: 1 Function: "acos_upward": double: 1 -float: 1 Function: "acosh": double: 2 diff --git a/sysdeps/csky/fpu/libm-test-ulps b/sysdeps/csky/fpu/libm-test-ulps index d67cfe1785..3e7b07e81a 100644 --- a/sysdeps/csky/fpu/libm-test-ulps +++ b/sysdeps/csky/fpu/libm-test-ulps @@ -2,19 +2,15 @@ # Maximal error of functions: Function: "acos": -float: 1 Function: "acos_downward": double: 1 -float: 1 Function: "acos_towardzero": double: 1 -float: 1 Function: "acos_upward": double: 1 -float: 1 Function: "acosh": double: 2 diff --git a/sysdeps/csky/nofpu/libm-test-ulps b/sysdeps/csky/nofpu/libm-test-ulps index 6cdf9fd034..58bd5eaa15 100644 --- a/sysdeps/csky/nofpu/libm-test-ulps +++ b/sysdeps/csky/nofpu/libm-test-ulps @@ -2,19 +2,15 @@ # Maximal error of functions: Function: "acos": -float: 1 Function: "acos_downward": double: 1 -float: 1 Function: "acos_towardzero": double: 1 -float: 1 Function: "acos_upward": double: 1 -float: 1 Function: "acosh": double: 2 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index 9ed2204d38..ecef024df5 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -3,19 +3,15 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 Function: "acos_downward": double: 1 -float: 1 Function: "acos_towardzero": double: 1 -float: 1 Function: "acos_upward": double: 1 -float: 1 Function: "acosh": double: 2 diff --git a/sysdeps/i386/fpu/e_acosf.S b/sysdeps/i386/fpu/e_acosf.S deleted file mode 100644 index 435dcd9f67..0000000000 --- a/sysdeps/i386/fpu/e_acosf.S +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Public domain. - */ - -#include -#include - -RCSID("$NetBSD: $") - -/* acos = atan (sqrt(1 - x^2) / x) */ -ENTRY(__ieee754_acosf) - flds 4(%esp) /* x */ - fld %st - fmul %st(0) /* x^2 */ - fld1 - fsubp /* 1 - x^2 */ - fsqrt /* sqrt (1 - x^2) */ - fabs - fxch %st(1) - fpatan - ret -END (__ieee754_acosf) -libm_alias_finite (__ieee754_acosf, __acosf) diff --git a/sysdeps/ieee754/flt-32/e_acosf.c b/sysdeps/ieee754/flt-32/e_acosf.c index e3b3bbc928..9adc02a241 100644 --- a/sysdeps/ieee754/flt-32/e_acosf.c +++ b/sysdeps/ieee754/flt-32/e_acosf.c @@ -1,78 +1,135 @@ -/* e_acosf.c -- float version of e_acos.c. - */ +/* Correctly-rounded arc-cosine function 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) 2023-2024 Alexei Sibidanov. +The original version of this file was copied from the CORE-MATH +project (file src/binary32/acos/acosf.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 #include #include +#include "math_config.h" -static const float -one = 1.0000000000e+00, /* 0x3F800000 */ -pi = 3.1415925026e+00, /* 0x40490fda */ -pio2_hi = 1.5707962513e+00, /* 0x3fc90fda */ -pio2_lo = 7.5497894159e-08, /* 0x33a22168 */ -pS0 = 1.6666667163e-01, /* 0x3e2aaaab */ -pS1 = -3.2556581497e-01, /* 0xbea6b090 */ -pS2 = 2.0121252537e-01, /* 0x3e4e0aa8 */ -pS3 = -4.0055535734e-02, /* 0xbd241146 */ -pS4 = 7.9153501429e-04, /* 0x3a4f7f04 */ -pS5 = 3.4793309169e-05, /* 0x3811ef08 */ -qS1 = -2.4033949375e+00, /* 0xc019d139 */ -qS2 = 2.0209457874e+00, /* 0x4001572d */ -qS3 = -6.8828397989e-01, /* 0xbf303361 */ -qS4 = 7.7038154006e-02; /* 0x3d9dc62e */ +static __attribute__ ((noinline)) float +as_special (float x) +{ + const float pih = 0x1.921fb6p+1; + const float pil = -0x1p-24f; + uint32_t t = asuint (x); + if (t == (0x7fu << 23)) + return 0.0f; /* x=1 */ + if (t == (0x17fu << 23)) + return pih + pil; /* x=-1 */ + uint32_t ax = t << 1; + if (ax > (0xffu << 24)) + return x + x; /* nan */ + return __math_invalidf (0.0); +} + +static inline double +poly12 (double z, const double *c) +{ + double z2 = z * z, z4 = z2 * z2; + double c0 = c[0] + z * c[1]; + double c2 = c[2] + z * c[3]; + double c4 = c[4] + z * c[5]; + double c6 = c[6] + z * c[7]; + double c8 = c[8] + z * c[9]; + double c10 = c[10] + z * c[11]; + c0 += c2 * z2; + c4 += c6 * z2; + c8 += z2 * c10; + c0 += z4 * (c4 + z4 * c8); + return c0; +} float -__ieee754_acosf(float x) +__ieee754_acosf (float x) { - float z,p,q,r,w,s,c,df; - int32_t hx,ix; - GET_FLOAT_WORD(hx,x); - ix = hx&0x7fffffff; - if(ix==0x3f800000) { /* |x|==1 */ - if(hx>0) return 0.0; /* acos(1) = 0 */ - else return pi+(float)2.0*pio2_lo; /* acos(-1)= pi */ - } else if(ix>0x3f800000) { /* |x| >= 1 */ - return (x-x)/(x-x); /* acos(|x|>1) is NaN */ - } - if(ix<0x3f000000) { /* |x| < 0.5 */ - if(ix<=0x32800000) return pio2_hi+pio2_lo;/*if|x|<=2**-26*/ - z = x*x; - p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5))))); - q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4))); - r = p/q; - return pio2_hi - (x - (pio2_lo-x*r)); - } else if (hx<0) { /* x < -0.5 */ - z = (one+x)*(float)0.5; - p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5))))); - q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4))); - s = sqrtf(z); - r = p/q; - w = r*s-pio2_lo; - return pi - (float)2.0*(s+w); - } else { /* x > 0.5 */ - int32_t idf; - z = (one-x)*(float)0.5; - s = sqrtf(z); - df = s; - GET_FLOAT_WORD(idf,df); - SET_FLOAT_WORD(df,idf&0xfffff000); - c = (z-df*df)/(s+df); - p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5))))); - q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4))); - r = p/q; - w = r*s+c; - return (float)2.0*(df+w); - } + const double pi2 = 0x1.921fb54442d18p+0; + static const double o[] = { 0, 0x1.921fb54442d18p+1 }; + double xs = x; + double r; + uint32_t t = asuint (x); + uint32_t ax = t << 1; + if (__glibc_unlikely (ax>=0x7f<<24)) + return as_special (x); + if (__glibc_likely (ax < 0x7ec2a1dcu)) /* |x| < 0x1.c2a1dcp-1 */ + { + static const double b[] = + { + 0x1.fffffffd9ccb8p-1, 0x1.5555c94838007p-3, 0x1.32ded4b7c20fap-4, + 0x1.8566df703309ep-5, -0x1.980c959bec9a3p-6, 0x1.56fbb04998344p-1, + -0x1.403d8e4c49f52p+2, 0x1.b06c3e9f311eap+4, -0x1.9ea97c4e2c21fp+6, + 0x1.200b8261cc61bp+8, -0x1.2274c2799a5c7p+9, 0x1.a558a59cc19d3p+9, + -0x1.aca4b6a529ffp+9, 0x1.228744703f813p+9, -0x1.d7dbb0b322228p+7, + 0x1.5c2018c0c0105p+5 + }; + /* Avoid spurious underflow exception. */ + if (__glibc_unlikely (ax <= 0x40000000u)) /* |x| < 2^-63 */ + return (float) pi2; + double z = xs, z2 = z * z, z4 = z2 * z2, z8 = z4 * z4, z16 = z8 * z8; + r = z * ((((b[0] + z2 * b[1]) + z4 * (b[2] + z2 * b[3])) + + z8 * ((b[4] + z2 * b[5]) + z4 * (b[6] + z2 * b[7]))) + + z16 * (((b[8] + z2 * b[9]) + z4 * (b[10] + z2 * b[11])) + + z8 + * ((b[12] + z2 * b[13])+ z4 * (b[14] + z2 * b[15])))); + float ub = 0x1.921fb54574191p+0 - r; + float lb = 0x1.921fb543118ap+0 - r; + if (ub == lb) + return ub; + } + /* accurate path */ + if (ax < (0x7eu << 24)) + { + static const double c[] = + { + 0x1.555555555529cp-3, 0x1.333333337e0ddp-4, 0x1.6db6db3b4465ep-5, + 0x1.f1c72e13ac306p-6, 0x1.6e89cebe06bc4p-6, 0x1.1c6dcf5289094p-6, + 0x1.c6dbbcc7c6315p-7, 0x1.8f8dc2615e996p-7, 0x1.a5833b7bf15e8p-8, + 0x1.43f44ace1665cp-6, -0x1.0fb17df881c73p-6, 0x1.07520c026b2d6p-5 + }; + if (t == 0x328885a3u) + return 0x1.921fb6p+0f + 0x1p-25; + if (t == 0x39826222u) + return 0x1.920f6ap+0f + 0x1p-25; + double x2 = xs * xs; + r = (pi2 - xs) - (xs * x2) * poly12 (x2, c); + } + else + { + static const double c[] = + { + 0x1.6a09e667f3bcbp+0, 0x1.e2b7dddff2db9p-4, 0x1.b27247ab42dbcp-6, + 0x1.02995cc4e0744p-7, 0x1.5ffb0276ec8eap-9, 0x1.033885a928decp-10, + 0x1.911f2be23f8c7p-12, 0x1.4c3c55d2437fdp-13, 0x1.af477e1d7b461p-15, + 0x1.abd6bdff67dcbp-15, -0x1.1717e86d0fa28p-16, 0x1.6ff526de46023p-16 + }; + double bx = fabs (xs); + double z = 1.0 - bx; + double s = copysign (sqrt (z), xs); + r = o[t >> 31] + s * poly12 (z, c); + } + return r; } libm_alias_finite (__ieee754_acosf, __acosf) diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index 03fa6a410a..67bf2d2f9f 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -3,22 +3,18 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 ldouble: 1 Function: "acos_downward": double: 1 -float: 1 ldouble: 1 Function: "acos_towardzero": double: 1 -float: 1 ldouble: 1 Function: "acos_upward": double: 1 -float: 1 ldouble: 1 Function: "acosh": diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps index c96652a022..c93ebfa21b 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -2,7 +2,6 @@ # Maximal error of functions: Function: "acos": -float: 1 Function: "acosh": double: 2 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index 17034d44ba..d23762642b 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -3,19 +3,15 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 Function: "acos_downward": double: 1 -float: 1 Function: "acos_towardzero": double: 1 -float: 1 Function: "acos_upward": double: 1 -float: 1 Function: "acosh": double: 2 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index a757f69a9a..aece335d6b 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -3,22 +3,18 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 ldouble: 1 Function: "acos_downward": double: 1 -float: 1 ldouble: 1 Function: "acos_towardzero": double: 1 -float: 1 ldouble: 1 Function: "acos_upward": double: 1 -float: 1 ldouble: 1 Function: "acosh": diff --git a/sysdeps/or1k/fpu/libm-test-ulps b/sysdeps/or1k/fpu/libm-test-ulps index 115a73ef26..862ab6b559 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/fpu/libm-test-ulps @@ -3,19 +3,15 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 Function: "acos_downward": double: 1 -float: 1 Function: "acos_towardzero": double: 1 -float: 1 Function: "acos_upward": double: 1 -float: 1 Function: "acosh": double: 2 diff --git a/sysdeps/or1k/nofpu/libm-test-ulps b/sysdeps/or1k/nofpu/libm-test-ulps index e130fd8a1d..3c364480f4 100644 --- a/sysdeps/or1k/nofpu/libm-test-ulps +++ b/sysdeps/or1k/nofpu/libm-test-ulps @@ -3,19 +3,15 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 Function: "acos_downward": double: 1 -float: 1 Function: "acos_towardzero": double: 1 -float: 1 Function: "acos_upward": double: 1 -float: 1 Function: "acosh": double: 2 diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index adaa10fb56..135853f213 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -3,25 +3,21 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 float128: 1 ldouble: 1 Function: "acos_downward": double: 1 -float: 1 float128: 1 ldouble: 3 Function: "acos_towardzero": double: 1 -float: 1 float128: 1 ldouble: 3 Function: "acos_upward": double: 1 -float: 1 float128: 1 ldouble: 2 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index 2c44e39c2c..44cf9983dc 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -3,22 +3,18 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 ldouble: 1 Function: "acos_downward": double: 1 -float: 1 ldouble: 3 Function: "acos_towardzero": double: 1 -float: 1 ldouble: 3 Function: "acos_upward": double: 1 -float: 1 ldouble: 2 Function: "acosh": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index 84b9e15f43..8d3b048e84 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -3,22 +3,18 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 ldouble: 1 Function: "acos_downward": double: 1 -float: 1 ldouble: 1 Function: "acos_towardzero": double: 1 -float: 1 ldouble: 1 Function: "acos_upward": double: 1 -float: 1 ldouble: 1 Function: "acosh": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index b9446e5a7c..a1d85be3b6 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -3,22 +3,18 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 ldouble: 1 Function: "acos_downward": double: 1 -float: 1 ldouble: 1 Function: "acos_towardzero": double: 1 -float: 1 ldouble: 1 Function: "acos_upward": double: 1 -float: 1 ldouble: 1 Function: "acosh": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index 62d3f145fc..7a3d526d69 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -3,22 +3,18 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 ldouble: 1 Function: "acos_downward": double: 1 -float: 1 ldouble: 1 Function: "acos_towardzero": double: 1 -float: 1 ldouble: 1 Function: "acos_upward": double: 1 -float: 1 ldouble: 1 Function: "acosh": diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index a6d271eb3f..d1e5b05531 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -2,11 +2,9 @@ # Maximal error of functions: Function: "acos": -float: 1 Function: "acos_towardzero": double: 1 -float: 1 Function: "acosh": double: 2 diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index 9276ff9726..6a70b6f5ea 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -3,22 +3,18 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 ldouble: 1 Function: "acos_downward": double: 1 -float: 1 ldouble: 1 Function: "acos_towardzero": double: 1 -float: 1 ldouble: 1 Function: "acos_upward": double: 1 -float: 1 ldouble: 1 Function: "acosh": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index f4360598a9..ff532cea1e 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -3,25 +3,21 @@ # Maximal error of functions: Function: "acos": double: 1 -float: 1 float128: 1 ldouble: 2 Function: "acos_downward": double: 1 -float: 1 float128: 1 ldouble: 2 Function: "acos_towardzero": double: 1 -float: 1 float128: 1 ldouble: 2 Function: "acos_upward": double: 1 -float: 1 float128: 1 ldouble: 2 From patchwork Fri Nov 29 13:17: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: 846131 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp860767wrp; Fri, 29 Nov 2024 05:30:53 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWhLU603SrvnxICYb0XffOLom1s0jr8nLdEcp++rGioLwdKlxLXRaKJI3/KigKFAmj60nQuYg==@linaro.org X-Google-Smtp-Source: AGHT+IHpFaEwdVMDKKY1nqcSlh+INvoZiTnX60QaAScx/gbDepG3f4by/gqQhUAiV7WsdnJCNSdh X-Received: by 2002:a05:6512:b26:b0:539:905c:15ab with SMTP id 2adb3069b0e04-53df00dce7fmr7614034e87.32.1732887052460; Fri, 29 Nov 2024 05:30:52 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732887052; cv=pass; d=google.com; s=arc-20240605; b=Odk4+TfbHk6N+nRaN9DcVaOVnfnIsd3zzhJF0NN7ptWdhmOwywc+S/LtYbe1wLLEgL 2F2ef1h6enU9C4g8AuepwSb8qFYexCeaeZq4O0cEYRtYAc7R9jVIVS9y3aLn1eLcRgYv k+zcZejW+YRlp6JPUfE7GpzoiVWR7QiEqwotCckHL7chXUewvpCRdTTJ+ZHs7Jb6horL q/M7WAtLJUMQUxjVz8GJ2N1/m/bl0Sjsb+uAWXDDyit20xi8fKqvJ0v79nrMC40/+j7b jROP25qieSSSMWCOxce51ZUhznUUQHDJ/rnkawiBpeBqjpByjiXMPHVaRumuwY2jEB9S Cnvw== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to; bh=XU+QCzM6gng/TQfDkz/Ntzlvp2wcFYsmFC86KL2fhxg=; fh=sFucH9KQW8Y8eMoQXaNIgycLDa7roysdjTHpHLIprh4=; b=Qz0f/amTEU8SkuX+Y0lwe1r90y5hlwTd0gsrxp33MAbyXWXHddWG/Cmr0T5ABcNzBv QZScGwXG4iihEyFBI9I1FH6aSixHpCKC7M4WhUyj/1JrKgkI1fhBxfMVfyqg64K518eZ 0RxwOHbVBCME76QMSv3YXatOeu2LnWBeRE2HrcqpX+7byXuoV0dA07gljC8KLj7B5Te+ HUtYAOYpyDfkeQXtxN+aGq6xMVzbCU+ufecfVnLjdah+P5llkkJi9MpHXBJLYjLRZPGH wb2e/LgwZdmaxOklLnASXkhUoi8h5sXiapXcgTsy6mtzgmue8ZIe0AjbSBe6y7SNnIvP n2rQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=toQjfYxT; 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 2adb3069b0e04-53df6496d01si1407742e87.381.2024.11.29.05.30.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:30:52 -0800 (PST) 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=toQjfYxT; 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 583793858C56 for ; Fri, 29 Nov 2024 13:30:51 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x641.google.com (mail-pl1-x641.google.com [IPv6:2607:f8b0:4864:20::641]) by sourceware.org (Postfix) with ESMTPS id C1B9A3858D35 for ; Fri, 29 Nov 2024 13:21:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C1B9A3858D35 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 C1B9A3858D35 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::641 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886490; cv=none; b=dr72S5mQVHL6AKeIi/9hMAGuPyKKjRydF/bBXjL1A50sQzDEy2pfH9Ru80pWCLYR0B9zC4gzpPqW7SEZBSHf2wQk8F8yPG7ltK2NrX3yeFBCUNMXHmCeqReFB+IZlgltX5UzPhLG5AUwyYP/dS08+ycIBwm4rgDbFT4Hfxarwqo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886490; c=relaxed/simple; bh=i3GKny0oPxNEcMNSsPr1ggVkCVDKIPjMRWpk1XhFij8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=K8cbwcyZ8DQCgCd/SxaFvr/UoG4MvoDqLN47RZWzX1l6sccPqfwdTwOSrbV6sVSRMxO/hQR5RiKdFwXeTzusZCYLxEGl1l8NWGuvUb4cJz+LwHuuph1vRF/eXtxz/uKF3E5S2PcohFbY19X3ibh/T2RISrx3AIuRVKbqYJPgHQA= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C1B9A3858D35 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=toQjfYxT Received: by mail-pl1-x641.google.com with SMTP id d9443c01a7336-21532055aebso11574155ad.3 for ; Fri, 29 Nov 2024 05:21:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886483; x=1733491283; 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=XU+QCzM6gng/TQfDkz/Ntzlvp2wcFYsmFC86KL2fhxg=; b=toQjfYxTkQo//4irF8RYYl5zafk9ykDnRbLmDYTodbtaHAKO6ETvqYGCWCvsibmUs+ fkLqIn0rVz33Hx+blUo16avCydvTadrGlLiMNf+bCqZpZ02jlQyljRWJepcXLAstO98W CtOm3jPLxgIOedPB/vJ5/wlMPPS17il9VuHVEyBkEwh00s+T+VMKrhOJraI2+c6CLV8Y rU71SniYF6ytXYkNcA8FIt+VpIjOucjEe7h87I6wtKfdTRYwsiwNcZ/WhKh+s1X2JMHd 2lvZj5fsL1g/f26jDm2hNlB840kVWsck5pbrwacsilkNNS3vtd37vnz7AaemcZDdxMRj i0LA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886483; x=1733491283; 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=XU+QCzM6gng/TQfDkz/Ntzlvp2wcFYsmFC86KL2fhxg=; b=Q4CXHc6YPYK6Xe1hiW+jgc2PHgGNaEfMU63kx31CEtaGBxWZaFd4QmbZPcTnTKo+JI H84IGm/kqsmqHbO0GVQAGpt9RnLbPDI4jBGrvAZND4Xz/70tDKItToRGqcbRnMMtI6NP n+JcCnNi/NUez+M0yrBlMflRVWDysX8TDgp3yRuoZAhuIn2Do0s2ZNxGDo9Yn1n5Y+cZ lqYr6DVyClhn/HDSIKQNdmwHB351Qh/4sDVmKwo2W+FrYlWjJ65IbJa0Oz369gWiRvez T2CPLgRw12i5bcfkvuw90YRIAqYOz7KCTO6C0ex3AYj1iao7Zi09lisecfPgy67Q7OlS LiFw== X-Gm-Message-State: AOJu0YyH7ASHohf+VRmdMjMbYZNR9M/IsjBuAqGDP4VvOM+S/NccakLr XcMg8RIImuLIcuyvuWEU9poK792bpSSnLFjNYTC06NXMxED0duNfEqBUvHXIpPEnSFfDHvD59Ad TB7gBEaA2 X-Gm-Gg: ASbGncv3TfOgSfO7enrgInFNELP1ivKjptTh0P33o84oFm0mMTFtZiSjgg1XpzFbPOo xeysHsC6GdISDOeDInGkbJTryDvRVNrDrwUDblTLBRx9k/pk6U8vVYoG1eCsHKRDtEiURXV6g0Y SvUhxWHocPGK3OErbwHMx5M33suBqkzVN1PX3Bu/z28wJoTTPLRsI/Tp2G7ZqF/aBfExiEg9cX7 ypySReFoZXgz0ALiSmO0ZibG0wGFB/8yzjSUJcSFwWK9pebtcDUT4E4h73c7ts= X-Received: by 2002:a17:903:1cf:b0:20b:8776:4906 with SMTP id d9443c01a7336-21501b58e10mr129500045ad.37.1732886481194; Fri, 29 Nov 2024 05:21:21 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.21.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:21:20 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH 15/23] math: Use acoshf from CORE-MATH Date: Fri, 29 Nov 2024 10:17:39 -0300 Message-ID: <20241129132032.476978-16-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 acoshf. 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 61.2471 58.7742 4.04% x86_64-v2 62.6519 59.0523 5.75% x86_64-v3 58.7408 50.1393 14.64% aarch64 24.8580 21.3317 14.19% power10 17.0469 13.1345 22.95% reciprocal-throughput master patched improvement x86_64 16.1618 15.1864 6.04% x86_64-v2 15.7729 14.7563 6.45% x86_64-v3 14.1669 11.9568 15.60% aarch64 10.911 9.5486 12.49% power10 6.38196 5.06734 20.60% 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/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 | 4 - sysdeps/csky/fpu/libm-test-ulps | 4 - sysdeps/csky/nofpu/libm-test-ulps | 4 - sysdeps/hppa/fpu/libm-test-ulps | 4 - sysdeps/i386/fpu/e_acoshf.S | 101 ----------- sysdeps/ieee754/flt-32/e_acoshf.c | 230 ++++++++++++++++++++----- sysdeps/loongarch/lp64/libm-test-ulps | 4 - sysdeps/m68k/m680x0/fpu/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/or1k/fpu/libm-test-ulps | 4 - sysdeps/or1k/nofpu/libm-test-ulps | 4 - sysdeps/powerpc/fpu/libm-test-ulps | 4 - 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 | 4 - 26 files changed, 194 insertions(+), 225 deletions(-) delete mode 100644 sysdeps/i386/fpu/e_acoshf.S diff --git a/SHARED-FILES b/SHARED-FILES index 3d32f0f3b6..c29c1c8106 100644 --- a/SHARED-FILES +++ b/SHARED-FILES @@ -298,3 +298,7 @@ sysdeps/ieee754/flt-32/e_acosf.c: (src/binary32/acos/acosf.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/e_acoshf.c: + (src/binary32/acosh/acoshf.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 a593a4f8cb..902740f848 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -27,7 +27,6 @@ ldouble: 1 Function: "acosh": double: 2 -float: 2 ldouble: 4 Function: "acosh_advsimd": @@ -36,7 +35,6 @@ float: 2 Function: "acosh_downward": double: 2 -float: 2 ldouble: 3 Function: "acosh_sve": @@ -45,12 +43,10 @@ float: 2 Function: "acosh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "acosh_upward": double: 2 -float: 2 ldouble: 3 Function: "asin": diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps index aac2e31951..d26fcb40c9 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -19,22 +19,18 @@ ldouble: 1 Function: "acosh": double: 2 -float: 2 ldouble: 4 Function: "acosh_downward": double: 2 -float: 2 ldouble: 3 Function: "acosh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "acosh_upward": double: 2 -float: 2 ldouble: 3 Function: "asin": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index b80f97b5ed..0057716df0 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -15,19 +15,15 @@ double: 1 Function: "acosh": double: 3 -float: 2 Function: "acosh_downward": double: 2 -float: 2 Function: "acosh_towardzero": double: 2 -float: 2 Function: "acosh_upward": double: 3 -float: 3 Function: "asin": double: 1 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index de1fdd9b1e..2fa0c82346 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -6,7 +6,6 @@ double: 1 Function: "acosh": double: 2 -float: 2 Function: "asin": double: 1 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index a2e6549e65..968efaf299 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -15,19 +15,15 @@ double: 1 Function: "acosh": double: 2 -float: 2 Function: "acosh_downward": double: 2 -float: 2 Function: "acosh_towardzero": double: 2 -float: 2 Function: "acosh_upward": double: 2 -float: 2 Function: "asin": double: 1 diff --git a/sysdeps/csky/fpu/libm-test-ulps b/sysdeps/csky/fpu/libm-test-ulps index 3e7b07e81a..ebde72f4d7 100644 --- a/sysdeps/csky/fpu/libm-test-ulps +++ b/sysdeps/csky/fpu/libm-test-ulps @@ -14,19 +14,15 @@ double: 1 Function: "acosh": double: 2 -float: 2 Function: "acosh_downward": double: 2 -float: 2 Function: "acosh_towardzero": double: 2 -float: 2 Function: "acosh_upward": double: 2 -float: 2 Function: "asin": float: 1 diff --git a/sysdeps/csky/nofpu/libm-test-ulps b/sysdeps/csky/nofpu/libm-test-ulps index 58bd5eaa15..73b6a2042a 100644 --- a/sysdeps/csky/nofpu/libm-test-ulps +++ b/sysdeps/csky/nofpu/libm-test-ulps @@ -14,19 +14,15 @@ double: 1 Function: "acosh": double: 2 -float: 2 Function: "acosh_downward": double: 2 -float: 2 Function: "acosh_towardzero": double: 2 -float: 2 Function: "acosh_upward": double: 2 -float: 2 Function: "asin": float: 1 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index ecef024df5..8a84b303b7 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -15,19 +15,15 @@ double: 1 Function: "acosh": double: 2 -float: 2 Function: "acosh_downward": double: 2 -float: 2 Function: "acosh_towardzero": double: 2 -float: 2 Function: "acosh_upward": double: 2 -float: 2 Function: "asin": double: 1 diff --git a/sysdeps/i386/fpu/e_acoshf.S b/sysdeps/i386/fpu/e_acoshf.S deleted file mode 100644 index 6eda9dc584..0000000000 --- a/sysdeps/i386/fpu/e_acoshf.S +++ /dev/null @@ -1,101 +0,0 @@ -/* ix87 specific implementation of arcsinh. - 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 - . */ - -#include -#include - - .section .rodata.cst8,"aM",@progbits,8 - - .p2align 3 - .type one,@object -one: .double 1.0 - ASM_SIZE_DIRECTIVE(one) - .type limit,@object -limit: .double 0.29 - ASM_SIZE_DIRECTIVE(limit) - -#ifdef PIC -#define MO(op) op##@GOTOFF(%edx) -#else -#define MO(op) op -#endif - - .text -ENTRY(__ieee754_acoshf) - movl 4(%esp), %ecx - cmpl $0x3f800000, %ecx - jl 5f // < 1 => invalid - fldln2 // log(2) - flds 4(%esp) // x : log(2) - cmpl $0x47000000, %ecx - ja 3f // x > 2^14 -#ifdef PIC - LOAD_PIC_REG (dx) -#endif - cmpl $0x40000000, %ecx - ja 4f // x > 2 - - // 1 <= x <= 2 => y = log1p(x-1+sqrt(2*(x-1)+(x-1)^2)) - fsubl MO(one) // x-1 : log(2) - fabs // acosh(1) is +0 in all rounding modes - fld %st // x-1 : x-1 : log(2) - fmul %st(1) // (x-1)^2 : x-1 : log(2) - fadd %st(1) // x-1+(x-1)^2 : x-1 : log(2) - fadd %st(1) // 2*(x-1)+(x-1)^2 : x-1 : log(2) - fsqrt // sqrt(2*(x-1)+(x-1)^2) : x-1 : log(2) - faddp // x-1+sqrt(2*(x-1)+(x-1)^2) : log(2) - fcoml MO(limit) - fnstsw - sahf - ja 2f - fyl2xp1 // log1p(x-1+sqrt(2*(x-1)+(x-1)^2)) - ret - -2: faddl MO(one) // x+sqrt(2*(x-1)+(x-1)^2) : log(2) - fyl2x // log(x+sqrt(2*(x-1)+(x-1)^2)) - ret - - // x > 2^14 => y = log(x) + log(2) - .align ALIGNARG(4) -3: fyl2x // log(x) - fldln2 // log(2) : log(x) - faddp // log(x)+log(2) - ret - - // 2^28 > x > 2 => y = log(2*x - 1/(x+sqrt(x*x-1))) - .align ALIGNARG(4) -4: fld %st // x : x : log(2) - fadd %st, %st(1) // x : 2*x : log(2) - fld %st // x : x : 2*x : log(2) - fmul %st(1) // x^2 : x : 2*x : log(2) - fsubl MO(one) // x^2-1 : x : 2*x : log(2) - fsqrt // sqrt(x^2-1) : x : 2*x : log(2) - faddp // x+sqrt(x^2-1) : 2*x : log(2) - fdivrl MO(one) // 1/(x+sqrt(x^2-1)) : 2*x : log(2) - fsubrp // 2*x+1/(x+sqrt(x^2)-1) : log(2) - fyl2x // log(2*x+1/(x+sqrt(x^2-1))) - ret - - // x < 1 (or -NaN) => NaN - .align ALIGNARG(4) -5: flds 4(%esp) - fsub %st - fdiv %st, %st(0) - ret -END(__ieee754_acoshf) -libm_alias_finite (__ieee754_acoshf, __acoshf) diff --git a/sysdeps/ieee754/flt-32/e_acoshf.c b/sysdeps/ieee754/flt-32/e_acoshf.c index 2237af4ba4..c92e66d604 100644 --- a/sysdeps/ieee754/flt-32/e_acoshf.c +++ b/sysdeps/ieee754/flt-32/e_acoshf.c @@ -1,49 +1,199 @@ -/* e_acoshf.c -- float version of e_acosh.c. - */ - -/* - * ==================================================== - * 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. - * ==================================================== - */ - -#if defined(LIBM_SCCS) && !defined(lint) -static char rcsid[] = "$NetBSD: e_acoshf.c,v 1.5 1995/05/12 04:57:20 jtc Exp $"; -#endif +/* Correctly-rounded inverse hyperbolic cosine function for binary32 format. + +Copyright (c) 2023-2024 Alexei Sibidanov. + +The original version of this file was copied from the CORE-MATH +project (file src/binary32/acosh/acoshf.c, revision 927eb45). + +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 const float -one = 1.0, -ln2 = 6.9314718246e-01; /* 0x3f317218 */ +static __attribute__ ((noinline)) float +as_special (float x) +{ + uint32_t t = asuint (x); + if (t == 0x3f800000u) + return 0.0f; + if ((t << 1) > 0xff000000u) + return x + x; /* nan */ + if (t == 0x7f800000u) + return x; /* inf */ + return __math_invalidf (x); +} -float __ieee754_acoshf(float x) +float +__ieee754_acoshf (float x) { - float t; - int32_t hx; - GET_FLOAT_WORD(hx,x); - if(hx<0x3f800000) { /* x < 1 */ - return (x-x)/(x-x); - } else if(hx >=0x4d800000) { /* x > 2**28 */ - if(hx >=0x7f800000) { /* x is inf of NaN */ - return x+x; - } else - return __ieee754_logf(x)+ln2; /* acosh(huge)=log(2x) */ - } else if (hx==0x3f800000) { - return 0.0; /* acosh(1) = 0 */ - } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ - t=x*x; - return __ieee754_logf((float)2.0*x-one/(x+sqrtf(t-one))); - } else { /* 1> 12); + int j = (m + (UINT64_C(1) << (52 - 8))) >> (52 - 7); + int e = (tp >> 52) - 0x3ff; + double w = asdouble (m | UINT64_C(0x3ff) << 52); + double z = w * ix[j] - 1.0; + static const double c[] = + { + 0x1.0000000066947p+0, -0x1.00007f053d8cbp-1, 0x1.555280111d914p-2 + }; + double z2 = z * z; + double r = ((lix[128] * e + lix[j]) + z * c[0]) + + z2 * (c[1] + z * c[2]); + if (__glibc_unlikely (((asuint64 (r) + 259000) & INT64_C(0xfffffff)) + < 260000)) + { + static const double cp[] = + { + 0x1p+0, -0x1p-1, + 0x1.55555555030bcp-2, -0x1.ffffffff2b4e5p-3, + 0x1.999b5076a42f2p-3, -0x1.55570c45a647dp-3 + }; + z2 = z * z; + double c0 = cp[0] + z * cp[1]; + double c2 = cp[2] + z * cp[3]; + double c4 = cp[4] + z * cp[5]; + c0 += z2 * (c2 + z2 * c4); + const double ln2l = 0x1.7f7d1cf79abcap-20; + const double ln2h = 0x1.62e4p-1; + double Lh = ln2h * e; + double Ll = ln2l * e; + r = fma (z, c0, Ll + lix[j]) + Lh; + if (__glibc_unlikely ((asuint64 (r) & UINT64_C(0xfffffff)) == 0)) + { + double h = fma (z, c0, Ll + lix[j]) + (Lh - r); + r = r + 64.0 * h; + } } + return r; + } + else + return as_special (x); } libm_alias_finite (__ieee754_acoshf, __acoshf) diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index 67bf2d2f9f..63fd07fbe0 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -19,22 +19,18 @@ ldouble: 1 Function: "acosh": double: 2 -float: 2 ldouble: 4 Function: "acosh_downward": double: 2 -float: 2 ldouble: 3 Function: "acosh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "acosh_upward": double: 2 -float: 2 ldouble: 3 Function: "asin": diff --git a/sysdeps/m68k/m680x0/fpu/libm-test-ulps b/sysdeps/m68k/m680x0/fpu/libm-test-ulps index 50080f46b3..73019999e0 100644 --- a/sysdeps/m68k/m680x0/fpu/libm-test-ulps +++ b/sysdeps/m68k/m680x0/fpu/libm-test-ulps @@ -3,22 +3,18 @@ # Maximal error of functions: Function: "acosh": double: 1 -float: 1 ldouble: 1 Function: "acosh_downward": double: 2 -float: 1 ldouble: 1 Function: "acosh_towardzero": double: 2 -float: 1 ldouble: 1 Function: "acosh_upward": double: 2 -float: 1 ldouble: 1 Function: "asin": diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps index c93ebfa21b..a9e3f3a318 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -5,7 +5,6 @@ Function: "acos": Function: "acosh": double: 2 -float: 2 Function: "asin": float: 1 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index d23762642b..fc0d001750 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -15,19 +15,15 @@ double: 1 Function: "acosh": double: 2 -float: 2 Function: "acosh_downward": double: 2 -float: 2 Function: "acosh_towardzero": double: 2 -float: 2 Function: "acosh_upward": double: 2 -float: 2 Function: "asin": double: 1 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index aece335d6b..855b48e800 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -19,22 +19,18 @@ ldouble: 1 Function: "acosh": double: 2 -float: 2 ldouble: 4 Function: "acosh_downward": double: 2 -float: 2 ldouble: 3 Function: "acosh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "acosh_upward": double: 2 -float: 2 ldouble: 3 Function: "asin": diff --git a/sysdeps/or1k/fpu/libm-test-ulps b/sysdeps/or1k/fpu/libm-test-ulps index 862ab6b559..0cc7beccfc 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/fpu/libm-test-ulps @@ -15,19 +15,15 @@ double: 1 Function: "acosh": double: 2 -float: 2 Function: "acosh_downward": double: 2 -float: 2 Function: "acosh_towardzero": double: 2 -float: 2 Function: "acosh_upward": double: 2 -float: 2 Function: "asin": double: 1 diff --git a/sysdeps/or1k/nofpu/libm-test-ulps b/sysdeps/or1k/nofpu/libm-test-ulps index 3c364480f4..a0c3179fc3 100644 --- a/sysdeps/or1k/nofpu/libm-test-ulps +++ b/sysdeps/or1k/nofpu/libm-test-ulps @@ -15,19 +15,15 @@ double: 1 Function: "acosh": double: 2 -float: 2 Function: "acosh_downward": double: 2 -float: 2 Function: "acosh_towardzero": double: 2 -float: 2 Function: "acosh_upward": double: 2 -float: 2 Function: "asin": double: 1 diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index 135853f213..05facea37f 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -23,25 +23,21 @@ ldouble: 2 Function: "acosh": double: 2 -float: 2 float128: 4 ldouble: 2 Function: "acosh_downward": double: 2 -float: 2 float128: 3 ldouble: 3 Function: "acosh_towardzero": double: 2 -float: 2 float128: 2 ldouble: 5 Function: "acosh_upward": double: 2 -float: 2 float128: 3 ldouble: 4 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index 44cf9983dc..f553da0caa 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -19,22 +19,18 @@ ldouble: 2 Function: "acosh": double: 2 -float: 2 ldouble: 1 Function: "acosh_downward": double: 2 -float: 2 ldouble: 2 Function: "acosh_towardzero": double: 2 -float: 2 ldouble: 5 Function: "acosh_upward": double: 2 -float: 2 ldouble: 4 Function: "add_ldouble": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index 8d3b048e84..3bf997c5d8 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -19,22 +19,18 @@ ldouble: 1 Function: "acosh": double: 2 -float: 2 ldouble: 4 Function: "acosh_downward": double: 2 -float: 2 ldouble: 3 Function: "acosh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "acosh_upward": double: 2 -float: 2 ldouble: 2 Function: "asin": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index a1d85be3b6..f85d9caf03 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -19,22 +19,18 @@ ldouble: 1 Function: "acosh": double: 2 -float: 2 ldouble: 4 Function: "acosh_downward": double: 2 -float: 2 ldouble: 3 Function: "acosh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "acosh_upward": double: 2 -float: 2 ldouble: 3 Function: "asin": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index 7a3d526d69..b788f5730b 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -19,22 +19,18 @@ ldouble: 1 Function: "acosh": double: 2 -float: 2 ldouble: 4 Function: "acosh_downward": double: 2 -float: 2 ldouble: 3 Function: "acosh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "acosh_upward": double: 2 -float: 2 ldouble: 3 Function: "asin": diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index d1e5b05531..d46c722ea1 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -8,11 +8,9 @@ double: 1 Function: "acosh": double: 2 -float: 2 Function: "acosh_towardzero": double: 2 -float: 2 Function: "asin": float: 1 diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index 6a70b6f5ea..8faf5357df 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -19,22 +19,18 @@ ldouble: 1 Function: "acosh": double: 2 -float: 2 ldouble: 4 Function: "acosh_downward": double: 2 -float: 2 ldouble: 3 Function: "acosh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "acosh_upward": double: 2 -float: 2 ldouble: 3 Function: "asin": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index ff532cea1e..85d5e8fcd8 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -43,25 +43,21 @@ float: 1 Function: "acosh": double: 2 -float: 2 float128: 4 ldouble: 3 Function: "acosh_downward": double: 2 -float: 2 float128: 3 ldouble: 4 Function: "acosh_towardzero": double: 2 -float: 2 float128: 2 ldouble: 4 Function: "acosh_upward": double: 2 -float: 2 float128: 3 ldouble: 3 From patchwork Fri Nov 29 13:17:40 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: 846139 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp871297wrp; Fri, 29 Nov 2024 05:46:35 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXhut3BdjaV8c4kfP+FzkaV4EwCvvk/nHNWIilZ2VvJ2EOcx3Fbq/vj7g/xaKsOR01v+5ijoQ==@linaro.org X-Google-Smtp-Source: AGHT+IElau2rK+z/mWDKAG4x5BIEiGyioJ4Iv1hqqgKAcKeOb2gKMbws0y2Ql6t82f5+/fhLDdcX X-Received: by 2002:a05:6359:420a:b0:1ca:9793:ed68 with SMTP id e5c5f4694b2df-1cab169cfe2mr530179755d.23.1732887995591; Fri, 29 Nov 2024 05:46:35 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732887995; cv=pass; d=google.com; s=arc-20240605; b=ZqVUvUT0Q+qllGHp/ko2Limn3LDyA1AAPmcBql5SHKkbKtqy4T4i0ZJrhgKJN90utK Th4wVw2oGkQU89a6k3GxCNBPb4/q1xCjOLugXffjjSADmrdEKL4PpXPkxgKuXd6eMBPE VPpxn3nhXipnTMLlx7yD6KYL3TPNGtwp7mL0Tt5hNDK+zR6q6KdB8cgE4zOWuF2pyD3b ZyjM0Ohga4RnYGjKRLtYzEIU7s9i8PD28EWDdDG9spfuB/Zklr8hLaJp/GiKWu1DjFGV Ro7BQqaFE7RE92CM6dlxCDbWPPpqqFFxIEnjoW3EYNZU0JS8DAkPF2P+wrztgfeffUpg 4MyQ== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=hCcL9hWffHV417BGRJGyWTb09wnfTLxu9MKoMsF9cEY=; fh=sFucH9KQW8Y8eMoQXaNIgycLDa7roysdjTHpHLIprh4=; b=f6s5l9qcJgGmud6qvfmnRVfdhizCPAlyVSg+Yq330ocxjxSSLEo2m7QHJMbaLThSOX 6hh8LyHAr5z6+i1uZHNB0XjRWMTCzW9WgQcJY7JPPI4ub7BBewIfNug9VZGFM9KyVajK h9AIvObGoemEOK208ZzTxCA53NHCQWHHRNay9ClhMEg1tPBWrR2InyhdgEhfAUO9kq9G tDg/HeOPAJRdMabG9Lx1Q0AB6JP/GnrzgXTx7a1pTfwTG7pdcESZ0vix4OiqBvM/Rv75 45SxJ0d8cyCr2Ure6SaVMh/MYZFKkWLR48KnJtpC0keS8lA3dPklSDsryiBv1HQ4MY8X /M1A==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=iSK0GWoL; 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 a1e0cc1a2514c-85b82a98b14si1393440241.61.2024.11.29.05.46.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:46:35 -0800 (PST) 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=iSK0GWoL; 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 203F63858D37 for ; Fri, 29 Nov 2024 13:46:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 203F63858D37 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=iSK0GWoL X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x642.google.com (mail-pl1-x642.google.com [IPv6:2607:f8b0:4864:20::642]) by sourceware.org (Postfix) with ESMTPS id 7EBC13858CD1 for ; Fri, 29 Nov 2024 13:21:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7EBC13858CD1 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 7EBC13858CD1 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::642 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886487; cv=none; b=WBGUljQuApbUlt6qGEkCS8ruCiuCj1nNGn4jrkN36JctPOipXsUp6sPMm0xbPVD/jI8zhzNbBmvqfkFperGAEvizDiajK1cPN+695z2pAggffHFPYhO4J7SzyaDFuL7c5VAYExx+3A8ZRWcp9vBfOyQR9tgrwG5VHw2ubQGhDWo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886487; c=relaxed/simple; bh=ZyfBDZrfFL5hmP0gMC27zgMppoI33IyKJ1RJO2VyBsg=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=tUsdRLoRmV5eokR3YcvrxiA1AFxa0sAPYzsvUVJpOBezHwdlRk6Rsxc1uoalAvPyFbo7xlJBspsfLXSkGFGKO5IRkgRo8YsWoGEkEMcT0XhHI8MObO7EATEw5D9kWksJXN+WdcFm8AObeF//8yHBP5XbtVUb+PZ8ZPHjbebqwME= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7EBC13858CD1 Received: by mail-pl1-x642.google.com with SMTP id d9443c01a7336-21532055aebso11575205ad.3 for ; Fri, 29 Nov 2024 05:21:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886486; x=1733491286; 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=hCcL9hWffHV417BGRJGyWTb09wnfTLxu9MKoMsF9cEY=; b=iSK0GWoLwUYnQ5kN14oz7zfdGpBSmOASQGKrUGyP4Mtwux4KILBUgRUIbrGlpNd9nl ReqjC7+ONuid4s5sLEQYDMNCw4DzNMXZduc7Eocuyy4si4b3VjcqRKhKXV9PrGVPnWio vg8JruX1bH5g1sLlg5NBW7KdJISs+3qCt/P5wu6oUS+ef/Bw7+MK1+vL+Mb3+Sd21+Y2 7z4OAP/cn3hJDWAbxRX3ixVbU69zp9rOtigEWYcfeX3IuM1vo+5+chxCz4d/K+hh7W7m se8gQxzE6KaJqE0sECglU4bu0VMkMx84D9t+Tel67X9EySYsgHYv1TH8HtKc7Vk1JZkx NXCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886486; x=1733491286; 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=hCcL9hWffHV417BGRJGyWTb09wnfTLxu9MKoMsF9cEY=; b=sFfCPdUIOFdK144mRO9iLHk1i4EJr6lUlmdCSCosOc4BHGH7kZ9DljzBCbSBH5g6k2 kFMAxQsGPoHMRQQYJsS/dh7bOeWqylN4CP26QdGd0hI/tYXCaSe2t0ngFUcRFmP3/hUq ISERfBaxPuKxwU2niZp3WMCOkk8BCbs/CQ/V+vCyJ4ki5C7OH6SePrHwo1yRxRVoDqKF wxfj3g/PsP1HnCLXwDSAHi6UwNFZMjJ19wJquMT28fxIBgKCJMQdC1l+Z6c/zep4sjoG JcGvRpEfUncjAbfjhFqn4P+S52buLDHtGM9F/2qDBLdr2XLXj2+AUKarEyeBPC9cqdV5 WZeg== X-Gm-Message-State: AOJu0YzriKu1g9LlFLc7jb9fFOg67WKZ/D7t3zPisq9l3erNEAgD2M1E FjwHA0Huwpp7knntjbc9wJJP2fDno1GHze7WUd5DXYiCM2dvtmpAtDCrESdkR92oicrBDI3uxRZ FJiM4wS98 X-Gm-Gg: ASbGncupJnV2zSIqm67a3A6lbtR2LkggBc4u6G8IcXIObAulb65/hWuCrmOAuPl0d9t J1syDPloySDjHahMYQywj7ZK+YmPqER7pUUF5+gy8Zv8qow4uVuw2n3dVeq4tKBcvxwMFNRm0/9 sGHGp1ql/p+2HJMJ3ig/eSG2xpzKjeyc2/prxvmbWr3d5jOzLBFFhSFPmdIW8w+R2gwOfOMBLTV p7zQ1bS4WoQYUnk3xAL7CtMJ4VFJiuHDZ4HPloSwLFE2hz96oN3g/R4tGRCNPQ= X-Received: by 2002:a17:903:181:b0:212:5eb7:9cb3 with SMTP id d9443c01a7336-21501d5830fmr150254415ad.56.1732886485514; Fri, 29 Nov 2024 05:21:25 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.21.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:21:25 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH 16/23] math: Use asinf from CORE-MATH Date: Fri, 29 Nov 2024 10:17:40 -0300 Message-ID: <20241129132032.476978-17-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 asinf. 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 42.8237 35.2460 17.70% x86_64v2 43.3711 35.9406 17.13% x86_64v3 35.0335 30.5744 12.73% i686 213.8780 104.4710 51.15% aarch64 (Neoverse) 17.2937 13.6025 21.34% power10 12.0227 7.4241 38.25% reciprocal-throughput master patched improvement x86_64 13.6770 15.5231 -13.50% x86_64v2 13.8722 16.0446 -15.66% x86_64v3 13.6211 13.2753 2.54% i686 186.7670 45.4388 75.67% aarch64 (Neoverse) 9.96089 9.39285 5.70% power10 4.9862 3.7819 24.15% 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/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 | 4 - sysdeps/csky/fpu/libm-test-ulps | 4 - sysdeps/csky/nofpu/libm-test-ulps | 4 - sysdeps/hppa/fpu/libm-test-ulps | 4 - sysdeps/i386/fpu/e_asinf.S | 38 ---- sysdeps/i386/fpu/libm-test-ulps | 1 - .../i386/i686/fpu/multiarch/libm-test-ulps | 1 - sysdeps/ieee754/flt-32/e_asinf.c | 210 ++++++++++-------- 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/or1k/fpu/libm-test-ulps | 4 - sysdeps/or1k/nofpu/libm-test-ulps | 4 - sysdeps/powerpc/fpu/libm-test-ulps | 4 - 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 | 4 - 27 files changed, 122 insertions(+), 212 deletions(-) delete mode 100644 sysdeps/i386/fpu/e_asinf.S diff --git a/SHARED-FILES b/SHARED-FILES index c29c1c8106..6a6ff76b31 100644 --- a/SHARED-FILES +++ b/SHARED-FILES @@ -302,3 +302,7 @@ sysdeps/ieee754/flt-32/e_acoshf.c: (src/binary32/acosh/acoshf.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/e_asinf.c: + (src/binary32/asin/asinf.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 902740f848..fabbc2b840 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -51,7 +51,6 @@ ldouble: 3 Function: "asin": double: 1 -float: 1 ldouble: 1 Function: "asin_advsimd": @@ -60,7 +59,6 @@ float: 2 Function: "asin_downward": double: 1 -float: 1 ldouble: 2 Function: "asin_sve": @@ -69,12 +67,10 @@ float: 2 Function: "asin_towardzero": double: 1 -float: 1 ldouble: 1 Function: "asin_upward": double: 2 -float: 1 ldouble: 2 Function: "asinh": diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps index d26fcb40c9..cda6ece49e 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -35,22 +35,18 @@ ldouble: 3 Function: "asin": double: 1 -float: 1 ldouble: 1 Function: "asin_downward": double: 1 -float: 1 ldouble: 2 Function: "asin_towardzero": double: 1 -float: 1 ldouble: 1 Function: "asin_upward": double: 2 -float: 1 ldouble: 2 Function: "asinh": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index 0057716df0..3c08593d99 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -27,19 +27,15 @@ double: 3 Function: "asin": double: 1 -float: 1 Function: "asin_downward": double: 1 -float: 1 Function: "asin_towardzero": double: 1 -float: 1 Function: "asin_upward": double: 2 -float: 1 Function: "asinh": double: 3 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index 2fa0c82346..c3548a9807 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -9,7 +9,6 @@ double: 2 Function: "asin": double: 1 -float: 1 Function: "asinh": double: 2 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index 968efaf299..7c8ff19bec 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -27,19 +27,15 @@ double: 2 Function: "asin": double: 1 -float: 1 Function: "asin_downward": double: 1 -float: 1 Function: "asin_towardzero": double: 1 -float: 1 Function: "asin_upward": double: 2 -float: 1 Function: "asinh": double: 2 diff --git a/sysdeps/csky/fpu/libm-test-ulps b/sysdeps/csky/fpu/libm-test-ulps index ebde72f4d7..b04ed2a161 100644 --- a/sysdeps/csky/fpu/libm-test-ulps +++ b/sysdeps/csky/fpu/libm-test-ulps @@ -25,19 +25,15 @@ Function: "acosh_upward": double: 2 Function: "asin": -float: 1 Function: "asin_downward": double: 1 -float: 1 Function: "asin_towardzero": double: 1 -float: 1 Function: "asin_upward": double: 1 -float: 1 Function: "asinh": double: 2 diff --git a/sysdeps/csky/nofpu/libm-test-ulps b/sysdeps/csky/nofpu/libm-test-ulps index 73b6a2042a..612bd19eda 100644 --- a/sysdeps/csky/nofpu/libm-test-ulps +++ b/sysdeps/csky/nofpu/libm-test-ulps @@ -25,19 +25,15 @@ Function: "acosh_upward": double: 2 Function: "asin": -float: 1 Function: "asin_downward": double: 1 -float: 1 Function: "asin_towardzero": double: 1 -float: 1 Function: "asin_upward": double: 1 -float: 1 Function: "asinh": double: 2 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index 8a84b303b7..323d2ee993 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -27,19 +27,15 @@ double: 2 Function: "asin": double: 1 -float: 1 Function: "asin_downward": double: 1 -float: 1 Function: "asin_towardzero": double: 1 -float: 1 Function: "asin_upward": double: 2 -float: 1 Function: "asinh": double: 2 diff --git a/sysdeps/i386/fpu/e_asinf.S b/sysdeps/i386/fpu/e_asinf.S deleted file mode 100644 index 774feab607..0000000000 --- a/sysdeps/i386/fpu/e_asinf.S +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Public domain. - */ - -#include -#include -#include - -RCSID("$NetBSD: $") - - .section .rodata.cst4,"aM",@progbits,4 - -DEFINE_FLT_MIN - -#ifdef PIC -# define MO(op) op##@GOTOFF(%ecx) -#else -# define MO(op) op -#endif - - .text - -/* asin = atan (x / sqrt(1 - x^2)) */ -ENTRY(__ieee754_asinf) -#ifdef PIC - LOAD_PIC_REG (cx) -#endif - flds 4(%esp) /* x */ - fld %st - fmul %st(0) /* x^2 */ - fld1 - fsubp /* 1 - x^2 */ - fsqrt /* sqrt (1 - x^2) */ - fpatan - FLT_CHECK_FORCE_UFLOW - ret -END (__ieee754_asinf) -libm_alias_finite (__ieee754_asinf, __asinf) diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index c06da68b45..3acdc76bec 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -56,7 +56,6 @@ ldouble: 1 Function: "asin_upward": double: 1 -float: 1 float128: 2 ldouble: 1 diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index 43ffbd7978..e49c91b36c 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -56,7 +56,6 @@ ldouble: 1 Function: "asin_upward": double: 1 -float: 1 float128: 2 ldouble: 1 diff --git a/sysdeps/ieee754/flt-32/e_asinf.c b/sysdeps/ieee754/flt-32/e_asinf.c index d9f446d1b1..944bf6f5ce 100644 --- a/sysdeps/ieee754/flt-32/e_asinf.c +++ b/sysdeps/ieee754/flt-32/e_asinf.c @@ -1,105 +1,131 @@ -/* e_asinf.c -- float version of e_asin.c. - */ +/* Correctly-rounded arc-sine function 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) 2023-2024 Alexei Sibidanov. -/* - Modifications for single precision expansion are - Copyright (C) 2001 Stephen L. Moshier - and are incorporated herein by permission of the author. The author - reserves the right to distribute this material elsewhere under different - copying permissions. These modifications are distributed here under - the following terms: +The original version of this file was copied from the CORE-MATH +project (file src/binary32/asin/asinf.c, revision bc385c2). - This 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. +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: - This 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. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, see - . */ +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. +*/ -#if defined(LIBM_SCCS) && !defined(lint) -static char rcsid[] = "$NetBSD: e_asinf.c,v 1.5 1995/05/12 04:57:25 jtc Exp $"; -#endif - -#include -#include -#include -#include +#include +#include #include +#include "math_config.h" -static const float -one = 1.0000000000e+00, /* 0x3F800000 */ -huge = 1.000e+30, - -pio2_hi = 1.57079637050628662109375f, -pio2_lo = -4.37113900018624283e-8f, -pio4_hi = 0.785398185253143310546875f, +static __attribute__ ((noinline)) float +as_special (float x) +{ + uint32_t ax = asuint (x) << 1; + if (ax > (0xffu << 24)) + return x + x; /* nan */ + return __math_invalidf (0.0); +} -/* asin x = x + x^3 p(x^2) - -0.5 <= x <= 0.5; - Peak relative error 4.8e-9 */ -p0 = 1.666675248e-1f, -p1 = 7.495297643e-2f, -p2 = 4.547037598e-2f, -p3 = 2.417951451e-2f, -p4 = 4.216630880e-2f; +static double +poly12 (double z, const double *c) +{ + double z2 = z * z; + double z4 = z2 * z2; + double c0 = c[0] + z * c[1]; + double c2 = c[2] + z * c[3]; + double c4 = c[4] + z * c[5]; + double c6 = c[6] + z * c[7]; + double c8 = c[8] + z * c[9]; + double c10 = c[10] + z * c[11]; + c0 += c2 * z2; + c4 += c6 * z2; + c8 += z2 * c10; + c0 += z4 * (c4 + z4 * c8); + return c0; +} -float __ieee754_asinf(float x) +float +__ieee754_asinf (float x) { - float t,w,p,q,c,r,s; - int32_t hx,ix; - GET_FLOAT_WORD(hx,x); - ix = hx&0x7fffffff; - if(ix==0x3f800000) { - /* asin(1)=+-pi/2 with inexact */ - return x*pio2_hi+x*pio2_lo; - } else if(ix> 0x3f800000) { /* |x|>= 1 */ - return (x-x)/(x-x); /* asin(|x|>1) is NaN */ - } else if (ix<0x3f000000) { /* |x|<0.5 */ - if(ix<0x32000000) { /* if |x| < 2**-27 */ - math_check_force_underflow (x); - if(huge+x>one) return x;/* return x with inexact if x!=0*/ - } else { - t = x*x; - w = t * (p0 + t * (p1 + t * (p2 + t * (p3 + t * p4)))); - return x+x*w; - } - } - /* 1> |x|>= 0.5 */ - w = one-fabsf(x); - t = w*0.5f; - p = t * (p0 + t * (p1 + t * (p2 + t * (p3 + t * p4)))); - s = sqrtf(t); - if(ix>=0x3F79999A) { /* if |x| > 0.975 */ - t = pio2_hi-(2.0f*(s+s*p)-pio2_lo); - } else { - int32_t iw; - w = s; - GET_FLOAT_WORD(iw,w); - SET_FLOAT_WORD(w,iw&0xfffff000); - c = (t-w*w)/(s+w); - r = p; - p = 2.0f*s*r-(pio2_lo-2.0f*c); - q = pio4_hi-2.0f*w; - t = pio4_hi-(p-q); - } - if(hx>0) return t; else return -t; + const double pi2 = 0x1.921fb54442d18p+0; + double xs = x; + double r; + uint32_t ax = asuint (x) << 1; + if (__glibc_unlikely (ax > 0x7f << 24)) + return as_special(x); + if (__glibc_likely (ax < 0x7ec29000u)) + { + if (__glibc_unlikely (ax < 115 << 24)) + return fmaf (x, 0x1p-25, x); + static const double b[] = + { + 0x1.0000000000005p+0, 0x1.55557aeca105dp-3, 0x1.3314ec3db7d12p-4, + 0x1.775738a5a6f92p-5, 0x1.5d5f7ce1c8538p-8, 0x1.605c6d58740fp-2, + -0x1.5728b732d73c6p+1, 0x1.f152170f151ebp+3, -0x1.f962ea3ca992ep+5, + 0x1.71971e17375ap+7, -0x1.860512b4ba23p+8, 0x1.26a3b8d4bdb14p+9, + -0x1.36f2ea5698b51p+9, 0x1.b3d722aebfa2ep+8, -0x1.6cf89703b1289p+7, + 0x1.1518af6a65e2dp+5 + }; + double z = xs; + double z2 = z * z; + double z4 = z2 * z2; + double z8 = z4 * z4; + double z16 = z8 * z8; + r = z * ((((b[0] + z2 * b[1]) + z4 * (b[2] + z2 * b[3])) + + z8 * ((b[4] + z2 * b[5]) + z4 * (b[6] + z2 * b[7]))) + + z16 * (((b[8] + z2 * b[9]) + z4 * (b[10] + z2 * b[11])) + + z8 * ((b[12] + z2 * b[13]) + + z4 * (b[14] + z2 * b[15])))); + float ub = r; + float lb = r - z * 0x1.efa8ebp-31; + if (ub == lb) + return ub; + } + if (ax < (0x7eu << 24)) + { + static const double c[] = + { + 0x1.555555555529cp-3, 0x1.333333337e0ddp-4, 0x1.6db6db3b4465ep-5, + 0x1.f1c72e13ac306p-6, 0x1.6e89cebe06bc4p-6, 0x1.1c6dcf5289094p-6, + 0x1.c6dbbcc7c6315p-7, 0x1.8f8dc2615e996p-7, 0x1.a5833b7bf15e8p-8, + 0x1.43f44ace1665cp-6, -0x1.0fb17df881c73p-6, 0x1.07520c026b2d6p-5 + }; + double z = xs; + double z2 = z * z; + double c0 = poly12 (z2, c); + r = z + (z * z2) * c0; + } + else + { + if (__glibc_unlikely (ax == 0x7e55688au)) + return copysignf (0x1.75b8a2p-1f, x) + copysignf (0x1p-26f, x); + if (__glibc_unlikely (ax == 0x7e107434u)) + return copysignf (0x1.1f4b64p-1f, x) + copysignf (0x1p-26f, x); + double bx = fabs (xs); + double z = 1.0 - bx; + double s = sqrt (z); + static const double c[] = + { + 0x1.6a09e667f3bcbp+0, 0x1.e2b7dddff2db9p-4, 0x1.b27247ab42dbcp-6, + 0x1.02995cc4e0744p-7, 0x1.5ffb0276ec8eap-9, 0x1.033885a928decp-10, + 0x1.911f2be23f8c7p-12, 0x1.4c3c55d2437fdp-13, 0x1.af477e1d7b461p-15, + 0x1.abd6bdff67dcbp-15, -0x1.1717e86d0fa28p-16, 0x1.6ff526de46023p-16 + }; + r = pi2 - s * poly12 (z, c); + r = copysign (r, xs); + } + return r; } libm_alias_finite (__ieee754_asinf, __asinf) diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index 63fd07fbe0..67beca8ff6 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -35,22 +35,18 @@ ldouble: 3 Function: "asin": double: 1 -float: 1 ldouble: 1 Function: "asin_downward": double: 1 -float: 1 ldouble: 2 Function: "asin_towardzero": double: 1 -float: 1 ldouble: 1 Function: "asin_upward": double: 2 -float: 1 ldouble: 2 Function: "asinh": diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps index a9e3f3a318..a0e8b5bd50 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -7,7 +7,6 @@ Function: "acosh": double: 2 Function: "asin": -float: 1 Function: "asinh": double: 1 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index fc0d001750..7eca3dc8df 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -27,19 +27,15 @@ double: 2 Function: "asin": double: 1 -float: 1 Function: "asin_downward": double: 1 -float: 1 Function: "asin_towardzero": double: 1 -float: 1 Function: "asin_upward": double: 2 -float: 1 Function: "asinh": double: 2 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index 855b48e800..4cabe88af1 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -35,22 +35,18 @@ ldouble: 3 Function: "asin": double: 1 -float: 1 ldouble: 1 Function: "asin_downward": double: 1 -float: 1 ldouble: 2 Function: "asin_towardzero": double: 1 -float: 1 ldouble: 1 Function: "asin_upward": double: 2 -float: 1 ldouble: 2 Function: "asinh": diff --git a/sysdeps/or1k/fpu/libm-test-ulps b/sysdeps/or1k/fpu/libm-test-ulps index 0cc7beccfc..f95e138864 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/fpu/libm-test-ulps @@ -27,19 +27,15 @@ double: 2 Function: "asin": double: 1 -float: 1 Function: "asin_downward": double: 1 -float: 1 Function: "asin_towardzero": double: 1 -float: 1 Function: "asin_upward": double: 2 -float: 1 Function: "asinh": double: 2 diff --git a/sysdeps/or1k/nofpu/libm-test-ulps b/sysdeps/or1k/nofpu/libm-test-ulps index a0c3179fc3..d2ab340913 100644 --- a/sysdeps/or1k/nofpu/libm-test-ulps +++ b/sysdeps/or1k/nofpu/libm-test-ulps @@ -27,19 +27,15 @@ double: 2 Function: "asin": double: 1 -float: 1 Function: "asin_downward": double: 1 -float: 1 Function: "asin_towardzero": double: 1 -float: 1 Function: "asin_upward": double: 1 -float: 1 Function: "asinh": double: 2 diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index 05facea37f..d5854a9e82 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -47,25 +47,21 @@ float: 1 Function: "asin": double: 1 -float: 1 float128: 1 ldouble: 2 Function: "asin_downward": double: 1 -float: 1 float128: 2 ldouble: 2 Function: "asin_towardzero": double: 1 -float: 1 float128: 1 ldouble: 1 Function: "asin_upward": double: 2 -float: 1 float128: 2 ldouble: 2 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index f553da0caa..d03d25e54a 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -39,22 +39,18 @@ float: 1 Function: "asin": double: 1 -float: 1 ldouble: 2 Function: "asin_downward": double: 1 -float: 1 ldouble: 2 Function: "asin_towardzero": double: 1 -float: 1 ldouble: 1 Function: "asin_upward": double: 2 -float: 1 ldouble: 2 Function: "asinh": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index 3bf997c5d8..edaa91a4c1 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -35,22 +35,18 @@ ldouble: 2 Function: "asin": double: 1 -float: 1 ldouble: 1 Function: "asin_downward": double: 1 -float: 1 ldouble: 2 Function: "asin_towardzero": double: 1 -float: 1 ldouble: 1 Function: "asin_upward": double: 1 -float: 1 ldouble: 2 Function: "asinh": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index f85d9caf03..4db2d0231b 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -35,22 +35,18 @@ ldouble: 3 Function: "asin": double: 1 -float: 1 ldouble: 1 Function: "asin_downward": double: 1 -float: 1 ldouble: 2 Function: "asin_towardzero": double: 1 -float: 1 ldouble: 1 Function: "asin_upward": double: 2 -float: 1 ldouble: 2 Function: "asinh": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index b788f5730b..2198c93808 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -35,22 +35,18 @@ ldouble: 3 Function: "asin": double: 1 -float: 1 ldouble: 1 Function: "asin_downward": double: 1 -float: 1 ldouble: 2 Function: "asin_towardzero": double: 1 -float: 1 ldouble: 1 Function: "asin_upward": double: 2 -float: 1 ldouble: 2 Function: "asinh": diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index d46c722ea1..e225f78936 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -13,11 +13,9 @@ Function: "acosh_towardzero": double: 2 Function: "asin": -float: 1 Function: "asin_towardzero": double: 1 -float: 1 Function: "asinh": double: 2 diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index 8faf5357df..832510e5a5 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -35,22 +35,18 @@ ldouble: 3 Function: "asin": double: 1 -float: 1 ldouble: 1 Function: "asin_downward": double: 1 -float: 1 ldouble: 2 Function: "asin_towardzero": double: 1 -float: 1 ldouble: 1 Function: "asin_upward": double: 2 -float: 1 ldouble: 2 Function: "asinh": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 85d5e8fcd8..a61e29a0e4 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -83,25 +83,21 @@ float: 2 Function: "asin": double: 1 -float: 1 float128: 1 ldouble: 1 Function: "asin_downward": double: 1 -float: 1 float128: 2 ldouble: 2 Function: "asin_towardzero": double: 1 -float: 1 float128: 1 ldouble: 1 Function: "asin_upward": double: 2 -float: 1 float128: 2 ldouble: 1 From patchwork Fri Nov 29 13:17: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: 846137 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp866856wrp; Fri, 29 Nov 2024 05:39:51 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCW+FCNdGsxKmbqvZm8pmIbGS3Qfdb07NuvSPL1MXvVD9V7+2ko8HhH7aYZMCH4mKECXO4lXbQ==@linaro.org X-Google-Smtp-Source: AGHT+IHOCYmulyrSXrAo/0CYDhX9YAbcR2gazESG/Ux5W1lNmdoiQUCVpfa6a6Ra1I/mjAfLrAgG X-Received: by 2002:a05:620a:4807:b0:7b6:62f9:109b with SMTP id af79cd13be357-7b67c437504mr1523705285a.42.1732887590989; Fri, 29 Nov 2024 05:39:50 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732887590; cv=pass; d=google.com; s=arc-20240605; b=h4cL2epItsj7tt/IbJ1quktS2A2baGMywRm7y8X2i9DR/OVnWIQZCybcUtWTeGs+aY koINofZFx7dR/Np81tU3hnnn2gQHxStTDA6eMwIOOAC9MKY1ILH17KZABDGz/LL1fhnN In2/UihFPt75rRWZX8AXfLeEI9qVnWhvQvMBE0YTSZ1rFn7gzac2l5Kcr7MB7a5Zv8gX 7rHQKjejAmbspabz7p0OuSbpmF0jI2feAODhg5zL6zZZ20etAWQ+MlKg2ZmWwxdQ9OgV fHV+t27XQPX+5/YaDTzE32QNL0Lxpdvf5+3CYgdcNVQh0ilimLLVGK2FybjULC38/OCr OBpg== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=64qVRHyOb+22SiTt3KZgjBYFXldw7oeO2ddz4P62H+U=; fh=sFucH9KQW8Y8eMoQXaNIgycLDa7roysdjTHpHLIprh4=; b=D8X8Fatb9U9ahvrHvu8t6KTIyk9MKcKDDxIf0pPwcS4AfVB04EsSfpguRDX4I4pVKJ tYBKHtwnT8u8RgdFr7CHu+f8vZvZPsbskucWS1ttNcZkDdM5M2iO/Dj9CR82MMxgJqsi ecz3DxD8lCvrZHGoUC8dfCsL9MIAZyXlKhvlWzo3lexXVWFowfOkIUWxKfJ9jESzpvRJ 9xCBuwuV/dxp4PmEIf8ZlC3zj8ecfhaNistu473xGLPrSdTOsFc1AWe99UaeJz04ne8w lTLqsjstfa2+jCob3X1l6wf0ak8GJdYwuGcGM2rreU3OwOBoGz322Ozks2UZTxVw/zlI YtAw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=m6CTN4Br; 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-7b6849d727bsi433468185a.486.2024.11.29.05.39.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:39:50 -0800 (PST) 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=m6CTN4Br; 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 78CC83858CD9 for ; Fri, 29 Nov 2024 13:39:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 78CC83858CD9 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=m6CTN4Br X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x644.google.com (mail-pl1-x644.google.com [IPv6:2607:f8b0:4864:20::644]) by sourceware.org (Postfix) with ESMTPS id 455183858C98 for ; Fri, 29 Nov 2024 13:21:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 455183858C98 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 455183858C98 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::644 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886491; cv=none; b=eFz9zQMI6hqazB/lxPSfaMJFBp+dof6R0TOAUngKxYpktQs4+C0hxaePMh/v5ZEJwZ6VRdIRjeenjFRVTaholXHGj4AEXghBlJALlNq0nK61UVHNI67m5C4utkecIm1n7uMVPhhGL7eBGJHSVqSVd8Iwa/VQWzj2i5wi+rkdQ+8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886491; c=relaxed/simple; bh=AgAuR94MKYn8/Vr+2cAxAT2PlAWawqlRdYmiJ0wOTWs=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=EtHRy2vzg5ZP3KwJkj1ONfbk+jDmpyA1T2K5BFAquBK8CCjsz6T1Cdm4Crr/VV8x60TwkRv1J6kTQ4NTWeUD/+zAmhIg4mVLVvt3zyoC2uV48gcwJD8ue0cPUJpFi88mJ81NGRwWZ8tzIMogfE7imQ3JQG1mZRH9zINN65YBDl8= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 455183858C98 Received: by mail-pl1-x644.google.com with SMTP id d9443c01a7336-21288ce11d7so16174735ad.2 for ; Fri, 29 Nov 2024 05:21:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886490; x=1733491290; 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=64qVRHyOb+22SiTt3KZgjBYFXldw7oeO2ddz4P62H+U=; b=m6CTN4Br+EJj/DHtiFiVcTi2AR5wNiWdxuQ8Xy6VAAJrrHFcr5N3AOr+nqCHMHnIBq kFB6VTmRNN7+N1NY26Cz62WWB/rJmKb1hkWkXmBNYHxqSuuhdCiSqeCm/heiZvbYqrdi lClEZgO7H1E20ukKInXZaB3isApxstjFbRQ2ehlnHiOzJ5TaRskfpsxhQRpOSz9DTryn MeaLNMNAs+XvssxOYRFo95MPZKdGBx1zCWk37dp59oisoa7v5UndHuedKGVHN33VhmiA wQEYADq8gvLa8KseiXt3p+uhO/hVB39hnsUyPURA4p6ix1Aw+SK3DXtllJgp93JbOKsb pyUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886490; x=1733491290; 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=64qVRHyOb+22SiTt3KZgjBYFXldw7oeO2ddz4P62H+U=; b=Vl02X9myA9Xjt8y3F5Jqk6da39baDEFbI0maq4jttR5TH6qW7mFktTLmuagrXzi/q0 STAvd10DMs5ih/kHqbVA0qLHBIUUolgaiEyKyOXEuZyMC6jsssTohQlFPYQdqYl0ga4m 0nlrObAyr9h97mUGoF0LIqFCuX7V7IDLSbbeopQdjPy9GNuMJY7QARA3WftnnaMoxf+i HeGbAKr74RJxDw8r2uQvo54bOap4C8AFOuLsBLZc1rWAqB1Kj9QC0LDKdT4OJG2T4e+I Ov2zFKyCgLwqXhZr41WZJrkR3v21mdulCVbpFXeNUIZuQJeivKp6UbdqJeYrp1KMvkVP M7CQ== X-Gm-Message-State: AOJu0YztAWm8N3yXjfOWperZl105SkaJ0Ca/DipBBc+N7KuKtXATlLsB 6fga9TCIhdJe3SfC9hyJTrqq/y3uGdErb2M2mzlYa3TOpRkYgXedSMNYGhl3CbrxgzmScv6RzDj h9zy1krJs X-Gm-Gg: ASbGncvEqiHkkBWR/VHIHzEfX/LGlAJIU82cCfMTb7OxybA9O8BtXlswVa9UPgLLN33 K0QQp7sABHUieEFmWOzhlViWnfFiwAyluZpvwINHre6GfTLvW9KDdSbddyuAUmADMHN01LDfJ8D Cmz4m3/T4BINnazF7dF4N14GdOmGXFV4TGHUfSfPXA2FtdWmeku2I4lN60xwDSYBVTmk0jhlDI4 ulhFMDzQzsRLrGl5/PAMUR8R7dq0M2QPjkdf35Kt9NhbVwOI6lZDiLyX/14Yl0= X-Received: by 2002:a17:903:187:b0:20c:9326:559 with SMTP id d9443c01a7336-21501857d56mr121764785ad.29.1732886489636; Fri, 29 Nov 2024 05:21:29 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.21.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:21:29 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH 18/23] math: Use atanf from CORE-MATH Date: Fri, 29 Nov 2024 10:17:42 -0300 Message-ID: <20241129132032.476978-19-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 atanf. 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 56.8265 53.6842 5.53% x86_64v2 54.8177 53.6842 2.07% x86_64v3 46.2915 48.7034 -5.21% i686 158.3760 108.9560 31.20% aarch64 (Neoverse) 21.687 20.5893 5.06% power10 13.1903 13.5012 -2.36% reciprocal-throughput master patched improvement x86_64 16.6787 16.7601 -0.49% x86_64v2 16.6983 16.7601 -0.37% x86_64v3 16.2268 12.1391 25.19% i686 138.6840 36.0640 74.00% aarch64 (Neoverse) 11.8012 10.3565 12.24% power10 5.3212 4.2894 19.39% Signed-off-by: Alexei Sibidanov Signed-off-by: Paul Zimmermann Signed-off-by: Adhemerval Zanella --- SHARED-FILES | 4 + sysdeps/aarch64/libm-test-ulps | 8 +- 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 | 8 +- 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_atanf.S | 30 --- .../i386/i686/fpu/multiarch/libm-test-ulps | 3 - sysdeps/ieee754/flt-32/s_atanf.c | 186 +++++++++--------- sysdeps/loongarch/lp64/libm-test-ulps | 8 +- sysdeps/microblaze/libm-test-ulps | 1 - sysdeps/mips/mips32/libm-test-ulps | 4 - sysdeps/mips/mips64/libm-test-ulps | 4 - sysdeps/or1k/fpu/libm-test-ulps | 4 - sysdeps/or1k/nofpu/libm-test-ulps | 4 - sysdeps/powerpc/fpu/libm-test-ulps | 8 +- 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 | 8 +- 27 files changed, 109 insertions(+), 217 deletions(-) delete mode 100644 sysdeps/i386/fpu/s_atanf.S diff --git a/SHARED-FILES b/SHARED-FILES index 18b3244e44..b9627afdfe 100644 --- a/SHARED-FILES +++ b/SHARED-FILES @@ -310,3 +310,7 @@ sysdeps/ieee754/flt-32/s_asinhf.c: (src/binary32/asinh/asinhf.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_atanf.c: + (src/binary32/atan/atanf.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 5e17a4b2c3..44934af245 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -99,7 +99,6 @@ ldouble: 4 Function: "atan": double: 1 -float: 1 ldouble: 1 Function: "atan2": @@ -135,7 +134,6 @@ float: 1 Function: "atan_downward": double: 1 -float: 2 ldouble: 2 Function: "atan_sve": @@ -144,12 +142,10 @@ float: 1 Function: "atan_towardzero": double: 1 -float: 1 ldouble: 1 Function: "atan_upward": double: 1 -float: 2 ldouble: 2 Function: "atanh": @@ -218,7 +214,7 @@ ldouble: 6 Function: Real part of "cacos_towardzero": double: 3 -float: 2 +float: 3 ldouble: 3 Function: Imaginary part of "cacos_towardzero": @@ -263,7 +259,7 @@ ldouble: 5 Function: Imaginary part of "cacosh_towardzero": double: 3 -float: 2 +float: 3 ldouble: 3 Function: Real part of "cacosh_upward": diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps index 708299915d..f9c1cf7cf5 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -67,7 +67,6 @@ ldouble: 4 Function: "atan": double: 1 -float: 1 ldouble: 1 Function: "atan2": @@ -91,17 +90,14 @@ ldouble: 2 Function: "atan_downward": double: 1 -float: 2 ldouble: 2 Function: "atan_towardzero": double: 1 -float: 1 ldouble: 1 Function: "atan_upward": double: 1 -float: 2 ldouble: 2 Function: "atanh": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index 1c34bd36d6..37b0efae66 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -51,7 +51,6 @@ double: 3 Function: "atan": double: 1 -float: 1 Function: "atan2": double: 7 @@ -71,15 +70,12 @@ float: 2 Function: "atan_downward": double: 1 -float: 2 Function: "atan_towardzero": double: 1 -float: 1 Function: "atan_upward": double: 2 -float: 2 Function: "atanh": double: 2 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index 58fc499f53..8d283f0627 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -15,7 +15,6 @@ double: 2 Function: "atan": double: 1 -float: 1 Function: "atan2": float: 2 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index a20cb5bcc3..bb4ee0f2e4 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -51,7 +51,6 @@ double: 3 Function: "atan": double: 1 -float: 1 Function: "atan2": float: 2 @@ -70,15 +69,12 @@ float: 2 Function: "atan_downward": double: 1 -float: 2 Function: "atan_towardzero": double: 1 -float: 1 Function: "atan_upward": double: 1 -float: 2 Function: "atanh": double: 2 @@ -126,7 +122,7 @@ float: 3 Function: Real part of "cacos_towardzero": double: 3 -float: 2 +float: 3 Function: Imaginary part of "cacos_towardzero": double: 5 @@ -162,7 +158,7 @@ float: 3 Function: Imaginary part of "cacosh_towardzero": double: 3 -float: 2 +float: 3 Function: Real part of "cacosh_upward": double: 4 diff --git a/sysdeps/csky/fpu/libm-test-ulps b/sysdeps/csky/fpu/libm-test-ulps index 2b7b5cfc92..9d3fcf693d 100644 --- a/sysdeps/csky/fpu/libm-test-ulps +++ b/sysdeps/csky/fpu/libm-test-ulps @@ -48,7 +48,6 @@ Function: "asinh_upward": double: 3 Function: "atan": -float: 1 Function: "atan2": float: 1 @@ -67,15 +66,12 @@ float: 2 Function: "atan_downward": double: 1 -float: 2 Function: "atan_towardzero": double: 1 -float: 1 Function: "atan_upward": double: 1 -float: 2 Function: "atanh": double: 2 diff --git a/sysdeps/csky/nofpu/libm-test-ulps b/sysdeps/csky/nofpu/libm-test-ulps index 0eb62de8b2..1bab8effc7 100644 --- a/sysdeps/csky/nofpu/libm-test-ulps +++ b/sysdeps/csky/nofpu/libm-test-ulps @@ -48,7 +48,6 @@ Function: "asinh_upward": double: 3 Function: "atan": -float: 1 Function: "atan2": float: 1 @@ -67,15 +66,12 @@ float: 2 Function: "atan_downward": double: 1 -float: 2 Function: "atan_towardzero": double: 1 -float: 1 Function: "atan_upward": double: 1 -float: 2 Function: "atanh": double: 2 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index 40ae1806d4..8de00f442b 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -51,7 +51,6 @@ double: 3 Function: "atan": double: 1 -float: 1 Function: "atan2": float: 2 @@ -70,15 +69,12 @@ float: 2 Function: "atan_downward": double: 1 -float: 2 Function: "atan_towardzero": double: 1 -float: 1 Function: "atan_upward": double: 1 -float: 2 Function: "atanh": double: 2 diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index d1a20a1a98..31286ea178 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -109,19 +109,16 @@ ldouble: 1 Function: "atan_downward": double: 1 -float: 1 float128: 2 ldouble: 1 Function: "atan_towardzero": double: 1 -float: 1 float128: 1 ldouble: 1 Function: "atan_upward": double: 1 -float: 1 float128: 2 ldouble: 1 diff --git a/sysdeps/i386/fpu/s_atanf.S b/sysdeps/i386/fpu/s_atanf.S deleted file mode 100644 index 4a8f5e3600..0000000000 --- a/sysdeps/i386/fpu/s_atanf.S +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Public domain. - */ - -#include -#include -#include - -RCSID("$NetBSD: s_atanf.S,v 1.3 1995/05/08 23:51:33 jtc Exp $") - -DEFINE_FLT_MIN - -#ifdef PIC -# define MO(op) op##@GOTOFF(%ecx) -#else -# define MO(op) op -#endif - - .text -ENTRY(__atanf) -#ifdef PIC - LOAD_PIC_REG (cx) -#endif - flds 4(%esp) - fld1 - fpatan - FLT_CHECK_FORCE_UFLOW - ret -END (__atanf) -libm_alias_float (__atan, atan) diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index 4e65110265..0a872570d1 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -109,19 +109,16 @@ ldouble: 1 Function: "atan_downward": double: 1 -float: 1 float128: 2 ldouble: 1 Function: "atan_towardzero": double: 1 -float: 1 float128: 1 ldouble: 1 Function: "atan_upward": double: 1 -float: 1 float128: 2 ldouble: 1 diff --git a/sysdeps/ieee754/flt-32/s_atanf.c b/sysdeps/ieee754/flt-32/s_atanf.c index 3dbf5c5bb7..7a5cf4d5b1 100644 --- a/sysdeps/ieee754/flt-32/s_atanf.c +++ b/sysdeps/ieee754/flt-32/s_atanf.c @@ -1,102 +1,106 @@ -/* s_atanf.c -- float version of s_atan.c. - */ +/* Correctly-rounded arc-tangent of 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. -#if defined(LIBM_SCCS) && !defined(lint) -static char rcsid[] = "$NetBSD: s_atanf.c,v 1.4 1995/05/10 20:46:47 jtc Exp $"; -#endif +The original version of this file was copied from the CORE-MATH +project (file src/binary32/atan/atanf.c, revision 01a29dc). -#include -#include -#include -#include -#include +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: -static const float atanhi[] = { - 4.6364760399e-01, /* atan(0.5)hi 0x3eed6338 */ - 7.8539812565e-01, /* atan(1.0)hi 0x3f490fda */ - 9.8279368877e-01, /* atan(1.5)hi 0x3f7b985e */ - 1.5707962513e+00, /* atan(inf)hi 0x3fc90fda */ -}; +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -static const float atanlo[] = { - 5.0121582440e-09, /* atan(0.5)lo 0x31ac3769 */ - 3.7748947079e-08, /* atan(1.0)lo 0x33222168 */ - 3.4473217170e-08, /* atan(1.5)lo 0x33140fb4 */ - 7.5497894159e-08, /* atan(inf)lo 0x33a22168 */ -}; +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. +*/ -static const float aT[] = { - 3.3333334327e-01, /* 0x3eaaaaaa */ - -2.0000000298e-01, /* 0xbe4ccccd */ - 1.4285714924e-01, /* 0x3e124925 */ - -1.1111110449e-01, /* 0xbde38e38 */ - 9.0908870101e-02, /* 0x3dba2e6e */ - -7.6918758452e-02, /* 0xbd9d8795 */ - 6.6610731184e-02, /* 0x3d886b35 */ - -5.8335702866e-02, /* 0xbd6ef16b */ - 4.9768779427e-02, /* 0x3d4bda59 */ - -3.6531571299e-02, /* 0xbd15a221 */ - 1.6285819933e-02, /* 0x3c8569d7 */ -}; - -static const float -one = 1.0, -huge = 1.0e30; +#include +#include +#include +#include "math_config.h" -float __atanf(float x) +float +__atanf (float x) { - float w,s1,s2,z; - int32_t ix,hx,id; - - GET_FLOAT_WORD(hx,x); - ix = hx&0x7fffffff; - if(ix>=0x4c000000) { /* if |x| >= 2^25 */ - if(ix>0x7f800000) - return x+x; /* NaN */ - if(hx>0) return atanhi[3]+atanlo[3]; - else return -atanhi[3]-atanlo[3]; - } if (ix < 0x3ee00000) { /* |x| < 0.4375 */ - if (ix < 0x31000000) { /* |x| < 2^-29 */ - math_check_force_underflow (x); - if(huge+x>one) return x; /* raise inexact */ - } - id = -1; - } else { - x = fabsf(x); - if (ix < 0x3f980000) { /* |x| < 1.1875 */ - if (ix < 0x3f300000) { /* 7/16 <=|x|<11/16 */ - id = 0; x = ((float)2.0*x-one)/((float)2.0+x); - } else { /* 11/16<=|x|< 19/16 */ - id = 1; x = (x-one)/(x+one); - } - } else { - if (ix < 0x401c0000) { /* |x| < 2.4375 */ - id = 2; x = (x-(float)1.5)/(one+(float)1.5*x); - } else { /* 2.4375 <= |x| < 2^66 */ - id = 3; x = -(float)1.0/x; - } - }} - /* end of argument reduction */ - z = x*x; - w = z*z; - /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ - s1 = z*(aT[0]+w*(aT[2]+w*(aT[4]+w*(aT[6]+w*(aT[8]+w*aT[10]))))); - s2 = w*(aT[1]+w*(aT[3]+w*(aT[5]+w*(aT[7]+w*aT[9])))); - if (id<0) return x - x*(s1+s2); - else { - z = atanhi[id] - ((x*(s1+s2) - atanlo[id]) - x); - return (hx<0)? -z:z; + const double pi2 = 0x1.921fb54442d18p+0; + uint32_t t = asuint (x); + int e = (t >> 23) & 0xff; + bool gt = e >= 127; + uint32_t ta = t & 0x7fffffff; + if (__glibc_unlikely (ta >= 0x4c700518u)) /* |x| > 0x1.e00a3p+25 */ + { + if (ta > 0x7f800000u) + return x + x; /* nan */ + return copysign (pi2, (double) x); + } + if (__glibc_unlikely (e < 127 - 13)) + { + if (__glibc_unlikely (e < 127 - 25)) + { + if (!(t << 1)) + return x; + return fmaf (-x, fabsf (x), x); } + return fmaf (-0x1.5555555555555p-2f * x, x * x, x); + } + /* now |x| >= 0x1p-13 */ + double z = x; + if (gt) + z = 1 / z; /* gt is non-zero for |x| >= 1 */ + double z2 = z * z; + double z4 = z2 * z2; + double z8 = z4 * z4; + /* polynomials generated using rminimax + (https://gitlab.inria.fr/sfilip/rminimax) with the following command: + ./ratapprox --function="atan(x)" --dom=[0.000122070,1] + --num=[x,x^3,x^5,x^7,x^9,x^11,x^13] --den=[1,x^2,x^4,x^6,x^8,x^10,x^12] + --output=atanf.sollya --log (see output atanf.sollya) The coefficient + cd[0] was slightly reduced from the original value 0x1.51eccde075d67p-2 to + avoid an exceptional case for |x| = 0x1.1ad646p-4 and rounding to nearest. + */ + static const double cn[] = + { + 0x1.51eccde075d67p-2, 0x1.a76bb5637f2f2p-1, 0x1.81e0eed20de88p-1, + 0x1.376c8ca67d11dp-2, 0x1.aec7b69202ac6p-5, 0x1.9561899acc73ep-9, + 0x1.bf9fa5b67e6p-16 + }; + static const double cd[] = + { + 0x1.51eccde075d66p-2, 0x1.dfbdd7b392d28p-1, 0x1p+0, + 0x1.fd22bf0e89b54p-2, 0x1.d91ff8b576282p-4, 0x1.653ea99fc9bbp-7, + 0x1.1e7fcc202340ap-12 + }; + double cn0 = cn[0] + z2 * cn[1]; + double cn2 = cn[2] + z2 * cn[3]; + double cn4 = cn[4] + z2 * cn[5]; + double cn6 = cn[6]; + cn0 += z4 * cn2; + cn4 += z4 * cn6; + cn0 += z8 * cn4; + cn0 *= z; + double cd0 = cd[0] + z2 * cd[1]; + double cd2 = cd[2] + z2 * cd[3]; + double cd4 = cd[4] + z2 * cd[5]; + double cd6 = cd[6]; + cd0 += z4 * cd2; + cd4 += z4 * cd6; + cd0 += z8 * cd4; + double r = cn0 / cd0; + if (!gt) + return r; /* for |x| < 1, (float) r is correctly rounded */ + + /* now |x| >= 1 */ + r = copysign (0x1.0fdaa22168c23p-7, z) - r + copysign (0x1.9p0, z); + return r; } libm_alias_float (__atan, atan) diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index b24bc582ea..ff1cf6b2e4 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -67,7 +67,6 @@ ldouble: 4 Function: "atan": double: 1 -float: 1 ldouble: 1 Function: "atan2": @@ -91,17 +90,14 @@ ldouble: 2 Function: "atan_downward": double: 1 -float: 2 ldouble: 2 Function: "atan_towardzero": double: 1 -float: 1 ldouble: 1 Function: "atan_upward": double: 1 -float: 2 ldouble: 2 Function: "atanh": @@ -162,7 +158,7 @@ ldouble: 6 Function: Real part of "cacos_towardzero": double: 3 -float: 2 +float: 3 ldouble: 3 Function: Imaginary part of "cacos_towardzero": @@ -207,7 +203,7 @@ ldouble: 5 Function: Imaginary part of "cacosh_towardzero": double: 3 -float: 2 +float: 3 ldouble: 3 Function: Real part of "cacosh_upward": diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps index b7e73db063..5dce4c8f89 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -12,7 +12,6 @@ Function: "asinh": double: 1 Function: "atan": -float: 1 Function: "atan2": float: 1 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index ca4eac5090..9046a17170 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -51,7 +51,6 @@ double: 3 Function: "atan": double: 1 -float: 1 Function: "atan2": float: 2 @@ -70,15 +69,12 @@ float: 2 Function: "atan_downward": double: 1 -float: 2 Function: "atan_towardzero": double: 1 -float: 1 Function: "atan_upward": double: 1 -float: 2 Function: "atanh": double: 2 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index 30e8d46c68..1525e55eb5 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -67,7 +67,6 @@ ldouble: 4 Function: "atan": double: 1 -float: 1 ldouble: 1 Function: "atan2": @@ -91,17 +90,14 @@ ldouble: 2 Function: "atan_downward": double: 1 -float: 2 ldouble: 2 Function: "atan_towardzero": double: 1 -float: 1 ldouble: 1 Function: "atan_upward": double: 1 -float: 2 ldouble: 2 Function: "atanh": diff --git a/sysdeps/or1k/fpu/libm-test-ulps b/sysdeps/or1k/fpu/libm-test-ulps index dd972b3063..6edadaed89 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/fpu/libm-test-ulps @@ -51,7 +51,6 @@ double: 3 Function: "atan": double: 1 -float: 1 Function: "atan2": float: 2 @@ -70,15 +69,12 @@ float: 2 Function: "atan_downward": double: 1 -float: 2 Function: "atan_towardzero": double: 1 -float: 1 Function: "atan_upward": double: 1 -float: 2 Function: "atanh": double: 2 diff --git a/sysdeps/or1k/nofpu/libm-test-ulps b/sysdeps/or1k/nofpu/libm-test-ulps index 4263ce7aa5..aff536b890 100644 --- a/sysdeps/or1k/nofpu/libm-test-ulps +++ b/sysdeps/or1k/nofpu/libm-test-ulps @@ -51,7 +51,6 @@ double: 3 Function: "atan": double: 1 -float: 1 Function: "atan2": float: 2 @@ -70,15 +69,12 @@ float: 2 Function: "atan_downward": double: 1 -float: 2 Function: "atan_towardzero": double: 1 -float: 1 Function: "atan_upward": double: 1 -float: 2 Function: "atanh": double: 2 diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index e5aa59fca1..342054bb72 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -87,7 +87,6 @@ ldouble: 7 Function: "atan": double: 1 -float: 1 float128: 1 ldouble: 1 @@ -116,19 +115,16 @@ ldouble: 3 Function: "atan_downward": double: 1 -float: 2 float128: 2 ldouble: 1 Function: "atan_towardzero": double: 1 -float: 1 float128: 1 ldouble: 1 Function: "atan_upward": double: 1 -float: 2 float128: 2 ldouble: 2 @@ -202,7 +198,7 @@ ldouble: 8 Function: Real part of "cacos_towardzero": double: 3 -float: 2 +float: 3 float128: 3 ldouble: 7 @@ -256,7 +252,7 @@ ldouble: 8 Function: Imaginary part of "cacosh_towardzero": double: 3 -float: 2 +float: 3 float128: 3 ldouble: 7 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index 939468399c..c7242e5fec 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -71,7 +71,6 @@ ldouble: 7 Function: "atan": double: 1 -float: 1 ldouble: 1 Function: "atan2": @@ -95,17 +94,14 @@ ldouble: 3 Function: "atan_downward": double: 1 -float: 2 ldouble: 1 Function: "atan_towardzero": double: 1 -float: 1 ldouble: 1 Function: "atan_upward": double: 1 -float: 2 ldouble: 2 Function: "atanh": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index 7c89f7915b..4fa17a3da2 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -67,7 +67,6 @@ ldouble: 4 Function: "atan": double: 1 -float: 1 ldouble: 1 Function: "atan2": @@ -91,17 +90,14 @@ ldouble: 2 Function: "atan_downward": double: 1 -float: 2 ldouble: 2 Function: "atan_towardzero": double: 1 -float: 1 ldouble: 1 Function: "atan_upward": double: 1 -float: 2 ldouble: 2 Function: "atanh": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index e1c1a6aee5..0e3fb96ee5 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -67,7 +67,6 @@ ldouble: 4 Function: "atan": double: 1 -float: 1 ldouble: 1 Function: "atan2": @@ -91,17 +90,14 @@ ldouble: 2 Function: "atan_downward": double: 1 -float: 2 ldouble: 2 Function: "atan_towardzero": double: 1 -float: 1 ldouble: 1 Function: "atan_upward": double: 1 -float: 2 ldouble: 2 Function: "atanh": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index f36f0e3f5a..921ff284af 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -67,7 +67,6 @@ ldouble: 4 Function: "atan": double: 1 -float: 1 ldouble: 1 Function: "atan2": @@ -91,17 +90,14 @@ ldouble: 2 Function: "atan_downward": double: 1 -float: 2 ldouble: 2 Function: "atan_towardzero": double: 1 -float: 1 ldouble: 1 Function: "atan_upward": double: 1 -float: 2 ldouble: 2 Function: "atanh": diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index 4bd1ff1f98..b429f42d89 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -24,7 +24,6 @@ Function: "asinh_towardzero": double: 2 Function: "atan": -float: 1 Function: "atan2": float: 1 @@ -35,7 +34,6 @@ float: 2 Function: "atan_towardzero": double: 1 -float: 1 Function: "atanh": double: 2 diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index 0cbfc5be76..ee7eea81f9 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -67,7 +67,6 @@ ldouble: 4 Function: "atan": double: 1 -float: 1 ldouble: 1 Function: "atan2": @@ -91,17 +90,14 @@ ldouble: 2 Function: "atan_downward": double: 1 -float: 2 ldouble: 2 Function: "atan_towardzero": double: 1 -float: 1 ldouble: 1 Function: "atan_upward": double: 1 -float: 2 ldouble: 2 Function: "atanh": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 5f9afc7f6e..1589403c1c 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -160,7 +160,6 @@ float: 1 Function: "atan": double: 1 -float: 1 float128: 1 ldouble: 1 @@ -209,19 +208,16 @@ float: 2 Function: "atan_downward": double: 1 -float: 2 float128: 2 ldouble: 1 Function: "atan_towardzero": double: 1 -float: 1 float128: 1 ldouble: 1 Function: "atan_upward": double: 1 -float: 2 float128: 2 ldouble: 1 @@ -335,7 +331,7 @@ ldouble: 6 Function: Real part of "cacos_towardzero": double: 3 -float: 2 +float: 3 float128: 3 ldouble: 2 @@ -389,7 +385,7 @@ ldouble: 5 Function: Imaginary part of "cacosh_towardzero": double: 3 -float: 2 +float: 3 float128: 3 ldouble: 2 From patchwork Fri Nov 29 13:17: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: 846133 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp861579wrp; Fri, 29 Nov 2024 05:31:53 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXDKdfBmopptyTvFpQtj1R7XnE38u/oSLJ/pQtlOVLwkj4Ku/5pAXDoYJ9VLmhJURiMil6V1g==@linaro.org X-Google-Smtp-Source: AGHT+IG+qXzNNBDoE5EB/yPT8Qioxj9D4Zul+PmXcIxcXTooxsCVXGk7TzjFFqOQQ2HI+kd3525V X-Received: by 2002:a05:6808:1486:b0:3e6:143a:fadc with SMTP id 5614622812f47-3ea6db8f180mr10232459b6e.3.1732887113285; Fri, 29 Nov 2024 05:31:53 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732887113; cv=pass; d=google.com; s=arc-20240605; b=QN3Xa9t1/a5ud76ZXep+GMWHzfEAMGIvQ8CNmbGHD8wWtf69SJpAIju2qjn+0zZ74l 9FDK3jCjHbOE7xGl9AbQydvzLZW4ezSNhTBt5RI76sXsNQKSv7IQHji/VWHRdYaTYyj/ nb16w36uP5kbqrRBaSO7hjteKJJnH0IcrNU7KmgXkr1A9TbBytJIXlUcWEKuzPJcICkk bWo9bDbcnWO3MMb1pY9Jg1qdK7ihyI2aHrXKhXA/nXHRLYWfsFZ7ChEcGFGKE9UquGW0 yNt3/JXytq+FqGGyY3+rvW03grMY5k0SGtNMkPPM9vY4pqL3KRiXocqtdSW//aq0q9aL JarQ== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=ZTbFA8KW3xsDAfh+2yTWuUjeEZa63b+li+ow21HjeW8=; fh=sFucH9KQW8Y8eMoQXaNIgycLDa7roysdjTHpHLIprh4=; b=K1QdpY9CjyE8N/qToooM1+4jGkHIyuL2pjsE2q8R+eZ7mIc1trPtXQchNCMi9L6DBV 9BtT8Ry6ZTn4TwxhLVNP138xl6OXNERu3J9v5TNjX01025PJhiKklAQ8tN5g/mCdVAOi jmS/WlpKUFlhLGEc/5nPlu6gv6gRasLCk1P5xAAFggKjlTYuzBkq4KAKZryxvTk0wy7M kGB/Xv6GywA/MjAXboRaI9qi11aT5rq65h0yJJbEGTJ/4ymsfUPlNw7kBT4xcpddofq8 VJKkfYaloo1gVn8flzp5Td9YfiB6P+Qbl774HwD2X9iXJAdDhvUzW5DpPUok6BIu69iV jmpg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=XEgn8kHB; 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 71dfb90a1353d-5156d0d9832si1335874e0c.120.2024.11.29.05.31.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:31:53 -0800 (PST) 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=XEgn8kHB; 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 C1E883858D38 for ; Fri, 29 Nov 2024 13:31:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C1E883858D38 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=XEgn8kHB 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 6819E3858C53 for ; Fri, 29 Nov 2024 13:21:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6819E3858C53 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 6819E3858C53 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=1732886498; cv=none; b=jUsTZnbTqViEM9WPnpZ3aiIvUzcE4HhWUxxdn9hjn27ysGJq4dqJkKeM0pjKp3nWYNGluoX/GEpiQu9m8booATGgHurZI5d8/jffqLb+t+i7pWW8Wwk0IlnpkZX+eUI4RiqJulM6t1z658na42v9L10kw8L6Wc2GDyr350oK5qo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886498; c=relaxed/simple; bh=/AfGxsUaxwHTL4dj6HUkQyoVVoJRpGac0qE/sW0ufe8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=WyfMx/L/aF1AJcFKst6Bc0JCUu/w2ZF9t9ZqBbqrCIw6SeMVnbmrXHjwvlf1cAg7Dzexg/1wW5apdRaDsWvG2lL9qzJa1PS35WYNNE6sFXzfppR+jCqaF07IxZshLc+nGq65Wgi8F75hmhl8UCWZv2S4vO64zPNXrI/Usz3PcuY= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6819E3858C53 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-2126408cf31so11964795ad.0 for ; Fri, 29 Nov 2024 05:21:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886492; x=1733491292; 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=ZTbFA8KW3xsDAfh+2yTWuUjeEZa63b+li+ow21HjeW8=; b=XEgn8kHBrRt7ye1rEWEUCsNWifHc5AQj0Ytj1ZY0+q3DnOCaumSfI1xajX/5hCI4Ed vzgCiRwP6a7iMlOE8qw1S4YlGyOgtBzU2UOE7N7gHWWovyMjy/HpFzM0uyd9I4GpA301 UlnyY49c2M5I+WFaJudKrj1OJN1/Znq6OUr4NU46vWvM8+b6Spife1/6W7XRvu8jANII 23dQq8G8Llk/GNdLY4UaMBoCzeIvdH4Lc4NNywauKqDmWeau4w9zhBSCmcvblzN3LdSA 1qkrXnTO4Sa06qgjUSJHAQVxauJ9zeQrXse2Ic6n1kQqfFtEUjpurPYniNidWWzF0Rea R/yA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886492; x=1733491292; 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=ZTbFA8KW3xsDAfh+2yTWuUjeEZa63b+li+ow21HjeW8=; b=npMK2c29sAmistCVFIg2x2EAjbNZaBUveKK2QnRCqxW40FieBm13vhPW+V1oAJfpM2 wsg1XkhbXq68HpomTPM4w7zdm+ZzJjZchP7C8/K5B6Dw2B2eO7dwjN6fkF9rW3qrSs5j 2fcmMx4wmUpoESCfr4HXPkNPtBWBCO0uAvFjGpYSL7HUo+o5QjIUqbdTnxbpdIq90yj/ b00q4J2k6HtP6DRYzwvhTAlpgeZTNVm8B94Xu6bJ8OfxAuP4p4OEJkpbEGpms9A6ilLW cluCxLAhq+s+Y6mSOuIn4Op0q8rUYppDwwIIihpENf9vHHxQFHt+0vIHQpzoOzaFUjPF 2dEA== X-Gm-Message-State: AOJu0YwOeWs/5fLhOMloqfyAO/RrUcwzz8iyVi+ZnrJvnPYn7bq2cJ9b VVIdVROSHwtgc6/leIFw0RB3UmBKKP8fpeNHaxfliiuXdG+FLnkqel5fQ+qsl+uTWOxryKQjnPG 1uf6rvg== X-Gm-Gg: ASbGncsoCU406Z+/ClzRTo3stk/2I4sggo6t3LRJhNmeZM3DSMLj5LsPpeO4kVTCEX4 wqGjj7e5ra1FW1DjYunwR0o1XzKQyTihJaPCvItgc868iuV3jGBSikq+ZRYd+kErhl56thVlFMP GO5Su0yUYZJw/TFm+FmBCfGEo3VHU7RCnzKOWUvEn4vAkLNsbowIJt7Hmtk5uK/lcPu+4yAeJj2 L6xB6pFLmy4JmTvU3ENQwhRUkrayced6LZFF/8dmk4W0HZZ2/tsTK3M3ng2qFA= X-Received: by 2002:a17:902:cece:b0:207:6fd:57d5 with SMTP id d9443c01a7336-21501b5b47amr153514925ad.36.1732886491720; Fri, 29 Nov 2024 05:21:31 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.21.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:21:31 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH 19/23] math: Use atan2f from CORE-MATH Date: Fri, 29 Nov 2024 10:17:43 -0300 Message-ID: <20241129132032.476978-20-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 atan2f. 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 68.1175 69.2014 -1.59% x86_64v2 66.9884 66.0081 1.46% x86_64v3 57.7034 61.6407 -6.82% i686 189.8690 152.7560 19.55% aarch64 (Neoverse) 32.6151 24.5382 24.76% power10 21.7282 17.1896 20.89% reciprocal-throughput master patched improvement x86_64 34.5202 31.6155 8.41% x86_64v2 32.6379 30.3372 7.05% x86_64v3 34.3677 23.6455 31.20% i686 157.7290 75.8308 51.92% aarch64 (Neoverse) 27.7788 16.2671 41.44% power10 15.5715 8.1588 47.60% 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/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 | 4 - sysdeps/csky/fpu/libm-test-ulps | 4 - sysdeps/csky/nofpu/libm-test-ulps | 4 - sysdeps/hppa/fpu/libm-test-ulps | 4 - sysdeps/i386/fpu/e_atan2f.S | 30 -- sysdeps/i386/fpu/libm-test-ulps | 3 - .../i386/i686/fpu/multiarch/libm-test-ulps | 3 - sysdeps/ieee754/flt-32/e_atan2f.c | 337 ++++++++++++++---- sysdeps/loongarch/lp64/libm-test-ulps | 4 - sysdeps/m68k/coldfire/fpu/libm-test-ulps | 1 - sysdeps/microblaze/libm-test-ulps | 1 - sysdeps/mips/mips32/libm-test-ulps | 4 - sysdeps/mips/mips64/libm-test-ulps | 4 - sysdeps/or1k/fpu/libm-test-ulps | 4 - sysdeps/or1k/nofpu/libm-test-ulps | 4 - sysdeps/powerpc/fpu/libm-test-ulps | 4 - 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 | 4 - 28 files changed, 262 insertions(+), 196 deletions(-) delete mode 100644 sysdeps/i386/fpu/e_atan2f.S diff --git a/SHARED-FILES b/SHARED-FILES index b9627afdfe..99f8554393 100644 --- a/SHARED-FILES +++ b/SHARED-FILES @@ -314,3 +314,7 @@ sysdeps/ieee754/flt-32/s_atanf.c: (src/binary32/atan/atanf.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/e_atan2f.c: + (src/binary32/atan2/atan2f.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 44934af245..f48a4d2e76 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -102,7 +102,6 @@ double: 1 ldouble: 1 Function: "atan2": -float: 1 ldouble: 2 Function: "atan2_advsimd": @@ -111,7 +110,6 @@ float: 2 Function: "atan2_downward": double: 1 -float: 2 ldouble: 2 Function: "atan2_sve": @@ -120,12 +118,10 @@ float: 2 Function: "atan2_towardzero": double: 1 -float: 2 ldouble: 3 Function: "atan2_upward": double: 1 -float: 1 ldouble: 2 Function: "atan_advsimd": diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps index f9c1cf7cf5..860da75a86 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -70,22 +70,18 @@ double: 1 ldouble: 1 Function: "atan2": -float: 2 ldouble: 2 Function: "atan2_downward": double: 1 -float: 2 ldouble: 2 Function: "atan2_towardzero": double: 1 -float: 2 ldouble: 3 Function: "atan2_upward": double: 1 -float: 2 ldouble: 2 Function: "atan_downward": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index 37b0efae66..7b5208e2f8 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -54,19 +54,15 @@ double: 1 Function: "atan2": double: 7 -float: 2 Function: "atan2_downward": double: 5 -float: 2 Function: "atan2_towardzero": double: 5 -float: 2 Function: "atan2_upward": double: 8 -float: 2 Function: "atan_downward": double: 1 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index 8d283f0627..a46825b0c1 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -17,7 +17,6 @@ Function: "atan": double: 1 Function: "atan2": -float: 2 Function: "atanh": double: 2 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index bb4ee0f2e4..5c1046b9f5 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -53,19 +53,15 @@ Function: "atan": double: 1 Function: "atan2": -float: 2 Function: "atan2_downward": double: 1 -float: 2 Function: "atan2_towardzero": double: 1 -float: 2 Function: "atan2_upward": double: 1 -float: 2 Function: "atan_downward": double: 1 diff --git a/sysdeps/csky/fpu/libm-test-ulps b/sysdeps/csky/fpu/libm-test-ulps index 9d3fcf693d..0a18d51742 100644 --- a/sysdeps/csky/fpu/libm-test-ulps +++ b/sysdeps/csky/fpu/libm-test-ulps @@ -50,19 +50,15 @@ double: 3 Function: "atan": Function: "atan2": -float: 1 Function: "atan2_downward": double: 1 -float: 2 Function: "atan2_towardzero": double: 1 -float: 2 Function: "atan2_upward": double: 1 -float: 2 Function: "atan_downward": double: 1 diff --git a/sysdeps/csky/nofpu/libm-test-ulps b/sysdeps/csky/nofpu/libm-test-ulps index 1bab8effc7..55be0213ec 100644 --- a/sysdeps/csky/nofpu/libm-test-ulps +++ b/sysdeps/csky/nofpu/libm-test-ulps @@ -50,19 +50,15 @@ double: 3 Function: "atan": Function: "atan2": -float: 1 Function: "atan2_downward": double: 1 -float: 2 Function: "atan2_towardzero": double: 1 -float: 2 Function: "atan2_upward": double: 1 -float: 2 Function: "atan_downward": double: 1 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index 8de00f442b..c92f46cc15 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -53,19 +53,15 @@ Function: "atan": double: 1 Function: "atan2": -float: 2 Function: "atan2_downward": double: 1 -float: 2 Function: "atan2_towardzero": double: 1 -float: 2 Function: "atan2_upward": double: 1 -float: 2 Function: "atan_downward": double: 1 diff --git a/sysdeps/i386/fpu/e_atan2f.S b/sysdeps/i386/fpu/e_atan2f.S deleted file mode 100644 index 606d4a6f2d..0000000000 --- a/sysdeps/i386/fpu/e_atan2f.S +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Public domain. - */ - -#include -#include -#include - -RCSID("$NetBSD: e_atan2f.S,v 1.1 1995/05/08 23:35:10 jtc Exp $") - -DEFINE_FLT_MIN - -#ifdef PIC -# define MO(op) op##@GOTOFF(%ecx) -#else -# define MO(op) op -#endif - - .text -ENTRY(__ieee754_atan2f) -#ifdef PIC - LOAD_PIC_REG (cx) -#endif - flds 4(%esp) - flds 8(%esp) - fpatan - FLT_CHECK_FORCE_UFLOW_NARROW - ret -END (__ieee754_atan2f) -libm_alias_finite (__ieee754_atan2f, __atan2f) diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index 31286ea178..b1f5b5f900 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -91,19 +91,16 @@ ldouble: 1 Function: "atan2_downward": double: 1 -float: 1 float128: 2 ldouble: 1 Function: "atan2_towardzero": double: 1 -float: 1 float128: 3 ldouble: 1 Function: "atan2_upward": double: 1 -float: 1 float128: 2 ldouble: 1 diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index 0a872570d1..b651fd4fbf 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -91,19 +91,16 @@ ldouble: 1 Function: "atan2_downward": double: 1 -float: 1 float128: 2 ldouble: 1 Function: "atan2_towardzero": double: 1 -float: 1 float128: 3 ldouble: 1 Function: "atan2_upward": double: 1 -float: 1 float128: 2 ldouble: 1 diff --git a/sysdeps/ieee754/flt-32/e_atan2f.c b/sysdeps/ieee754/flt-32/e_atan2f.c index 75174062e8..836202f122 100644 --- a/sysdeps/ieee754/flt-32/e_atan2f.c +++ b/sysdeps/ieee754/flt-32/e_atan2f.c @@ -1,94 +1,273 @@ -/* e_atan2f.c -- float version of e_atan2.c. - */ +/* Correctly-rounded arctangent function of two binary32 values. -/* - * ==================================================== - * 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 and Paul Zimmermann. + +The original version of this file was copied from the CORE-MATH +project (file src/binary32/atan2/atan2f.c, revision 7835c5d). + +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 const float -tiny = 1.0e-30, -zero = 0.0, -pi_o_4 = 7.8539818525e-01, /* 0x3f490fdb */ -pi_o_2 = 1.5707963705e+00, /* 0x3fc90fdb */ -pi = 3.1415927410e+00, /* 0x40490fdb */ -pi_lo = -8.7422776573e-08; /* 0xb3bbbd2e */ +static inline double +muldd (double xh, double xl, double ch, double cl, double *l) +{ + double ahlh = ch * xl; + double alhh = cl * xh; + double ahhh = ch * xh; + double ahhl = fma (ch, xh, -ahhh); + ahhl += alhh + ahlh; + ch = ahhh + ahhl; + *l = (ahhh - ch) + ahhl; + return ch; +} -float -__ieee754_atan2f (float y, float x) +static double +polydd (double xh, double xl, int n, const double c[][2], double *l) { - float z; - int32_t k,m,hx,hy,ix,iy; + int i = n - 1; + double ch = c[i][0]; + double cl = c[i][1]; + while (--i >= 0) + { + ch = muldd (xh, xl, ch, cl, &cl); + double th = ch + c[i][0]; + double tl = (c[i][0] - th) + ch; + ch = th; + cl += tl + c[i][1]; + } + *l = cl; + return ch; +} - GET_FLOAT_WORD(hx,x); - ix = hx&0x7fffffff; - GET_FLOAT_WORD(hy,y); - iy = hy&0x7fffffff; - if((ix>0x7f800000)|| - (iy>0x7f800000)) /* x or y is NaN */ - return x+y; - if(hx==0x3f800000) return __atanf(y); /* x=1.0 */ - m = ((hy>>31)&1)|((hx>>30)&2); /* 2*sign(x)+sign(y) */ +/* for y/x tiny, use Taylor approximation z - z^3/3 where z=y/x */ +static float +cr_atan2f_tiny (float y, float x) +{ + double dy = y, dx = x; + double z = dy / dx; + double e = fma (-z, x, y); + /* z * x + e = y thus y/x = z + e/x */ + static const double c = -0x1.5555555555555p-2; /* -1/3 rounded to nearest */ + double zz = z * z; + double cz = c * z; + e = e / x + cz * zz; + uint64_t t = asuint64 (z); + if ((t & UINT64_C(0xfffffff)) == 0) /* boundary case */ + { + /* If z and e are of same sign (resp. of different signs), we increase + (resp. decrease) the significant of t by 1 to avoid a double-rounding + issue when rounding t to binary32. */ + if (z * e > 0) + t += 1; + else + t -= 1; + } + return asdouble (t); +} - /* when y = 0 */ - if(iy==0) { - switch(m) { - case 0: - case 1: return y; /* atan(+-0,+anything)=+-0 */ - case 2: return pi+tiny;/* atan(+0,-anything) = pi */ - case 3: return -pi-tiny;/* atan(-0,-anything) =-pi */ - } +float +__ieee754_atan2f (float y, float x) +{ + static const double cn[] = + { + 0x1p+0, 0x1.40e0698f94c35p+1, 0x1.248c5da347f0dp+1, + 0x1.d873386572976p-1, 0x1.46fa40b20f1dp-3, 0x1.33f5e041eed0fp-7, + 0x1.546bbf28667c5p-14 + }; + static const double cd[] = + { + 0x1p+0, 0x1.6b8b143a3f6dap+1, 0x1.8421201d18ed5p+1, + 0x1.8221d086914ebp+0, 0x1.670657e3a07bap-2, 0x1.0f4951fd1e72dp-5, + 0x1.b3874b8798286p-11 + }; + static const double m[] = { 0, 1 }; +#define pi 0x1.921fb54442d18p+1 +#define pi2 0x1.921fb54442d18p+0 +#define pi2l 0x1.1a62633145c07p-54 + static const double off[] = { 0.0f, pi2, pi, pi2, -0.0f, -pi2, -pi, -pi2 }; + static const double offl[] = + { + 0.0f, pi2l, 2 * pi2l, pi2l, -0.0f, -pi2l, -2 * pi2l, -pi2l + }; + static const double sgn[] = { 1, -1 }; + uint32_t ux = asuint (x); + uint32_t uy = asuint (y); + uint32_t ax = ux & (~0u >> 1); + uint32_t ay = uy & (~0u >> 1); + if (__glibc_unlikely (ay >= (0xff << 23) || ax >= (0xff << 23))) + { + /* we use x+y below so that the invalid exception is set + for (x,y) = (qnan,snan) or (snan,qnan) */ + if (ay > (0xff << 23)) + return y + y; /* nan */ + if (ax > (0xff << 23)) + return x + y; /* nan */ + bool yinf = ay == (0xff << 23); + bool xinf = ax == (0xff << 23); + if (yinf & xinf) + { + if (ux >> 31) + return 0x1.2d97c7f3321d2p+1 * sgn[uy >> 31]; + else + return 0x1.921fb54442d18p-1 * sgn[uy >> 31]; } - /* when x = 0 */ - if(ix==0) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny; - - /* when x is INF */ - if(ix==0x7f800000) { - if(iy==0x7f800000) { - switch(m) { - case 0: return pi_o_4+tiny;/* atan(+INF,+INF) */ - case 1: return -pi_o_4-tiny;/* atan(-INF,+INF) */ - case 2: return (float)3.0*pi_o_4+tiny;/*atan(+INF,-INF)*/ - case 3: return (float)-3.0*pi_o_4-tiny;/*atan(-INF,-INF)*/ - } - } else { - switch(m) { - case 0: return zero ; /* atan(+...,+INF) */ - case 1: return -zero ; /* atan(-...,+INF) */ - case 2: return pi+tiny ; /* atan(+...,-INF) */ - case 3: return -pi-tiny ; /* atan(-...,-INF) */ - } - } + if (xinf) + { + if (ux >> 31) + return pi * sgn[uy >> 31]; + else + return 0.0f * sgn[uy >> 31]; + } + if (yinf) + return pi2 * sgn[uy >> 31]; + } + if (__glibc_unlikely (ay == 0)) + { + if (__glibc_unlikely (!(ay | ax))) + { + uint32_t i = (uy >> 31) * 4 + (ux >> 31) * 2; + if (ux >> 31) + return off[i] + offl[i]; + else + return off[i]; } - /* when y is INF */ - if(iy==0x7f800000) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny; + if (!(ux >> 31)) + return 0.0f * sgn[uy >> 31]; + } + uint32_t gt = ay > ax; + uint32_t i = (uy >> 31) * 4 + (ux >> 31) * 2 + gt; - /* compute y/x */ - k = (iy-ix)>>23; - if(k > 60) z=pi_o_2+(float)0.5*pi_lo; /* |y/x| > 2**60 */ - else if(hx<0&&k<-60) z=0.0; /* |y|/x < -2**60 */ - else z=__atanf(fabsf(y/x)); /* safe to do y/x */ - switch (m) { - case 0: return z ; /* atan(+,+) */ - case 1: { - uint32_t zh; - GET_FLOAT_WORD(zh,z); - SET_FLOAT_WORD(z,zh ^ 0x80000000); - } - return z ; /* atan(-,+) */ - case 2: return pi-(z-pi_lo);/* atan(+,-) */ - default: /* case 3 */ - return (z-pi_lo)-pi;/* atan(-,-) */ + double zx = x; + double zy = y; + double z = (m[gt] * zx + m[1 - gt] * zy) / (m[gt] * zy + m[1 - gt] * zx); + /* z = x/y if |y| > |x|, and z = y/x otherwise */ + double r; + int d = (int) ax - (int) ay; + if (__glibc_likely (d < (27 << 23) && d > (-(27 << 23)))) + { + double z2 = z * z, z4 = z2 * z2, z8 = z4 * z4; + /* z2 cannot underflow, since for |y|=0x1p-149 and |x|=0x1.fffffep+127 + we get |z| > 2^-277 thus z2 > 2^-554, but z4 and z8 might underflow, + which might give spurious underflow exceptions. */ + double cn0 = cn[0] + z2 * cn[1]; + double cn2 = cn[2] + z2 * cn[3]; + double cn4 = cn[4] + z2 * cn[5]; + double cn6 = cn[6]; + cn0 += z4 * cn2; + cn4 += z4 * cn6; + cn0 += z8 * cn4; + double cd0 = cd[0] + z2 * cd[1]; + double cd2 = cd[2] + z2 * cd[3]; + double cd4 = cd[4] + z2 * cd[5]; + double cd6 = cd[6]; + cd0 += z4 * cd2; + cd4 += z4 * cd6; + cd0 += z8 * cd4; + r = cn0 / cd0; + } + else + r = 1; + z *= sgn[gt]; + r = z * r + off[i]; + if (__glibc_unlikely (((asuint64 (r) + 8) & 0xfffffff) <= 16)) + { + /* check tiny y/x */ + if (ay < ax && ((ax - ay) >> 23 >= 25)) + return cr_atan2f_tiny (y, x); + double zh; + double zl; + if (gt == 0) + { + zh = zy / zx; + zl = fma (zh, -zx, zy) / zx; + } + else + { + zh = zx / zy; + zl = fma (zh, -zy, zx) / zy; + } + double z2l; + double z2h = muldd (zh, zl, zh, zl, &z2l); + static const double c[32][2] = + { + { 0x1p+0, -0x1.8c1dac5492248p-87 }, + { -0x1.5555555555555p-2, -0x1.55553bf3a2abep-56 }, + { 0x1.999999999999ap-3, -0x1.99deed1ec9071p-57 }, + { -0x1.2492492492492p-3, -0x1.fd99c8d18269ap-58 }, + { 0x1.c71c71c71c717p-4, -0x1.651eee4c4d9dp-61 }, + { -0x1.745d1745d1649p-4, -0x1.632683d6c44a6p-58 }, + { 0x1.3b13b13b11c63p-4, 0x1.bf69c1f8af41dp-58 }, + { -0x1.11111110e6338p-4, 0x1.3c3e431e8bb68p-61 }, + { 0x1.e1e1e1dc45c4ap-5, -0x1.be2db05c77bbfp-59 }, + { -0x1.af286b8164b4fp-5, 0x1.a4673491f0942p-61 }, + { 0x1.86185e9ad4846p-5, 0x1.e12e32d79fceep-59 }, + { -0x1.642c6d5161faep-5, 0x1.3ce76c1ca03fp-59 }, + { 0x1.47ad6f277e5bfp-5, -0x1.abd8d85bdb714p-60 }, + { -0x1.2f64a2ee8896dp-5, 0x1.ef87d4b615323p-61 }, + { 0x1.1a6a2b31741b5p-5, 0x1.a5d9d973547eep-62 }, + { -0x1.07fbdad65e0a6p-5, -0x1.65ac07f5d35f4p-61 }, + { 0x1.ee9932a9a5f8bp-6, 0x1.f8b9623f6f55ap-61 }, + { -0x1.ce8b5b9584dc6p-6, 0x1.fe5af96e8ea2dp-61 }, + { 0x1.ac9cb288087b7p-6, -0x1.450cdfceaf5cap-60 }, + { -0x1.84b025351f3e6p-6, 0x1.579561b0d73dap-61 }, + { 0x1.52f5b8ecdd52bp-6, 0x1.036bd2c6fba47p-60 }, + { -0x1.163a8c44909dcp-6, 0x1.18f735ffb9f16p-60 }, + { 0x1.a400dce3eea6fp-7, -0x1.c90569c0c1b5cp-61 }, + { -0x1.1caa78ae6db3ap-7, -0x1.4c60f8161ea09p-61 }, + { 0x1.52672453c0731p-8, 0x1.834efb598c338p-62 }, + { -0x1.5850c5be137cfp-9, -0x1.445fc150ca7f5p-63 }, + { 0x1.23eb98d22e1cap-10, -0x1.388fbaf1d783p-64 }, + { -0x1.8f4e974a40741p-12, 0x1.271198a97da34p-66 }, + { 0x1.a5cf2e9cf76e5p-14, -0x1.887eb4a63b665p-68 }, + { -0x1.420c270719e32p-16, 0x1.efd595b27888bp-71 }, + { 0x1.3ba2d69b51677p-19, -0x1.4fb06829cdfc7p-73 }, + { -0x1.29b7e6f676385p-23, -0x1.a783b6de718fbp-77 } + }; + double pl; + double ph = polydd (z2h, z2l, 32, c, &pl); + zh *= sgn[gt]; + zl *= sgn[gt]; + ph = muldd (zh, zl, ph, pl, &pl); + double sh = ph + off[i]; + double sl = ((off[i] - sh) + ph) + pl + offl[i]; + float rf = sh; + double th = rf; + double dh = sh - th; + double tm = dh + sl; + uint64_t tth = asuint64 (th); + if (th + th * 0x1p-60 == th - th * 0x1p-60) + { + tth &= UINT64_C(0x7ff) << 52; + tth -= UINT64_C(24) << 52; + if (fabs (tm) > asdouble (tth)) + tm *= 1.25; + else + tm *= 0.75; } + r = th + tm; + } + return r; } libm_alias_finite (__ieee754_atan2f, __atan2f) diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index ff1cf6b2e4..2b726c95a9 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -70,22 +70,18 @@ double: 1 ldouble: 1 Function: "atan2": -float: 2 ldouble: 2 Function: "atan2_downward": double: 1 -float: 2 ldouble: 2 Function: "atan2_towardzero": double: 1 -float: 2 ldouble: 3 Function: "atan2_upward": double: 1 -float: 2 ldouble: 2 Function: "atan_downward": diff --git a/sysdeps/m68k/coldfire/fpu/libm-test-ulps b/sysdeps/m68k/coldfire/fpu/libm-test-ulps index 7e49468421..989015ff9a 100644 --- a/sysdeps/m68k/coldfire/fpu/libm-test-ulps +++ b/sysdeps/m68k/coldfire/fpu/libm-test-ulps @@ -2,7 +2,6 @@ # Maximal error of functions: Function: "atan2": -float: 1 Function: "atanh": float: 1 diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps index 5dce4c8f89..30eb8f1a0c 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -14,7 +14,6 @@ double: 1 Function: "atan": Function: "atan2": -float: 1 Function: "atanh": double: 2 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index 9046a17170..6b0bf0e003 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -53,19 +53,15 @@ Function: "atan": double: 1 Function: "atan2": -float: 2 Function: "atan2_downward": double: 1 -float: 2 Function: "atan2_towardzero": double: 1 -float: 2 Function: "atan2_upward": double: 1 -float: 2 Function: "atan_downward": double: 1 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index 1525e55eb5..1ed68bb36d 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -70,22 +70,18 @@ double: 1 ldouble: 1 Function: "atan2": -float: 2 ldouble: 2 Function: "atan2_downward": double: 1 -float: 2 ldouble: 2 Function: "atan2_towardzero": double: 1 -float: 2 ldouble: 3 Function: "atan2_upward": double: 1 -float: 2 ldouble: 2 Function: "atan_downward": diff --git a/sysdeps/or1k/fpu/libm-test-ulps b/sysdeps/or1k/fpu/libm-test-ulps index 6edadaed89..56485715bd 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/fpu/libm-test-ulps @@ -53,19 +53,15 @@ Function: "atan": double: 1 Function: "atan2": -float: 2 Function: "atan2_downward": double: 5 -float: 2 Function: "atan2_towardzero": double: 5 -float: 2 Function: "atan2_upward": double: 8 -float: 2 Function: "atan_downward": double: 1 diff --git a/sysdeps/or1k/nofpu/libm-test-ulps b/sysdeps/or1k/nofpu/libm-test-ulps index aff536b890..7ece256112 100644 --- a/sysdeps/or1k/nofpu/libm-test-ulps +++ b/sysdeps/or1k/nofpu/libm-test-ulps @@ -53,19 +53,15 @@ Function: "atan": double: 1 Function: "atan2": -float: 2 Function: "atan2_downward": double: 5 -float: 2 Function: "atan2_towardzero": double: 5 -float: 2 Function: "atan2_upward": double: 8 -float: 2 Function: "atan_downward": double: 1 diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index 342054bb72..95e4d049ac 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -91,25 +91,21 @@ float128: 1 ldouble: 1 Function: "atan2": -float: 1 float128: 2 ldouble: 2 Function: "atan2_downward": double: 1 -float: 2 float128: 2 ldouble: 5 Function: "atan2_towardzero": double: 1 -float: 2 float128: 3 ldouble: 6 Function: "atan2_upward": double: 1 -float: 1 float128: 2 ldouble: 3 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index c7242e5fec..5d6a34115e 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -74,22 +74,18 @@ double: 1 ldouble: 1 Function: "atan2": -float: 2 ldouble: 2 Function: "atan2_downward": double: 1 -float: 2 ldouble: 5 Function: "atan2_towardzero": double: 1 -float: 2 ldouble: 6 Function: "atan2_upward": double: 1 -float: 2 ldouble: 3 Function: "atan_downward": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index 4fa17a3da2..ff1e792986 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -70,22 +70,18 @@ double: 1 ldouble: 1 Function: "atan2": -float: 2 ldouble: 2 Function: "atan2_downward": double: 1 -float: 2 ldouble: 2 Function: "atan2_towardzero": double: 1 -float: 2 ldouble: 3 Function: "atan2_upward": double: 1 -float: 1 ldouble: 2 Function: "atan_downward": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index 0e3fb96ee5..1a4577cd5c 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -70,22 +70,18 @@ double: 1 ldouble: 1 Function: "atan2": -float: 1 ldouble: 2 Function: "atan2_downward": double: 1 -float: 2 ldouble: 2 Function: "atan2_towardzero": double: 1 -float: 2 ldouble: 3 Function: "atan2_upward": double: 1 -float: 1 ldouble: 2 Function: "atan_downward": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index 921ff284af..4ff845bc0a 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -70,22 +70,18 @@ double: 1 ldouble: 1 Function: "atan2": -float: 1 ldouble: 2 Function: "atan2_downward": double: 1 -float: 2 ldouble: 2 Function: "atan2_towardzero": double: 1 -float: 2 ldouble: 3 Function: "atan2_upward": double: 1 -float: 1 ldouble: 2 Function: "atan_downward": diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index b429f42d89..d87533a5cc 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -26,11 +26,9 @@ double: 2 Function: "atan": Function: "atan2": -float: 1 Function: "atan2_towardzero": double: 1 -float: 2 Function: "atan_towardzero": double: 1 diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index ee7eea81f9..01e9cd360a 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -70,22 +70,18 @@ double: 1 ldouble: 1 Function: "atan2": -float: 2 ldouble: 2 Function: "atan2_downward": double: 1 -float: 2 ldouble: 2 Function: "atan2_towardzero": double: 1 -float: 2 ldouble: 3 Function: "atan2_upward": double: 1 -float: 2 ldouble: 2 Function: "atan_downward": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 1589403c1c..2a4b3bcfc6 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -164,25 +164,21 @@ float128: 1 ldouble: 1 Function: "atan2": -float: 2 float128: 2 ldouble: 1 Function: "atan2_downward": double: 1 -float: 2 float128: 2 ldouble: 1 Function: "atan2_towardzero": double: 1 -float: 2 float128: 3 ldouble: 1 Function: "atan2_upward": double: 1 -float: 2 float128: 2 ldouble: 1 From patchwork Fri Nov 29 13:17: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: 846124 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp857273wrp; Fri, 29 Nov 2024 05:25:33 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUaxQ5oA/Si3/5ye+SRGmOMDmgB2ZnS9FW3nnzsN7u0XUuLHiCjOdeoR5vNk8AjEz6+1CTX4A==@linaro.org X-Google-Smtp-Source: AGHT+IEEpzzlgj1Q3eu0/kT0zGTOpTwcpMdbFGh7pHyD7nyqZT+Hwoz3WA9mMPBLmg4Xq81PlAvF X-Received: by 2002:a05:622a:1809:b0:466:9a81:22a8 with SMTP id d75a77b69052e-466b3554a9amr179923711cf.10.1732886733683; Fri, 29 Nov 2024 05:25:33 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732886733; cv=pass; d=google.com; s=arc-20240605; b=XyzRlbTshVvHH+mQ1ZjQjt6GSyVJMVxeLEhDELJq53NHpBOwEq06k2+/PcMTOU8gaS b/H3nETkeb4uVbHpPM9KfJ8xQG9NF6sPx0djsmnAe41kHy9GCCUeNZEDvczdmNeGAMDq 9EOxdSY8UTUPxMtCGmvjeceglxge0zwDBlOorGzCryuuo+8sHMTbLM9hwgDm3k4h4F+J 2X2JQ6yy+oQHc9n7YTskRZ51hUuTgPF2DwVgCRW0EI9AXGTJrU+zte5LNCkP9hl6dRyW hxDKu06Ypeun89x2NdGasc49f1CVftMNqYLyTt6QhaCrbOd2lzU0l/pNz+GDu90rt8+P rUpg== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to; bh=/myq/tIVx4sIKkefcqC2ZLvXrRbv8dcMxJKXWVEU8vA=; fh=sFucH9KQW8Y8eMoQXaNIgycLDa7roysdjTHpHLIprh4=; b=iVCE0eOhzWcFLd8ehWxZa5SkRLM187u1OxtskDStwoQPzlTUnkOKwdFy/sUo//D4I+ 1qjbS2L132YnxbgSyymvAhoTW0nBF3UOzbVnBsj4ZTdjw8PAROlKN6VJL9VKx3EB3tUk sOgp+WQpTbNA3RIFVkqUML/Q7nmKIeg1eIpJXyALwKltMzzeTO6rrA1JyOSkO+RMa5/R ozgbDX4JUSAaNo4Zig0gM+BLhLMVawKaPcFlXBPolQbQjd8FekYYekVHC4nn99KSC2na EU7f9QCEhwCbI55kEjYbkdR7C+A4L/3G3tJENle4rmvLJ0DU/LMokiTof6YANIfWWImc QeVg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=u1sTrAeH; 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 d75a77b69052e-466c4055562si41911221cf.70.2024.11.29.05.25.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:25:33 -0800 (PST) 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=u1sTrAeH; 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 1CCAD3858CD1 for ; Fri, 29 Nov 2024 13:25:33 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x641.google.com (mail-pl1-x641.google.com [IPv6:2607:f8b0:4864:20::641]) by sourceware.org (Postfix) with ESMTPS id 8F2AF3858C54 for ; Fri, 29 Nov 2024 13:21:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8F2AF3858C54 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 8F2AF3858C54 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::641 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886495; cv=none; b=mMGnqE+JIxpczFo8ROkui1jnqJ69Y8PcGUAK982hus79lv7qcbRpPk6AEHhc44wdhxTya3IR1SqzZWsX/JWqgDb6SRqUSniMONFEf2RjhHn3SJPP0u8v1/H3kOu8Txrt8eR+X/NIyjRpTCQxJQKCjrn0AYJDpDUQK8gHIuaTdxs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886495; c=relaxed/simple; bh=/uckr1REA6s9eqiOzXyK0iZy/xr+sPCfohJhJTKjyAw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=BoZyybG79+rne0nPgyEgBEkUuIfC6j+opueG8xqVJ3IWRXd16DTmmWfJzhG0XdDQVdn6C3Ct3UfAafA/21CCyYXZnMt4mHJ2ciqr4oSRZfihpgfOSr7WBDNLcK5Athoqc1YtxfhHihNbz2/DXsm/6PQuD1t3ysGAEjU6R4AaUXQ= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8F2AF3858C54 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=u1sTrAeH Received: by mail-pl1-x641.google.com with SMTP id d9443c01a7336-215348d1977so9970275ad.3 for ; Fri, 29 Nov 2024 05:21:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886494; x=1733491294; 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=/myq/tIVx4sIKkefcqC2ZLvXrRbv8dcMxJKXWVEU8vA=; b=u1sTrAeHG+eVCrPZFjWBjMbCK/kPtgo0FcjYgSS59UC6hmuEZImObqwRg9cfDPsWD4 j1Onhh1veR5Yx8vGrwsJ6nZFGp++ceJiYGN9fgj3ana2x9CzHgG3oKX/dZQt2vU0kwBP yxeb1t/VNaxum/UMqH02Yv4gBM+HKGCR9nUYcqJ+Uy30M+FWZMw/7WlLDE/N7VapVvbK OQiuD4BvhOZLN381ApG0VxFlq3dznPesd0OY+ssKDMsnEbG3EvY+hN9W+OFd26iBnqhq MrJ97MO6q269bhWpobRW/r6BWtOyZhBdgs9ke+7eA1TtVyRk/LQ323d/5mSySUmI/qcM ce2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886494; x=1733491294; 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=/myq/tIVx4sIKkefcqC2ZLvXrRbv8dcMxJKXWVEU8vA=; b=IrBcz/TmUWbv55Oc7SsRVkYRY8QtXtb3q+j6/rdxVtVtoaHtNmRIulMf6QMCQ+5v7t OmQBfBloO9B7xw0vXtICpyGJdDqJWdR+Ofgq74u8UZbtCxcy7i2ZBCkxFkdg4W1UI3s3 ZL4AgfUqB8keFVv0iXSDC5WoAg1WpiuhfD2PwOki8UYaFUpqljhsv64TQK1fJhxM3X7X CMacD/nicCSiz9WoZylqyX3jjtxunE711cKR9Gb2JyKyPBU+vD6jzf7XE54FoNx2nvbV wQ2MTcNkQqZlemJItiF91DSe+l6htU9ZrBkRJruvPYR7M3Csvm2P2Dv5sZcXilL94HKb IvdA== X-Gm-Message-State: AOJu0YwY8dyJGLemxoUZTThmOlMu/b2jyEQcWb6YVwcowJELN6FCk7gr mXDiNak5dDSfRhPk0/5elV48iKB29+0THZFI0cWVTYya5wkdgLTRM6iSkbLSsSqpmxYziTSQ22R euE+nYUL5 X-Gm-Gg: ASbGnctEs6UeoXaCvYCy9bRH2ws3Y13Y4xs0rcXFVDfE3BvmszwtwZW0HDTyMxMSA2J eSfz2Qnynj34yL02u8XHpS/Z5Km8RbvjLaOSCuc69Eg9rjGEls+BFkeg0rxKt0LsvsHZ//DJR6Q C5D/5ch33K5GRHibImTietDdeMeVNo1bWnLe7vbNK2GKhs/v+2jjH5j7bsJq1zUh+C6r+JHcalx wKv0oT9zSWkI5SdsaqRjfEi8qLiWVLWPuH0VYIaTu9W4F+sXfTs4J9s2LxXK1A= X-Received: by 2002:a17:902:e881:b0:20c:c086:4998 with SMTP id d9443c01a7336-21501f622a5mr97139225ad.55.1732886493783; Fri, 29 Nov 2024 05:21:33 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.21.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:21:33 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH 20/23] math: Use atanhf from CORE-MATH Date: Fri, 29 Nov 2024 10:17:44 -0300 Message-ID: <20241129132032.476978-21-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 atanhf. 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 59.4930 45.8568 22.92% x86_64v2 59.5705 45.5804 23.48% x86_64v3 53.1838 37.7155 29.08% i686 169.354 133.5940 21.12% aarch64 (Neoverse) 26.0781 16.9829 34.88% power10 15.6591 10.7623 31.27% reciprocal-throughput master patched improvement x86_64 23.5903 18.5766 21.25% x86_64v2 22.6489 18.2683 19.34% x86_64v3 19.0401 13.9474 26.75% i686 97.6034 107.3260 -9.96% aarch64 (Neoverse) 15.3664 9.57846 37.67% power10 6.8877 4.6242 32.86% 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/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 | 4 - sysdeps/csky/fpu/libm-test-ulps | 4 - sysdeps/csky/nofpu/libm-test-ulps | 4 - sysdeps/hppa/fpu/libm-test-ulps | 4 - sysdeps/i386/fpu/e_atanhf.S | 110 --------- sysdeps/i386/fpu/libm-test-ulps | 3 - .../i386/i686/fpu/multiarch/libm-test-ulps | 3 - sysdeps/ieee754/flt-32/e_atanhf.c | 210 +++++++++++++----- sysdeps/loongarch/lp64/libm-test-ulps | 4 - sysdeps/m68k/coldfire/fpu/libm-test-ulps | 1 - sysdeps/microblaze/libm-test-ulps | 1 - sysdeps/mips/mips32/libm-test-ulps | 4 - sysdeps/mips/mips64/libm-test-ulps | 4 - sysdeps/or1k/fpu/libm-test-ulps | 4 - sysdeps/or1k/nofpu/libm-test-ulps | 4 - sysdeps/powerpc/fpu/libm-test-ulps | 4 - 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 | 4 - 28 files changed, 159 insertions(+), 252 deletions(-) delete mode 100644 sysdeps/i386/fpu/e_atanhf.S diff --git a/SHARED-FILES b/SHARED-FILES index 99f8554393..d32c837b46 100644 --- a/SHARED-FILES +++ b/SHARED-FILES @@ -318,3 +318,7 @@ sysdeps/ieee754/flt-32/e_atan2f.c: (src/binary32/atan2/atan2f.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/e_atanhf.c: + (src/binary32/atanh/atanhf.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 f48a4d2e76..0c686221d2 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -146,7 +146,6 @@ ldouble: 2 Function: "atanh": double: 2 -float: 2 ldouble: 4 Function: "atanh_advsimd": @@ -155,7 +154,6 @@ float: 1 Function: "atanh_downward": double: 3 -float: 3 ldouble: 4 Function: "atanh_sve": @@ -164,12 +162,10 @@ float: 1 Function: "atanh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "atanh_upward": double: 3 -float: 3 ldouble: 4 Function: "cabs": diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps index 860da75a86..e108b2543c 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -98,22 +98,18 @@ ldouble: 2 Function: "atanh": double: 2 -float: 2 ldouble: 4 Function: "atanh_downward": double: 3 -float: 3 ldouble: 4 Function: "atanh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "atanh_upward": double: 3 -float: 3 ldouble: 4 Function: "cabs": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index 7b5208e2f8..a0d6e89b49 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -75,19 +75,15 @@ double: 2 Function: "atanh": double: 2 -float: 2 Function: "atanh_downward": double: 3 -float: 3 Function: "atanh_towardzero": double: 2 -float: 2 Function: "atanh_upward": double: 3 -float: 3 Function: "cabs": double: 1 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index a46825b0c1..1a6b37a728 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -20,7 +20,6 @@ Function: "atan2": Function: "atanh": double: 2 -float: 2 Function: "cabs": double: 1 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index 5c1046b9f5..ea2f3a22b0 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -74,19 +74,15 @@ double: 1 Function: "atanh": double: 2 -float: 2 Function: "atanh_downward": double: 3 -float: 3 Function: "atanh_towardzero": double: 2 -float: 2 Function: "atanh_upward": double: 3 -float: 3 Function: "cabs": double: 1 diff --git a/sysdeps/csky/fpu/libm-test-ulps b/sysdeps/csky/fpu/libm-test-ulps index 0a18d51742..f8ab682f84 100644 --- a/sysdeps/csky/fpu/libm-test-ulps +++ b/sysdeps/csky/fpu/libm-test-ulps @@ -71,19 +71,15 @@ double: 1 Function: "atanh": double: 2 -float: 2 Function: "atanh_downward": double: 3 -float: 3 Function: "atanh_towardzero": double: 2 -float: 2 Function: "atanh_upward": double: 3 -float: 3 Function: "cabs": double: 1 diff --git a/sysdeps/csky/nofpu/libm-test-ulps b/sysdeps/csky/nofpu/libm-test-ulps index 55be0213ec..f8b888ea9d 100644 --- a/sysdeps/csky/nofpu/libm-test-ulps +++ b/sysdeps/csky/nofpu/libm-test-ulps @@ -71,19 +71,15 @@ double: 1 Function: "atanh": double: 2 -float: 2 Function: "atanh_downward": double: 3 -float: 3 Function: "atanh_towardzero": double: 2 -float: 2 Function: "atanh_upward": double: 3 -float: 3 Function: "cabs": double: 1 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index c92f46cc15..c8d4423ae0 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -74,19 +74,15 @@ double: 1 Function: "atanh": double: 2 -float: 2 Function: "atanh_downward": double: 3 -float: 3 Function: "atanh_towardzero": double: 2 -float: 2 Function: "atanh_upward": double: 3 -float: 3 Function: "cabs": double: 1 diff --git a/sysdeps/i386/fpu/e_atanhf.S b/sysdeps/i386/fpu/e_atanhf.S deleted file mode 100644 index c94dc7ba51..0000000000 --- a/sysdeps/i386/fpu/e_atanhf.S +++ /dev/null @@ -1,110 +0,0 @@ -/* ix87 specific implementation of arctanh function. - 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 - . */ - -#include -#include -#include - - .section .rodata - - .align ALIGNARG(4) - .type half,@object -half: .double 0.5 - ASM_SIZE_DIRECTIVE(half) - .type one,@object -one: .double 1.0 - ASM_SIZE_DIRECTIVE(one) - .type limit,@object -limit: .double 0.29 - ASM_SIZE_DIRECTIVE(limit) - .align ALIGNARG(4) - .type ln2_2,@object -ln2_2: .quad 0xb17217f7d1cf79ac /* 0.3465735902799726547086160 */ - .short 0x3ffd - ASM_SIZE_DIRECTIVE(ln2_2) - -DEFINE_FLT_MIN - -#ifdef PIC -#define MO(op) op##@GOTOFF(%edx) -#else -#define MO(op) op -#endif - - .text -ENTRY(__ieee754_atanhf) - movl 4(%esp), %ecx - - movl %ecx, %eax - andl $0x7fffffff, %eax - cmpl $0x7f800000, %eax - ja 5f - -#ifdef PIC - LOAD_PIC_REG (dx) -#endif - - andl $0x80000000, %ecx // ECX == 0 iff X >= 0 - - fldt MO(ln2_2) // 0.5*ln2 - xorl %ecx, 4(%esp) - flds 4(%esp) // |x| : 0.5*ln2 - fcoml MO(half) // |x| : 0.5*ln2 - fld %st(0) // |x| : |x| : 0.5*ln2 - fnstsw // |x| : |x| : 0.5*ln2 - sahf - jae 2f - fadd %st, %st(1) // |x| : 2*|x| : 0.5*ln2 - fld %st // |x| : |x| : 2*|x| : 0.5*ln2 - fsubrl MO(one) // 1-|x| : |x| : 2*|x| : 0.5*ln2 - fxch // |x| : 1-|x| : 2*|x| : 0.5*ln2 - fmul %st(2) // 2*|x|^2 : 1-|x| : 2*|x| : 0.5*ln2 - fdivp // (2*|x|^2)/(1-|x|) : 2*|x| : 0.5*ln2 - faddp // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 - fcoml MO(limit) // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 - fnstsw // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 - sahf - jae 4f - fyl2xp1 // 0.5*ln2*ld(1+2*|x|+(2*|x|^2)/(1-|x|)) - FLT_CHECK_FORCE_UFLOW_NONNEG - jecxz 3f - fchs // 0.5*ln2*ld(1+2*x+(2*x^2)/(1-x)) -3: ret - - .align ALIGNARG(4) -4: faddl MO(one) // 1+2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 - fyl2x // 0.5*ln2*ld(1+2*|x|+(2*|x|^2)/(1-|x|)) - jecxz 3f - fchs // 0.5*ln2*ld(1+2*x+(2*x^2)/(1-x)) -3: ret - - .align ALIGNARG(4) -2: faddl MO(one) // 1+|x| : |x| : 0.5*ln2 - fxch // |x| : 1+|x| : 0.5*ln2 - fsubrl MO(one) // 1-|x| : 1+|x| : 0.5*ln2 - fdivrp // (1+|x|)/(1-|x|) : 0.5*ln2 - fyl2x // 0.5*ln2*ld((1+|x|)/(1-|x|)) - jecxz 3f - fchs // 0.5*ln2*ld((1+x)/(1-x)) -3: ret - - // x == NaN -5: flds 4(%esp) - ret -END(__ieee754_atanhf) -libm_alias_finite (__ieee754_atanhf, __atanhf) diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index b1f5b5f900..f0cc6594af 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -126,19 +126,16 @@ ldouble: 3 Function: "atanh_downward": double: 1 -float: 1 float128: 4 ldouble: 4 Function: "atanh_towardzero": double: 1 -float: 1 float128: 2 ldouble: 3 Function: "atanh_upward": double: 1 -float: 1 float128: 4 ldouble: 5 diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index b651fd4fbf..8a56f383a9 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -126,19 +126,16 @@ ldouble: 3 Function: "atanh_downward": double: 1 -float: 1 float128: 4 ldouble: 4 Function: "atanh_towardzero": double: 1 -float: 1 float128: 2 ldouble: 3 Function: "atanh_upward": double: 1 -float: 1 float128: 4 ldouble: 5 diff --git a/sysdeps/ieee754/flt-32/e_atanhf.c b/sysdeps/ieee754/flt-32/e_atanhf.c index d36eb15160..f6de5281ca 100644 --- a/sysdeps/ieee754/flt-32/e_atanhf.c +++ b/sysdeps/ieee754/flt-32/e_atanhf.c @@ -1,76 +1,176 @@ -/* Copyright (C) 2011-2024 Free Software Foundation, Inc. - This file is part of the GNU C Library. +/* Correctly-rounded inverse hyperbolic tangent function for binary32 value. - 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. +Copyright (c) 2023-2024 Alexei Sibidanov. - 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. +The original version of this file was copied from the CORE-MATH +project (file src/binary32/acosh/acoshf.c, revision bc385c2). - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ +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. -/* __ieee754_atanh(x) - Method : - 1.Reduced x to positive by atanh(-x) = -atanh(x) - 2.For x>=0.5 - 1 2x x - atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------) - 2 1 - x 1 - x +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. +*/ - For x<0.5 - atanh(x) = 0.5*log1p(2x+2x*x/(1-x)) - - Special cases: - atanh(x) is NaN if |x| > 1 with signal; - atanh(NaN) is that NaN with no signal; - atanh(+-1) is +-INF with signal. - - */ - -#include -#include #include -#include -#include -#include +#include #include +#include "math_config.h" -static const float huge = 1e30; +static __attribute__((noinline)) float +as_special (float x) +{ + uint32_t ix = asuint (x); + uint32_t ax = ix << 1; + if (ax == 0x7f000000u) /* +-1 */ + return __math_divzerof (ix >> 31); + if (ax > 0xff000000u) + return x + x; /* nan */ + return __math_invalidf (x); +} float __ieee754_atanhf (float x) { - float xa = fabsf (x); - float t; - if (isless (xa, 0.5f)) + /* Calculate atanh(x) using the difference of two logarithms -- atanh(x) = + (ln(1+x) - ln(1-x))/2 */ + static const double tr[] = + { + 0x1.fc07f02p-1, 0x1.f44659ep-1, 0x1.ecc07b3p-1, 0x1.e573ac9p-1, + 0x1.de5d6e4p-1, 0x1.d77b655p-1, 0x1.d0cb58fp-1, 0x1.ca4b305p-1, + 0x1.c3f8f02p-1, 0x1.bdd2b8ap-1, 0x1.b7d6c3ep-1, 0x1.b20364p-1, + 0x1.ac5701bp-1, 0x1.a6d01a7p-1, 0x1.a16d3f9p-1, 0x1.9c2d14fp-1, + 0x1.970e4f8p-1, 0x1.920fb4ap-1, 0x1.8d3018dp-1, 0x1.886e5f1p-1, + 0x1.83c977bp-1, 0x1.7f405fdp-1, 0x1.7ad2209p-1, 0x1.767dce4p-1, + 0x1.724287fp-1, 0x1.6e1f76bp-1, 0x1.6a13cd1p-1, 0x1.661ec6ap-1, + 0x1.623fa77p-1, 0x1.5e75bb9p-1, 0x1.5ac056bp-1, 0x1.571ed3cp-1, + 0x1.5390949p-1, 0x1.5015015p-1, 0x1.4cab887p-1, 0x1.49539e4p-1, + 0x1.460cbc8p-1, 0x1.42d6626p-1, 0x1.3fb014p-1, 0x1.3c995a4p-1, + 0x1.3991c2cp-1, 0x1.3698df4p-1, 0x1.33ae45bp-1, 0x1.30d1901p-1, + 0x1.2e025cp-1, 0x1.2b404adp-1, 0x1.288b013p-1, 0x1.25e2271p-1, + 0x1.2345679p-1, 0x1.20b470cp-1, 0x1.1e2ef3bp-1, 0x1.1bb4a4p-1, + 0x1.1945381p-1, 0x1.16e0689p-1, 0x1.1485f0ep-1, 0x1.12358e7p-1, + 0x1.0fef011p-1, 0x1.0db20a9p-1, 0x1.0b7e6ecp-1, 0x1.0953f39p-1, + 0x1.073260ap-1, 0x1.05197f8p-1, 0x1.03091b5p-1, 0x1.010101p-1 + }; + static const double tl[] = + { + 0x1.fe02a69106789p-9, 0x1.7b91b1155b11bp-7, 0x1.39e87ba1ebd6p-6, + 0x1.b42dd713971bfp-6, 0x1.16536ee637ae1p-5, 0x1.51b073c96183fp-5, + 0x1.8c345da019b21p-5, 0x1.c5e5492abc743p-5, 0x1.fec912fbbeabbp-5, + 0x1.1b72ad33f67ap-4, 0x1.371fc1f6e8f74p-4, 0x1.526e5e5a1b438p-4, + 0x1.6d60fe601d21dp-4, 0x1.87fa06438c911p-4, 0x1.a23bc223ab563p-4, + 0x1.bc28673a58cd6p-4, 0x1.d5c216b8fbb91p-4, 0x1.ef0adcaec5936p-4, + 0x1.040259530d041p-3, 0x1.1058bf8d24ad5p-3, 0x1.1c898c09d99fbp-3, + 0x1.2895a13e286a3p-3, 0x1.347dd9a447d55p-3, 0x1.404308716a7e4p-3, + 0x1.4be5f963b78a1p-3, 0x1.5767718015a6cp-3, 0x1.62c82f3a5c795p-3, + 0x1.6e08eab13a1e4p-3, 0x1.792a55fe147a2p-3, 0x1.842d1d9928b17p-3, + 0x1.8f11e873a62c7p-3, 0x1.99d958207e08bp-3, 0x1.a484090c1bb0ap-3, + 0x1.af129324b786bp-3, 0x1.b9858970710fbp-3, 0x1.c3dd7a6ddad4dp-3, + 0x1.ce1af0b65f3ebp-3, 0x1.d83e725022f3ep-3, 0x1.e2488197c6c26p-3, + 0x1.ec399d3d68ccp-3, 0x1.f6123fac028acp-3, 0x1.ffd2e07e7f498p-3, + 0x1.04bdf9e3b26d2p-2, 0x1.0986f4fa93521p-2, 0x1.0e4498651cc8cp-2, + 0x1.12f719595efbcp-2, 0x1.179eabb0a99a1p-2, 0x1.1c3b81e933c25p-2, + 0x1.20cdcd0e0ab6ep-2, 0x1.2555bcf50f7cbp-2, 0x1.29d37ff34b08bp-2, + 0x1.2e47437640268p-2, 0x1.32b1338401d71p-2, 0x1.37117b5c147b6p-2, + 0x1.3b6844a13fc23p-2, 0x1.3fb5b857f6f42p-2, 0x1.43f9fe2f7ce67p-2, + 0x1.48353d11488dfp-2, 0x1.4c679b014ee3ap-2, 0x1.50913cc03686bp-2, + 0x1.54b2468259498p-2, 0x1.58cadb57d7989p-2, 0x1.5cdb1dcaa1765p-2, + 0x1.60e32f46788d9p-2 + }; + static const double ln2n[] = + { + 0x1.62e42fedb2a44p-2, 0x1.62e42feeab21ap-1, 0x1.0a2b23f33e789p+0, + 0x1.62e42fef27604p+0, 0x1.bb9d3beb1048p+0, 0x1.0a2b23f37c97ep+1, + 0x1.3687a9f1710bcp+1, 0x1.62e42fef657fap+1, 0x1.8f40b5ed59f38p+1, + 0x1.bb9d3beb4e676p+1, 0x1.e7f9c1e942db4p+1, 0x1.0a2b23f39ba79p+2, + 0x1.205966f295e18p+2, 0x1.3687a9f1901b7p+2, 0x1.4cb5ecf08a556p+2, + 0x1.62e42fef848f5p+2, 0x1.791272ee7ec93p+2, 0x1.8f40b5ed79032p+2, + 0x1.a56ef8ec733d1p+2, 0x1.bb9d3beb6d77p+2, 0x1.d1cb7eea67b0fp+2, + 0x1.e7f9c1e961eaep+2, 0x1.fe2804e85c24dp+2, 0x1.0a2b23f3ab2f6p+3 + }; + static const double b[] = { - if (__glibc_unlikely (xa < 0x1.0p-28f)) + 0x1.fffffffce5a6ap-2, -0x1.0001f81ec0ab8p-2, 0x1.555a0f53d79a5p-3 + }; + static const double s[] = { 1, -1 }; + + uint32_t ux = asuint (x); + uint32_t ax = ux << 1; + if (__glibc_unlikely (ax < 0x7a300000u || ax >= 0x7f000000u)) + { + if (__glibc_unlikely (ax >= 0x7f000000u)) + return as_special (x); + if (__glibc_unlikely (ax < 0x73713744u)) { - math_force_eval (huge + x); - math_check_force_underflow (x); - return x; + if (ax == 0) + return x; /* x = +-0 */ + return fmaf (x, 0x1p-25f, x); /* |x| < 0.000352112(0x1.713744p-12) */ + } + else + { /* |x| < 0x1.3p-5 */ + static const double c[] = + { + 0x1.5555555555527p-2, 0x1.9999999ba4ee8p-3, + 0x1.24922c280990ap-3, 0x1.c8236aae809c6p-4 + }; + double z = x; + double z2 = z * z; + double z4 = z2 * z2; + double r = c[0] + z2 * c[1] + z4 * (c[2] + z2 * c[3]); + return z + (z * z2) * r; } - - t = xa + xa; - t = 0.5f * __log1pf (t + t * xa / (1.0f - xa)); } - else if (__glibc_likely (isless (xa, 1.0f))) - t = 0.5f * __log1pf ((xa + xa) / (1.0f - xa)); - else + double sgn = s[ux >> 31]; + unsigned int e = ax >> 24; + unsigned int md = ((ux << 8) | 1 << 31) >> (126 - e); + unsigned int mn = -md; + int nz = __builtin_clz (mn) + 1; + mn <<= nz; + unsigned jn = mn >> 26, jd = md >> 26; + double tn = asdouble (((int64_t) mn << 20) | (INT64_C(1023) << 52)); + double td = asdouble (((int64_t) md << 20) | (INT64_C(1023) << 52)); + double zn = tn * tr[jn] - 1; + double zd = td * tr[jd] - 1; + double zn2 = zn * zn; + double zd2 = zd * zd; + double rn = ((tl[jn] - ln2n[nz - 1]) + zn * b[0]) + zn2 * (b[1] + zn * b[2]); + double rd = (tl[jd] + zd * b[0]) + zd2 * (b[1] + zd * b[2]); + double r = sgn * (rd - rn); + float ub = r; + float lb = r + sgn * 0.226e-9; + if (__glibc_unlikely (ub != lb)) { - if (isgreater (xa, 1.0f)) - return (x - x) / (x - x); - - return x / 0.0f; + static const double c[] = + { + 0x1p-1, -0x1.000000000001bp-2, 0x1.55555555555bap-3, + -0x1.fffffff26d72ep-4, 0x1.99999989035p-4, -0x1.555c39cb9ee8p-4, + 0x1.24992d8b014a1p-4 + }; + double zn4 = zn2 * zn2, zd4 = zd2 * zd2; + double fn = zn * (((c[0] + zn * c[1]) + zn2 * (c[2] + zn * c[3])) + + zn4 * ((c[4] + zn * c[5]) + zn2 * c[6])); + fn += 0x1.0ca86c3898dp-50 * nz; + fn += tl[jn]; + double en = nz * 0x1.62e42fefa3ap-2; + double fd = zd * (((c[0] + zd * c[1]) + zd2 * (c[2] + zd * c[3])) + + zd4 * ((c[4] + zd * c[5]) + zd2 * c[6])); + fd += tl[jd]; + r = fd - fn + en; + ub = sgn * r; } - - return copysignf (t, x); + return ub; } libm_alias_finite (__ieee754_atanhf, __atanhf) diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index 2b726c95a9..08a3d63393 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -98,22 +98,18 @@ ldouble: 2 Function: "atanh": double: 2 -float: 2 ldouble: 4 Function: "atanh_downward": double: 3 -float: 3 ldouble: 4 Function: "atanh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "atanh_upward": double: 3 -float: 3 ldouble: 4 Function: "cabs": diff --git a/sysdeps/m68k/coldfire/fpu/libm-test-ulps b/sysdeps/m68k/coldfire/fpu/libm-test-ulps index 989015ff9a..998088f295 100644 --- a/sysdeps/m68k/coldfire/fpu/libm-test-ulps +++ b/sysdeps/m68k/coldfire/fpu/libm-test-ulps @@ -4,7 +4,6 @@ Function: "atan2": Function: "atanh": -float: 1 Function: Imaginary part of "cacosh": float: 1 diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps index 30eb8f1a0c..a6fa8376e1 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -17,7 +17,6 @@ Function: "atan2": Function: "atanh": double: 2 -float: 2 Function: "cabs": double: 1 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index 6b0bf0e003..2487ffe183 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -74,19 +74,15 @@ double: 1 Function: "atanh": double: 2 -float: 2 Function: "atanh_downward": double: 3 -float: 3 Function: "atanh_towardzero": double: 2 -float: 2 Function: "atanh_upward": double: 3 -float: 3 Function: "cabs": double: 1 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index 1ed68bb36d..0ce7c06b2b 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -98,22 +98,18 @@ ldouble: 2 Function: "atanh": double: 2 -float: 2 ldouble: 4 Function: "atanh_downward": double: 3 -float: 3 ldouble: 4 Function: "atanh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "atanh_upward": double: 3 -float: 3 ldouble: 4 Function: "cabs": diff --git a/sysdeps/or1k/fpu/libm-test-ulps b/sysdeps/or1k/fpu/libm-test-ulps index 56485715bd..c673d62a62 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/fpu/libm-test-ulps @@ -74,19 +74,15 @@ double: 1 Function: "atanh": double: 2 -float: 2 Function: "atanh_downward": double: 3 -float: 3 Function: "atanh_towardzero": double: 2 -float: 2 Function: "atanh_upward": double: 3 -float: 3 Function: "cabs": double: 1 diff --git a/sysdeps/or1k/nofpu/libm-test-ulps b/sysdeps/or1k/nofpu/libm-test-ulps index 7ece256112..8e4801fe24 100644 --- a/sysdeps/or1k/nofpu/libm-test-ulps +++ b/sysdeps/or1k/nofpu/libm-test-ulps @@ -74,19 +74,15 @@ double: 1 Function: "atanh": double: 2 -float: 2 Function: "atanh_downward": double: 3 -float: 3 Function: "atanh_towardzero": double: 2 -float: 2 Function: "atanh_upward": double: 3 -float: 3 Function: "cabs": double: 1 diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index 95e4d049ac..e394159703 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -126,25 +126,21 @@ ldouble: 2 Function: "atanh": double: 2 -float: 2 float128: 4 ldouble: 2 Function: "atanh_downward": double: 3 -float: 3 float128: 4 ldouble: 3 Function: "atanh_towardzero": double: 2 -float: 2 float128: 2 ldouble: 4 Function: "atanh_upward": double: 3 -float: 3 float128: 4 ldouble: 4 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index 5d6a34115e..deec711353 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -102,22 +102,18 @@ ldouble: 2 Function: "atanh": double: 2 -float: 2 ldouble: 2 Function: "atanh_downward": double: 3 -float: 3 ldouble: 3 Function: "atanh_towardzero": double: 2 -float: 2 ldouble: 4 Function: "atanh_upward": double: 3 -float: 3 ldouble: 4 Function: "cabs": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index ff1e792986..3a551201e7 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -98,22 +98,18 @@ ldouble: 2 Function: "atanh": double: 2 -float: 2 ldouble: 4 Function: "atanh_downward": double: 3 -float: 3 ldouble: 4 Function: "atanh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "atanh_upward": double: 3 -float: 3 ldouble: 4 Function: "cabs": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index 1a4577cd5c..2f89c82811 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -98,22 +98,18 @@ ldouble: 2 Function: "atanh": double: 2 -float: 2 ldouble: 4 Function: "atanh_downward": double: 3 -float: 3 ldouble: 4 Function: "atanh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "atanh_upward": double: 3 -float: 3 ldouble: 4 Function: "cabs": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index 4ff845bc0a..54a42a8c51 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -98,22 +98,18 @@ ldouble: 2 Function: "atanh": double: 2 -float: 2 ldouble: 4 Function: "atanh_downward": double: 3 -float: 3 ldouble: 4 Function: "atanh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "atanh_upward": double: 3 -float: 3 ldouble: 4 Function: "cabs": diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index d87533a5cc..3694110fc1 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -35,11 +35,9 @@ double: 1 Function: "atanh": double: 2 -float: 2 Function: "atanh_towardzero": double: 2 -float: 2 Function: "cabs": double: 1 diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index 01e9cd360a..56a7a04480 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -98,22 +98,18 @@ ldouble: 2 Function: "atanh": double: 2 -float: 2 ldouble: 4 Function: "atanh_downward": double: 3 -float: 3 ldouble: 4 Function: "atanh_towardzero": double: 2 -float: 2 ldouble: 2 Function: "atanh_upward": double: 3 -float: 3 ldouble: 4 Function: "cabs": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 2a4b3bcfc6..74192a4c77 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -239,25 +239,21 @@ float: 1 Function: "atanh": double: 2 -float: 2 float128: 4 ldouble: 3 Function: "atanh_downward": double: 3 -float: 3 float128: 4 ldouble: 5 Function: "atanh_towardzero": double: 2 -float: 2 float128: 2 ldouble: 4 Function: "atanh_upward": double: 3 -float: 3 float128: 4 ldouble: 5 From patchwork Fri Nov 29 13:17: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: 846141 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp875536wrp; Fri, 29 Nov 2024 05:54:10 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWmmOgxZ64w8viXYbWBpNzG+PZAsX4vZJMCZ20UuZUC3YKnZkeFCMmE8gbnKDRsYVKt/YZsCw==@linaro.org X-Google-Smtp-Source: AGHT+IF3q+F4OIkwTpn4Vzs4LjIyuZngn16oZbBVO6sc3L3pJCNm5gzNOmkAlzClvZWpRhDS+2hw X-Received: by 2002:a05:6902:2709:b0:e38:1364:7075 with SMTP id 3f1490d57ef6-e395b8ce8abmr10571731276.29.1732888450523; Fri, 29 Nov 2024 05:54:10 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732888450; cv=pass; d=google.com; s=arc-20240605; b=UuYfjLt/Ow3dSdr+8lHT2VOnLvOZVt+/7XSAqQKDg0StiMerd0IM5z9+qTLm5aSqBX UBLT72FEtbBZEK8SSaVh6Qlsp8LoJGp0/sr402KmC7d+lyv2TdKxMp1iSpJS+Qi7wxx7 ouwYzHAxt2BHjBN/waflZWdi3Icro034z3YO6OGaQdtkXvaTVSNJJce8nce5cRwXz+x4 8eUY+zN/7eMB1kSwdUPKCkPDrLqSCvt3RFO1SBlWdJRee5SY6cn6ZLpFjwXwaIm8SB4r GSiT+Z/6IB5/v+B0+aiqUekGjwsznWYTK7fs10jWlXDhDc85PXn1AmC0fTYEVf86eNHR hTow== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=srI9cQxCaA/4Jn0TH7Xto3hRykBQVudfovtW8ULk/EM=; fh=sFucH9KQW8Y8eMoQXaNIgycLDa7roysdjTHpHLIprh4=; b=CdE3SKxjXnCzLozyCZHZNgwNj8LUfJks/xHtQk+PYoORfDXwB810KjDxleGkaVydX7 gNN6+eAhnDEJYEWaO0LyoBAVxS52TiOwjROru0L1Y9somLwxU/4Vun4W7qwlUDTka2e4 wQVFigKDmn6Hk/qUdGiM0v9pg+m2cHVGW3LZ3Rdv+fk07enPEFEn7OMvJFT6u5L1tzOM AfIZeZJErdnIvUeAwpThnLiy+P2mELkAnCvIkStDWONkICN4o6bizwnHrPg2n8nLomxg TFLfeh2dNPeR02eusK+/1vpX2gPKAkM/UPbMn7/gcr7/IxKwZdC12XtXdaZddHn52tFx cPIg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=reCEBR8H; 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-85b82db88fdsi1405783241.171.2024.11.29.05.54.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:54:10 -0800 (PST) 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=reCEBR8H; 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 091A73858D3C for ; Fri, 29 Nov 2024 13:54:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 091A73858D3C Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=reCEBR8H X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by sourceware.org (Postfix) with ESMTPS id 6814B3858C56 for ; Fri, 29 Nov 2024 13:21:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6814B3858C56 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 6814B3858C56 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62c ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886497; cv=none; b=a5MIo4KD/tA6q0O0Tw0khVDe+moz6igC4M+oJH9tqqXxxxhsubPbrsXrOrjaKaCPe+cTjRxDvQW6OW3HZQmnTfbjXZ5DLLi8H0JSOx9PpcfWt3A9mV4DJgJMt2LbesxX8bFecnDmQYv/kckronIcZ7sjvla7pMy5v0i0kf82rc4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886497; c=relaxed/simple; bh=9NdkNRH4qyBZeVa7MtN7tdKSuZ5Ukg29kAWsf+EuwlQ=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=x8BZHR/nipa+ESAvfv3bKvRi42jgHIEpRA7HK20PaD01s+Y4x8BTuLMrsskA8cnnN+KFRPN4iLem79pg7BYJjE1NRPktaSvIo+YakToumfSGioy6b0/cncTH9VMwvONd/uj6KHVclwF+95TsGB6XMhkMEnj2ztTxnaqT5EmElfk= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6814B3858C56 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-21288ce11d7so16175965ad.2 for ; Fri, 29 Nov 2024 05:21:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886496; x=1733491296; 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=srI9cQxCaA/4Jn0TH7Xto3hRykBQVudfovtW8ULk/EM=; b=reCEBR8HBWfN6ixtpoqSEcGC3uiy1uAaudpoBVwcw+eikBc0PP3xsIcHQ3tT7VThFz fbTri9XzeHUJvyyy4ko72d219xC6DVYtPaYEJJ3JzL583H1pzKPLCiKV5ADc1yetWXNA PlazkUW+dBS1wWVcbSbvqVYS7bhZU11l06PqVXAMqdqTi+OaUbD9re1o5Mv3f7idMgjk IbBCP3dyd7LNQvPZhXvHNEaSI4hnu6tqBOUgletErBrGjc/urYYUC3ZX8sDITaY9O2tM fOl/yRhVAcPCN/K1OjGRR+Z8JE+blOOOOlRoFac2G/pQJSHqzUq5Zhy7idNxeKCvreFS Eo3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886496; x=1733491296; 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=srI9cQxCaA/4Jn0TH7Xto3hRykBQVudfovtW8ULk/EM=; b=VgcXwCWLu+RzB/wR3rwZ4tVBk7ur17NctVgwPy9FoIQJ0j4P2QNyGHfljsG8rfGMvk tfMpeoYIJSZwbvgo94/9Cf/z3kwzWda0df0DUU9UeCmuEl2ACxU/WghbHdvwwo9q0TSC hg267XwWtePA9v/1eBvFc/csplUMdpcx5mZ92aaWoYEYrniiXmpqheqNxhTH74RS8Pp1 QfWRrSBDOTgABmu9aWLF6WD1rYH/1TMycRj5I82BgKhWm0kzAG3CcfcD58+uHLa11d4I CoPYl7S0JZZGuFvn5qbkWO/vA26S8S4eKOtHCyzRKJ5o3rvFAC87zelqvaXfijEVsxIc hvrg== X-Gm-Message-State: AOJu0YynRTxOhnU4a7Callyf65qDVHICBaN6/GljCbBiELa88OZg2ZfT vEi4fRjli+D1IL/0Cxzrpk9Q52g/AeBJuBh0abU+S9GCeeZFlVduj+mnC6xjVEa5pSx4zW3EHbZ 7RVKIlw== X-Gm-Gg: ASbGnct4VV8lqLnKEIIkSjc680dbLOPNA/LzXs2oBdck3Of7MrdfH2J8GmJEh244YWr bSuAToNZ+CM1J199zAtJJxBF/lrjSkgdwudy9n5/OEnWLrCfKfpIi63YDeTcGwA2h8mAfKrNF9i ReHQxRchsEyHCdkFo5zHKzKqIopFMdaGH6PGCHUkvyzvOrDk7ztCcR80fJ37S6PsmTaYQW43GqW gM1QrCQ7hC5RXGEbKJ5D1bKGTnmrnTgxAY+MQfzMBANoYId6/VSTVP5Y+PEa3A= X-Received: by 2002:a17:902:cec3:b0:20c:cd23:449d with SMTP id d9443c01a7336-21501e5d86amr146250655ad.46.1732886495891; Fri, 29 Nov 2024 05:21:35 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.21.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:21:35 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH 21/23] math: Use coshf from CORE-MATH Date: Fri, 29 Nov 2024 10:17:45 -0300 Message-ID: <20241129132032.476978-22-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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), although it should worse performance than current one. The current implementation performance comes mainly from the internal usage of the optimize expf implementation, and shows a maximum ULPs of 2 for FE_TONEAREST and 3 for other rounding modes. 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 40.6995 49.0737 -20.58% x86_64v2 40.5841 44.3604 -9.30% x86_64v3 39.3879 39.7502 -0.92% i686 112.3380 129.8570 -15.59% aarch64 (Neoverse) 18.6914 17.0946 8.54% power10 11.1343 9.3245 16.25% reciprocal-throughput master patched improvement x86_64 18.6471 24.1077 -29.28% x86_64v2 17.7501 20.2946 -14.34% x86_64v3 17.8262 17.1877 3.58% i686 64.1454 86.5645 -34.95% aarch64 (Neoverse) 9.77226 12.2314 -25.16% power10 4.0200 5.3316 -32.63% 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/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 | 8 +- 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 | 4 - .../i386/i686/fpu/multiarch/libm-test-ulps | 4 - sysdeps/ieee754/flt-32/e_atan2f.c | 2 +- sysdeps/ieee754/flt-32/e_coshf.c | 156 ++++++++++++------ 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/or1k/fpu/libm-test-ulps | 4 - sysdeps/or1k/nofpu/libm-test-ulps | 4 - sysdeps/powerpc/fpu/libm-test-ulps | 4 - 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 | 6 +- 27 files changed, 112 insertions(+), 144 deletions(-) diff --git a/SHARED-FILES b/SHARED-FILES index d32c837b46..320e0b3be9 100644 --- a/SHARED-FILES +++ b/SHARED-FILES @@ -322,3 +322,7 @@ sysdeps/ieee754/flt-32/e_atanhf.c: (src/binary32/atanh/atanhf.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/e_coshf.c: + (src/binary32/cosh/coshf.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 0c686221d2..2bbaf97239 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -698,7 +698,6 @@ ldouble: 2 Function: "cosh": double: 2 -float: 2 ldouble: 2 Function: "cosh_advsimd": @@ -707,7 +706,6 @@ float: 2 Function: "cosh_downward": double: 3 -float: 1 ldouble: 3 Function: "cosh_sve": @@ -716,12 +714,10 @@ float: 2 Function: "cosh_towardzero": double: 3 -float: 1 ldouble: 3 Function: "cosh_upward": double: 2 -float: 2 ldouble: 3 Function: Real part of "cpow": diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps index e108b2543c..6b433fbba7 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -625,22 +625,18 @@ ldouble: 2 Function: "cosh": double: 2 -float: 2 ldouble: 2 Function: "cosh_downward": double: 3 -float: 1 ldouble: 3 Function: "cosh_towardzero": double: 3 -float: 1 ldouble: 3 Function: "cosh_upward": double: 2 -float: 2 ldouble: 3 Function: Real part of "cpow": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index a0d6e89b49..a16c1097f0 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -497,19 +497,15 @@ float: 2 Function: "cosh": double: 3 -float: 3 Function: "cosh_downward": double: 3 -float: 1 Function: "cosh_towardzero": double: 3 -float: 1 Function: "cosh_upward": double: 3 -float: 2 Function: Real part of "cpow": double: 9 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index 1a6b37a728..de09fa9b92 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -124,7 +124,6 @@ float: 1 Function: "cosh": double: 2 -float: 2 Function: Real part of "cpow": double: 2 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index ea2f3a22b0..df423594de 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -52,8 +52,6 @@ double: 3 Function: "atan": double: 1 -Function: "atan2": - Function: "atan2_downward": double: 1 @@ -493,19 +491,15 @@ float: 2 Function: "cosh": double: 2 -float: 2 Function: "cosh_downward": double: 3 -float: 1 Function: "cosh_towardzero": double: 3 -float: 1 Function: "cosh_upward": double: 2 -float: 2 Function: Real part of "cpow": double: 2 @@ -674,7 +668,7 @@ float: 2 Function: Real part of "ctanh_downward": double: 4 -float: 2 +float: 3 Function: Imaginary part of "ctanh_downward": double: 6 diff --git a/sysdeps/csky/fpu/libm-test-ulps b/sysdeps/csky/fpu/libm-test-ulps index f8ab682f84..ee95d85682 100644 --- a/sysdeps/csky/fpu/libm-test-ulps +++ b/sysdeps/csky/fpu/libm-test-ulps @@ -489,19 +489,15 @@ float: 1 Function: "cosh": double: 2 -float: 2 Function: "cosh_downward": double: 3 -float: 1 Function: "cosh_towardzero": double: 3 -float: 1 Function: "cosh_upward": double: 2 -float: 2 Function: Real part of "cpow": double: 2 diff --git a/sysdeps/csky/nofpu/libm-test-ulps b/sysdeps/csky/nofpu/libm-test-ulps index f8b888ea9d..64239e6e64 100644 --- a/sysdeps/csky/nofpu/libm-test-ulps +++ b/sysdeps/csky/nofpu/libm-test-ulps @@ -487,19 +487,15 @@ float: 2 Function: "cosh": double: 2 -float: 2 Function: "cosh_downward": double: 1 -float: 1 Function: "cosh_towardzero": double: 1 -float: 1 Function: "cosh_upward": double: 1 -float: 2 Function: Real part of "cpow": double: 2 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index c8d4423ae0..845f6a8331 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -503,19 +503,15 @@ float: 2 Function: "cosh": double: 2 -float: 2 Function: "cosh_downward": double: 3 -float: 1 Function: "cosh_towardzero": double: 3 -float: 1 Function: "cosh_upward": double: 2 -float: 2 Function: Real part of "cpow": double: 2 diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index f0cc6594af..f42aed258b 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -757,25 +757,21 @@ ldouble: 2 Function: "cosh": double: 1 -float: 2 float128: 2 ldouble: 3 Function: "cosh_downward": double: 3 -float: 1 float128: 3 ldouble: 3 Function: "cosh_towardzero": double: 3 -float: 1 float128: 3 ldouble: 3 Function: "cosh_upward": double: 4 -float: 2 float128: 3 ldouble: 3 diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index 8a56f383a9..374aa0a939 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -757,25 +757,21 @@ ldouble: 2 Function: "cosh": double: 1 -float: 2 float128: 2 ldouble: 3 Function: "cosh_downward": double: 3 -float: 1 float128: 3 ldouble: 3 Function: "cosh_towardzero": double: 3 -float: 1 float128: 3 ldouble: 3 Function: "cosh_upward": double: 4 -float: 2 float128: 3 ldouble: 3 diff --git a/sysdeps/ieee754/flt-32/e_atan2f.c b/sysdeps/ieee754/flt-32/e_atan2f.c index 836202f122..5ebb139eea 100644 --- a/sysdeps/ieee754/flt-32/e_atan2f.c +++ b/sysdeps/ieee754/flt-32/e_atan2f.c @@ -121,7 +121,7 @@ __ieee754_atan2f (float y, float x) /* we use x+y below so that the invalid exception is set for (x,y) = (qnan,snan) or (snan,qnan) */ if (ay > (0xff << 23)) - return y + y; /* nan */ + return x + y; /* nan */ if (ax > (0xff << 23)) return x + y; /* nan */ bool yinf = ay == (0xff << 23); diff --git a/sysdeps/ieee754/flt-32/e_coshf.c b/sysdeps/ieee754/flt-32/e_coshf.c index 052d387e42..281c86bf3b 100644 --- a/sysdeps/ieee754/flt-32/e_coshf.c +++ b/sysdeps/ieee754/flt-32/e_coshf.c @@ -1,63 +1,117 @@ -/* e_coshf.c -- float version of e_cosh.c. - */ +/* Correctly-rounded hyperbolic cosine function 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. +The original version of this file was copied from the CORE-MATH +project (file src/binary32/cosh/coshf.c, revision c26f1e4). + +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 - -static const float huge = 1.0e30; -static const float one = 1.0, half=0.5; +#include "math_config.h" float __ieee754_coshf (float x) { - float t,w; - int32_t ix; - - GET_FLOAT_WORD(ix,x); - ix &= 0x7fffffff; - - /* |x| in [0,22] */ - if (ix < 0x41b00000) { - /* |x| in [0,0.5*ln2], return 1+expm1(|x|)^2/(2*exp(|x|)) */ - if(ix<0x3eb17218) { - if (ix<0x24000000) return one; /* cosh(tiny) = 1 */ - t = __expm1f(fabsf(x)); - w = one+t; - return one+(t*t)/(w+w); - } - - /* |x| in [0.5*ln2,22], return (exp(|x|)+1/exp(|x|)/2; */ - t = __ieee754_expf(fabsf(x)); - return half*t+half/t; + static const double c[] = + { + 1, 0x1.62e42fef4c4e7p-6, 0x1.ebfd1b232f475p-13, 0x1.c6b19384ecd93p-20 + }; + static const double ch[] = + { + 1, 0x1.62e42fefa39efp-6, 0x1.ebfbdff82c58fp-13, + 0x1.c6b08d702e0edp-20, 0x1.3b2ab6fb92e5ep-27, 0x1.5d886e6d54203p-35, + 0x1.430976b8ce6efp-43 + }; + static const uint64_t tb[] = + { + 0x3fe0000000000000, 0x3fe059b0d3158574, 0x3fe0b5586cf9890f, + 0x3fe11301d0125b51, 0x3fe172b83c7d517b, 0x3fe1d4873168b9aa, + 0x3fe2387a6e756238, 0x3fe29e9df51fdee1, 0x3fe306fe0a31b715, + 0x3fe371a7373aa9cb, 0x3fe3dea64c123422, 0x3fe44e086061892d, + 0x3fe4bfdad5362a27, 0x3fe5342b569d4f82, 0x3fe5ab07dd485429, + 0x3fe6247eb03a5585, 0x3fe6a09e667f3bcd, 0x3fe71f75e8ec5f74, + 0x3fe7a11473eb0187, 0x3fe82589994cce13, 0x3fe8ace5422aa0db, + 0x3fe93737b0cdc5e5, 0x3fe9c49182a3f090, 0x3fea5503b23e255d, + 0x3feae89f995ad3ad, 0x3feb7f76f2fb5e47, 0x3fec199bdd85529c, + 0x3fecb720dcef9069, 0x3fed5818dcfba487, 0x3fedfc97337b9b5f, + 0x3feea4afa2a490da, 0x3fef50765b6e4540 + }; + const double iln2 = 0x1.71547652b82fep+5; + double z = x; + uint32_t ax = asuint (x) << 1; + if (__glibc_unlikely (ax > 0x8565a9f8u)) + { /* |x| >~ 89.4 */ + if (ax >= 0xff000000u) + { + if (ax << 8) + return x + x; /* nan */ + return INFINITY; /* +-inf */ } - - /* |x| in [22, log(maxdouble)] return half*exp(|x|) */ - if (ix < 0x42b17180) return half*__ieee754_expf(fabsf(x)); - - /* |x| in [log(maxdouble), overflowthresold] */ - if (ix<=0x42b2d4fc) { - w = __ieee754_expf(half*fabsf(x)); - t = half*w; - return t*w; + return __math_oflowf (0); + } + if (__glibc_unlikely (ax < 0x7c000000u)) + { /* |x| < 0.125 */ + if (__glibc_unlikely (ax < 0x74000000u)) + { /* |x| < 0x1p-11 */ + if (__glibc_unlikely (ax < 0x66000000u)) /* |x| < 0x1p-24 */ + return fmaf (fabsf (x), 0x1p-25, 1.0f); + return (0.5f * x) * x + 1.0f; } - - /* x is INF or NaN */ - if(ix>=0x7f800000) return x*x; - - /* |x| > overflowthresold, cosh(x) overflow */ - return math_narrow_eval (huge*huge); + static const double cp[] = + { + 0x1.fffffffffffe3p-2, 0x1.55555555723cfp-5, + 0x1.6c16bee4a5986p-10, 0x1.a0483fc0328f7p-16 + }; + double z2 = z * z; + double z4 = z2 * z2; + return 1 + z2 * ((cp[0] + z2 * cp[1]) + z4 * (cp[2] + z2 * (cp[3]))); + } + double a = iln2 * z; + double ia = roundeven_finite (a); + double h = a - ia; + double h2 = h * h; + int64_t jp = asuint64 (ia + 0x1.8p52); + int64_t jm = -jp; + double sp = asdouble (tb[jp & 31] + ((jp >> 5) << 52)); + double sm = asdouble (tb[jm & 31] + ((jm >> 5) << 52)); + double te = c[0] + h2 * c[2]; + double to = (c[1] + h2 * c[3]); + double rp = sp * (te + h * to); + double rm = sm * (te - h * to); + double r = rp + rm; + float ub = r; + double lb = r - 1.45e-10 * r; + if (__glibc_unlikely (ub != lb)) + { + const double iln2h = 0x1.7154765p+5; + const double iln2l = 0x1.5c17f0bbbe88p-26; + h = (iln2h * z - ia) + iln2l * z; + h2 = h * h; + te = ch[0] + h2 * ch[2] + (h2 * h2) * (ch[4] + h2 * ch[6]); + to = ch[1] + h2 * (ch[3] + h2 * ch[5]); + r = sp * (te + h * to) + sm * (te - h * to); + ub = r; + } + return ub; } libm_alias_finite (__ieee754_coshf, __coshf) diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index 08a3d63393..da24aa920d 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -625,22 +625,18 @@ ldouble: 2 Function: "cosh": double: 2 -float: 2 ldouble: 2 Function: "cosh_downward": double: 3 -float: 1 ldouble: 3 Function: "cosh_towardzero": double: 3 -float: 1 ldouble: 3 Function: "cosh_upward": double: 2 -float: 2 ldouble: 3 Function: Real part of "cpow": diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps index a6fa8376e1..367201f937 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -119,7 +119,6 @@ float: 1 Function: "cosh": double: 1 -float: 1 Function: Real part of "cpow": double: 2 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index 2487ffe183..6a5c723b3a 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -493,19 +493,15 @@ float: 2 Function: "cosh": double: 2 -float: 2 Function: "cosh_downward": double: 3 -float: 1 Function: "cosh_towardzero": double: 3 -float: 1 Function: "cosh_upward": double: 2 -float: 2 Function: Real part of "cpow": double: 2 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index 0ce7c06b2b..0e6a383ad2 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -625,22 +625,18 @@ ldouble: 2 Function: "cosh": double: 2 -float: 2 ldouble: 2 Function: "cosh_downward": double: 3 -float: 1 ldouble: 3 Function: "cosh_towardzero": double: 3 -float: 1 ldouble: 3 Function: "cosh_upward": double: 2 -float: 2 ldouble: 3 Function: Real part of "cpow": diff --git a/sysdeps/or1k/fpu/libm-test-ulps b/sysdeps/or1k/fpu/libm-test-ulps index c673d62a62..3037f731b9 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/fpu/libm-test-ulps @@ -493,19 +493,15 @@ float: 1 Function: "cosh": double: 2 -float: 2 Function: "cosh_downward": double: 3 -float: 1 Function: "cosh_towardzero": double: 3 -float: 1 Function: "cosh_upward": double: 2 -float: 2 Function: Real part of "cpow": double: 2 diff --git a/sysdeps/or1k/nofpu/libm-test-ulps b/sysdeps/or1k/nofpu/libm-test-ulps index 8e4801fe24..f5646ee5cf 100644 --- a/sysdeps/or1k/nofpu/libm-test-ulps +++ b/sysdeps/or1k/nofpu/libm-test-ulps @@ -493,19 +493,15 @@ float: 1 Function: "cosh": double: 2 -float: 2 Function: "cosh_downward": double: 2 -float: 1 Function: "cosh_towardzero": double: 2 -float: 1 Function: "cosh_upward": double: 2 -float: 2 Function: Real part of "cpow": double: 2 diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index e394159703..0594638bf5 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -762,25 +762,21 @@ ldouble: 5 Function: "cosh": double: 2 -float: 2 float128: 2 ldouble: 3 Function: "cosh_downward": double: 3 -float: 1 float128: 3 ldouble: 6 Function: "cosh_towardzero": double: 3 -float: 1 float128: 3 ldouble: 6 Function: "cosh_upward": double: 2 -float: 2 float128: 3 ldouble: 2 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index deec711353..80ff04b318 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -629,22 +629,18 @@ ldouble: 5 Function: "cosh": double: 2 -float: 2 ldouble: 3 Function: "cosh_downward": double: 3 -float: 1 ldouble: 6 Function: "cosh_towardzero": double: 3 -float: 1 ldouble: 6 Function: "cosh_upward": double: 2 -float: 2 ldouble: 2 Function: Real part of "cpow": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index 3a551201e7..48eb063323 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -622,22 +622,18 @@ ldouble: 2 Function: "cosh": double: 2 -float: 2 ldouble: 2 Function: "cosh_downward": double: 1 -float: 1 ldouble: 2 Function: "cosh_towardzero": double: 1 -float: 1 ldouble: 2 Function: "cosh_upward": double: 1 -float: 2 ldouble: 3 Function: Real part of "cpow": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index 2f89c82811..385c746328 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -625,22 +625,18 @@ ldouble: 2 Function: "cosh": double: 2 -float: 2 ldouble: 2 Function: "cosh_downward": double: 3 -float: 1 ldouble: 3 Function: "cosh_towardzero": double: 3 -float: 1 ldouble: 3 Function: "cosh_upward": double: 2 -float: 2 ldouble: 3 Function: Real part of "cpow": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index 54a42a8c51..ccc6e06a97 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -625,22 +625,18 @@ ldouble: 2 Function: "cosh": double: 2 -float: 2 ldouble: 2 Function: "cosh_downward": double: 3 -float: 1 ldouble: 3 Function: "cosh_towardzero": double: 3 -float: 1 ldouble: 3 Function: "cosh_upward": double: 2 -float: 2 ldouble: 3 Function: Real part of "cpow": diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index 3694110fc1..f7131fdc86 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -243,11 +243,9 @@ float: 1 Function: "cosh": double: 2 -float: 2 Function: "cosh_towardzero": double: 3 -float: 1 Function: Real part of "cpow": double: 2 diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index 56a7a04480..b004005134 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -625,22 +625,18 @@ ldouble: 2 Function: "cosh": double: 2 -float: 2 ldouble: 2 Function: "cosh_downward": double: 3 -float: 1 ldouble: 3 Function: "cosh_towardzero": double: 3 -float: 1 ldouble: 3 Function: "cosh_upward": double: 2 -float: 2 ldouble: 3 Function: Real part of "cpow": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 74192a4c77..89fef415b5 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -934,25 +934,21 @@ float: 1 Function: "cosh": double: 2 -float: 2 float128: 2 ldouble: 3 Function: "cosh_downward": double: 3 -float: 1 float128: 3 ldouble: 3 Function: "cosh_towardzero": double: 3 -float: 1 float128: 3 ldouble: 3 Function: "cosh_upward": double: 2 -float: 2 float128: 3 ldouble: 3 @@ -1226,7 +1222,7 @@ ldouble: 2 Function: Real part of "ctanh_downward": double: 4 -float: 2 +float: 3 float128: 5 ldouble: 4 From patchwork Fri Nov 29 13:17: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: 846140 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp873140wrp; Fri, 29 Nov 2024 05:49:48 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWVEeXIyIJSLpGEnUF8HiCwZV8OOaU+wLglHsjCLTBjllzp8o6ekOF2FSRi0w0xkZZjSpjZ7Q==@linaro.org X-Google-Smtp-Source: AGHT+IFyh6EU3Z0ko16P1C2Iowe4NqtlXtQLNpMFALyejRkGiKcPVDFl2Ud0Sz/n+en7PicO2Omv X-Received: by 2002:a05:620a:260b:b0:7b6:6f81:a528 with SMTP id af79cd13be357-7b67c2bc189mr1843803885a.22.1732888188487; Fri, 29 Nov 2024 05:49:48 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732888188; cv=pass; d=google.com; s=arc-20240605; b=Iiqd1Lrz69zHdn/bPUE9qQbs/RznhvcP04ByockDef16iZJejP+uHIGNe2ncOuD1Xc Vs6tu9rtzZiU/AdN6ed5MU6/3flp9FqeVRV/2WTHhWSda+BSpW2Z+pqBmUMjkc2nc2rN qZXJAPXCS7tIHZwpqgVn5N5kWC5dqYGUdX+WJ1XqNo5oWipC7mJ09DwW8ve9Uuvc9jbk NYymH2AE3MdEUpC0VwY32serW3jXZeJ9xgGdgL9QHZjCe5xDMUrFXSvII63mAuro7rHG fCcpMjUtYt+wSKFyXw26+8fDhlujGc10qXIEYuqTzBKhU4zDcpAcUHRMm2UsayPLzOHj KsJQ== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=KkXr5gnDkCvtu+ESVlA4Cw26V8lf/rihWyAeClV3mCk=; fh=sFucH9KQW8Y8eMoQXaNIgycLDa7roysdjTHpHLIprh4=; b=b/upCcykYwG/R94eDlaNKMpMufnkfQZ8qc3c4ZX9PH8iNkEIHhYunGIHsY8apcfgif mAl2HLjqKoSiBeej8eveCeTu202ikQmZziO5bAcZyR6Fom4RKGP1XwlMmsKLefbsRIc0 O4AmfYEIB9PR/JFBx6B0Aas5DjIIPMSPmOjyUiELEu1Ta14hn/SzsU7NYooa04b1+FB7 fRk/fR49MXmILkfa0aiHT5oHVyOpHUnNFQGyOT2RIfrcMIU5WjRJb739T4YGVHMC2TY7 Rholha8DdZz4oP65yHyxPGeKoJY7z5rKcimYrTzm1MXsQwqhbZzSBO2yTrTGp2gKGWHE gp+w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=rIBLqniE; 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 a1e0cc1a2514c-85b82a896ebsi1469557241.44.2024.11.29.05.49.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:49:48 -0800 (PST) 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=rIBLqniE; 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 082C33858D33 for ; Fri, 29 Nov 2024 13:49:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 082C33858D33 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=rIBLqniE 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 119603858C41 for ; Fri, 29 Nov 2024 13:21:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 119603858C41 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 119603858C41 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=1732886500; cv=none; b=T8JJ5u0QggjujFUjMetcjyX2mSBsi7JD8o9viMtkqYz7Ex+Vb8KevN9dZXNAOL4Zii4vMg3nkhL+D9g+2RPZ23gkDIQ4BOB4sj1B81BULmSaqEMD558KqlUWpIvRY8Y/r0vjNXSDyAMhgaFKSaWvXHD1bPInaigtcIV6BZw8yZY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886500; c=relaxed/simple; bh=ZliHV+gKeBsf8HCWOCi+2ozHMPPt0DXX9xHzS3sAwTs=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=BVYGkuX7n/amt4pEH2R+Jk/OlYZLD0sHwej3lyNrsq644bRVBvbF3G6F5CynafVcK5atWpE7p/ub7+VSAub+hGjOs7ngdjnLjZFT3dOPTxlqukIWFV9/Sz0z/vDJeVGxEAEldjvD+aY3q0Wzw56ohtgHLRPUopt9Em8i+2Dnaqc= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 119603858C41 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-21271dc4084so13315665ad.2 for ; Fri, 29 Nov 2024 05:21:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886499; x=1733491299; 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=KkXr5gnDkCvtu+ESVlA4Cw26V8lf/rihWyAeClV3mCk=; b=rIBLqniEpQIXSURWe6qhByddjGYl+xebLlHebOuBDgFbRbWK/pIjQCnZ/tjjXQeFYo 5yYJF5lsTRgpaeCeKjHDo99trSlhpZsfviwp+9damP/QFPE9lPisH2aWBWpfyDrBJwuE tlideKuSOqMqan2B5CURJBVEy6UkPU0cL0l/xkZuTpzBofbD0ygpk3EN1LDkdoxMnPWu +2tUyDDzjyv0+fC6RA3wQYKI+hhb2BQQ3vmhwbiuQ6oWDS0ybbbszljLxG3/MnNfi0GU RuQckG5tiiEQZC1Picz8PMKNKfj+JREAOe8q6JpFS6vxTp2B2UEegr7IVJWSfklwgKlJ ltWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886499; x=1733491299; 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=KkXr5gnDkCvtu+ESVlA4Cw26V8lf/rihWyAeClV3mCk=; b=Az98S0E6gfMOACisqbA0vBgjwqpveZVE43gCaYTfbLndajT5aP22X8dyIGiVTJpeIK 3VUpYzCBE2okmEh9pRfKG+TgeFzcdpeX5vc9nrLBluvWoe5fejLo9QLd2zbVEiIvJH77 YEG67GHT7oxLFmUKMzwV2rd6OrmEpwn+TGUGlzErXIewV9hjIcvQRXSPNRdNBXwUdFWt jzMPr4+5FngIj5CoWFmVMd6QHCcf9+0oYkrx+uusgnolvOoItn8/VJwNryiRd+tfgK37 /k0RfGx+mV2c+4LB6e2uUEjiUcMaBpX/QnB4I0AyZgQW0avs/Rt/yMtcVjPbo7hfQ99O 2kgA== X-Gm-Message-State: AOJu0YzJxTlBvDjpCSn1HDKPlwH5qV+QXGlyeaCz0STYqA9MjHocWV07 cmPEwgfV/rXZN9hrG/RHvuIDID7QFpfB2OvJHJpL3uwRe1hNE6hJNWXKmmFnmpXxOnGvuRsaa/+ SusVSyA== X-Gm-Gg: ASbGncsHqt1hU5m5vH48cDG+/6oP4bL5g8MltIohQBpkBRCx4Xj4uzlQlV5CBhPGIp5 1uCq+1A/hi7WuW9WTeXQS9eY5sct5KV9ctqsSv9NHmd+c8LDgGe6W/OouGQPDaqSuzekEwr0sV5 HyAvWG3fFLtpKYjGQRnnbhhPEy4UeEPKY9xijBsRiGRraAUw/tJswon5Q8TkDN+P9xJYIn07sz2 Nh0oF/XSZNXHVHAWXmaav/cfI2FSzBa+jlMnddgilKf9fKA0PNRSCsLSqz4Tx0= X-Received: by 2002:a17:902:d50d:b0:212:10ff:4b80 with SMTP id d9443c01a7336-21501e6971fmr129868435ad.54.1732886497930; Fri, 29 Nov 2024 05:21:37 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.21.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:21:37 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH 22/23] math: Use sinhf from CORE-MATH Date: Fri, 29 Nov 2024 10:17:46 -0300 Message-ID: <20241129132032.476978-23-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 sinhf. 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 52.6819 49.1489 6.71% x86_64v2 49.1162 42.9447 12.57% x86_64v3 46.9732 39.9157 15.02% i686 141.1470 129.6410 8.15% aarch64 (Neoverse) 20.8539 17.1288 17.86% power10 14.5258 9.1906 36.73% reciprocal-throughput master patched improvement x86_64 27.5553 23.9395 13.12% x86_64v2 21.6423 20.3219 6.10% x86_64v3 21.4842 16.0224 25.42% i686 87.9709 86.1626 2.06% aarch64 (Neoverse) 15.1919 12.2744 19.20% power10 7.2188 5.2611 27.12% 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/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 | 4 - 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 | 4 - .../i386/i686/fpu/multiarch/libm-test-ulps | 4 - sysdeps/ieee754/flt-32/e_sinhf.c | 169 ++++++++++++------ 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/or1k/fpu/libm-test-ulps | 4 - sysdeps/or1k/nofpu/libm-test-ulps | 4 - sysdeps/powerpc/fpu/libm-test-ulps | 4 - 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 | 4 - 26 files changed, 122 insertions(+), 139 deletions(-) diff --git a/SHARED-FILES b/SHARED-FILES index 320e0b3be9..3bd4e7fb4a 100644 --- a/SHARED-FILES +++ b/SHARED-FILES @@ -326,3 +326,7 @@ sysdeps/ieee754/flt-32/e_coshf.c: (src/binary32/cosh/coshf.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/e_sinhf.c: + (src/binary32/sinh/sinhf.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 2bbaf97239..4545d8236b 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -1502,7 +1502,6 @@ ldouble: 3 Function: "sinh": double: 2 -float: 2 ldouble: 2 Function: "sinh_advsimd": @@ -1511,7 +1510,6 @@ float: 1 Function: "sinh_downward": double: 3 -float: 3 ldouble: 3 Function: "sinh_sve": @@ -1520,12 +1518,10 @@ float: 1 Function: "sinh_towardzero": double: 3 -float: 2 ldouble: 3 Function: "sinh_upward": double: 3 -float: 3 ldouble: 4 Function: "tan": diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps index 6b433fbba7..d4329e060d 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -1291,22 +1291,18 @@ ldouble: 3 Function: "sinh": double: 2 -float: 2 ldouble: 2 Function: "sinh_downward": double: 3 -float: 3 ldouble: 3 Function: "sinh_towardzero": double: 3 -float: 2 ldouble: 3 Function: "sinh_upward": double: 3 -float: 3 ldouble: 4 Function: "tan": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index a16c1097f0..eb8296d736 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -1033,19 +1033,15 @@ float: 1 Function: "sinh": double: 3 -float: 3 Function: "sinh_downward": double: 3 -float: 3 Function: "sinh_towardzero": double: 3 -float: 2 Function: "sinh_upward": double: 3 -float: 3 Function: "tan": double: 1 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index de09fa9b92..519a174f7a 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -249,7 +249,6 @@ float: 1 Function: "sinh": double: 2 -float: 2 Function: "tanh": double: 2 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index df423594de..7be1a7c75b 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -1030,19 +1030,15 @@ float: 2 Function: "sinh": double: 2 -float: 2 Function: "sinh_downward": double: 3 -float: 3 Function: "sinh_towardzero": double: 3 -float: 2 Function: "sinh_upward": double: 3 -float: 3 Function: "tan_downward": double: 1 diff --git a/sysdeps/csky/fpu/libm-test-ulps b/sysdeps/csky/fpu/libm-test-ulps index ee95d85682..ffc0676765 100644 --- a/sysdeps/csky/fpu/libm-test-ulps +++ b/sysdeps/csky/fpu/libm-test-ulps @@ -954,19 +954,15 @@ float: 1 Function: "sinh": double: 2 -float: 2 Function: "sinh_downward": double: 3 -float: 3 Function: "sinh_towardzero": double: 3 -float: 2 Function: "sinh_upward": double: 3 -float: 3 Function: "tan_downward": double: 1 diff --git a/sysdeps/csky/nofpu/libm-test-ulps b/sysdeps/csky/nofpu/libm-test-ulps index 64239e6e64..a7c85db00d 100644 --- a/sysdeps/csky/nofpu/libm-test-ulps +++ b/sysdeps/csky/nofpu/libm-test-ulps @@ -985,19 +985,15 @@ float: 2 Function: "sinh": double: 2 -float: 2 Function: "sinh_downward": double: 3 -float: 3 Function: "sinh_towardzero": double: 2 -float: 2 Function: "sinh_upward": double: 3 -float: 3 Function: "tan_downward": double: 1 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index 845f6a8331..0fbb2f81bb 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -1059,19 +1059,15 @@ float: 2 Function: "sinh": double: 2 -float: 2 Function: "sinh_downward": double: 3 -float: 3 Function: "sinh_towardzero": double: 3 -float: 2 Function: "sinh_upward": double: 3 -float: 3 Function: "tan": double: 1 diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index f42aed258b..26101c933e 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -1574,25 +1574,21 @@ ldouble: 3 Function: "sinh": double: 2 -float: 2 float128: 2 ldouble: 3 Function: "sinh_downward": double: 3 -float: 3 float128: 3 ldouble: 5 Function: "sinh_towardzero": double: 3 -float: 2 float128: 3 ldouble: 4 Function: "sinh_upward": double: 4 -float: 3 float128: 4 ldouble: 5 diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index 374aa0a939..92e821d609 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -1579,25 +1579,21 @@ ldouble: 3 Function: "sinh": double: 2 -float: 2 float128: 2 ldouble: 3 Function: "sinh_downward": double: 3 -float: 3 float128: 3 ldouble: 5 Function: "sinh_towardzero": double: 3 -float: 2 float128: 3 ldouble: 4 Function: "sinh_upward": double: 4 -float: 3 float128: 4 ldouble: 5 diff --git a/sysdeps/ieee754/flt-32/e_sinhf.c b/sysdeps/ieee754/flt-32/e_sinhf.c index d3998e8336..4295e245c7 100644 --- a/sysdeps/ieee754/flt-32/e_sinhf.c +++ b/sysdeps/ieee754/flt-32/e_sinhf.c @@ -1,62 +1,129 @@ -/* e_sinhf.c -- float version of e_sinh.c. - */ +/* Correctly-rounded hyperbolic sine function 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. -#include -#include -#include -#include -#include -#include +The original version of this file was copied from the CORE-MATH +project (file src/binary32/sinh/sinhf.c, revision c26f1e4). -static const float one = 1.0, shuge = 1.0e37; +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: -float -__ieee754_sinhf(float x) -{ - float t,w,h; - int32_t ix,jx; +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - GET_FLOAT_WORD(jx,x); - ix = jx&0x7fffffff; +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. +*/ - /* x is INF or NaN */ - if(__builtin_expect(ix>=0x7f800000, 0)) return x+x; +#include +#include +#include +#include +#include "math_config.h" - h = 0.5; - if (jx<0) h = -h; - /* |x| in [0,22], return sign(x)*0.5*(E+E/(E+1))) */ - if (ix < 0x41b00000) { /* |x|<22 */ - if (__builtin_expect(ix<0x31800000, 0)) { /* |x|<2**-28 */ - math_check_force_underflow (x); - if(shuge+x>one) return x;/* sinh(tiny) = tiny with inexact */ - } - t = __expm1f(fabsf(x)); - if(ix<0x3f800000) return h*((float)2.0*t-t*t/(t+one)); - return h*(t+t/(t+one)); +float +__ieee754_sinhf (float x) +{ + static const double c[] = + { + 1, 0x1.62e42fef4c4e7p-6, 0x1.ebfd1b232f475p-13, 0x1.c6b19384ecd93p-20 + }; + static const double ch[] = + { + 1, 0x1.62e42fefa39efp-6, 0x1.ebfbdff82c58fp-13, + 0x1.c6b08d702e0edp-20, 0x1.3b2ab6fb92e5ep-27, 0x1.5d886e6d54203p-35, + 0x1.430976b8ce6efp-43 + }; + static const uint64_t tb[] = + { + 0x3fe0000000000000, 0x3fe059b0d3158574, 0x3fe0b5586cf9890f, + 0x3fe11301d0125b51, 0x3fe172b83c7d517b, 0x3fe1d4873168b9aa, + 0x3fe2387a6e756238, 0x3fe29e9df51fdee1, 0x3fe306fe0a31b715, + 0x3fe371a7373aa9cb, 0x3fe3dea64c123422, 0x3fe44e086061892d, + 0x3fe4bfdad5362a27, 0x3fe5342b569d4f82, 0x3fe5ab07dd485429, + 0x3fe6247eb03a5585, 0x3fe6a09e667f3bcd, 0x3fe71f75e8ec5f74, + 0x3fe7a11473eb0187, 0x3fe82589994cce13, 0x3fe8ace5422aa0db, + 0x3fe93737b0cdc5e5, 0x3fe9c49182a3f090, 0x3fea5503b23e255d, + 0x3feae89f995ad3ad, 0x3feb7f76f2fb5e47, 0x3fec199bdd85529c, + 0x3fecb720dcef9069, 0x3fed5818dcfba487, 0x3fedfc97337b9b5f, + 0x3feea4afa2a490da, 0x3fef50765b6e4540 + }; + static const struct + { + uint32_t uarg; + float rh, rl; + } st = { 0x74250bfeu, 0x1.250bfep-11, 0x1p-36 }; + const double iln2 = 0x1.71547652b82fep+5; + double z = x; + uint32_t ux = asuint (x) << 1; + if (__glibc_unlikely (ux > 0x8565a9f8u)) + { /* |x| >~ 89.4 */ + float sgn = copysignf (2.0f, x); + if (ux >= 0xff000000u) + { + if (ux << 8) + return x + x; /* nan */ + return copysignf (INFINITY, x); /* +-inf */ } - - /* |x| in [22, log(maxdouble)] return 0.5*exp(|x|) */ - if (ix < 0x42b17180) return h*__ieee754_expf(fabsf(x)); - - /* |x| in [log(maxdouble), overflowthresold] */ - if (ix<=0x42b2d4fc) { - w = __ieee754_expf((float)0.5*fabsf(x)); - t = h*w; - return t*w; + float r = math_narrow_eval (sgn * 0x1.fffffep127f); + return r; + } + if (__glibc_unlikely (ux < 0x7c000000u)) + { /* |x| < 0.125 */ + if (__glibc_unlikely (ux <= 0x74250bfeu)) + { /* |x| <= 0x1.250bfep-11 */ + if (__glibc_unlikely (ux < 0x66000000u)) /* |x| < 0x1p-24 */ + return fmaf (x, fabsf (x), x); + if (__glibc_unlikely (st.uarg == asuint (ux))) + { + float sgn = copysignf (1.0f, x); + return sgn * st.rh + sgn * st.rl; + } + return (x * 0x1.555556p-3f) * (x * x) + x; } - - /* |x| > overflowthresold, sinh(x) overflow */ - return math_narrow_eval (x*shuge); + static const double cp[] = + { + 0x1.5555555555555p-3, 0x1.11111111146e1p-7, + 0x1.a01a00930dda6p-13, 0x1.71f92198aa6e9p-19 + }; + double z2 = z * z, z4 = z2 * z2; + return z + (z2 * z) + * ((cp[0] + z2 * cp[1]) + z4 * (cp[2] + z2 * (cp[3]))); + } + double a = iln2 * z; + double ia = roundeven_finite (a); + double h = a - ia; + double h2 = h * h; + int64_t jp = asuint64 (ia + 0x1.8p52); + int64_t jm = -jp; + double sp = asdouble (tb[jp & 31] + ((jp >> 5) << 52)); + double sm = asdouble (tb[jm & 31] + ((jm >> 5) << 52)); + double te = c[0] + h2 * c[2], to = (c[1] + h2 * c[3]); + double rp = sp * (te + h * to); + double rm = sm * (te - h * to); + double r = rp - rm; + float ub = r; + double lb = r - 1.52e-10 * r; + if (__glibc_unlikely (ub != lb)) + { + const double iln2h = 0x1.7154765p+5; + const double iln2l = 0x1.5c17f0bbbe88p-26; + h = (iln2h * z - ia) + iln2l * z; + h2 = h * h; + te = ch[0] + h2 * ch[2] + (h2 * h2) * (ch[4] + h2 * ch[6]); + to = ch[1] + h2 * (ch[3] + h2 * ch[5]); + r = sp * (te + h * to) - sm * (te - h * to); + ub = r; + } + return ub; } libm_alias_finite (__ieee754_sinhf, __sinhf) diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index da24aa920d..1a9ef3c217 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -1297,22 +1297,18 @@ ldouble: 3 Function: "sinh": double: 2 -float: 2 ldouble: 2 Function: "sinh_downward": double: 3 -float: 3 ldouble: 3 Function: "sinh_towardzero": double: 3 -float: 2 ldouble: 3 Function: "sinh_upward": double: 3 -float: 3 ldouble: 4 Function: "tan": diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps index 367201f937..c9fc2aa5aa 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -231,7 +231,6 @@ float: 1 Function: "sinh": double: 2 -float: 2 Function: "tanh": double: 2 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index 6a5c723b3a..2155853acf 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -1033,19 +1033,15 @@ float: 2 Function: "sinh": double: 2 -float: 2 Function: "sinh_downward": double: 3 -float: 3 Function: "sinh_towardzero": double: 3 -float: 2 Function: "sinh_upward": double: 3 -float: 3 Function: "tan_downward": double: 1 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index 0e6a383ad2..c4dfef0b23 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -1309,22 +1309,18 @@ ldouble: 3 Function: "sinh": double: 2 -float: 2 ldouble: 2 Function: "sinh_downward": double: 3 -float: 3 ldouble: 3 Function: "sinh_towardzero": double: 3 -float: 2 ldouble: 3 Function: "sinh_upward": double: 3 -float: 3 ldouble: 4 Function: "tan": diff --git a/sysdeps/or1k/fpu/libm-test-ulps b/sysdeps/or1k/fpu/libm-test-ulps index 3037f731b9..f352f71c7d 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/fpu/libm-test-ulps @@ -967,19 +967,15 @@ float: 1 Function: "sinh": double: 2 -float: 2 Function: "sinh_downward": double: 3 -float: 3 Function: "sinh_towardzero": double: 3 -float: 2 Function: "sinh_upward": double: 3 -float: 3 Function: "tan_downward": double: 1 diff --git a/sysdeps/or1k/nofpu/libm-test-ulps b/sysdeps/or1k/nofpu/libm-test-ulps index f5646ee5cf..a69026e9ee 100644 --- a/sysdeps/or1k/nofpu/libm-test-ulps +++ b/sysdeps/or1k/nofpu/libm-test-ulps @@ -957,19 +957,15 @@ float: 1 Function: "sinh": double: 2 -float: 2 Function: "sinh_downward": double: 3 -float: 3 Function: "sinh_towardzero": double: 2 -float: 2 Function: "sinh_upward": double: 3 -float: 3 Function: "tan_downward": double: 1 diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index 0594638bf5..210ea0a26b 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -1663,25 +1663,21 @@ ldouble: 7 Function: "sinh": double: 2 -float: 2 float128: 2 ldouble: 3 Function: "sinh_downward": double: 3 -float: 3 float128: 3 ldouble: 6 Function: "sinh_towardzero": double: 3 -float: 2 float128: 3 ldouble: 6 Function: "sinh_upward": double: 3 -float: 3 float128: 4 ldouble: 6 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index 80ff04b318..c2a0a64d50 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -1406,22 +1406,18 @@ ldouble: 7 Function: "sinh": double: 2 -float: 2 ldouble: 3 Function: "sinh_downward": double: 3 -float: 3 ldouble: 6 Function: "sinh_towardzero": double: 3 -float: 2 ldouble: 6 Function: "sinh_upward": double: 3 -float: 3 ldouble: 6 Function: "sqrt": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index 48eb063323..b29beefdba 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -1238,22 +1238,18 @@ ldouble: 3 Function: "sinh": double: 2 -float: 2 ldouble: 2 Function: "sinh_downward": double: 3 -float: 3 ldouble: 3 Function: "sinh_towardzero": double: 2 -float: 2 ldouble: 3 Function: "sinh_upward": double: 3 -float: 3 ldouble: 4 Function: "tan": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index 385c746328..b78c11ec09 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -1296,22 +1296,18 @@ ldouble: 3 Function: "sinh": double: 2 -float: 2 ldouble: 2 Function: "sinh_downward": double: 3 -float: 3 ldouble: 3 Function: "sinh_towardzero": double: 3 -float: 2 ldouble: 3 Function: "sinh_upward": double: 3 -float: 3 ldouble: 4 Function: "tan": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index ccc6e06a97..2beaf10dc4 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -1295,22 +1295,18 @@ ldouble: 3 Function: "sinh": double: 2 -float: 2 ldouble: 2 Function: "sinh_downward": double: 3 -float: 3 ldouble: 3 Function: "sinh_towardzero": double: 3 -float: 2 ldouble: 3 Function: "sinh_upward": double: 3 -float: 3 ldouble: 4 Function: "tan": diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index f7131fdc86..002218c7fa 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -479,11 +479,9 @@ float: 1 Function: "sinh": double: 2 -float: 2 Function: "sinh_towardzero": double: 3 -float: 2 Function: "tan_towardzero": double: 1 diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index b004005134..72ecefff12 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -1309,22 +1309,18 @@ ldouble: 3 Function: "sinh": double: 2 -float: 2 ldouble: 2 Function: "sinh_downward": double: 3 -float: 3 ldouble: 3 Function: "sinh_towardzero": double: 3 -float: 2 ldouble: 3 Function: "sinh_upward": double: 3 -float: 3 ldouble: 4 Function: "tan": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 89fef415b5..038622d624 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -2061,25 +2061,21 @@ float: 1 Function: "sinh": double: 2 -float: 2 float128: 2 ldouble: 3 Function: "sinh_downward": double: 3 -float: 3 float128: 3 ldouble: 5 Function: "sinh_towardzero": double: 3 -float: 2 float128: 3 ldouble: 4 Function: "sinh_upward": double: 3 -float: 3 float128: 4 ldouble: 5 From patchwork Fri Nov 29 13:17: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: 846142 Delivered-To: patch@linaro.org Received: by 2002:adf:f2c4:0:b0:382:43a8:7b94 with SMTP id d4csp877118wrp; Fri, 29 Nov 2024 05:57:14 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWSZnUqPvYU/rLY6Xs4Gqpfgfe930XEdpQ4JmNtwGlbqjZp5tT6fPuiPfKNjwuSbX/zX8V5sA==@linaro.org X-Google-Smtp-Source: AGHT+IE5yQPehLRB2HBkRD9jno4afykPfBYmITOZZMx90rzD1EqQPG2YJtT26dfSkYxEKkx5vIIA X-Received: by 2002:a05:690c:6f0c:b0:6ef:5cd2:49bb with SMTP id 00721157ae682-6ef5cd24c80mr27869937b3.30.1732888634069; Fri, 29 Nov 2024 05:57:14 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1732888634; cv=pass; d=google.com; s=arc-20240605; b=SU/qHGJSKOAhm06NL2MTUtIn6qBiD5mwEK6AIGf1myLrBVI9u8Sn73x3EvO54oUpV8 /aV4Pe9SDZ3wKQ0o+zrYCYguTHxbHvAlB6P7iWvj4s81yL9IDpD4KikJ9jBToge1td2M MSZRlgQYoa5VxOJYP4VA7FNklq21Uvp9SYiHeJ8Aei0xLdNoc9dUmcY/ARCpaUA3yWit 6uu1RrRnDLa0Ah7ckc7dNOkZ9RQ439zt6xwmE8ghVjRL+jDrAuIPjgLcb142vZr5io9M 3ldLwTvgQAZFgisrcGjCLzR4vma5gmcrp+0y7fa86UbCOXBK5xitc4vq22Tv7RAWOzpX zcsQ== 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:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=A0ko3ChkMrehReUtJva3vebFvqbNGVEQoecYrSbCCh4=; fh=sFucH9KQW8Y8eMoQXaNIgycLDa7roysdjTHpHLIprh4=; b=getEZ1fU+DjQUXnwsbGAiHgTdt9BAiagOfFGAlB3GkJkKT2UUrBGNRO8KnlQhaJtcq 7hLYFBCgt5uUOtM8LEgPYomy5J2UbbZdbmIZwCViNXn19ekI8iyimURBmCcSwAqrCkUQ cAKq2tEdcOcDqL6wnA2q2AE2UHGOA7WbgbqqLnECK8eisaHv6L1Nfy5LyAT3DWfkDoUW Q1RP7vw49ACVzFK7HN8aS3jclRJj3N8LQrtsKQ95wJ7w8vhi7rklaqFhpcwL6+J8freu jVwCuSYNJcI7vxFB0ALO+5Q3muMN2MJfPOETWcamhhKt8MnVxBwYCAPXF8xozL0LS/CD ynbw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=L8oQ17l5; 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-7b6849fb044si440625285a.692.2024.11.29.05.57.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:57:14 -0800 (PST) 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=L8oQ17l5; 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 9E8C43858404 for ; Fri, 29 Nov 2024 13:57:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9E8C43858404 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=L8oQ17l5 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 AAB46385840B for ; Fri, 29 Nov 2024 13:21:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AAB46385840B 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 AAB46385840B 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=1732886501; cv=none; b=ETi4+swidrqpYBfTl/hTDcNr0JccfO+utAi6DbXxMawWjYoAjc68ymK6F1v/kUSziU/dadGnpxnlgkosjZ88sG/+TOXxcyFRe4YLCxNK65VRsH3+m9HPDzuNCwqwSwSn3XZq9xd9QQdrWvIRVw3wvb4t4NFUvHQrKYEWDspScis= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1732886501; c=relaxed/simple; bh=wjXzR+VdN8p7P4a7SH1VyqpXUr/VzK2m5MgTuc94rg0=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=IgozcjcMH83fvFK3MpmNNcyG7l6kgB8NzVT7jRNQoxwMsNS7jb1ouT2nc4QYi0sNkCy5FuojogBF42AuHlLIn/7LZwakxdoLUIRkTAfV45CwVe0EovkdOK6RbJb4nO7oFYT2umUC5LAZTNsP9SALNrBzP2nTzknvnuVEeb4Nonw= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AAB46385840B Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-21278f3d547so13703525ad.1 for ; Fri, 29 Nov 2024 05:21:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1732886500; x=1733491300; 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=A0ko3ChkMrehReUtJva3vebFvqbNGVEQoecYrSbCCh4=; b=L8oQ17l5dgBURx1dKo0Q+oDAa4Cj6cESILknMjT021CoakVvggGAMAAqEUHaxytO5X ABrT+zSxrJdi/6nhlHxab0QBb8FJPVTh9ysJ3YCT036sVizG6O7TpGwNquuQNj4ubzhm QtaGazKqleFolNyCeZVKOuEUeISKHvmZUIGc43JGlvFZJt/e4guJhSjKkvU5DEMvMj+d utYK1owqOGjwMToKUuTMWvG9egSh3MAz3n8aqwzAaqCZ+CepFXOchq+wqqx/RjBpCpf4 w+0sgvCjkuUrxJFBxHwOToJYSqNeTBjBkRsybXQCigYq7+4Sm78Wv3P0CEcQKfWzpgKr PGTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732886500; x=1733491300; 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=A0ko3ChkMrehReUtJva3vebFvqbNGVEQoecYrSbCCh4=; b=ZOo/4QZGZSiOPqSmzr+vdnCEbguz0WBpOSaTr5bK1k7BxIcDfXGYqNK9HOi89Z7hH+ Lft4hNUfFfTlndk6/0USrFc92cUX5TOoGOlnSYVFRLaieCGol7VuRGyl2bZ8VxxgCX+v hM2GNn5r6namTTM26yx8W6q+aBj/4WouCbgzyl60o/Jx/Q8tjDOxJ0RmoaQLWSz0bt8x w0FKSbSuov6wVSmD29JgDq2nwPaL89AFskUi87acJ/7BlpS4IYwqc9owDgtbWNKr2uNj XZ9ymBZ0/95lEfecB+IqOu9cQxkVNA0cyRMyB/Tn/i+CKo0PohFS8GPkrRqUKdeJC5iW 2eqw== X-Gm-Message-State: AOJu0Yxce7cpnskTE+NSm8dPaYLMpVvwIclQ7FqqSOt8bFsjkqlE4g7O l34uaVSnt//mFEAdCrC2o4wlf0D8p/1uvyvruSTQs7RvrwI8x8d/qolw5MvPgiUGWna3IxPIGUw c5yZpiA== X-Gm-Gg: ASbGncsOzTlOVbWGUcr76R3HXMG00R3JmBHqiJlhvPMc6qIW4rj3e4ut+7VRI9fwYa5 3RrMVCkTDTGVDcuninNtN7OFCfsafBjI8QQSKiTSDdqqgzouCknzP4M3JRCtqtsj43NUUlaPaFO 7IS1X+KkepqDd828DeGz2MXU5W4mKNEEbNshL3Cg/hs3EtXOOzC7LU+a64btCY0j8FNU+xPZMrl MFJHSpUfwOZoyrZmhKDo6J5/gapKPtWPyyTSeeRGGWRk0zwSoL+wO0PVngo/cg= X-Received: by 2002:a17:902:d48b:b0:20b:cae5:dec4 with SMTP id d9443c01a7336-2150128c372mr153313385ad.24.1732886500197; Fri, 29 Nov 2024 05:21:40 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c1:68c8:3143:6603:ad16:715e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2153d5f66d5sm14472255ad.201.2024.11.29.05.21.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2024 05:21:39 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH 23/23] math: Use tanhf from CORE-MATH Date: Fri, 29 Nov 2024 10:17:47 -0300 Message-ID: <20241129132032.476978-24-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241129132032.476978-1-adhemerval.zanella@linaro.org> References: <20241129132032.476978-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 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 tanhf. 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 51.5273 41.0951 20.25% x86_64v2 47.7021 39.1526 17.92% x86_64v3 45.0373 34.2737 23.90% i686 133.9970 83.8596 37.42% aarch64 (Neoverse) 21.5439 14.7961 31.32% power10 13.3301 8.4406 36.68% reciprocal-throughput master patched improvement x86_64 24.9493 12.8547 48.48% x86_64v2 20.7051 12.7761 38.29% x86_64v3 19.2492 11.0851 42.41% i686 78.6498 29.8211 62.08% aarch64 (Neoverse) 11.6026 7.11487 38.68% power10 6.3328 2.8746 54.61% 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/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 | 4 - 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 | 4 - .../i386/i686/fpu/multiarch/libm-test-ulps | 4 - sysdeps/ieee754/flt-32/s_tanhf.c | 131 +++++++++++------- sysdeps/loongarch/lp64/libm-test-ulps | 4 - sysdeps/m68k/m680x0/fpu/libm-test-ulps | 3 - sysdeps/microblaze/libm-test-ulps | 1 - sysdeps/mips/mips32/libm-test-ulps | 4 - sysdeps/mips/mips64/libm-test-ulps | 4 - sysdeps/or1k/fpu/libm-test-ulps | 4 - sysdeps/or1k/nofpu/libm-test-ulps | 4 - sysdeps/powerpc/fpu/libm-test-ulps | 4 - 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 | 4 - 27 files changed, 82 insertions(+), 144 deletions(-) diff --git a/SHARED-FILES b/SHARED-FILES index 3bd4e7fb4a..032c407881 100644 --- a/SHARED-FILES +++ b/SHARED-FILES @@ -330,3 +330,7 @@ sysdeps/ieee754/flt-32/e_sinhf.c: (src/binary32/sinh/sinhf.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_tanhf.c: + (src/binary32/tanh/tanhf.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 4545d8236b..ab8f7e830e 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -1549,7 +1549,6 @@ ldouble: 1 Function: "tanh": double: 2 -float: 2 ldouble: 2 Function: "tanh_advsimd": @@ -1558,7 +1557,6 @@ float: 2 Function: "tanh_downward": double: 3 -float: 3 ldouble: 4 Function: "tanh_sve": @@ -1567,12 +1565,10 @@ float: 2 Function: "tanh_towardzero": double: 2 -float: 2 ldouble: 3 Function: "tanh_upward": double: 3 -float: 3 ldouble: 3 Function: "tgamma": diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps index d4329e060d..59ae18c412 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -1322,22 +1322,18 @@ ldouble: 1 Function: "tanh": double: 2 -float: 2 ldouble: 2 Function: "tanh_downward": double: 3 -float: 3 ldouble: 4 Function: "tanh_towardzero": double: 2 -float: 2 ldouble: 3 Function: "tanh_upward": double: 3 -float: 3 ldouble: 3 Function: "tgamma": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index eb8296d736..f11dc58686 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -1057,19 +1057,15 @@ double: 1 Function: "tanh": double: 3 -float: 2 Function: "tanh_downward": double: 3 -float: 3 Function: "tanh_towardzero": double: 3 -float: 3 Function: "tanh_upward": double: 3 -float: 3 Function: "tgamma": double: 9 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index 519a174f7a..f549db1801 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -252,7 +252,6 @@ double: 2 Function: "tanh": double: 2 -float: 2 Function: "tgamma": double: 9 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index 7be1a7c75b..705b0641f5 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -1051,19 +1051,15 @@ double: 1 Function: "tanh": double: 2 -float: 2 Function: "tanh_downward": double: 3 -float: 3 Function: "tanh_towardzero": double: 2 -float: 2 Function: "tanh_upward": double: 3 -float: 3 Function: "tgamma": double: 9 diff --git a/sysdeps/csky/fpu/libm-test-ulps b/sysdeps/csky/fpu/libm-test-ulps index ffc0676765..0e0cc63f07 100644 --- a/sysdeps/csky/fpu/libm-test-ulps +++ b/sysdeps/csky/fpu/libm-test-ulps @@ -975,19 +975,15 @@ double: 1 Function: "tanh": double: 2 -float: 2 Function: "tanh_downward": double: 3 -float: 3 Function: "tanh_towardzero": double: 2 -float: 2 Function: "tanh_upward": double: 3 -float: 3 Function: "tgamma": double: 9 diff --git a/sysdeps/csky/nofpu/libm-test-ulps b/sysdeps/csky/nofpu/libm-test-ulps index a7c85db00d..a9f6566e2c 100644 --- a/sysdeps/csky/nofpu/libm-test-ulps +++ b/sysdeps/csky/nofpu/libm-test-ulps @@ -1006,19 +1006,15 @@ double: 1 Function: "tanh": double: 2 -float: 2 Function: "tanh_downward": double: 3 -float: 3 Function: "tanh_towardzero": double: 2 -float: 2 Function: "tanh_upward": double: 3 -float: 3 Function: "tgamma": double: 9 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index 0fbb2f81bb..ea344c2f6c 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -1084,19 +1084,15 @@ double: 1 Function: "tanh": double: 2 -float: 2 Function: "tanh_downward": double: 3 -float: 3 Function: "tanh_towardzero": double: 2 -float: 2 Function: "tanh_upward": double: 3 -float: 3 Function: "tgamma": double: 9 diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index 26101c933e..3f00faf29f 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -1613,25 +1613,21 @@ ldouble: 2 Function: "tanh": double: 2 -float: 2 float128: 2 ldouble: 3 Function: "tanh_downward": double: 3 -float: 3 float128: 4 ldouble: 4 Function: "tanh_towardzero": double: 2 -float: 2 float128: 3 ldouble: 3 Function: "tanh_upward": double: 3 -float: 3 float128: 3 ldouble: 4 diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index 92e821d609..af9ac1cf1c 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -1618,25 +1618,21 @@ ldouble: 2 Function: "tanh": double: 2 -float: 2 float128: 2 ldouble: 3 Function: "tanh_downward": double: 3 -float: 3 float128: 4 ldouble: 4 Function: "tanh_towardzero": double: 2 -float: 2 float128: 3 ldouble: 3 Function: "tanh_upward": double: 3 -float: 3 float128: 3 ldouble: 4 diff --git a/sysdeps/ieee754/flt-32/s_tanhf.c b/sysdeps/ieee754/flt-32/s_tanhf.c index 2c12f04569..b7273d9724 100644 --- a/sysdeps/ieee754/flt-32/s_tanhf.c +++ b/sysdeps/ieee754/flt-32/s_tanhf.c @@ -1,63 +1,88 @@ -/* s_tanhf.c -- float version of s_tanh.c. - */ +/* Correctly-rounded hyperbolic tangent function 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. -#if defined(LIBM_SCCS) && !defined(lint) -static char rcsid[] = "$NetBSD: s_tanhf.c,v 1.4 1995/05/10 20:48:24 jtc Exp $"; -#endif +The original version of this file was copied from the CORE-MATH +project (file src/binary32/tanh/tanhf.c, revision bc385c2). -#include -#include -#include -#include -#include +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: -static const float one=1.0, two=2.0, tiny = 1.0e-30; - -float __tanhf(float x) -{ - float t,z; - int32_t jx,ix; +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - GET_FLOAT_WORD(jx,x); - ix = jx&0x7fffffff; +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. +*/ - /* x is INF or NaN */ - if(ix>=0x7f800000) { - if (jx>=0) return one/x+one; /* tanh(+-inf)=+-1 */ - else return one/x-one; /* tanh(NaN) = NaN */ - } +#include +#include +#include +#include "math_config.h" - /* |x| < 22 */ - if (ix < 0x41b00000) { /* |x|<22 */ - if (ix == 0) - return x; /* x == +-0 */ - if (ix<0x24000000) /* |x|<2**-55 */ - { - math_check_force_underflow (x); - return x*(one+x); /* tanh(small) = small */ - } - if (ix>=0x3f800000) { /* |x|>=1 */ - t = __expm1f(two*fabsf(x)); - z = one - two/(t+two); - } else { - t = __expm1f(-two*fabsf(x)); - z= -t/(t+two); - } - /* |x| > 22, return +-1 */ - } else { - z = one - tiny; /* raised inexact flag */ +float +__tanhf (float x) +{ + double z = x; + uint32_t ux = asuint (x); + int e = (ux >> 23) & 0xff; + if (__glibc_unlikely (e == 0xff)) + { + if (ux << 9) + return x + x; /* nan */ + static const float ir[] = { 1.0f, -1.0f }; + return ir[ux >> 31]; /* +-inf */ + } + if (__glibc_unlikely (e < 115)) + { + if (__glibc_unlikely (e < 102)) + { + if (__glibc_unlikely ((ux << 1) == 0)) + return x; + return fmaf (-x, fabsf (x), x); } - return (jx>=0)? z: -z; + float x2 = x * x; + return fmaf (x, -0x1.555556p-2f * x2, x); + } + if ((ux << 1) > (0x41102cb3u << 1)) + return copysignf (1.0f, x) - copysignf (0x1p-25f, x); + double z2 = z * z, z4 = z2 * z2, z8 = z4 * z4; + static const double cn[] = + { + 0x1p+0, 0x1.30877b8b72d33p-3, 0x1.694aa09ae9e5ep-8, + 0x1.4101377abb729p-14, 0x1.e0392b1db0018p-22, 0x1.2533756e546f7p-30, + 0x1.d62e5abe6ae8ap-41, 0x1.b06be534182dep-54 + }; + static const double cd[] = + { + 0x1p+0, 0x1.ed99131b0ebeap-2, 0x1.0d27ed6c95a69p-5, + 0x1.7cbdaca0e9fccp-11, 0x1.b4e60b892578ep-18, 0x1.a6f707c5c71abp-26, + 0x1.35a8b6e2cd94cp-35, 0x1.ca8230677aa01p-47 + }; + double n0 = cn[0] + z2 * cn[1]; + double n2 = cn[2] + z2 * cn[3]; + double n4 = cn[4] + z2 * cn[5]; + double n6 = cn[6] + z2 * cn[7]; + n0 += z4 * n2; + n4 += z4 * n6; + n0 += z8 * n4; + double d0 = cd[0] + z2 * cd[1]; + double d2 = cd[2] + z2 * cd[3]; + double d4 = cd[4] + z2 * cd[5]; + double d6 = cd[6] + z2 * cd[7]; + d0 += z4 * d2; + d4 += z4 * d6; + d0 += z8 * d4; + double r = z * n0 / d0; + return r; } libm_alias_float (__tanh, tanh) diff --git a/sysdeps/loongarch/lp64/libm-test-ulps b/sysdeps/loongarch/lp64/libm-test-ulps index 1a9ef3c217..a5a8850929 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -1329,22 +1329,18 @@ ldouble: 1 Function: "tanh": double: 2 -float: 2 ldouble: 2 Function: "tanh_downward": double: 3 -float: 3 ldouble: 4 Function: "tanh_towardzero": double: 2 -float: 2 ldouble: 3 Function: "tanh_upward": double: 3 -float: 3 ldouble: 3 Function: "tgamma": diff --git a/sysdeps/m68k/m680x0/fpu/libm-test-ulps b/sysdeps/m68k/m680x0/fpu/libm-test-ulps index 7b3e67efaf..573cfdd45a 100644 --- a/sysdeps/m68k/m680x0/fpu/libm-test-ulps +++ b/sysdeps/m68k/m680x0/fpu/libm-test-ulps @@ -1160,15 +1160,12 @@ double: 1 Function: "tanh_downward": double: 1 -float: 1 Function: "tanh_towardzero": double: 1 -float: 1 Function: "tanh_upward": double: 1 -float: 1 Function: "tgamma": double: 3 diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps index c9fc2aa5aa..f7eac16221 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -234,7 +234,6 @@ double: 2 Function: "tanh": double: 2 -float: 2 Function: "tgamma": double: 5 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index 2155853acf..418887d215 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -1054,19 +1054,15 @@ double: 1 Function: "tanh": double: 2 -float: 2 Function: "tanh_downward": double: 3 -float: 3 Function: "tanh_towardzero": double: 2 -float: 2 Function: "tanh_upward": double: 3 -float: 3 Function: "tgamma": double: 9 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index c4dfef0b23..fb2689efb7 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -1340,22 +1340,18 @@ ldouble: 1 Function: "tanh": double: 2 -float: 2 ldouble: 2 Function: "tanh_downward": double: 3 -float: 3 ldouble: 4 Function: "tanh_towardzero": double: 2 -float: 2 ldouble: 3 Function: "tanh_upward": double: 3 -float: 3 ldouble: 3 Function: "tgamma": diff --git a/sysdeps/or1k/fpu/libm-test-ulps b/sysdeps/or1k/fpu/libm-test-ulps index f352f71c7d..1acfd0fcaf 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/fpu/libm-test-ulps @@ -988,19 +988,15 @@ double: 1 Function: "tanh": double: 2 -float: 2 Function: "tanh_downward": double: 3 -float: 3 Function: "tanh_towardzero": double: 2 -float: 2 Function: "tanh_upward": double: 3 -float: 3 Function: "tgamma": double: 9 diff --git a/sysdeps/or1k/nofpu/libm-test-ulps b/sysdeps/or1k/nofpu/libm-test-ulps index a69026e9ee..d0a00f9de1 100644 --- a/sysdeps/or1k/nofpu/libm-test-ulps +++ b/sysdeps/or1k/nofpu/libm-test-ulps @@ -978,19 +978,15 @@ double: 1 Function: "tanh": double: 2 -float: 2 Function: "tanh_downward": double: 3 -float: 3 Function: "tanh_towardzero": double: 2 -float: 2 Function: "tanh_upward": double: 3 -float: 3 Function: "tgamma": double: 9 diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index 210ea0a26b..4d22d956cd 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -1721,25 +1721,21 @@ ldouble: 3 Function: "tanh": double: 2 -float: 2 float128: 2 ldouble: 1 Function: "tanh_downward": double: 3 -float: 3 float128: 4 ldouble: 4 Function: "tanh_towardzero": double: 2 -float: 2 float128: 3 ldouble: 4 Function: "tanh_upward": double: 3 -float: 3 float128: 3 ldouble: 6 diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps index c2a0a64d50..244345f934 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -1456,22 +1456,18 @@ ldouble: 3 Function: "tanh": double: 2 -float: 2 ldouble: 1 Function: "tanh_downward": double: 3 -float: 3 ldouble: 4 Function: "tanh_towardzero": double: 2 -float: 2 ldouble: 4 Function: "tanh_upward": double: 3 -float: 3 ldouble: 6 Function: "tgamma": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index b29beefdba..22041cf093 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -1269,22 +1269,18 @@ ldouble: 1 Function: "tanh": double: 2 -float: 2 ldouble: 2 Function: "tanh_downward": double: 3 -float: 3 ldouble: 4 Function: "tanh_towardzero": double: 2 -float: 2 ldouble: 3 Function: "tanh_upward": double: 3 -float: 3 ldouble: 3 Function: "tgamma": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index b78c11ec09..511d6a3b90 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -1327,22 +1327,18 @@ ldouble: 1 Function: "tanh": double: 2 -float: 2 ldouble: 2 Function: "tanh_downward": double: 3 -float: 3 ldouble: 4 Function: "tanh_towardzero": double: 2 -float: 2 ldouble: 3 Function: "tanh_upward": double: 3 -float: 3 ldouble: 3 Function: "tgamma": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index 2beaf10dc4..528d1ade6e 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -1326,22 +1326,18 @@ ldouble: 1 Function: "tanh": double: 2 -float: 2 ldouble: 2 Function: "tanh_downward": double: 3 -float: 3 ldouble: 4 Function: "tanh_towardzero": double: 2 -float: 2 ldouble: 3 Function: "tanh_upward": double: 3 -float: 3 ldouble: 3 Function: "tgamma": diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index 002218c7fa..783ee44a7b 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -488,11 +488,9 @@ double: 1 Function: "tanh": double: 2 -float: 2 Function: "tanh_towardzero": double: 2 -float: 2 Function: "tgamma": double: 9 diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index 72ecefff12..dbafba668e 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -1340,22 +1340,18 @@ ldouble: 1 Function: "tanh": double: 2 -float: 2 ldouble: 2 Function: "tanh_downward": double: 3 -float: 3 ldouble: 4 Function: "tanh_towardzero": double: 2 -float: 2 ldouble: 3 Function: "tanh_upward": double: 3 -float: 3 ldouble: 3 Function: "tgamma": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 038622d624..7df7b51a3f 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -2140,25 +2140,21 @@ float: 2 Function: "tanh": double: 2 -float: 2 float128: 2 ldouble: 3 Function: "tanh_downward": double: 3 -float: 3 float128: 4 ldouble: 4 Function: "tanh_towardzero": double: 2 -float: 2 float128: 3 ldouble: 3 Function: "tanh_upward": double: 3 -float: 3 float128: 3 ldouble: 4