From patchwork Wed Dec 4 16:37: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: 847294 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp422959wrr; Wed, 4 Dec 2024 08:42:54 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWdUCTcJi2xvLM2IlG3IRZaf5ACYNxcSmu7KG+8A4RSR4nVVmFWCRVGvm75J4s5OX25v2eZgg==@linaro.org X-Google-Smtp-Source: AGHT+IEErodjuXq0+8/OWVlpwkjijCi7wJtVFqtVeWNNedXvVLuJPrNK2U7lgntEPShCPaalYLp/ X-Received: by 2002:ac8:584c:0:b0:466:b189:2069 with SMTP id d75a77b69052e-4670c0c093amr107465871cf.25.1733330573981; Wed, 04 Dec 2024 08:42:53 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733330573; cv=pass; d=google.com; s=arc-20240605; b=bbsdc+/PkSMVfhLgSk2wk2tIZSuamX7xrN6ZsWiIuWe6hYDCzcCoAacl1f7gGooYHw uvGrUZ14+igWpmuqHYiMpluI4HhurgiTZKqt8q3teHwWG8bbO8j2GX5mXtpDO4jQjTuo O4lC3V6XujLFt4vtOnp5vTtSk0Fpwx8bOqHW19Whketq7cyyEHJ2ZCVeEqfG+Z/Qi5/7 GJEutt4/+EE4CFoK+EITtjn22jdQd1hyNj3yLkdtXm/yE34UbYDvouzNPKRKmG0Lte95 aBElksmTjZBiDJS1XQXAQzpgTEgoDLXBrTaq6sPeT+lr9Pmpk2cLQfcbhH3I0MMYa02s 8Qig== 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=Xg2D6TDmy+pF7c6Ojd4GLxcjMRXPsF7LAgmaDUsy0dY=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=O7set2wxRIySU4uZWSvsQu6rXqhqWk0rrGwlHB/G37nV4wgPlI5HsPi07bTUCDbeFj cbLLhP9VJ24STwb9O44JEifvkVTT9ifZAF471KfSQFYd/4ZKuiUzYclajes2guqaUUSb 6sVMdaJ97TfmTqvSO5ssnltNe1szO2//9A+YXdZo88IsJO6dZ2lvICysba/c3TRX1+OZ 18o1gJbXlWxzPXbGFGtGk3DwXRyerBjaXFfhA7XrJIh+f55C5A3nfn/pkKyx58J42l77 VZuSJ6npO5F2BpclUbSkjQJkJnj/8pjGLie++DTri62sd5RRUgmh7dUWKSb67wRAp+nT 7LWA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=r9fR0jvr; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id d75a77b69052e-466c40554cesi199694621cf.82.2024.12.04.08.42.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:42:53 -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=r9fR0jvr; 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 94B773858C98 for ; Wed, 4 Dec 2024 16:42:53 +0000 (GMT) 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 36DED3858D3C for ; Wed, 4 Dec 2024 16:40:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 36DED3858D3C 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 36DED3858D3C 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=1733330421; cv=none; b=WqIGMKOsbDRv/7N3jtGB2AGeQTOWwuL+3Vxp8J28uGXOAvmajvjxpTwaI6/zSWglTAmqqaIlhUO6URYtAk9QOQ/w3pcst9YjNy71A74GZjCwpoRyVCj6zd8xmlIgdFYK7H1/DrIztfAYItGbdOhqmwMLC83xeqlOLCthYzWELxQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330421; c=relaxed/simple; bh=IZQbvAwYdVp01KqklMMaVxQKFEhmc8i/w+TUad7h6PE=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=Ygag3Y9PyFQxS8EgFZx0yvL1rzPjg11kx+L2gC6n061svtEip+I3+e4De7gHHm+8KyHzYEJV8nDIdtvSwdYwKtyvhzfHJhtRHC5YI3XFwtu43ixmDDxaH6zKYvt6OsJmFmGM/ztBPIWJdrRqc9jmnab9n0Z0TEefNgQnnT6ZG0E= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 36DED3858D3C 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=r9fR0jvr Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-215a0390925so37993075ad.0 for ; Wed, 04 Dec 2024 08:40:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330397; x=1733935197; 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=r9fR0jvrMM0OtkGiOKNanUcUqPwD2XpgJ/UF1Jx6lSNT14JiAkepfbJREtFSSsoQ9k sQ1GipKDfWTzbWgO2zjJ1LHf5LETiZKwRJZziSit9OiF03wZ+Mn1H2HUBweQsOE2l+CF 6UFCTTula774vTu0y2W2r5Ab3ACznwQkedmDpSeOQbnn8pvEHj0Awa74g53DfusehsZS lJMrm2PJMCinlE1T+2Qhz5m7YDtGSQt+9VmCYJQ/G+9a8JF26W5ewezWubpvBAPeboVd zcA6OTvhZZiwsO31iho0tuS/LlNJ+0kBoex6APhCAgzc+yFf/z+CU2kvJ3EFKNEckNMz 9XVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330397; x=1733935197; 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=mE/CmW7INExJzz8gggTjLbszzPZZeU4pY/1oO9voi/gByvGsx2YkyrrC36xZYBgu+m DnNrQKKDaS9nYJEDHPfyMjnXsrGukwVFggEZCXwUKrufpb+p90LQKCdM+VMKsBPv7/F6 7ErLZVb4cHU2jkw5+lUsghywzhrmtUh2lJiHgjJLeR2uoEeyLMNSECnle52qpQoQAhfo RIYPjfENpsFtUIrZ4ZcAf8KQUGiffSZTECapB5Bd0NOwkoZkS5AN1BIo5aOZ9/1K8Dal kEyg9semGKjdHkifn+j23ONY2S3gPpSlJWiZtDnrzqP/yY3g0bdfV3TT7vu4QOQxgK4g El4g== X-Gm-Message-State: AOJu0YyDWlsZtRHcZKxsVwDPhc/lNqsktdrLeynPapBwsE/ishRdujlA 7MC92IsXksy+cElGmme6eZEKj38lU3HF83ZzvBW57siQsjSLtPD3OiPpRNUng9spIR8VcgaIWGb e X-Gm-Gg: ASbGncucuaKGW3PoBRsSfYTNpl1yM1OfFdJcL9wr+f/YXqfN3EcauffNCLk+HWLGeuw +tpvbdImInkpE8+wssw4iYkGCUHRhfrwhUzi7/jKrEGKNMA0axSeWtJzRepjOoGtDG0JhYamnJo MLcob0o3MBAL61wIYDkxJ+llX3MOIF/oiABPRf3Rveyhg5I0aq70EotL6nkmtyisdh8M58RffS4 LaCbAQIHo9tcPojmz0QxgEBFuKuBXRdLcQxpS1K80qgBFPvZLhG0cYaJ3nK8A== X-Received: by 2002:a17:903:1790:b0:215:711f:4979 with SMTP id d9443c01a7336-215bd24b939mr107834615ad.35.1733330395624; Wed, 04 Dec 2024 08:39:55 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.39.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:39:55 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 01/25] benchtests: Add acosf benchmark Date: Wed, 4 Dec 2024 13:37:36 -0300 Message-ID: <20241204163949.1408676-2-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 Wed Dec 4 16:37: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: 847292 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp422072wrr; Wed, 4 Dec 2024 08:41:05 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVoSmO7XrV+0YQKVykIROU7AVbZ9cDoG/S01QppXspTf9d9uiU4L4HAAeUgeFnD7lACej9o3w==@linaro.org X-Google-Smtp-Source: AGHT+IFGDDkgZDFLNrXsNqgMthMkVMxzDoy1jdhsImPPnO557FmDVkRBbYrYBS6NQvvcKPto+ByB X-Received: by 2002:a05:622a:54f:b0:466:a331:3a58 with SMTP id d75a77b69052e-4670c760149mr95351181cf.53.1733330465154; Wed, 04 Dec 2024 08:41:05 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733330465; cv=pass; d=google.com; s=arc-20240605; b=HCJ5uCiePnxNUNWYCanqYZqH1DlfAtjMbpQ4+UUtKEz5k0N8reJNDuX8uumP+hpXIw 0N8o6kKukCj2AjeMgoPtcWiCveAPCyVMvpPgWMac0HaQiUqAtlsu2SsDdkYjC/0JZDSV /XebFgr2HipcvcdJ797WweYFN5E37/KoZ/PzJb4xyqn2tjGxMmhtdhjjUhBH8jM9k1na BJKshV+vbbTI3pYuDH9O09M71bB01IWAsElncnOL5EEdYqq2L7pnjxa9MP6V5sOEvkOk clDRwFpdPEniSaMiua+iMCHhucwVXnRXcvRSq/KWG76VnuhbYTWFznN1IZ1QEaBEQjwc 1wTw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=qXGp9HyuNbdVfLBHelq22DTT7i4uAxHM3mWVvHaRaxY=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=Q8jCFtWPrBqhWmYUTFt1vVXIxEPMqU6gO+1jVS4e6bk4GFnCPQ5S/c+labNPsSpbLS 6qLI/iwJKHAuUdUPGud778iAMhkViVQZG404ch1nf9OsbZFZVj8WV6Qk8VIb8mMmdAyH N00ZmhjkJ5dfV77UrM9jXh1/TRNDJqaCW9TiAuurL7lPnmxXHYTEO89ZftFS1zFm7Xzd C3bdeGMtQzMyE5X2A/8md6yk/DOQvzJFGVjMHxnIeObxCIrilTeCDl+/xx230l7eI+fx kkF4sHiemR1Jp/QgH/+NVHEOgGU+MkVryIClYE2RY1Uvw8SK9NKkt5glgC6f/Sr8bTGH leoQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=In8IoO5b; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id d75a77b69052e-466c4109cfcsi192683081cf.236.2024.12.04.08.41.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:41: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=In8IoO5b; 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 BCF883858C62 for ; Wed, 4 Dec 2024 16:41:04 +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 39E923858D20 for ; Wed, 4 Dec 2024 16:40:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 39E923858D20 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 39E923858D20 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=1733330422; cv=none; b=ppd8ZYjLzahPrNbs+ZZabvEvP9dxAVp3jSVXr1zZwLWuOxi1dX1NeDTXpLHMfIaxLGII7UevkZKQC1AN2gzPb+A8fVqBBv0qD6Gt1MmMUfCkQyMajZfgOyqHWD7jxH7j8JscakxzjpYn1VA6X0wOc1fEisqaX8okFavbaA0aIqU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330422; c=relaxed/simple; bh=ELUuUmDHlozeWJAsGNYe5SmM4zv2NssukZK15m79kbw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=EEymWdEptPgllpgRhZ8sA72skDbWzGcHAuJjWaAZqsKZg+xfBLK9cqOSym6bFp7AodehjuqgvKpfOk+nXUx3/wvXAcru0AiYyiKSUcCQGpj2HBSbIrjiSZildpiS0BcOAFxxi4v1Q3ijNHXHVEFAaP5vS4oL4v23m7zAZpl/MZA= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-21578cfad81so34944485ad.3 for ; Wed, 04 Dec 2024 08:40:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330398; x=1733935198; 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=In8IoO5boOTXmaficQdYxRE1+XsZY3xhr3OmWeM77+EnW9eLwifLBLthm8FaxY4EGh 2JgLujNFXgefWTsfvqiuo43G9DYQh8D1b99mfEN2xksPZinn+4sgp8lHihHuyh4S344E kmYhmgDYBvfuoIMLLiVlOAGabjpxz7mAMuFSzrMnCFGLChQcH7H6H84yJv5UT+KFPMd6 G1H7HtU0KLK7wJbPAyysjltkWHIg+N1WHYBcztaLKHGslscbEMXCs2AriWOCF7Ixx6Ot /T6nBwS9uFGK0jeWnkfVsAEOH3v6km9GL59Cc2xgQWq6XJ2rxhdQFV6+YdyFw1+bv5Lh jdHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330398; x=1733935198; 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=TkpqqwBcw1+boxqGzQ9VrkHvI6Hg9PGGm8H9qoYnwCPzEuhuOmSMlyo4a29En99Lme 34Ou9PJG8mzRfe+qMX8vGUOXJqBNbam27AyaJq/QrK3xiNhoCvLJp4lAtSj/MtVLpoem 56NBzbgp1lnQr4S7WOHfLv7nbfMf85zI5Rf6a0hJMLDxlLw0f0yGMq21r/fzWrwxkhFW MHOB1HsnEUp32dQbl+elpnXuSObpRXfpw3wBXSFdJAcIzZp4RnYd7Wf9AOpHBgqXvG29 93NL4ReTupNDs/y7cTletuL7kiFcsxo4nlceXFguVwU+X0dFET7sa8OhfNlyPcEJi7kX T9/g== X-Gm-Message-State: AOJu0YwWPiF80YeT9pcVn7qXwgp0SSle7q3wCwLpYheW3upZNU9UAzC3 AevaGee3MpZ5dGMHob5fyvfyZFjKE6SyqjtlP28w9y4zdjOkTR2XDmcFs9f+TKsnuX3rqYS4nur t X-Gm-Gg: ASbGncvEzKACNVP8qLao+cFzEgmM1bfukIc+reO+yVQ2oSHWcfCL5l0fagNEQWd0w5k c4R4+Vb1f/X6H7r+6OI+Rz1v0g1QS2x8iYQ1Y6YNMdhQe7C2E7nlryDaW3aRPbUzQ5SvwK0QgF8 pyQ/TX6Rca7BxElo2vOCen/6K6pcOC52v/aWwsGTI3OOXZxuF0HYajhg6Co78Jeh2KbtD6B4NOq +TG/xvaWPm/1ey6wSdrgVwBRL1NW/SaIbLK9F32eIrk53Sfrie8l5jsPuM6TQ== X-Received: by 2002:a17:902:f64f:b0:215:28c2:6676 with SMTP id d9443c01a7336-215bd200bc1mr96364055ad.32.1733330397356; Wed, 04 Dec 2024 08:39:57 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.39.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:39:56 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 02/25] benchtests: Add acoshf benchmark Date: Wed, 4 Dec 2024 13:37:37 -0300 Message-ID: <20241204163949.1408676-3-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 Wed Dec 4 16:37: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: 847293 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp422451wrr; Wed, 4 Dec 2024 08:41:49 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVPX7RVe2eNdl/tYtNOogH1ACqgI+oF2F0n72jtRJRoinhszh5uYZTx6YyTFnK22ZCxeY6jzw==@linaro.org X-Google-Smtp-Source: AGHT+IEzh1I2Dw6YYQlPi+WDm/2igLv1lOj/suyQzes8FCH8UrkXpO34i3qNaj5CngoyICQ/TsXB X-Received: by 2002:a05:6214:518e:b0:6d8:9cbf:d191 with SMTP id 6a1803df08f44-6d8b732efa7mr135659226d6.12.1733330509555; Wed, 04 Dec 2024 08:41:49 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733330509; cv=pass; d=google.com; s=arc-20240605; b=izu7AatHCYn//Eo8e15zGX9vzy8cDbzQPjX7qSGFQMDgj/WLUfaYgQmA3Hl6ejcqQy aZv7Eey2mm089LcNxvUci40KH0yV4azPuN931DLpQ2DpexADoiFx1b8rotObYambfTuw zb4lKy5JdTS65ILyhmmJyUUaTT9fFbGQOzrEXiQTR4kDo3RfOa49KJq5ueKPfFUh+VvJ 76l9mmQWpKUhniGTyTmiPPGz4yZZ6H+oS6Y9ymMFj/7jPBMX8oStgMbK4moPUs0m6KqF bforGwrwwF5iMQxg1gRBGxaQwm6mIPb65cn3zOIZ7V2c2oxAAtpwjv43LTLC/RAPgtSA 34IQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=uxYoESU2ehABwls8+ur/odb1ukj+MklCbAVZE+zwV4A=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=bOc65YqtSsvRF7LN05B65f/B8eSTV6lAGmQtMmTNHCH7iabor0Lo/TxQopMT+pwWNW kiFrfgOQybbi9gXjnqffC7xhqyEYDCMQ5HW980kYH1itzFFv4TABAvqjyw6ZOhxoyRcI EYlcBWv7Vbl2qHnTBr9DtrWe0ev6hlkEjp8nwCno/NEJujQmLeHAoVoh8m59mduvRpPe ZNqY1I81wUl4+OlWIOw3oVaN1DyUSbp0i7CL5hmpFXvqr2g5UdweE1yrSSWfTWqf9PaE 0wlJ6rFMbjrBJiYpbwVN6HXo89Azax1DUCBaXhUExGe26pfmIFeojXemRQS+ytBknOAr UGeQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=u46G6EEd; 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-6d87d7d42cesi152646296d6.160.2024.12.04.08.41.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:41:49 -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=u46G6EEd; 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 1702E3858401 for ; Wed, 4 Dec 2024 16:41:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1702E3858401 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=u46G6EEd 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 5CA433858D28 for ; Wed, 4 Dec 2024 16:40:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5CA433858D28 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 5CA433858D28 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=1733330427; cv=none; b=nWxw/nAt8KEM68eK0q77IHT2fk9QFUy9GLfZYrckqwAyNrInqocwB9nWQzgaAl4K2omXRFNWlBosjo2pz/iEZS6MIk4tWxl4nsMAdw8zR3DeRW/pXbLPQcYpc3752X6TYBMPvJvzGGyPHY1INJ+6FSzfvgr2DUikuJ1dLl2JdF4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330427; c=relaxed/simple; bh=7AJKLoY/KrAqOVhNvy28v+wpzjCnLFZfeurZF/vCIaw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=oTsr6zhLsXUkaH55g60U04rxKcZJgPFhgcM9QHAennzc4XoyMNd1CjrK082nr0/UaTMYZOvK8iLp2mEPlCgr4sr8LTT2VqMab3BVXgOsEgoh4W8HvckBBS6u+5AJjXu8e0kbmf3FbKJOtca529n41x1irNDcFMhl8JJ93TByjWc= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-21561af95c3so37494025ad.3 for ; Wed, 04 Dec 2024 08:40:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330401; x=1733935201; 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=u46G6EEdc5Gs+CWCfxbMOnGcDyBLiMDSwFebBav4bs79eFwhC1V2aD/cITpWxLdb8h Ym+cMf2mbY/mTidTVffD7eYcZd7/44ZnXNzxLUMCJiafY5UvoB59QzFX+MRG/laItusJ LRkvL2NCD4zU0PxQmVEiny4/BNrNjH7ZBcs1o0jgaeUtZSUYgx3lM1zg4Na1YqcSgUxx 2jiGYOHgOjTSHy9t3HXyogksv0+9y/BNbZGVQ8AebEjZ1BQHDXfuOrCywG8DAneWuQLD VtCBCepmPS9LhNfXxdL1/V4tXQjqFU8U8W4EBow/bZeIfEdplLpkjU8vSS5mipazAuX6 OkBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330401; x=1733935201; 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=WhSfQyUFLaKVAK4uCPfy1drfANZHH8j+a7pAHBDo91wp3FwyVjEMvrYyhcl0E2T737 GQdLIyWK4uUVvKCAHAW9r/ZRhPlPAqAhstjkvG8KZankI60FMhIVLjXAbzMe+jzbzx7p qnjgjQrnu1AtBelRL61zvtP6NiJcFw301sn/dEaL6Tj4F1hqjRYi+lNMKXSrSpbycHYy IHVQDZXNvMxXJGIdThMpxsie++ZAqmZ8to8dw7peBjJ6dQr1ocCjIg/ekBpL9+jzRDRn kErzEqbr6xrK0dG+6YzTWwir8zbx6aLzWrPJfBzawgosgZTo7PEecr251fceOBGFkbHG oipA== X-Gm-Message-State: AOJu0YxqM/mWw2abD+9w9HVuKU1OpRlRHe4gIXrcZG2NOlwFJnWdvsvk NHw6KUlSWlDaGlGyY0dlubkSqXE3GoWEcim9FHX0HgbG8aiwGi/UYq17G9QruAEU3L6Hb7OKK7s a X-Gm-Gg: ASbGncsAUH8UkTWbkdYXmguSlNeThbvy4OTQiA2rP9/t3tdinbTJgCaOq+6u+9klv9Y rCFlD8CJd6EF+2kmpA8OK2HTkjmhKewpLYfCXfLexgCN6YHmnbgm17y99vS+9tr4vHTc5qQEgxL ta+Io404NBRxK2UaxZ/srFDbnt4f4dUYYkbOEBOj2xC+nj5UBcqECv6rSnbzIy4ScmhU7vsl/jm pxd279lOYW8YdvW0GrJ3zoTDjSKbzD/IaKBNHzifjfJaESOnV/4aAlGmD7d6Q== X-Received: by 2002:a17:902:fc4d:b0:210:fce4:11ec with SMTP id d9443c01a7336-215bcea1375mr125825995ad.1.1733330399324; Wed, 04 Dec 2024 08:39:59 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.39.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:39:58 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 03/25] benchtests: Add asinf benchmark Date: Wed, 4 Dec 2024 13:37:38 -0300 Message-ID: <20241204163949.1408676-4-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 Wed Dec 4 16:37: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: 847296 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp423219wrr; Wed, 4 Dec 2024 08:43:23 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUPFPovcVGKrRioZAtk+b9hQFGGKJX+HwkD02+hKlcXfiivcI1axF/fxTi6YaZ93YH71qmZoA==@linaro.org X-Google-Smtp-Source: AGHT+IEpuXRhIG75Lm4NGgYab56/BnO/MENOlpGRcz4Xoj/r515B3foKPUQ6jwI0Q5adpE7lUc9e X-Received: by 2002:a05:6358:d08a:b0:1ca:967a:3105 with SMTP id e5c5f4694b2df-1caeac045a5mr596876055d.19.1733330603127; Wed, 04 Dec 2024 08:43:23 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733330603; cv=pass; d=google.com; s=arc-20240605; b=byxUaQdUrN2L4Is7mZt5Anbl22/0+pFE0tAhwT7u6Klwvgg0AkSIwG1jxzBOBOJEs4 r+06fjrMzexJQJKgtexD0sSpOXyU2IFWUu9mKN/XdE7SSe/6nRWN8iCp8/vzEWQYSz24 QMZQpY2SYVMXamfxDm0TzjGdHgsDoXKaT7owPyqJKusiHPMc8tVMW6r3fa+qnJke1rnr cRJFLHk45RxnHdkV+9pxEmiINlVu4TzGdgHBINo8vkuquFJb/31scVN4bKeLogNz4FLI Q8oyR0qtgbp93zAm2nPlD/AjRhMqf4QlHfGXMMI8Ud5cQhJnozyFE9RIQzeXJrrzKECc vzCw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=TbTaSvthXK0uNDIdUPrI2CQ3TFYtjcf34TRCci6roso=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=CheCcQ6yqtPVU7IwY5QNckuSpoUSkeMq6WUov6/0cgL9Y1b/pjeFVIhoUS40WDKIbS 4yIECpJ9wYMVewMK2KdQPauF3T5xGh/IIA2UefeIQKPv+Qz0FwGHl7zWAOMsid617JEZ LMf6vm5ZuWTWIOzX3e6iEYMudan4ld0uUzfsZHOjlnc+q3uw3lgxZekaO+WpqzhUQGHj zX+WTNSeP5bWMT2zqPg1ie/Uzz2kGBD1um8k/DhY5G9VGaz0EZD4d9AAlfzmS3ZwmfKW 4T41D8KXGP012Lcs5pYDOwWy6CdhQUCoqfFpUfg8RKbcyVenUDGaBI6VIvDDbKIdL9jv IZ9w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zvUEhtRO; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id d75a77b69052e-466c4226fe6si201095081cf.422.2024.12.04.08.43.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:43:23 -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=zvUEhtRO; 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 B546A3858CDB for ; Wed, 4 Dec 2024 16:43:22 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by sourceware.org (Postfix) with ESMTPS id 38A1A3858D21 for ; Wed, 4 Dec 2024 16:40:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 38A1A3858D21 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 38A1A3858D21 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=1733330431; cv=none; b=wcOfP9t7/2NGPtBLoIYpOpn8Pw9qgcy8OhBsxTrOyxmTwtgkPFfP1TaqJgrsP46RrZgS9qevrdugHReoXa0wXBZ9ViMnabSHTnxxF+k3g+66MgB0GKr3pDtZ0NqZWfQL9FyT0a64udoqY+Rcqg+EzwciMLcoL5HkdqHOoDicmMU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330431; c=relaxed/simple; bh=O8TklOocrXSAXE21NWgW0P2RwPVAAS+PlXjLSjAzdAA=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=nTv+HJOBz2FhgqEOgaUtkMAnjACXsTbVgxqWioKRzm/khEnLDTVG05eKQf8j2hp3XtZtS8GXn1KyJEvOvjuBtaW+lhE4Zw2triz9SoMPQLSZSZTL0PIKgxLs4O+xaoGqH3xE0mfOpb4ZrCqwQGY7zQ6yd8cCP3GlMy/X0CVAy0I= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-215b45a40d8so24360415ad.1 for ; Wed, 04 Dec 2024 08:40:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330402; x=1733935202; 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=zvUEhtROpOPqrDAPGQcx6xt8YdAUHqjr4sf+NmVS2+fn/fGdEpFCwefKT8E9rwLy/E 3N4kcMYyy3l6AW8PUJscB9PqTBLmYjYiytoH4rWB90RprZpbna3IwzG9DeZtpjZc6XUt K+KwrssT/dugZEhP+lBqkOv2Fx9bWoL2Ob2k9ytz/ZP+uqZyvnJlkKWboAI2KVzCBet5 P4enEpTseVTmyLCIZfDpNxpazJc5geQMqF8g9qyMglMtE09JUticVKmE30WhF8+a8HUe JLCLiRBFg1JnovRFlNn4RzSim6xkaDq8mLeSpvJmGNnhtd4ffJoLVWOwUwXrUqxo/EVV TGFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330402; x=1733935202; 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=pvrXDvfn/xLdnAyANGD9dbv/rZs7aE9EhUS0PydYri9lntPEkXMAusYOnOqCFJoGL2 FfxBwz/JUpyw8ENSEJO5lKAPIIdu+xjMKNAP/EvTsqLJFPzHvyHWBvTknfy9g3lC248t 5Jfya7k4qFBD9IwlvNtJSmagljXMuPC/jgxEM/UrFNALDAYWxQIK6IVX2Sdhz1o1WyZR Z9i6fSFI+cwoh9m1nZ0kQ/J/mwGfJSn8JTjFGgmqFb9bcF6ywtx92kWRguZH0ljbcPSE K5qJuJSiwLWEqnwzmDxnoxDPecxHxZCJX9bG+B9LsGzxYE9js/UuPOeDpav5sdgVRV8c 3ocA== X-Gm-Message-State: AOJu0YyLp/p6KmKj1GjwNIZoqlshieLDtJ3c/yPDnNIoOWs0p2lBpEgp 0uYND2/2M67AFTgTmTmGZ4CwJDr0aiu5lu5G1KeUaz0bmQcUjwjIM50oWweYQ9vWsLCkc8/5FpG N X-Gm-Gg: ASbGnctpogOOJGC53p+7063AjLv7Nq3hXn75gmEizT+m6KdzI/SLwC9x8Deue62zw2k MjmilbOOChfBLCuWlHmwGmDD5gm4BaQV7qz7KQJWAGn/k8Bu0Gtc3VNY8N6kA/mAwR5h1b5SVwU 1DLufYCfH1pdyhgwad5ng/HNUg6yutrLgwu80tazFOdF64bzrfdUKNfbUh0IpZqlsf5FSXRD/za Q31VTXBZa01sGM/nUfieVTbKNsNsNMVdiQu66GAuCh04jzJPVzOaREv9cylFw== X-Received: by 2002:a17:902:f60e:b0:215:7893:a99f with SMTP id d9443c01a7336-215bd104622mr90640315ad.34.1733330401185; Wed, 04 Dec 2024 08:40:01 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.39.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:00 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 04/25] benchtests: Add asinhf benchmark Date: Wed, 4 Dec 2024 13:37:39 -0300 Message-ID: <20241204163949.1408676-5-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 Wed Dec 4 16:37: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: 847302 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp424287wrr; Wed, 4 Dec 2024 08:45:39 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCU9JuKI6ei8A1mO7AieumPb098Rlp8IkPAIg+OKFr1T2xNoHkpDzzUvG60l5bD0bHfFWm9eOQ==@linaro.org X-Google-Smtp-Source: AGHT+IE9xI7RvfwX2AkMLRuNdGgTAF4xFwFI/IlpSgG5WE6Q7Y29Hf4nHeAFUP2xJ/pGsVG2wIjN X-Received: by 2002:a05:6122:da1:b0:515:5008:118c with SMTP id 71dfb90a1353d-515bf50a748mr9860846e0c.6.1733330739684; Wed, 04 Dec 2024 08:45:39 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733330739; cv=pass; d=google.com; s=arc-20240605; b=Tfq7K1LpHmci6pcp+NKwiaOemaZkuh6iZrES9YheqSOY5ItYm5Zfq8OZqx/jcDuuHU VyD1IKD2aRX/mc+nEROVz2ZyClWbLQWtMULuMbn3z7e6NrgHJI8RStAOJtrcPLY1YFMi BzpBw0vAiNFcmPMJM/6yoDT425MQ4h61bEbuH6ozfN10cKwfiFzlSKwRcLaLO3yvzWSW pnwpA1AnUysga0Gkr03oX2j7MbXmWgldtb0ODL/CKzFOA8vmpmGkuJqKJdOzY9pD++47 ppx8Ha/z+l8SRf/VMwavyzt8lEDc2RUyeFHEmE2V8BLHy4HYhkdb6DFhd8VpC+3Co1Or /3Zw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=7Tmv6M4yzLV3I4GmY5+M0jli464/ZzrGHMvJh8ItULY=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=CovxX3nFoPvqZeGqmte3S2nJfSJ8olqQAic1C3ONxwPuqJ4h5BvnGX3NfCtXgnnsmQ yfMxgGRkJ80ymFlM0FS8PJnR2Sh8E28IEtDi1bEEXBegXgdrJkDCBuH2EeAedXUg+XwC 17CBoTczUmep1/Lg9+rnh6nQ+35JLfChBAIG03hzAUNWziXKBdM8tIxHq+HbbvcIV5Vq Oj6L5+hS14IYvhjEFYtDuanvVifo8Pu0zNr/eKc52JjKJifIKB5Tvqy63kHVoBWYR63/ TXBmvtXA0/Iyw8a/SgQHHiNXr1JwRTyebSpxN4jLmNG8Uho52GGCEmyvfD8nEHXp7Sw+ FTlg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=HOP1gCMc; 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-515d074aacbsi1118675e0c.0.2024.12.04.08.45.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:45:39 -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=HOP1gCMc; 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 419633858D38 for ; Wed, 4 Dec 2024 16:45:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 419633858D38 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=HOP1gCMc 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 7FDB13858D35 for ; Wed, 4 Dec 2024 16:40:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7FDB13858D35 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 7FDB13858D35 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=1733330435; cv=none; b=qDp/6rgpNSeILdPWijIAzpfcwmMqvUQ+R2he5by0pumjxJD00BuH9BcTD4b83HV4+RJG1EFL+uSx+rrOW2GEXZYTaEj+kTxlMlYBMrhoNQMQfG55DlNi/kDrCwCRwkjq20wCvQw7KvMEKqgmLAB5f9NbeiH1S1/lwc6aulaCHB8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330435; c=relaxed/simple; bh=kiUmkWED15nTCRHp+PQ/NyYsRCd5ykE4EID6Ymbwb7c=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=hHqHV8J1B+42egGEsfwmhwOLP3sbwXSN2kdHuZIYrtKm+NPr8H29Cutr8Re/2+YUCuwT3D5KNmKd7Ed136eKDz5AXV9X0bYCuJ/ol3O7g30P1J+6+yQwUwoDYzzifPkludRJDEVSMtj/VXZlWBQ2WPcn00sl4SLwom3m5nyn84A= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-2156e078563so34258445ad.2 for ; Wed, 04 Dec 2024 08:40:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330404; x=1733935204; 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=HOP1gCMcpWJoMc2hXGTfeNhp3sJj1sWGQ8U+zT3Bgqv6HLenskudFrk8k5jKr56Y3v c4iTWhnJD45YNBysW5XYxsxcdKv70lFD0n2rUhOlAD7+F2nH4A8k5b4hBi+pXpolPAX1 InvVVkfwfEjXbIu9GKhmTAX6qvW0PzR1pKQGDXHZfM6QIN9gn58SK9jHWCAOjhzOfz/E A/sdBXQ3hGmCkoBFw11DOwR86ylEcsudYel3H/9ugzOBwFuELVln0ArRkaplne/Bp7Td TItBIHuF93XaXP6UX/mx7BN73nUUFTpnr0K69TZU5XoddEsRj9DZsEiMnPZdy1TShLvc hp9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330404; x=1733935204; 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=XlN1HU9lhBsaE7Q5oQ+D9rIIIsMKbrv27pGhIBzDSa8ZsSNwQ47hGUVQhn3Hzm4EAa Jh6r7tDuacZfNBqaeUKZ4jvdXkcwf77peaQ6O+npzCI/YMiiLHgr0pxdnvJxSBUjhCZ3 OGQGvvOdJztCOmmU3UeVx9Ku1L7pRHj5lA4bzhXeZEHCNU86RO3lGVuW6wYBVLit1XDT 2ARIu01LabpPh2vQoI22U9Fk1JJbGOF7zfYkPqncIZzmiR8vGV1XkXxJ1GU/d3gWuuKs U/2sRPuZAXK5GfOFolEFpl8GCXFBQ9Mlp8nFXIKoxt1Mz+Bv1D3OF9IyaQLiVT4zG4rc 4Pwg== X-Gm-Message-State: AOJu0YwME16zTGgcns6QNW/FwnGl3hdpzW7GMWkdJ8hPdemIDxJCDa3I e33fb15o/0ii++mT8Ffu6s0GICRWVUg0xEDGVThhVnRLQV6ze/k/bch1/Du8Jnb9UyzqnLvUkgl F X-Gm-Gg: ASbGncsbHAlYiDqA11baGCVpim9jMoXHm8cfBlTrTZG5pZ2eG2BR7geFzCo0O1uGU9B o1yj8FfvXHkKehnqZS4bXXzkzWiATNUS/3ZUTaDvIsVhyEsu+OehdQg0q0yd4O3FtYWdPzHlEQB OLxGKq+1sfQLahZP97LwW4HnapX4eqqtZf9jUzA5ZMfy3aO/bRPJC97TcApKSJ5/zkEGjPT2OX8 mOeK+ZRLaIZYS4f/Cpzld+HkIFgnnReHGuUHBI+gCw107okEI9f3FDvWv0QJg== X-Received: by 2002:a17:902:f649:b0:20c:6b11:deef with SMTP id d9443c01a7336-215bd24fb57mr90931045ad.48.1733330403454; Wed, 04 Dec 2024 08:40:03 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:02 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 05/25] benchtests: Add atanf benchmark Date: Wed, 4 Dec 2024 13:37:40 -0300 Message-ID: <20241204163949.1408676-6-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 Wed Dec 4 16:37:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 847307 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp426618wrr; Wed, 4 Dec 2024 08:50:59 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXXKdLNWB4kDXY8QRJM5o87dzTS73wFIomV+nGAA1Fm9yhzaII8+1Yev91GoyIFt/yJrlXqPg==@linaro.org X-Google-Smtp-Source: AGHT+IG97NvuVCXxFTl63Gc16DiTjIEpG3dBy0iFDVNjq92LauMRSgh5gdbCg7h64L5tH7Ayp6n3 X-Received: by 2002:a05:620a:3946:b0:7b6:7653:edf4 with SMTP id af79cd13be357-7b6a61a9133mr1062914185a.37.1733331059269; Wed, 04 Dec 2024 08:50:59 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733331059; cv=pass; d=google.com; s=arc-20240605; b=BGtlpGyecIKF+gFGPG39ZQL8IofNvp/1Ty/pJolFAGLKrtUPVU59Z7sXEZG3TVKjfa za1UVPD/a/kkQk0UKfDo7lDt8fd1cy+pU5NL7Kwcni3IsAqO4hGE1RTkBWJu21zXnuRb Yivl16z7cnwCPNZZYGQ8GNpz0meJlQvHQx9WOwrikHb9lZpICbh3wQa4NrnvC5LiYEfo 9xJ9K09EjX1mTZ0gVrM7RNBS2E9Rvuy87keYuZ8LWRzG/i5Aum42MiTr3J7Bjz6cQvnp 95xMNLFdQvlVwTuBwYk0m/1Wa9g6k1Dm1ryCfWFF3NP0GYk3b+8Z0U9GD0Y3q6Ty6G0+ 0XOw== 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=Gn8L4SzCv4tHkbUhEbQ1oGgFxppralIrXyLlxsdSTE4=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=AHAZYM9oS4gpWhRIECHAP95djyAwLq6bW7yDTQGA635VuyEUv6tvmDSPY7YkwSKXoS BkY/VZs8fS2spSNC6P7iYfhKnuH7lHKL50fvpC3rTS02535vC9LtXMpwhR8icQL+vKDe 8DpjzWHLNWMBuYHLIBrdHLPfm2i//KBhb76qU1FkqJqTLDlFAPYOqShkZT4qm0/AzEFT lslfhDEBlnT7xz5yS8JGwytxw1YiItb/4hKd5gnKTKDLPwuaEdBr1Ar3qawGopEU42E4 aK6l7KSeiGLD8BgICj5YM9mrdCaoXRUaRW9qpcct/tSp0thL0BFyj8PbWCxtwV8TYC9a NrnA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=p0TA9PEt; 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-7b6849e6614si1767089385a.572.2024.12.04.08.50.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:50:59 -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=p0TA9PEt; 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 C7F323858D38 for ; Wed, 4 Dec 2024 16:50:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C7F323858D38 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=p0TA9PEt 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 3AC2D3858D26 for ; Wed, 4 Dec 2024 16:40:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3AC2D3858D26 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 3AC2D3858D26 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=1733330438; cv=none; b=rsAavfDvFPucKWjEcK0Qy2VGmG/dfoA7Tn/Vv26UqFMYsTzua+YP7j1Uo0+akhzeADTE3aCFmbGPl/hAc7kMR2KUwPiJY90GFMNCjoREO/DtSqh78gF5ItrsLLnXxTnB3KLUjDij+r/QXewxOnf+uxoa0qVqcqzN2aYf5zqpRhc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330438; c=relaxed/simple; bh=qI8vwXtovD7JLdScbIdxDTVb/MePH/HV2gX7HksA2iw=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=kHGrJGikHgLNnjYNL/aC9HwOVXGaCSja7aV0Cbhonv5lYbIueHhvHJfH0WVBhc6pQkZ3vnepOV9/siGNAEqljbvu9K+L541wOu+cjIBMG7jjcfotVR5+bL+TeZULZIiRhoE9KHzdwS7aLwb5cPM03FLiml/95Ni/Ow8PKQRs1Rg= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3AC2D3858D26 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-215b9a754fbso24244515ad.1 for ; Wed, 04 Dec 2024 08:40:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330407; x=1733935207; 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=p0TA9PEtpDckdhP/M/6Pn+drqJtljN0y8QGwDpfCERkENc2/oD1wc0dgFKV8Hpm+eW JO4Kp/ai2DdWfKzLZ8m0kYzgMK+duM44fVVZCS4cliQxVwJ2/4eWiO/qZbq2Ww/ja3Mv b+8Ig7cQs4dhXvncm3a1SMdbayDHMNlRqyu6nEe67Z+e2TZQ10EXxjDcjFjFoS+U1WeE 7H16KOyLFsyQ3YidzYEMi0AXcVwp6u4lx8OVlVBgGYSgPxOTsBHGcQvBvO5t0oFJzlMR CLPTC0K7ky1TnE1NcD0wfHYh/ChONhe9wQne6Gjeaf9Qpm3wi3Zfxf+d3W+eUaz8ijtB TtqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330407; x=1733935207; 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=cl3LKXk/bT6eK/keOchmq/jAbx181ehSAiAfOiSonFtlIRjEHXKkBLrsK3rZpUmEC+ MsVe+Xb3dvjBk9mkDsSYxH8c64c8elWxqTd2/Tx8on2abVKHVqfHcMxKL70xctLdMAgF qfe6qEQFvoGX8X8rUsp3oT1roaR837/QkITdammDk0WUnMBPf2ZTWka7DCWecQ15OcO1 hyIjCvxbZeCTCA7XnxKlj2awwd5wIH+jZX/YZeocjgk+26lf9o2ne1fU3cMyQPlLTHTy ZchBgPUXwrYASgxj15CzVMbQb9Dr8vp39ZHbxpprBhC7XiHXcyxAWFvrMaoCG8P2mlvZ Vq3w== X-Gm-Message-State: AOJu0YzyO3OZ02ADZ6opWg/NmjH1BjeqXT43NsyZ4wBjwdYLXrtBviiX fSs/mQm0AQr2R+vTmtLKle5tEPOL+5liRaE64E6mD0+NjPF5jzcpPJl34VqJcWg5Ae9LlekaBeE a X-Gm-Gg: ASbGncu6YRNhReRgAzVHuHOPfoxBokU9QzmVqyHIoBcmPLqMXULUSxZHD6U1VeQeiFt pOq4EGxOt/GahKijbe4Nv2zh7aOf3uEu8sqfMuU61DhdYUTPULSKcga9Vb+XqrEqaw4jJb8JqCX ryZ7zo/fGHxlu5jEVTTlLZY59rNyG8iaHWTJKsKlPE4+6/rdvRjW77fhabnjtfqWYx2abm610ft R9aXXwuh+CWGL3GIKeBkKUW+qZf+qyTxhM9Whlab8oco8hpAKIQVU8HwyoPEQ== X-Received: by 2002:a17:902:d510:b0:215:781a:9183 with SMTP id d9443c01a7336-215bd241454mr89185225ad.38.1733330405624; Wed, 04 Dec 2024 08:40:05 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:05 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 06/25] benchtests: Add atan2f benchmark Date: Wed, 4 Dec 2024 13:37:41 -0300 Message-ID: <20241204163949.1408676-7-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 Wed Dec 4 16:37: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: 847310 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp428527wrr; Wed, 4 Dec 2024 08:55:46 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUw53Hlv6JMU4vMj98oqlreP10E5GJ9dW2DGQYiCpm9873xbXMAfliNiD3AD2YOlmRkLXfb9Q==@linaro.org X-Google-Smtp-Source: AGHT+IEiSKLows+Lh3VbCtp2TxpS0aNJnKosBE1YzpI0f8oC28xAykb/I/ePsi5q7GVKhKNAz4g5 X-Received: by 2002:ac8:580d:0:b0:466:8cc1:6221 with SMTP id d75a77b69052e-4670c3dc158mr129599211cf.50.1733331346024; Wed, 04 Dec 2024 08:55:46 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733331346; cv=pass; d=google.com; s=arc-20240605; b=H5iAmEsLCK1x6mQYhdmAAjzN0goDEmTcCpFcorEmhyhjdlAGMv2fxepcKX81Ui/2Qt 6bnewTH8Q7NlSafpVpC6aGg7bBdPt2pQSF/+ikA/AbxoK+0LbEQD7p6H8fwNNt5tlNO2 omlCDudnLobfe/k+dg1ta4OmajnroxStJjH8jUrluy5x19gkLp5DDAX68WCSPFHT7CXc XtjB0XxIjkzclUyvoiniYG12pVT8QriOd3jp1laMksNCnfgj88R5Y9yaNLGYCoRMCvJ2 CXs6/2EkdfgiCpTAscRA8SIBhyfID5vWweKiwrmk8rq9n4RIxwkJywft3SX3U0WNBMrh CyVA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=UTrEPBI8x1fR4suFfdJaaU3cRy+Xl68JqIUmM/LnfYY=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=MNg9T5ijpqtu4uZXEIWKch8w/7KdU28Sz12o6PybwenBYb+7kns9cvT80gnquY1WIY yFXLI1juXZJEpmi50oft/zGnbiWIBuWucbu/KKRJJvmBS+FOroioxQxVtzbDhdKW5aHC 5HzNlSQGufZOC6MDtC3QVR2ypt8xwxIRp6vFrTUl2Hd6Q0IoZ3sJ2+qbfFcX9u+H2xqm ls4rsV4675WaNAfufxthhEw2YoGr4yxoct4g3LJp4/GRDqw3prDW0p3C2NjjSoMks+pv syCzs8RsaNBuEFaPhmkE2ceP1oCVBuUqa5qI2b7HZRnt9RBeg40fkdVaWND8+4/COOSP 6Wfw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CKT703re; 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-466c42275ffsi173094981cf.463.2024.12.04.08.55.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:55:45 -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=CKT703re; 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 91EC83858D35 for ; Wed, 4 Dec 2024 16:55:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 91EC83858D35 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=CKT703re X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pf1-x436.google.com (mail-pf1-x436.google.com [IPv6:2607:f8b0:4864:20::436]) by sourceware.org (Postfix) with ESMTPS id 3AE493858CDB for ; Wed, 4 Dec 2024 16:40:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3AE493858CDB 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 3AE493858CDB Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::436 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330438; cv=none; b=VfZrqRdUwMmAOuJYOYwm/ZW19Ev+IJyHZET+M+3ANQfTNN4+Z4VScnye/5dH8ZCw5nd2Yb7ZZPD6LpOZWxmfmSScbdKDrxd0JIMlfQtE1jOGesiUepKlcc5HUq4FjT4YLCZiprUb5kwqNC6d/ZuFT2PU5/FT5CVR8Waq0xhdN5w= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330438; c=relaxed/simple; bh=iUwHLFdv6XFKVMyRjHN6fsHXMFsUPv3/SuXXaIAdVCc=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=s6lGHOwkDdjRduQMhGDkgEe1sPW+22Fu8VHdw1W3bVIHAb08cWV3BQUSxI43dkp4tRWNMid3MRARXQdyy8l+sIYOEcFjUH1OiQHNeGcqNwhNrf26SXX7IIvUHSPxXJo1dP+NWutAGIcPaNzPugOqruGlI3RWsIlQJoCc7XJMHl8= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pf1-x436.google.com with SMTP id d2e1a72fcca58-724f74d6457so40650b3a.0 for ; Wed, 04 Dec 2024 08:40:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330409; x=1733935209; 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=CKT703re4S3dcWyIR/yuYQiDww7Wc4pmq61QLO9UDRyNODKJkWEKdtrTRfZAdsznsL HYx6e+/Nb7rYN4XYS7ZOMt9Rc0Mx8eHayMW4ByPpn/WUJhP0S9bHua2V+jO6I1OEwy8X sonKcr5LiCMZqa4mwfdWcdDf8lOod1OXgLatEXSxzcUV0q+a/3rn810BLMBmL08YvMK/ Vh/8BfndybRYNIcqovP4VTNVPCQ1SE5LWZHm+wWs4apw9kSPIGj2H8Ux6JWYy2UlB5r2 xYPd5zPwklBhamme5MWZWWosWXio6UiUY7vFc3p4XRSA7qllCtYcXlmpDU+trxNIk9kj LHyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330409; x=1733935209; 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=cLr7eKj7Y7tsljDjauwiCfkUy2KI0dXD6Ow5P7Z/RopOxesFNKV1aA+r+IWiaaQyeh OuYodOc0O3xTgS8VttMVQlO6SWnwuyvsFHr7adVBeevrC719NkAkshtOSjeRYJMR1PCD YXfzqi0kmBPHMf/bt/JQJ866PhvnoWnU0vnND7wq5goYe44hJn+taDMXsxsQ6qR1QhJ6 JMQFx2TgBotsbqXX77GESMDOGMIS3s/l1zUW9xO/jarCPqY5k5Chk0xrRzAvoa2XNnoA GnNY7aEN8wHuxRKzlLHAB40eYiMWz1sTw5uMIzYFkFXtdB+gqhcmoDlJ0/7ae4Cmy3eA PnQw== X-Gm-Message-State: AOJu0YxU3UYUr0HMJ98aQLiDjqNixYC3+r2ftnpzkp82o6V11RXXVe+R 92RNZi0l33/MMQpNJ+anzbWa+hc7vYZPQVXU6PVTK4F4UNPQbUTSbyG9n0n5rfKIL7vj0P2q2qW n X-Gm-Gg: ASbGncveyq3tIesmPRDkKJYQQzMjEhfTH7fdTrXaHWb7MktKVbUcF1BsdFHN4XgNdaT obx9IG6Oy1Of8avYToKGMp3Jap/22VgSgcsZbNrqqFt7I0TbrXL5WZtyCrw+ArCrPSC4aZGyiXJ rl04LIlzy+MZDlr0B16v2Rx9YsnRtSG4/fVgpT+hDuScjAZpmVkFS+Zt9AJ4esu9GGfrEucIf4Z CjddwppAOI28zZ5UB1joBNtbeFfG3YPcno0ZFhNFSYBsa46xNEtdgmSCashjw== X-Received: by 2002:a17:902:f649:b0:212:548d:a5de with SMTP id d9443c01a7336-215bd21b4d6mr84788625ad.34.1733330407620; Wed, 04 Dec 2024 08:40:07 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:07 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 07/25] benchtests: Add atanhf benchmark Date: Wed, 4 Dec 2024 13:37:42 -0300 Message-ID: <20241204163949.1408676-8-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 Wed Dec 4 16:37: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: 847298 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp423885wrr; Wed, 4 Dec 2024 08:44:53 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXHQBJK7QmD1RL6eW6m4L+KRnX+bfyJqCaHWaU7/u8DGXw05sBh7jm4U8ycjBppISymjVvyqA==@linaro.org X-Google-Smtp-Source: AGHT+IGuKo1kOj7znz7VmHRZldwilNOlSU+wqrSJOXHVcQvWEZGD35VZ974pEjquahbFtBPIuKwi X-Received: by 2002:a05:6122:3801:b0:50d:6cfc:ac4d with SMTP id 71dfb90a1353d-515e6f43e41mr137198e0c.5.1733330693475; Wed, 04 Dec 2024 08:44:53 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733330693; cv=pass; d=google.com; s=arc-20240605; b=Wjo2xxeF6xVRvtCSvpQR1Bequ1ZukUi07kwzaz8aZ0CyPLMP+OQxV18BYc9YH68Yhg SpUITq2jQ7nqrs64kbYKZ8uyAJ7CWnJOvebDdYNPFDuwwasCEIpbtfOBkVQo9g10Yo0G 8AXGff3IuTPNAlN3KPJzKaH/2bF5AmPALWcdTGRZseCw2vCW/CA6VSQhB6pmaC73LKGf m3Qlmr+cT6oDvjmlFkP7VUqvPlzYXvZZzwD2I+UQ7s74F9lSQtAusEKnzkvDs633u187 RAOWpQSI2x6iTt+Rs1fOVpx5TieWLb6zmxkaaJDcihgCXT9ahxkMm2GcKfGMogjSYVoQ 5sWQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=Cg9+dlxeGZENuXi1pV9urn5cY5RrZOvbgNrJYHI4kgs=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=ICWqbO/BFiQEKpMx/Nk+SgGxn0HV3WI4PC2dfu2oOodgS+jXfPkajDJf9yNCduhrNf 90K1uc7YSJSBEmjP0FjGZRMTm9fmiOh4Z0HKVt2RXLuZSHORn3U9hP/vx9qdcRcWGEpV S/iYDyuwRAHwI5/cZzln0M8vNk+snsGXgYWa63D33I1bwqN9OFUO5e849PKVOZtD8h0I pVof3fndwp55txNhSR6K2WlIsPADgOpbuY4mLDN9PAOaI1qgjF8Ve0FFrEMSlMpDy/3f vRBWeSLCvwAAhHWHTH1eyHhdEX9Dkmoo0w/u71DOIQp/bEy5CKLsYKNw1wge3ZAYPffA BU/w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bmvtlufb; 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-515d6fcdbd2si598783e0c.91.2024.12.04.08.44.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:44:53 -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=bmvtlufb; 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 03CD13858D26 for ; Wed, 4 Dec 2024 16:44:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 03CD13858D26 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=bmvtlufb 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 3F24A3858C98 for ; Wed, 4 Dec 2024 16:40:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3F24A3858C98 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 3F24A3858C98 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=1733330439; cv=none; b=tM9xfl3BPgJL7XC8c2scSfnHQsp5M7bKR4r5LAavk6SV4SH3hCWfnlO9+64Rfe286Ctribe3mhIXy7fJVDu41Kca1LvEDilZpc9rPCHARxwxIh7JV6Ngxfhy3GQ+lvlBGL6Wx6jUYndXfN7h/N9SI2JxYZQevz5G8XkDjkfNMHg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330439; c=relaxed/simple; bh=Nxr5b7LlDanwBAg6juqmfjkBdYbms4ZkKoaXMHl4d2E=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=D3DjAOkDjKmO8/UFIrNayRbhDOIRbvpdGFDrNUnzSCMhcacLH2yysT0GucdyjY8L2QqbdSrAuul+KZXa1+QwEIKUBuWx3M6n8n62ikMNh1PGgJHmHaeNULhWaH0r28h7U8luQuZeGrl6utYlMYYT0/owKw3ur0XJrd0KqLv0Tvw= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-21577f65bdeso204025ad.0 for ; Wed, 04 Dec 2024 08:40:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330411; x=1733935211; 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=bmvtlufbKUIq1HETNClT9yxW68qf4+GmM4dZ1RHS7A+Lqnxr+9DjnLahRL1qk9MWIw 6YcDIzZQ6Qc3tc0lRdHzRK9QfPRPOnw8nSlH1Z/7nM7B8hA8vvpeLLeImEr+etvdUt5J rzQtsku6ShFavUFQ1+pfJh1LPOg4vYAlKb5cZ/w58U7VRkTLnLao6v7K53B6qfnHaEt2 U7tLPZXwJOhjCnj4onAgTNmhi+OvLHmtlh4+iYiUcgI2tR+DISGdy3KRd1ci27s90uVv yacRnLhZUg1iKeR6/3XK6BEccg0TxqPxI6oUHBtWtgx/FoKnFHFe1CqyTDEAF2mic+BM MbWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330411; x=1733935211; 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=ryiTwBk6FjlhLMsGf+kZKh3Hshk+LLxD4/uqBc1VoACxmNh8A/vaD0p12ypriBwTKG 8LANr+zXFztX2nlmV/wNy4vfveowjn+IBO5zYCcq6qlmA52paJebvCFoNp01/IIN1rpw yjfos+3qIBa+DJvQpbCEtGDYtlkfNaCLjl14OZ1TkuC8G+E6EYtHjTWLfkzIV7lcGhhN zoVjiMNmiGNoX0BrLrRrV0FIGICwhX47v282ZsJp+ZJJqCm0YXobVcTazCp0SFNqY209 lnEpIUY9LadIcvQtbMx+CX9Ewcanu5/7Aw8NYeK7tVviFQaRlhPP5NTJ9oxVjISzgPZX TCxw== X-Gm-Message-State: AOJu0YyBiYaupJdkrH9iSWcOCzr1FYxebWMurkKHUEdxPV/N8vK5So/P K489eWCyB/OsgWSZB1MUAWXHSeRBeJfBjg03sfyeUFQgmu+9WTSaG7J82xCtTmiGuELPCcwb2KH N X-Gm-Gg: ASbGncvJX91+FcJdrOBjbKSy0MyS8SA/VImg+ewhMfzA48m+wP24wfn3cSQydy7Pt/a yDO0HdAG3Dy+9CQESke+GvQwS80GC5xC1ASnTfPIkQAeB+0YwTSXcgy5aYGnAo7gzjVJ5pJIXdp vwwgq3UA7rl/MNF454vs8ynGlLEuwCaoCjOO/FBDFiZcZ9LT3/tSHQzaiggrySuDMAXZLsBE13G t0Gv6Ya4JXLknp+spCOicPEfVUji9akCac2BtbQ6HgW2/LWA8C4mc2OIbjpuw== X-Received: by 2002:a17:902:dace:b0:215:65c2:f3f2 with SMTP id d9443c01a7336-215f3c56e3emr181225ad.6.1733330409994; Wed, 04 Dec 2024 08:40:09 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:09 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 08/25] benchtests: Add coshf benchmark Date: Wed, 4 Dec 2024 13:37:43 -0300 Message-ID: <20241204163949.1408676-9-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 Wed Dec 4 16:37: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: 847297 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp423458wrr; Wed, 4 Dec 2024 08:43:53 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXJcNy8Plr55OfimN55fxRpaT6tNoAfudGJNH6sABcdXuHiM/4SWn8UOaSgf5mqX+D8l3hs/w==@linaro.org X-Google-Smtp-Source: AGHT+IGA27mhEGNz+l9dqtFwuWFPI9JimA2lNlgE13ncfv0b3+L/8Q1bEyLS8YNCkd/C/ao3rBdt X-Received: by 2002:a05:622a:3c7:b0:460:a9ec:b506 with SMTP id d75a77b69052e-4670c3dbd68mr101891791cf.49.1733330633452; Wed, 04 Dec 2024 08:43:53 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733330633; cv=pass; d=google.com; s=arc-20240605; b=CoW2YMMTRFeSlKuHWoz8oCG5avcfpU7HbcVnKTDr1vh3qYcbaMcBq+PuMEshMzvpVB QgdR+U4QyaTM3mYNgu8F8RWsQzM2IaoBuGAKoy65WuOgFRaX7VOHpkJIvQauB9YQx1tq 1LDioABxap0xtQezaOKGhdwUAZSr5rWje9kg+15PtFYd/zzAQYoqJCmHg6ZD21nA5UkG EH/ytv/KOys3SeHUeqzW4gor3ZnlixoK9Cp6ll9SRoVwg9OD74sVlxUXRmoJ+gYocpoH phCOouRSWYBzBeSdZKJ90kuq8jPtjEraszQWjyRA+AlSsUfb+q0ETdFQf7j+Zuu0lRTR lqVw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=p6ZoA9k+lbdDbWajE9u5jXfbhhLz/7JGdFgTzk7xmRg=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=Uu4Lwp14BUlRRKtK+fDhc+OJj3AOdmMKgyqgYEFQ/IsfE7yBHnwdShlxlpDg2AV7Xc NH3IfidwE0Yl4EdztMyq6AiAy2thc8naaHKNR5RPvaYUtv6+/xfc8f1YdxiTdTdsFpJh rcsEE99egBp3WRDOfY2SaWluQLV+GomXW+kGy9U044YVB2SQasTb2XnXxaJfSjJAEdHh CgpEUB2XXqSZ4AwiZa7Tuq+boMFpoIQ66RaYu8R9OJUuC+81ONsKxIWtnHFv85Mb8/6T q/Fr8tzl6FnlUR03z0LxsJf6IFnYJn09XJ3LxEoS7uc2YOF2X5aC9paAP1dEMzsp2kNk w2hw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="JvS/6VSP"; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id d75a77b69052e-466c4055bb9si164968711cf.93.2024.12.04.08.43.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:43:53 -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="JvS/6VSP"; 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 16D56385828B for ; Wed, 4 Dec 2024 16:43:53 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) by sourceware.org (Postfix) with ESMTPS id 379A23858C41 for ; Wed, 4 Dec 2024 16:40:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 379A23858C41 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 379A23858C41 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=1733330444; cv=none; b=tbIp2Y5O65D76VaCn7O/8+r4AuskKQ72IU4o0/4pZDqCOxt1bNFcnN0ZRlV+jIILq9YuG5X/oTn199JHnRTTi8nnV+qlH3Gqk361CmYYStfyQj7pf6JJRWjPkEOKdipleFhReXsi4MW/kJLWA1E9NExr2DYM3qZ3mB+wFfyNTfg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330444; c=relaxed/simple; bh=N+rTLx7cMy6zK4bjQXQ1p5WGJFXPTE+0lvNMzW86jOE=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=vr1OgXaX6LfF1fegXX6ZUmuxgnFlM2eW0VfIlFZqnRKABlzwNyc9BL0ifYTXYtmdcq8wivMHEdWMe6GumglsBzFnGdPkVZb16i8NrIhlzeX7w49+NSWhu5kx2IlskujR3lkFRaRrmfanZLHXod9LUoNjwBjZzQXOUtqHxqN79qk= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-215c4000c20so20998565ad.3 for ; Wed, 04 Dec 2024 08:40:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330414; x=1733935214; 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=JvS/6VSPM7MCRZmhLY+bB30Ze6ejTLqpf87ImgTgK2SYRTZ2C4PQ5qWk2aNrxXqRW9 ZKeFCrP+Id0oi8rCnpNYCTMwisxJFDKOF7amy1DOIWmVx9Tgm0d2yLphQ5eUus5fZTXM PBtqbiZ6kOkh0yLH7r6T7C3CvAoCob3s5gKt8kgqWQ0L0dpfLqr5TYVxJYEOdyqilcTv hlB8hDsolyyZwwAROOwXTKPt1amuKmp4B14OcsTLCRMWiQ/vICkMjQ4SkRkro30DR31+ FQl4+ZnwWIXLl33ay9NC+E5e9j2TtLkcpjmIwX5oLaGalrUMcHjjg5ZTotVAKZOscyHz Dj6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330414; x=1733935214; 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=YT02x3MhtsvxEGg2SRQkzZTHZVx0nPmvLsH2j5xU7Wg6FXmUwQqnR2FxCUqNQ+BYdO 3UGqbDcTcd8U5cWpWZJD8AdmcGA0tp7+yBjPze/YJXQOX04flZcC4+TkC2mRmNVu8cOw OtQj6MBwNyxZRYayMfSZRKOppwEGmWi6ItZHL+jJ52wz+JcYxrCEJJ7xH+xFTK45kqNb TNdb69msK3zbHFE+MsAZkUulUGWhm3xda96AQ5T1mRL7QoppF+UDzbScM7vwJ4a0RC6+ 9ZUo8wZ7slKhkd21YlidVr8CtFCEn08ujIYBDKxwF+5l/EshyVOUGFv612E/9WQTnCVm PXtQ== X-Gm-Message-State: AOJu0Yyx5Laz0/zHlHMmDLJSKppB1NDRTWHeN/+WbrhzK3Y+lmwsgvh0 ZjiKj/5bfm+Wk3MkIDWA90+WcGvvg4jO72rjoV5TW+SXUyy8+JFFT+cZ+G4wC7H8AC0qZpnRSgn P X-Gm-Gg: ASbGncsrCPHZTIYeU3yLrrNbuuY5mvFaTr+tW+avJ3jpC16ezpaLOKrUyaeu2Ugsp/3 oivESmAz4FfUYEM4CT9/ap1n5CWk/SlAzql7BUaqTqR5WRKwcnkwvTyV4y/DOqR0Tk1Ype8WY/e KhfL0xeCGJ2RAw9d214D8SG1SASrJR0abIE0aQs5Yp8Db8VBxg8iWprWffm32UojvB5YTEER707 uG+TQrMJH/Dhw12da3PC9dufXb8z07kat0yO4ca+kvXc3uEUTDXWRq7MGyjoA== X-Received: by 2002:a17:902:d4cd:b0:210:fce4:11db with SMTP id d9443c01a7336-215bd200330mr89024605ad.22.1733330412440; Wed, 04 Dec 2024 08:40:12 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:11 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 09/25] benchtests: Add sinhf benchmark Date: Wed, 4 Dec 2024 13:37:44 -0300 Message-ID: <20241204163949.1408676-10-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 Wed Dec 4 16:37: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: 847295 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp423165wrr; Wed, 4 Dec 2024 08:43:18 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCV8aWA+WdxTJFHrZWCMU4lHfECutBS29kUj47Hddl7abAK1XS5KMGz0hXni+MI7B1pmhLoKWQ==@linaro.org X-Google-Smtp-Source: AGHT+IEOlEzLGCeI0OlzPnq4UHE0bbrJDIjy50UE5y8aNEmVgzSrRZs1hZOEIFtqBvMzZm28YMCH X-Received: by 2002:a05:6214:226e:b0:6d8:8aa6:ef27 with SMTP id 6a1803df08f44-6d8b742d221mr129209226d6.38.1733330598055; Wed, 04 Dec 2024 08:43:18 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733330598; cv=pass; d=google.com; s=arc-20240605; b=IT4jXsJSW0a2hGuyfqCC2yCxV5hoL2QapaLD4FuGoif9UKih9713qEiXpu0nKzaJ0n /V1PXdNdwTICphSXrxj4ZYdV1nCA/MLEr1T1zvVW1uA20XDvxVXcYBxWAD+QN0nclayd erBwKYPZjHChxnJDWJ2aN8NzBlBh3RIJYEr2ajDKHBJle6/VzJ4F9Q9nrmdmvDkbLo/3 mRmO8qF0R9Qa7j3+M2vmvhYGpE9jkz0v2dY+v2EMpws+f/nFnzAdd1AdLwYtGsXTEgpM 1fkeRWOkIiA2jQpvhZaDK8ZEfTmwkIdbtSmX+jxAfBSQX90+VUHzm329A0LkeWrwugAk BGFg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to; bh=Y6uDiqV3TarxsoPCOnRaI79fcp7vKifYojVHWDjnI8s=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=kdBtLZ+iOeLvaHgRJvGTA3LEA7GOottgoASZNap+n66qsLyCFDzcEobGWBWrZFAIn8 HNWmuY1VttOTeLpyb1+tazB45/iyn2LYrK3UIx2Yt0K12kKCRHzIcpLUnp2RSxFfQs8J PUv79EqRXnExQs647YTIChB0hSsh73o9Gv8eaXRm+4b0aK9H/knEOa8UXHYBUr+KR3T1 5Z3rqQ1YaZ0IChgZxpRby42c5YTIrPpVc5KhRzv8JvOblhT9hT3vjCPc/kIBXWi76xIR /0lre/GU8SovtMvX66hOJBhDtTvWA4DBu017Ii3+0XMvJgZw97ipeV3OoPlPUTKBFE5a /d/g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=cemBb1q1; 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-6d882e0ec19si144545886d6.481.2024.12.04.08.43.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:43:18 -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=cemBb1q1; 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 A3D6C385841C for ; Wed, 4 Dec 2024 16:43:17 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by sourceware.org (Postfix) with ESMTPS id 3DD583858CD9 for ; Wed, 4 Dec 2024 16:40:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3DD583858CD9 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 3DD583858CD9 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=1733330447; cv=none; b=vMQfLDpbeq50rZ9u91F8zfVeZLBekNlJhIepfzjVqOJIK+KOD05Onw5rdIQaz7GWdnVOInLJOjJcD84BFlLEBME46BZ8tggyuxmM2Qs/AzmKlVVla5XGGVHYv4lTrNsOS0qCbMg2aePj0+/9/Cs76VBbvacGmsCUqVxuieJcA+M= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330447; c=relaxed/simple; bh=lf2s5gd/yuGS+NDHNheOXjLYKJIDJA2pMVjNZI/EZdY=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=Fr11YL5/X0b9XgUlYdLHQN3ZBVZs635bygcoNgdMx/wU7YY8jGpX+H3rG+qEmd/hSA7YtaSfpAcWsROLZaY2PkQaiNpMI4Zkke2/+X6HYQJW1w8upiXgVL83SPl+K7qTSFVSCHhfet3BANSHrpx72ytZ7Gx3JMM7xdIx6NK1Dj0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-215a0390925so37996925ad.0 for ; Wed, 04 Dec 2024 08:40:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330416; x=1733935216; 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=cemBb1q1yyQMeeHWQxVGPluLYHXpmDCwVsoPJ0w6393q11En9iB6T2TWdJHqo8CbBY JrMNDE2GO/AG17g/rsiTPjAQxNbgEuQpmOBh+q0GcJ6DFthg2MSTO14s0JhrB6PdinUQ 87+CRQtSVBfBqgIIz3AwGhGpFs+lkDACu3oiDg788wiNBzdLqbV2hiTVuZ4csQyRyHhr o1UR9+2Ib/aW5dXAljrCz4qiUBsoD4czBI0e1i+aXfWzDrxbYCSTmoJox6VmbeJSLvpX Cuuv6zp07Xp5dQIqIv70Z3Fsjxs9zomIkr0FVdwaEHAPkhViGBEO0DdtLQBARJzoNt0V u80g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330416; x=1733935216; 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=dHTtnD7Sry0juKJiX2wR3Zmoh/VJKNrxlaxuGNMvt0wGO4MrF47Gy6ynJG+g8N66lo nBTGVog7jG/86S2uCpJe6DyXLvlo5tOdozETC/T8SDJ7WNCYkOiIZOQ8fJSz7iq/GdDS 811cGNOEQYIGo9IWUroVNIVVsUW+jZ4mLuqnODr2rfXmTkS8NdSFUJbrgC8luD7e0FHH wl37qUfTM+0lLmVbjR1+JSbH8kEOzJzbiISZOHSP9xyeR+722SkA4pMDD6qUNLYOEt1P m7LJmVvAN1vIejw06SnQTpCSb1qCuZv5WTiUm/RKe/79631LqrlMmrdyBKvo1rczUwzX RZDw== X-Gm-Message-State: AOJu0Ywj3DswoVxhJjMfBeLBUke6U8tOnxbe7g8sQINQQjvDJQTV4QlG hqiDbf2wVyKx5haWn2XLfmK/pZycgovvTZbmKqHK35xAomnoCq0YV+6N9H//xoaPtA/2Yzjcrhw B X-Gm-Gg: ASbGncuXd+C0Td7+JsutckfGwEOsXqrrmgMPS6DVbe+Prkomj7Cv/Zhu0J4EB9VmT1j 2GKoUL7ENxHE1gO1BHtWE6V5QsW3BienMAlgnjDK0pyEX3WG01j+XXW6Rggy80ndT2Y8uo/WY9Q ura9+SeZWrYiTLl1eu0gbKpnO4UKuNHfum10dsk/Nj2RE0gVlsmdFDIkGYBe1IVR9Zc5VpDitJ9 AuCvMpHRZugaR4FPzaiVFJUpGNWe2q5/SNTT0kP/XviYFCug8Un3NxuOssDZg== X-Received: by 2002:a17:903:22cf:b0:215:9ea1:e954 with SMTP id d9443c01a7336-215bd1cd983mr97319595ad.20.1733330414930; Wed, 04 Dec 2024 08:40:14 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:13 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 10/25] benchtests: Add tanhf benchmark Date: Wed, 4 Dec 2024 13:37:45 -0300 Message-ID: <20241204163949.1408676-11-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 Wed Dec 4 16:37: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: 847301 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp424279wrr; Wed, 4 Dec 2024 08:45:38 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVPcbkWCwa8+Wt2cUrDsQ45LlLSkyHM4wF9yuk+XOFtjMh1/bOi4Wi27Ynv5YX1lJWJ1f+ePQ==@linaro.org X-Google-Smtp-Source: AGHT+IH/+r04kVryAU6iqVpVR8EJkkm4pbtCPj22MqdaNkA3xdmw7FaNk41XmQQr9FuKyCo/1js2 X-Received: by 2002:a05:690c:498a:b0:6e2:ada7:ab3e with SMTP id 00721157ae682-6efad1db1ecmr97456607b3.30.1733330738627; Wed, 04 Dec 2024 08:45:38 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733330738; cv=pass; d=google.com; s=arc-20240605; b=CSwy+zxeuVLxH4P1k8WtGz+PqNSoA6u3xUgtcFeFE9pREGZq/9iOxC2K3QehilvYK5 oxbVTtxFZ07VVqVGhR1kM+oWj5G27/j8Yn9yWKbNXvtAflQBr0HYpeTum7LQxn8ywnvl MEAX9OiJoQd01MDhisRCRWVepHhMvQ89paSWsRFBn7mZamfpw7P/rgRs4NkKWFm7at2p 4E5R5u2PtqGEt4bc6N7XXH6JfnO3s8Wj3UPPrDsd5ZaCNXE6nI1dRWFCS9M7yhS7anyA CP15SE2sH7/IfdH6NyIrfr3gd4okzl5MkoK7EtzIj/j5ah03oLIFc1jnZl6JUut2Il7Q P+eA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=NeOTPPN4hA4QH0bfchYJwE+fGQxIGjpMgfSHQblXMwE=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=Ta74WRAdhmxjozRVUFI4FYw76yD5Ui4EqdZs9h4lE6IuCRzh3zIMdJy/76X6MkbDwU O89C+kcwqsuwmjhWgdXpf4ywQI30liU3JxhQVMfQhL2x5gevu3tWzoBRkf8OT3UeheWP PnpR/uSaGvuKKpShDPWxpfdo5I3Bbj8xz7p79x0a8lZfDbrqWgLzK0EFOd94/VGRexZp 5KpkkCAw6g8RJoGlwEGsiwXFd39+tzNkP1uGbHJW291H+k4D582uAarWKWVwoDYG2bL8 0xM58CtEeUhM4KagSi4O8oRXz+APzrGBTK5Fvcp827YojPGRRCn2VO8N6R2a6KiJWPj5 Nvtg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="mF2T/07e"; 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-6ef4dc4cebbsi130692187b3.177.2024.12.04.08.45.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:45:38 -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="mF2T/07e"; 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 4FB413858CDB for ; Wed, 4 Dec 2024 16:45:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4FB413858CDB 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=mF2T/07e 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 4A04F3858C42 for ; Wed, 4 Dec 2024 16:40:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4A04F3858C42 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 4A04F3858C42 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=1733330448; cv=none; b=V+L1QEPsBXJtTM7QXmbOyDrIO/nrAhCHhcP/CvxUV5jwSP33QWcbhrvB6oA8rxUcZIHNYQ6V+ZA/hgWqHiBwc+6GI2g8u62FMSsI+9KCs9wD6MoSaAu/PW8F9uH7hgg01dQCzOzuyTglnEFlvyF/DkegX9AW9GPbgP4XgccFbl8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330448; c=relaxed/simple; bh=XeIQ2JMJyBc5jIR+UhnRCCujGORrh6eH1IRFqy0pCMM=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=h8DdR/zMs3LrATMmySOMcnyWvOXooiu5Djg8wcRKL+9ImwMtuzqob1yrf3s84WSO5MxuOgRV21c3SH4QWggNABwo3WnS2Q71cRNZTFO2J3twjqdf2f7iNvCcIJoDj4a7sp9v9u59J+xh/8+WSAaY0QU9yaemdp6KgUOBGcMa4fk= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-215810fff52so41991415ad.1 for ; Wed, 04 Dec 2024 08:40:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330417; x=1733935217; 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=NeOTPPN4hA4QH0bfchYJwE+fGQxIGjpMgfSHQblXMwE=; b=mF2T/07eLcxaX3m+R+yyZLVhTA0FRzmelQPNA8fordt1gDAgV0qtuqRt0muOgyinN/ 3kMkTsiZff9+E/B0UBaQQAItHcdbdkX0+aV6C4/legS9qrsZk2fHA2qt7+Bri+9c5WaK ya5FoQZg3ES45jtOinaA18Z/mlwxBGvzD/FZ5zYqxtR7CAEyo89Pr56zcpa0EAmLhbmY hUl/VeUyGwoK0JY7rrB2T6vctk/mIpAewrzLTaqSVJZQYZfurK28ouhMd1jmia1QMXIJ QMEgjSJyG//uR+uM9WCtx6KsMZKIYRqp6aQUluChkncoGodT1zaQF8LTf7XRnC3P8f4r SdbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330417; x=1733935217; 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=NeOTPPN4hA4QH0bfchYJwE+fGQxIGjpMgfSHQblXMwE=; b=Kto/DrxCINaAMP8Tt3DRsQ6Kb6HY2lVJIrxZoWhI2QAW2F/Kk51C0JTQ85yMSUOIQH lVfj2YG+rinEa9daRYTTQgfky4kNcBQKL05+n/ClwAQIUMD3feaj39lDvLApVbvWxR5n LwGrb/vB+45kswHrr6UI9twWD1Ke4CG25GElI8hiMdLwNgiUJ/YRzzW20SoQY7pkoWnZ sB3ar5Vtew/xJ4WksLHOXlNV1GMarO1SZyeajmXIsbw71MrdPaeeMy4Mjc6dNftxa8ed LAEgdH2obkFgQSkQ8SXAJk05piHOrJP8C6vLqW1xDlsWC+HXhCyBkVHUx8uw3qlJlA/R NUbA== X-Gm-Message-State: AOJu0YyT8n62miNnBjv5SMDJ9hSIVmPJDUfvRolMw+hdxFS0MgDcLwD6 pA0udK3okfzckK0v1ez9eeQ+fdAuDgc1P85S0KmJNvPrQe3UtmY4PNsMddEsZbACBQ0OZCgkV3l l X-Gm-Gg: ASbGncvTMwIXuN/1s0xOlS88OIc6P55XkXqtznba+KDrWhKbQ8MM7pTYxit8fX6IZu3 L6N3BErkauW2Gd8cLSGmAtgex0RXFoFIQRQS5ftB9za9nhYlT/Npp9hqwJ9kMvRXgI+h6oOEaxm 5BuU3xY6YuMQiIBKSBB/nXzplYRm/j6TcqgDqqOM7927//4e1s0HPblSfZj3X8KiZOddBkt3uvt 5dQgwRYCTao48h6IWYKZttLHvfjHOdXyitJNEAT8dnk7AXnPPFzAHW3JMp3pA== X-Received: by 2002:a17:902:f649:b0:212:548d:a5de with SMTP id d9443c01a7336-215bd21b4d6mr84798185ad.34.1733330416954; Wed, 04 Dec 2024 08:40:16 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:16 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 11/25] math: Fix spurious-divbyzero flag name Date: Wed, 4 Dec 2024 13:37:46 -0300 Message-ID: <20241204163949.1408676-12-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 --- math/gen-libm-test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/math/gen-libm-test.py b/math/gen-libm-test.py index 397dbd3259..1630fc51a5 100755 --- a/math/gen-libm-test.py +++ b/math/gen-libm-test.py @@ -103,7 +103,7 @@ EXC_EXPECTED = {'divbyzero': 'DIVBYZERO_EXCEPTION', 'invalid': 'INVALID_EXCEPTION', 'overflow': 'OVERFLOW_EXCEPTION', 'underflow': 'UNDERFLOW_EXCEPTION'} -EXC_OK = {'divbyzero': 'DIVBYZERO_EXCEPTION_OK', +EXC_OK = {'divbyzero': 'DIVIDE_BY_ZERO_EXCEPTION_OK', 'inexact': '0', 'invalid': 'INVALID_EXCEPTION_OK', 'overflow': 'OVERFLOW_EXCEPTION_OK', From patchwork Wed Dec 4 16:37: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: 847303 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp425966wrr; Wed, 4 Dec 2024 08:49:21 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXJ4ofiZiy072GGQ/12160iz1eZk1vBf3dZwsREU5EdOtUyldfY7/7uiH+KLsUR2wNXXMhadg==@linaro.org X-Google-Smtp-Source: AGHT+IG+6B51jQpor8Dtj/sqmPDlHHOnF2lObjS6pVgE+ySmX7lC6148/9tnpPMcXK9fntjkpjiV X-Received: by 2002:ac8:59cc:0:b0:466:aa32:78fa with SMTP id d75a77b69052e-4670c3dba66mr115971941cf.46.1733330961379; Wed, 04 Dec 2024 08:49:21 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733330961; cv=pass; d=google.com; s=arc-20240605; b=Rwmvda7DlE9NUpIVRlEXsg0BZDcFjVliro0TsaWAifCrdGCWcaE7gAkxW9njNQFBNB NgzzCtdKVHg9UWQdS6ypJpPi01ln97s8F9WCQtoDgaUqHNjtv//Pb+CqEESKcvmrJY18 YvL3qEqu7WJwX+Kb1p3Z4yyennT8jqJLTwXIR4E7NDl3XyXLLWiop0du+t1kM8/8GXVq M0FeL8Je6yWIySajCdJwVjI19zMJhtwo+m+eBruE8+WzIUpPBSsocS+VpvABsJ47fyML mQLNNHW9UjXO/J4w92HAT3aGqLVHPvg+Xy5xsmM9J0w0vytp86GCV2Soc9Xgn/KZrGc5 3H1w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=78CjJaVhxyQF+hIfSg461tEKETz5GDEszdeZgwj7Jgg=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=k9RSeM2vNL5aIc3J95uO5SJ4k49cN3GKe4emCus9xjbLwdIjXV4LuH/r5c9G0QOXmN FOcUVhJ18tohs8YDydEPrgZBOY73+LVn9fUWVDLDZR/nH7JJ2QeWzrJFJnQhZTOv1STr cwvMtgr8vM5EbaEOt9jWkkDlgpuH60mJtBaVzUcGOb0/jKTXOvJ2dixfScxtRCzQTcAV WArXbYAb24/Br6x3kssPQB5Bk+32Kq1TfqYRgA2a0SvZeZraUQdSFLxD7LXl1NEaHZla SGyirbSIuXJFQUwzNaAjNUf848RE/PMIvTTsRMhUnOk197Wlzq43LBwrgmSWHJ/vR0Px h7qA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=W1NvrF3u; 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-7b6849b23a8si2052314985a.351.2024.12.04.08.49.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:49:21 -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=W1NvrF3u; 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 B43513858D38 for ; Wed, 4 Dec 2024 16:49:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B43513858D38 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=W1NvrF3u 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 01AD23858D20 for ; Wed, 4 Dec 2024 16:40:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 01AD23858D20 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 01AD23858D20 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=1733330450; cv=none; b=q++h9BXBBAd6ZT3ANShwc9x3G89dmhU/oJVYFPqHCtFx3tlPPfZTUZMSAm++xBApGgQJ1O6Q58pTqELVDTgnxrTPL+xZugLEHKRUfOUhSf6Sdd5DnEAYaICB3T0I5cSFOUw5D9y7tODsfhXaQU7RcZqSNANKgmBCDx9CNHo2O5Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330450; c=relaxed/simple; bh=F0UrkJ9wEpxFeSGXjPOUXc7FnbGEq/sH7vnOnV+GmgU=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=rghX0S0KsSp0FAEwJ4ZYM1b20pUSszvWt6oGQsfX3SZqd8APU8BtC65fConf9IP79wL1VaUFybvFdBvYdRRqmz27CaCKEUY4Gz1CBeM/a315Ryrakw7Rs/uAP45bQXF45EzxCZZWeNyU2kehGNkpjLlwULYfm7sR5SP6bYvKOO0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-215ac560292so30697005ad.2 for ; Wed, 04 Dec 2024 08:40:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330419; x=1733935219; 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=78CjJaVhxyQF+hIfSg461tEKETz5GDEszdeZgwj7Jgg=; b=W1NvrF3unN+Vj+vSB3ws/mRG0Gtgauh9rHCmH1Eme2TXeoch+PW9DrOSTM8Wstidd+ in1IjMSMzIbFrzzlWMmbL1CIoMrmmkSrnweWBP+UbBrTOdYvnYrlm8/p4RnUZtnx7tIZ 2ivRVcPGlUxEmMnGeMhcqUHsR2Vr5JFez+qEwMZQPE1ZFeFR4T0CSgEwZgvBBSjknoVc JW8UXwL0SDF19MTwNBVrcz5aASDvzO775JDMSKmwlIFU11kfJ9Ezj4iJPCDcRvrF7cEg luL1mmGJhFZWFVoq0opTL0lAdnF51b7kZMSKYzUPjjxvprRhzr+WuStE6V7uDSSzBuoU qfGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330419; x=1733935219; 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=78CjJaVhxyQF+hIfSg461tEKETz5GDEszdeZgwj7Jgg=; b=mE7TgdVizwQW9HwFyz9tdSbJwM+h+IY4WkoYstv3Oxklc+em4KQEhUMUdpCbyHipag KfvOy7vShz6EQugwk0kr8NNX3GDdDUBYMsg79X7xmgqGFfHNFL2aw2M30FwAoQXhAioZ sP4CnjbZa5EAJwWB1uOt5Rff4hp5rUKyhpv5RHD6OQkzMC3FC4ypBDkEeiGvrIZ53B78 cvjiOwhaPg4Vhhs81J84FdhJy9Okfsp1pmfGjh9Pz3nQvdMwvlsyLdIY9UFh8OpDbLQt LQVIz7tWgXUBfWMagkyZKpq6aNy+irIJk9clGI0vgiK9bO5LhX1GrNuMfWv+s/7ifHL2 Hi/g== X-Gm-Message-State: AOJu0Yx8K7LUDR1NADxywgvY4VgpYGbn4jab9SPdMB6Usm96l7qitTEt JxfIwEers4dxyJUt3/pvLBFRd9RZb459dMdVxX6bAFIkQipUaaP/7zbLtjN86LWCI4sQUqTNfZK Q X-Gm-Gg: ASbGnctS6eWEx3m04v3lO9xGzqA2LiRSwAXM0AucPfVGWK+OqeQcBgeWWELJoENz1Be U722ZDUcDxb2mMNbrS0vhNzZWAP+ijKF+0CPcE7orb13IytJ046EMNvV8fiqsV6n1H5wDa3ffRz Y5xJxHNzPavwjAtlG319PiritYf2vvOx3CBsuIYhLIrt2m9hifeb2A3CaAz10IxQWCVkOgvuoIk iQDmMymxCJ4mRrG9swUSLEreba3Yn44nLawf5sHOtHnlgwHEblt3KrnoIkWeQ== X-Received: by 2002:a17:902:e810:b0:215:9d29:9724 with SMTP id d9443c01a7336-215bd11c71cmr97317395ad.38.1733330418693; Wed, 04 Dec 2024 08:40:18 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:18 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 12/25] math: Add inf support on gen-auto-libm-tests.c Date: Wed, 4 Dec 2024 13:37:47 -0300 Message-ID: <20241204163949.1408676-13-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/math/gen-auto-libm-tests.c b/math/gen-auto-libm-tests.c index 0b1e307fae..a60e0f6ec2 100644 --- a/math/gen-auto-libm-tests.c +++ b/math/gen-auto-libm-tests.c @@ -40,12 +40,14 @@ empty lines. Other lines are test lines, of the form "function input1 input2 - ... [flag1 flag2 ...]". Inputs are either finite real numbers or - integers, depending on the function under test. Real numbers may - be in any form acceptable to mpfr_strtofr (base 0); integers in any - form acceptable to mpz_set_str (base 0). In addition, real numbers - may be certain special strings such as "pi", as listed in the - special_real_inputs array. + ... [flag1 flag2 ...]". Inputs are either finite real numbers, + positive or negative infinite (in the form of "inf" or "-inf"), or + integers, depending on the function under test. Real numbers may be + in any form acceptable to mpfr_strtofr (base 0), infinite may in any + form acceptable to mpfr_set_inf, and integers in any form acceptable + to mpz_set_str (base 0). In addition, real numbers may be certain + special strings such as "pi", as listed in the special_real_inputs + array. Each flag is a flag name possibly followed by a series of ":condition". Conditions may be any of the names of floating-point @@ -981,6 +983,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 +1038,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 +1086,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 Wed Dec 4 16:37:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 847299 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp424052wrr; Wed, 4 Dec 2024 08:45:14 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWqDzOixG2ViNk4VN/LmUH4KfN8Jm+uY2cCdZdb9oN6ceT6T5C92RuxfBb4K5a6M88k7rL5Ag==@linaro.org X-Google-Smtp-Source: AGHT+IG0ZrTmPX42sk4MJ4fe2OPHl/F1bXQllVhSWr5qbsHADHegAhHwmdXn8mSLj2T0bF50ryUf X-Received: by 2002:a05:6122:32d2:b0:50d:3ec1:154b with SMTP id 71dfb90a1353d-515bf2a444dmr10735522e0c.3.1733330712167; Wed, 04 Dec 2024 08:45:12 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733330712; cv=pass; d=google.com; s=arc-20240605; b=UNJUfTkzayONKFW5rctmXmfLSTEApA5JXa9YIZD/nmnS4jxEltdujTkU9RFiaVffAE M8LgoIz1MyTaGMhR/mIf6astNVpsk9oSYW5r2lYthUvnZjmkA/8o291l2wtptSbAsYjb XIv/ufH3zwDCZicnXUSVGgF7XtGUYOJ5tcfJKaza5r85qo0GzPoH7FQeFL2iRogyjDb+ eVK28TlsRfkAGJvuIM4qGmsjtIiys0v3uUtVJloaFBMFdVWnj1krMOo5vpY4zZ4okcjf 77TIS8yerjFKBIjRYYkJ2j0NFN9wG8/VWVzVzSZIgqVlZT5Rw64i57LqQ3UAVffuzB3U TZlw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=mgmZFwsck4ceL/UY4BIegEAwcpMJpqfR0g6cQNtwP9k=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=EbZVLTVK/acqu03gXaa4PQGyhx10+0ziMyQzPiW291H6yDVFmkGw9CpanL1ep5LB/5 Vewjp0T965QR5KyXO0TFs2OQzE5tyTO2A4fzDV++WPsRaIlBCtqhozq4s/rWpk8SjFIh CsPhQVZW5R4ukykaRlDXO0VAWFrAvh5nV2ezMoJfXvaXTQPy2zwJlzVnKrTz2BtF0fAW jY//JJEC4uQcxTbYEW1UgEX+p4P49PkCk5ICNqQ6KFHM6CIRJUiHR5b8dn1CbW4iMmsX Snp/qDpez+rwrtwunymV7wRS4PClwUo6GBhNmdbFaDyUR+lHc5qfRLTNmYktTTymBI2S JYSQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=C6zarNSr; 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-515d60c4af1si657347e0c.175.2024.12.04.08.45.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:45:12 -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=C6zarNSr; 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 AE0A33858C48 for ; Wed, 4 Dec 2024 16:45:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AE0A33858C48 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=C6zarNSr X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by sourceware.org (Postfix) with ESMTPS id BF2C63858C51 for ; Wed, 4 Dec 2024 16:40:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BF2C63858C51 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 BF2C63858C51 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::635 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330451; cv=none; b=bpPsb6rIP/VsGkCZRKkyAMUpvZqS7smDaOLqybfjAPvNcQ7VNEL/GrtBpw19FYGdtQhZ/F8OvvG2D4vuEwuqasgDt0hp3qEX52POUbgT6K7yyFk8K2WP0bPXWkpWX1cGdyult0HHclKk3OcbEnzE4XO9TXEL/DYw+93kDMUVUx0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330451; c=relaxed/simple; bh=9LEQLKk77Ku5R1lAu+ZhPMl+XwU4/TlrKIf4FaOvAU4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=Gs7TXL3XCDXL2pOcP0gAO7B+m3p2KIa8QaEo5HZMhHcD7xyk/RjQRLTW+kYzr/3Pxf1spyPBkz6BfbnUoNaJFDd3kUxPvq6lCb6uqQ3YK8ztXGB+753IWxLjWXZwotyTFV+KOY0G1FR5rpvz1vY7QWv8qc+XUNgy7QN/7HWgW2s= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-215909152c5so37606505ad.3 for ; Wed, 04 Dec 2024 08:40:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330420; x=1733935220; 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=C6zarNSr5e0KqJBZlqz8+So05FqMowHBtf6vxlovH5JvEsvL1jAtLmVMMIn3ieBk10 OlMGr+V/MxPcQBp5S0NxTbRR1UHe9KeepkabiMWFDUcttnh2ypKcczs+PIXENHeAIXIO zljKplqZfT1igFIwU+102L4PYGLKvMZG6igO+M/61sbWxhct+c+rPSqyNMWFrWTpd0cQ p87ugBSnhXluYqC0ak+VjGLhHIM3esFhq/76n93UPw6YuOlvmtlaqLNGP3+fs7OdpfB+ bcC/uXbS99PCkv/otmEeVSHzmxnMjRtdVVZvVRX00tZ9a51Y0rYikNEoO92ybGqyERmK /8qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330420; x=1733935220; 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=aZnaIwHMYBRKQ5OtMkdYfelJYmW3JcXH/TOt8uLKq3RTtDHRiWBYWRgpJPk4g0KvA3 X0J1X8eyJ9YPN2RzsjAAEWNmAGJ5R0g493mefecHyssOGhCv+ud2tXp85zVtBpo/BjwJ BHJOeKf3U2BuVisTsdLgmZWrjugNsBOwS5Qtj61hGtcbN/NYwCL75XSHAMJVHcgPFSaO L4elswo+OAWK3ojmPOMKhTi1LSw0lvnSY/TQ2kDNrRtqhcH5d831ta7Ds6A8t6XRJBtr ttRg14xTJYvHABYOElzmO09RPKWBVSeWZr2gNYLanBRMOZFJdsXRn9bxJSAe4drTb5MR TB+Q== X-Gm-Message-State: AOJu0Yz1I2mSBgzobDwbpEtJN+2I/O0QHQEDgQBLwj26e4QGRRZvHLni BMh91pyGMuMAAIEmem4vCXqeBPr9LUI48kWwcao0tTfmHAw0apv3hn1EqONYuyrJmUME2omNBR9 F X-Gm-Gg: ASbGncvTFJAY7EYT3ipODFzZT4S6ZS73c8o4c424pSMCUrBFch2x1h5Jy7n3f6efHs+ bHPvXqE54EYK37cPkMe7tTwsuXvpb2fyrg4BRP/24Wzzx1q7cHTf5QSrtENT1m7GG0nXcCfzl4S xPKCmuLueye4asX/HkPwtrRQAG9O9DmyPD/YzXxBI8cV98RZX0MYLaffJF/EwUP9HefKZ2/k15V Q8so5GGosa8fKNvtGdrVk54rGuO82tHkAXbRFrOibtPpWgBjupG0WWR+9uF0Q== X-Received: by 2002:a17:902:d4c2:b0:215:b468:1a48 with SMTP id d9443c01a7336-215bd2001f9mr94665555ad.26.1733330420438; Wed, 04 Dec 2024 08:40:20 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:20 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 13/25] math: Fix the expected atanf (inf) results Date: Wed, 4 Dec 2024 13:37:48 -0300 Message-ID: <20241204163949.1408676-14-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 Wed Dec 4 16:37:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 847304 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp426268wrr; Wed, 4 Dec 2024 08:50:04 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXi/1+e4lzkNIjnBH/i1YmDF+dJ3/7vOxwC+M7sCHnlKWmko2EmucqcXqtjo7V6zkZ0Yb9u7g==@linaro.org X-Google-Smtp-Source: AGHT+IHF1YhEiFQyrwtLj5CMRBQg/Ey6AvKQRATBDOZjF4pss3hcyELzRGpSeNpg1x3Z4q/RCAdK X-Received: by 2002:a05:620a:45ab:b0:7b6:6bd7:7ad0 with SMTP id af79cd13be357-7b6abaeca7cmr784082385a.19.1733331004251; Wed, 04 Dec 2024 08:50:04 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733331004; cv=pass; d=google.com; s=arc-20240605; b=cUe1zM96lJJmfK14ypthAbv4HtBQGMcJ4S8KdADqGlgtZEm/1p1sKRYH6Ua8khHkjB QFwEEEq1QnHOAjPPS/4F4qhlESPJdq5kdX0jmSQQdaO6jFkx0/jEpnhe7bkqoKEdBKJ+ drxXMOQ+l2/1UFKVzd1h7pjZaffnpUf2GHIDiLvKJX+bmry6uylp2EVbTrb+/0myUSP9 yIc8JS1rgDZb+UcWh/IM0XVHaBWfWgWMR5o4RbUB1g5mJ2FI4pkHy5n2vlLF52YE00VM 0HgxAn6LF4wlNH55WhmUPYMvHHYsKoEKUFejM9YWAuA06l9iHS1f46JijHCT3OUIv8no D2RQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=op9ycuWXKXAhXiHo19LuNVJ/NVtaQ56gWIDTql2ciEo=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=B1Hl1r8j41t5zXtPD/JxYdcw3Chf6ATVPGkTL3aT/9q90N17XC66reExkIO/iR+ovQ nzhEQxmRlTnLne98LNKqRzWeNyR3Nner4xhVf7xHbX4wRhAqz/JE99Q/BdEFpF1F/7bb QbktuprPlz39p7oA8+lS78Wcblq36n52VKiKD6itFxz0J3CKPn5wVPicOQ+W1FAcce1M iPA+IHL2+MJMQ+gvuX64qrIQVUpTxHb2Zt4+oSJQ1R4STELvFOF2OzEm/XqRLTb57SU1 zy7ZCaxTuqHogSzmolxzzda5PSt44yZOtQFgWIhv8nt097CmnN3DVcWxFZWBWbyf6hvg 1cgA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Ym2aaJ5L; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id d75a77b69052e-466c44590f6si169960651cf.639.2024.12.04.08.50.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:50:04 -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=Ym2aaJ5L; 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 B1BA73858CDA for ; Wed, 4 Dec 2024 16:50:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B1BA73858CDA 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=Ym2aaJ5L 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 35B223858C50 for ; Wed, 4 Dec 2024 16:40:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 35B223858C50 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 35B223858C50 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=1733330456; cv=none; b=UsHyUneZ4jZYVJ9sdCSVw3xX1KI0wLbndIq+POQJCzq7eNyIc26LI1n97YlUXn/Xfo7WSQU2J+YMzJf0VDT6yWx8VAm2NscroGEV76BQvCXWmxNWBm8kHnM4M9VXbXMpzC/cf/IShdR2w31X7BCnDxLzth01y4+jrCCNWqeLLFQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330456; c=relaxed/simple; bh=Uwkpggjby71GCCYdCC15egYm1i3oRXC915rN4lemONo=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=ReX6b8l0MH8hPqNLf470mR7GaXh1ZBwMQaV9brPlOnVJ3ILdZ94ahzYzi5SGySxR4ivJFcpP20WLfb6rIalghk89EtYuvfUcLVFQSyn9ITwk1C8BGCYPjPoM1lEHqJjtNCm2IQTHPiWERB4vqpBecVwkGGmgGToetPw7lQBFaX8= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-2154e3af730so45104925ad.3 for ; Wed, 04 Dec 2024 08:40:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330425; x=1733935225; 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=Ym2aaJ5L9+y+Abp3C/g2ml7+EoXrO5RQESAc2/gf2SVg+Tyz/k6ZQRa3zvj+rTX62b Ei/oAYkolBBxoxckm1qQNGhtgNivY2cUZh4W60LmmNLPzMNGDKvrDrw3uenwOFaK3AbF AK3geRBU8AOa9M7k7nSpw1s82/21AI7jdwPyEuT0GOYlVK4Wy1Q0z0RPwLBkr9jHN8V9 SaVnu5nBEVpJz0aPRiCXhNT7x4aeVEK5On68SI1OievRqLySzGkMYC9sp4mxwEGADa7A 7nm5scfWNs3vVzTOe4PVPYVzA/6gbU5y9dlGfi7ZefBhzvmXGj6lbqaudu4CIuYSCLcg cvJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330425; x=1733935225; 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=Hp/vLn/BdxS0jyElovDPRD74Y41VoPX6tspxm496pK3PGKPfRHWk1TvdfZrhCN6H0B cJAucUIpx3ffThepfEBFab/O6+XO62X3rkh1AJk5N72Ro0q+hYUAejO843Khirt587Rs kYK8jOFjIQ59zOejfJuPhLnnVZ0ees5SSQPw+DDlLPAlo6L4afVA9aRgcclIraEOx9WN dZyT5ijAjUU1qozANU1I9b5Yb1OcOlPJZ38r9Xc6WkPnAdUYIF4G7ZHu1Ivlj6Z1vJOp 8L0YJnhMowT+iXs5iwF3h/lRj1qvk+WReoLaLI1J23cPaGUqgg8/3CgfWjDioSNWd4Pa HjGg== X-Gm-Message-State: AOJu0YwS5z05lCVYoFgdI+Y0bDbIl9xLMXVMD/XGEbce2/ZB1djGPzXw bNidLzLmFfxuePhqVmQMC8JZgaB9f4Ap9RZXxUwqH27PZ2uLy23QdeS/lCoA3eAgrND6KY2XxoC E X-Gm-Gg: ASbGncstAtopaZKyLbJNKsFJwXUpf2AfAMKh0oGFNWZSsxpxNmhvOzaOrIiTTrsloGJ 0hL9m18b9dVwpS/kIIPkTAHcVRZxYlTIEwaqzZ58nGjkmpSKd4/tlN7KESzDInZR/4ReFfDXsH/ aT2ZFbLHJcrILcuHclZtjoSK7ynhWdHkIVDYo+CWdSMo+yTrdFaYOBH2YTxLj22KymsZYkzqhmt i49AGfQi6CIwz5ue9fbASIkfjpRtEuPUrkeESnRuOGDBQIAuyDVuGH51R/SYA== X-Received: by 2002:a17:902:7d93:b0:215:603e:214a with SMTP id d9443c01a7336-215d0028eefmr64772705ad.1.1733330423061; Wed, 04 Dec 2024 08:40:23 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:22 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 14/25] math: Fix the expected atan2f (inf) results Date: Wed, 4 Dec 2024 13:37:49 -0300 Message-ID: <20241204163949.1408676-15-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 Wed Dec 4 16:37:50 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: 847300 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp424192wrr; Wed, 4 Dec 2024 08:45:27 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXwSXl0EBLATb/FF4iIcEZIZIXMg6KKZe6bNb1ieaRKQcQUiiWmTxM9PE7xDYP/16+0k2Q6jg==@linaro.org X-Google-Smtp-Source: AGHT+IGXFDwDJlKRudOIUflqnBSMNXTNjyeKhj7Gau0UVBx5fP0rd4bocsQ+t+zYfaXr+1F7R/ws X-Received: by 2002:a05:6102:370b:b0:4ad:4895:ce1f with SMTP id ada2fe7eead31-4af9724ebc2mr8715975137.17.1733330727495; Wed, 04 Dec 2024 08:45:27 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733330727; cv=pass; d=google.com; s=arc-20240605; b=XHfRl3V7mwn/OrJX+9NzmaH4L7C47wKuIN2HsflEMkFRVMpP6sSOijZ/NiH/t+LSBF e/oQ2TMc5xa6EQuQx/uRGIX9Xs21Z2ngCGPiua4PaL4cEu8z4CrIg5fJxtgI8YF0ppeQ 4nbjvzteqOg7zcSOmwCwYfXQigqk+UHE4Wrk/zkJuhH1IorLl0MwZiZKHRt/7i7FlzU2 GZHmL55UmK+dVavuQJwQtOKaRbbvdXLLPN9r8VhqmzNDxLh1qXI28i1Gc5nX2IuXVX7j XtdcsZl7ojjcOfzq4bZOcfFgUKvwZm5FjxMqWmPBUUU7QKmJ0+qsX3e6LwuScGoGCy/2 F2eQ== 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=7Lj8FcZ5mEDIr2jDhXX0yDFoKgxbIFnTTlnCwneT7J4=; fh=CmGDM+TcKDkWttUBbuoeyeCWXo3i0fQaJViLknsVw4o=; b=eZc6DmQmj1+xwUE/QhdoYoFKRsZT4LSh/jp/EL0ZkTWuxpLGUT0NssvfJLAw7MUEk7 SCCSsuubobdiqOFbfvG3JyxVJq/tp8i94yoLafqP+cShNnX3PK+TYftwMlwfp3SDyfvm poqKPRhJkBl6fInBSX3lsZh3rnrSviZzqNZr+RpS22ErzQAIcK7/i9ltOfJY/yLbsFrG QBltN53mOZU0hPXuwa0d9KNZHdR4mZLjx/pRX/V+KLINh6u+u3XyBZRJcBWBqrroYZ7+ jS2XXMZUbSvp3KlWcw6lLmc/rpLQSsc+/lCJ6cK2NReQOuwyQcD/wrvr/R9MHj2xzErU e8xA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=WQwC5fKo; 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-4afb556974fsi351572137.563.2024.12.04.08.45.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:45:27 -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=WQwC5fKo; 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 05DB13858C56 for ; Wed, 4 Dec 2024 16:45:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 05DB13858C56 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=WQwC5fKo 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 3B5253858C54 for ; Wed, 4 Dec 2024 16:40:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3B5253858C54 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 3B5253858C54 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=1733330456; cv=none; b=TU4YwIw9LTvz5iolLSlYclbMJ4i0U0LJ7fkkXfzMfaMmM3h1rg8icsSudjfb7xBL1Xy6AYk9Z9oaf9DkvFHLQL6ZbA/wWtJ+zzKxr/wdYJPDThsY1hrHV25GxTGDr/D6uyQ5H2bpwSriz2dQM/RKChqD7a1pNZCsgIEaRPI6NP8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330456; c=relaxed/simple; bh=qc5U3zwX8VSQlP521Rqk0hSbKTGxhyQnccFNCoDgb7M=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=a8YevsJdGN82JBuhZSiOUMUJsQCLBpce5i2/ebYi6ArDzSyOYZAYSzL7FGf60NDsePiQKZr6sR89c7C6r8aWNGzYw77FsWMxe+QNCUQYr39+RF08NeE3dXkwAkKpMfGrDLI7u4Q0rZm55x2Nbdk6v7XvZv6fxuftPVyembFSp/g= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3B5253858C54 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-2155e9dcbe7so42977765ad.3 for ; Wed, 04 Dec 2024 08:40:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330425; x=1733935225; 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=7Lj8FcZ5mEDIr2jDhXX0yDFoKgxbIFnTTlnCwneT7J4=; b=WQwC5fKo6onUyXcMo/Fm4bDDHron3hz3QKLOVi5drDzsv8OD2ADjFod8BDVR8US/ys fYYvuBRm8jNDbzbDgPW3jSz2vDr2a7Z6tvb4xZRcd3QaOcPxOJpcQ7y9dWfITsVzfKTe COWDEsJ0mCYRZmF2V9dOIZjeOr/dyBo47D8Fbm/QU7UKRZUjtBAL2QJzZs+NoPSXpbQI aC5xhJcm+pY1H1+U131Tk3BpK3N0GAKiB9f/iQTronWgYKI2L7bdz4scNwHKBJU9MYLv jMtBwOn5n4zuYVNgQb3mNWJoeDTopBvO1Ku00wVUsjyzSTDNi3Zy2QzP/hysZZC8CBlV /HIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330425; x=1733935225; 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=7Lj8FcZ5mEDIr2jDhXX0yDFoKgxbIFnTTlnCwneT7J4=; b=gRk1GdPvsK3C9mpEpWY/7aaXRGhKQSWcM9lGNYIgRrzQLWxe4/O5in4bU6RBBtBDOa NmybE48wXc08Donq3KaWig7Ax7srqQrQLTtcyttaMQ2UORHIfuL1rS40DOWzzYmVQMUG 0HOGuK4T96X82Rd0sQdFMTVsNh125hDM7Ni7Rb8XELHiXF9hJ5/tPOdKS4OcKK0nKAQk I2OJpnucWldZ+0qMSLC9FLXVn/8A843j64/CNp4u8KIMbY52zsippeCiNXi8dz+n0xAL 45KZSTt+3vbMOVM0rl3BedlqW3Eh2E/Q9d5Xqw8QjHcfVK8M/jb8nZlA3e2HOHoeG0K+ XZDQ== X-Gm-Message-State: AOJu0YxceeHEnma2Okhcrhb0TRHWxmBCa7Ro8QlfzAHrKBUTotiz2rFK QF6kVJRFLnPqmoWeWzfcHTQtVWbj+Vhv1u6aUq/AR+T7KaxKl7smjgR8P+y6e6UhkgqnHzs+KIO w X-Gm-Gg: ASbGncs9fp10l5dx2yazVjYk5C9uT6TFCI2BgeCBqOfcU5NQNq/G3qRrHB3YaDm5xIv ahSbY85/nFJg8wsT/1XhPAxngLRWT0mclpbeCUniDQmOI9x86CW8jrvOlTJLXlF/37ruYFkkQ9H yWJ+LwiRk0RUQEUU/BMZzGjvcqZjsXJ/VyahA5B7Pxle+oFeoQHA0/inbHFMpa4cQCey0rtFOS+ iEgxR+rnQPly9rQ6+gbkM47E+3z9rIgPFcB+gDRpSkySeTk/VXH4jh9AAH4fg== X-Received: by 2002:a17:902:d2ca:b0:215:4a4e:927e with SMTP id d9443c01a7336-215bd16f660mr99426345ad.39.1733330424839; Wed, 04 Dec 2024 08:40:24 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:24 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers Subject: [PATCH v2 15/25] math: Fix the expected carg (inf) results Date: Wed, 4 Dec 2024 13:37:50 -0300 Message-ID: <20241204163949.1408676-16-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 carg on non-default rounding modes (similar to atan). Instead use autogenerated value. --- math/auto-libm-test-in | 11 ++ math/auto-libm-test-out-carg | 250 +++++++++++++++++++++++++++++++++++ math/libm-test-carg.inc | 28 ---- 3 files changed, 261 insertions(+), 28 deletions(-) diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index 6dbda50a28..82c9aa272b 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -1879,6 +1879,17 @@ cacosh -0x1p-112 -0.0 cacosh 0.75 1.25 cacosh -2 -3 +carg inf 2.0 +carg inf -2.0 +carg 10 inf +carg 10 -inf +carg -inf 10 +carg -inf -10 +carg inf inf +carg inf -inf +carg -inf inf +carg -inf -inf + # carg (x + i 0) == 0 for x > 0. carg 2.0 0 # carg (x - i 0) == -0 for x > 0. diff --git a/math/auto-libm-test-out-carg b/math/auto-libm-test-out-carg index cf5530b068..1ec9956d76 100644 --- a/math/auto-libm-test-out-carg +++ b/math/auto-libm-test-out-carg @@ -1,3 +1,253 @@ +carg inf 2.0 += carg downward binary32 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg tonearest binary32 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg towardzero binary32 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg upward binary32 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg downward binary64 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg tonearest binary64 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg towardzero binary64 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg upward binary64 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg downward intel96 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg tonearest intel96 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg towardzero intel96 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg upward intel96 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg downward m68k96 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg tonearest m68k96 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg towardzero m68k96 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg upward m68k96 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg downward binary128 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg tonearest binary128 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg towardzero binary128 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg upward binary128 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg downward ibm128 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg tonearest ibm128 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg towardzero ibm128 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok += carg upward ibm128 plus_infty 0x2p+0 : 0x0p+0 : inexact-ok +carg inf -2.0 += carg downward binary32 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg tonearest binary32 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg towardzero binary32 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg upward binary32 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg downward binary64 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg tonearest binary64 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg towardzero binary64 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg upward binary64 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg downward intel96 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg tonearest intel96 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg towardzero intel96 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg upward intel96 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg downward m68k96 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg tonearest m68k96 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg towardzero m68k96 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg upward m68k96 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg downward binary128 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg tonearest binary128 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg towardzero binary128 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg upward binary128 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg downward ibm128 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg tonearest ibm128 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg towardzero ibm128 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok += carg upward ibm128 plus_infty -0x2p+0 : -0x0p+0 : inexact-ok +carg 10 inf += carg downward binary32 0xap+0 plus_infty : 0x1.921fb4p+0 : inexact-ok += carg tonearest binary32 0xap+0 plus_infty : 0x1.921fb6p+0 : inexact-ok += carg towardzero binary32 0xap+0 plus_infty : 0x1.921fb4p+0 : inexact-ok += carg upward binary32 0xap+0 plus_infty : 0x1.921fb6p+0 : inexact-ok += carg downward binary64 0xap+0 plus_infty : 0x1.921fb54442d18p+0 : inexact-ok += carg tonearest binary64 0xap+0 plus_infty : 0x1.921fb54442d18p+0 : inexact-ok += carg towardzero binary64 0xap+0 plus_infty : 0x1.921fb54442d18p+0 : inexact-ok += carg upward binary64 0xap+0 plus_infty : 0x1.921fb54442d19p+0 : inexact-ok += carg downward intel96 0xap+0 plus_infty : 0x1.921fb54442d18468p+0 : inexact-ok += carg tonearest intel96 0xap+0 plus_infty : 0x1.921fb54442d1846ap+0 : inexact-ok += carg towardzero intel96 0xap+0 plus_infty : 0x1.921fb54442d18468p+0 : inexact-ok += carg upward intel96 0xap+0 plus_infty : 0x1.921fb54442d1846ap+0 : inexact-ok += carg downward m68k96 0xap+0 plus_infty : 0x1.921fb54442d18468p+0 : inexact-ok += carg tonearest m68k96 0xap+0 plus_infty : 0x1.921fb54442d1846ap+0 : inexact-ok += carg towardzero m68k96 0xap+0 plus_infty : 0x1.921fb54442d18468p+0 : inexact-ok += carg upward m68k96 0xap+0 plus_infty : 0x1.921fb54442d1846ap+0 : inexact-ok += carg downward binary128 0xap+0 plus_infty : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += carg tonearest binary128 0xap+0 plus_infty : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += carg towardzero binary128 0xap+0 plus_infty : 0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += carg upward binary128 0xap+0 plus_infty : 0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += carg downward ibm128 0xap+0 plus_infty : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += carg tonearest ibm128 0xap+0 plus_infty : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += carg towardzero ibm128 0xap+0 plus_infty : 0x1.921fb54442d18469898cc517018p+0 : inexact-ok += carg upward ibm128 0xap+0 plus_infty : 0x1.921fb54442d18469898cc51702p+0 : inexact-ok +carg 10 -inf += carg downward binary32 0xap+0 minus_infty : -0x1.921fb6p+0 : inexact-ok += carg tonearest binary32 0xap+0 minus_infty : -0x1.921fb6p+0 : inexact-ok += carg towardzero binary32 0xap+0 minus_infty : -0x1.921fb4p+0 : inexact-ok += carg upward binary32 0xap+0 minus_infty : -0x1.921fb4p+0 : inexact-ok += carg downward binary64 0xap+0 minus_infty : -0x1.921fb54442d19p+0 : inexact-ok += carg tonearest binary64 0xap+0 minus_infty : -0x1.921fb54442d18p+0 : inexact-ok += carg towardzero binary64 0xap+0 minus_infty : -0x1.921fb54442d18p+0 : inexact-ok += carg upward binary64 0xap+0 minus_infty : -0x1.921fb54442d18p+0 : inexact-ok += carg downward intel96 0xap+0 minus_infty : -0x1.921fb54442d1846ap+0 : inexact-ok += carg tonearest intel96 0xap+0 minus_infty : -0x1.921fb54442d1846ap+0 : inexact-ok += carg towardzero intel96 0xap+0 minus_infty : -0x1.921fb54442d18468p+0 : inexact-ok += carg upward intel96 0xap+0 minus_infty : -0x1.921fb54442d18468p+0 : inexact-ok += carg downward m68k96 0xap+0 minus_infty : -0x1.921fb54442d1846ap+0 : inexact-ok += carg tonearest m68k96 0xap+0 minus_infty : -0x1.921fb54442d1846ap+0 : inexact-ok += carg towardzero m68k96 0xap+0 minus_infty : -0x1.921fb54442d18468p+0 : inexact-ok += carg upward m68k96 0xap+0 minus_infty : -0x1.921fb54442d18468p+0 : inexact-ok += carg downward binary128 0xap+0 minus_infty : -0x1.921fb54442d18469898cc51701b9p+0 : inexact-ok += carg tonearest binary128 0xap+0 minus_infty : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += carg towardzero binary128 0xap+0 minus_infty : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += carg upward binary128 0xap+0 minus_infty : -0x1.921fb54442d18469898cc51701b8p+0 : inexact-ok += carg downward ibm128 0xap+0 minus_infty : -0x1.921fb54442d18469898cc51702p+0 : inexact-ok += carg tonearest ibm128 0xap+0 minus_infty : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += carg towardzero ibm128 0xap+0 minus_infty : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok += carg upward ibm128 0xap+0 minus_infty : -0x1.921fb54442d18469898cc517018p+0 : inexact-ok +carg -inf 10 += carg downward binary32 minus_infty 0xap+0 : 0x3.243f68p+0 : inexact-ok += carg tonearest binary32 minus_infty 0xap+0 : 0x3.243f6cp+0 : inexact-ok += carg towardzero binary32 minus_infty 0xap+0 : 0x3.243f68p+0 : inexact-ok += carg upward binary32 minus_infty 0xap+0 : 0x3.243f6cp+0 : inexact-ok += carg downward binary64 minus_infty 0xap+0 : 0x3.243f6a8885a3p+0 : inexact-ok += carg tonearest binary64 minus_infty 0xap+0 : 0x3.243f6a8885a3p+0 : inexact-ok += carg towardzero binary64 minus_infty 0xap+0 : 0x3.243f6a8885a3p+0 : inexact-ok += carg upward binary64 minus_infty 0xap+0 : 0x3.243f6a8885a32p+0 : inexact-ok += carg downward intel96 minus_infty 0xap+0 : 0x3.243f6a8885a308dp+0 : inexact-ok += carg tonearest intel96 minus_infty 0xap+0 : 0x3.243f6a8885a308d4p+0 : inexact-ok += carg towardzero intel96 minus_infty 0xap+0 : 0x3.243f6a8885a308dp+0 : inexact-ok += carg upward intel96 minus_infty 0xap+0 : 0x3.243f6a8885a308d4p+0 : inexact-ok += carg downward m68k96 minus_infty 0xap+0 : 0x3.243f6a8885a308dp+0 : inexact-ok += carg tonearest m68k96 minus_infty 0xap+0 : 0x3.243f6a8885a308d4p+0 : inexact-ok += carg towardzero m68k96 minus_infty 0xap+0 : 0x3.243f6a8885a308dp+0 : inexact-ok += carg upward m68k96 minus_infty 0xap+0 : 0x3.243f6a8885a308d4p+0 : inexact-ok += carg downward binary128 minus_infty 0xap+0 : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += carg tonearest binary128 minus_infty 0xap+0 : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += carg towardzero binary128 minus_infty 0xap+0 : 0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += carg upward binary128 minus_infty 0xap+0 : 0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += carg downward ibm128 minus_infty 0xap+0 : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += carg tonearest ibm128 minus_infty 0xap+0 : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += carg towardzero ibm128 minus_infty 0xap+0 : 0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += carg upward ibm128 minus_infty 0xap+0 : 0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok +carg -inf -10 += carg downward binary32 minus_infty -0xap+0 : -0x3.243f6cp+0 : inexact-ok += carg tonearest binary32 minus_infty -0xap+0 : -0x3.243f6cp+0 : inexact-ok += carg towardzero binary32 minus_infty -0xap+0 : -0x3.243f68p+0 : inexact-ok += carg upward binary32 minus_infty -0xap+0 : -0x3.243f68p+0 : inexact-ok += carg downward binary64 minus_infty -0xap+0 : -0x3.243f6a8885a32p+0 : inexact-ok += carg tonearest binary64 minus_infty -0xap+0 : -0x3.243f6a8885a3p+0 : inexact-ok += carg towardzero binary64 minus_infty -0xap+0 : -0x3.243f6a8885a3p+0 : inexact-ok += carg upward binary64 minus_infty -0xap+0 : -0x3.243f6a8885a3p+0 : inexact-ok += carg downward intel96 minus_infty -0xap+0 : -0x3.243f6a8885a308d4p+0 : inexact-ok += carg tonearest intel96 minus_infty -0xap+0 : -0x3.243f6a8885a308d4p+0 : inexact-ok += carg towardzero intel96 minus_infty -0xap+0 : -0x3.243f6a8885a308dp+0 : inexact-ok += carg upward intel96 minus_infty -0xap+0 : -0x3.243f6a8885a308dp+0 : inexact-ok += carg downward m68k96 minus_infty -0xap+0 : -0x3.243f6a8885a308d4p+0 : inexact-ok += carg tonearest m68k96 minus_infty -0xap+0 : -0x3.243f6a8885a308d4p+0 : inexact-ok += carg towardzero m68k96 minus_infty -0xap+0 : -0x3.243f6a8885a308dp+0 : inexact-ok += carg upward m68k96 minus_infty -0xap+0 : -0x3.243f6a8885a308dp+0 : inexact-ok += carg downward binary128 minus_infty -0xap+0 : -0x3.243f6a8885a308d313198a2e0372p+0 : inexact-ok += carg tonearest binary128 minus_infty -0xap+0 : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += carg towardzero binary128 minus_infty -0xap+0 : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += carg upward binary128 minus_infty -0xap+0 : -0x3.243f6a8885a308d313198a2e037p+0 : inexact-ok += carg downward ibm128 minus_infty -0xap+0 : -0x3.243f6a8885a308d313198a2e04p+0 : inexact-ok += carg tonearest ibm128 minus_infty -0xap+0 : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += carg towardzero ibm128 minus_infty -0xap+0 : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok += carg upward ibm128 minus_infty -0xap+0 : -0x3.243f6a8885a308d313198a2e03p+0 : inexact-ok +carg inf inf += carg downward binary32 plus_infty plus_infty : 0xc.90fdap-4 : inexact-ok += carg tonearest binary32 plus_infty plus_infty : 0xc.90fdbp-4 : inexact-ok += carg towardzero binary32 plus_infty plus_infty : 0xc.90fdap-4 : inexact-ok += carg upward binary32 plus_infty plus_infty : 0xc.90fdbp-4 : inexact-ok += carg downward binary64 plus_infty plus_infty : 0xc.90fdaa22168cp-4 : inexact-ok += carg tonearest binary64 plus_infty plus_infty : 0xc.90fdaa22168cp-4 : inexact-ok += carg towardzero binary64 plus_infty plus_infty : 0xc.90fdaa22168cp-4 : inexact-ok += carg upward binary64 plus_infty plus_infty : 0xc.90fdaa22168c8p-4 : inexact-ok += carg downward intel96 plus_infty plus_infty : 0xc.90fdaa22168c234p-4 : inexact-ok += carg tonearest intel96 plus_infty plus_infty : 0xc.90fdaa22168c235p-4 : inexact-ok += carg towardzero intel96 plus_infty plus_infty : 0xc.90fdaa22168c234p-4 : inexact-ok += carg upward intel96 plus_infty plus_infty : 0xc.90fdaa22168c235p-4 : inexact-ok += carg downward m68k96 plus_infty plus_infty : 0xc.90fdaa22168c234p-4 : inexact-ok += carg tonearest m68k96 plus_infty plus_infty : 0xc.90fdaa22168c235p-4 : inexact-ok += carg towardzero m68k96 plus_infty plus_infty : 0xc.90fdaa22168c234p-4 : inexact-ok += carg upward m68k96 plus_infty plus_infty : 0xc.90fdaa22168c235p-4 : inexact-ok += carg downward binary128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok += carg tonearest binary128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok += carg towardzero binary128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok += carg upward binary128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b80dc8p-4 : inexact-ok += carg downward ibm128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok += carg tonearest ibm128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok += carg towardzero ibm128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok += carg upward ibm128 plus_infty plus_infty : 0xc.90fdaa22168c234c4c6628b81p-4 : inexact-ok +carg inf -inf += carg downward binary32 plus_infty minus_infty : -0xc.90fdbp-4 : inexact-ok += carg tonearest binary32 plus_infty minus_infty : -0xc.90fdbp-4 : inexact-ok += carg towardzero binary32 plus_infty minus_infty : -0xc.90fdap-4 : inexact-ok += carg upward binary32 plus_infty minus_infty : -0xc.90fdap-4 : inexact-ok += carg downward binary64 plus_infty minus_infty : -0xc.90fdaa22168c8p-4 : inexact-ok += carg tonearest binary64 plus_infty minus_infty : -0xc.90fdaa22168cp-4 : inexact-ok += carg towardzero binary64 plus_infty minus_infty : -0xc.90fdaa22168cp-4 : inexact-ok += carg upward binary64 plus_infty minus_infty : -0xc.90fdaa22168cp-4 : inexact-ok += carg downward intel96 plus_infty minus_infty : -0xc.90fdaa22168c235p-4 : inexact-ok += carg tonearest intel96 plus_infty minus_infty : -0xc.90fdaa22168c235p-4 : inexact-ok += carg towardzero intel96 plus_infty minus_infty : -0xc.90fdaa22168c234p-4 : inexact-ok += carg upward intel96 plus_infty minus_infty : -0xc.90fdaa22168c234p-4 : inexact-ok += carg downward m68k96 plus_infty minus_infty : -0xc.90fdaa22168c235p-4 : inexact-ok += carg tonearest m68k96 plus_infty minus_infty : -0xc.90fdaa22168c235p-4 : inexact-ok += carg towardzero m68k96 plus_infty minus_infty : -0xc.90fdaa22168c234p-4 : inexact-ok += carg upward m68k96 plus_infty minus_infty : -0xc.90fdaa22168c234p-4 : inexact-ok += carg downward binary128 plus_infty minus_infty : -0xc.90fdaa22168c234c4c6628b80dc8p-4 : inexact-ok += carg tonearest binary128 plus_infty minus_infty : -0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok += carg towardzero binary128 plus_infty minus_infty : -0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok += carg upward binary128 plus_infty minus_infty : -0xc.90fdaa22168c234c4c6628b80dcp-4 : inexact-ok += carg downward ibm128 plus_infty minus_infty : -0xc.90fdaa22168c234c4c6628b81p-4 : inexact-ok += carg tonearest ibm128 plus_infty minus_infty : -0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok += carg towardzero ibm128 plus_infty minus_infty : -0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok += carg upward ibm128 plus_infty minus_infty : -0xc.90fdaa22168c234c4c6628b80cp-4 : inexact-ok +carg -inf inf += carg downward binary32 minus_infty plus_infty : 0x2.5b2f8cp+0 : inexact-ok += carg tonearest binary32 minus_infty plus_infty : 0x2.5b2f9p+0 : inexact-ok += carg towardzero binary32 minus_infty plus_infty : 0x2.5b2f8cp+0 : inexact-ok += carg upward binary32 minus_infty plus_infty : 0x2.5b2f9p+0 : inexact-ok += carg downward binary64 minus_infty plus_infty : 0x2.5b2f8fe6643a4p+0 : inexact-ok += carg tonearest binary64 minus_infty plus_infty : 0x2.5b2f8fe6643a4p+0 : inexact-ok += carg towardzero binary64 minus_infty plus_infty : 0x2.5b2f8fe6643a4p+0 : inexact-ok += carg upward binary64 minus_infty plus_infty : 0x2.5b2f8fe6643a6p+0 : inexact-ok += carg downward intel96 minus_infty plus_infty : 0x2.5b2f8fe6643a469cp+0 : inexact-ok += carg tonearest intel96 minus_infty plus_infty : 0x2.5b2f8fe6643a46ap+0 : inexact-ok += carg towardzero intel96 minus_infty plus_infty : 0x2.5b2f8fe6643a469cp+0 : inexact-ok += carg upward intel96 minus_infty plus_infty : 0x2.5b2f8fe6643a46ap+0 : inexact-ok += carg downward m68k96 minus_infty plus_infty : 0x2.5b2f8fe6643a469cp+0 : inexact-ok += carg tonearest m68k96 minus_infty plus_infty : 0x2.5b2f8fe6643a46ap+0 : inexact-ok += carg towardzero m68k96 minus_infty plus_infty : 0x2.5b2f8fe6643a469cp+0 : inexact-ok += carg upward m68k96 minus_infty plus_infty : 0x2.5b2f8fe6643a46ap+0 : inexact-ok += carg downward binary128 minus_infty plus_infty : 0x2.5b2f8fe6643a469e4e5327a28294p+0 : inexact-ok += carg tonearest binary128 minus_infty plus_infty : 0x2.5b2f8fe6643a469e4e5327a28294p+0 : inexact-ok += carg towardzero binary128 minus_infty plus_infty : 0x2.5b2f8fe6643a469e4e5327a28294p+0 : inexact-ok += carg upward binary128 minus_infty plus_infty : 0x2.5b2f8fe6643a469e4e5327a28296p+0 : inexact-ok += carg downward ibm128 minus_infty plus_infty : 0x2.5b2f8fe6643a469e4e5327a282p+0 : inexact-ok += carg tonearest ibm128 minus_infty plus_infty : 0x2.5b2f8fe6643a469e4e5327a283p+0 : inexact-ok += carg towardzero ibm128 minus_infty plus_infty : 0x2.5b2f8fe6643a469e4e5327a282p+0 : inexact-ok += carg upward ibm128 minus_infty plus_infty : 0x2.5b2f8fe6643a469e4e5327a283p+0 : inexact-ok +carg -inf -inf += carg downward binary32 minus_infty minus_infty : -0x2.5b2f9p+0 : inexact-ok += carg tonearest binary32 minus_infty minus_infty : -0x2.5b2f9p+0 : inexact-ok += carg towardzero binary32 minus_infty minus_infty : -0x2.5b2f8cp+0 : inexact-ok += carg upward binary32 minus_infty minus_infty : -0x2.5b2f8cp+0 : inexact-ok += carg downward binary64 minus_infty minus_infty : -0x2.5b2f8fe6643a6p+0 : inexact-ok += carg tonearest binary64 minus_infty minus_infty : -0x2.5b2f8fe6643a4p+0 : inexact-ok += carg towardzero binary64 minus_infty minus_infty : -0x2.5b2f8fe6643a4p+0 : inexact-ok += carg upward binary64 minus_infty minus_infty : -0x2.5b2f8fe6643a4p+0 : inexact-ok += carg downward intel96 minus_infty minus_infty : -0x2.5b2f8fe6643a46ap+0 : inexact-ok += carg tonearest intel96 minus_infty minus_infty : -0x2.5b2f8fe6643a46ap+0 : inexact-ok += carg towardzero intel96 minus_infty minus_infty : -0x2.5b2f8fe6643a469cp+0 : inexact-ok += carg upward intel96 minus_infty minus_infty : -0x2.5b2f8fe6643a469cp+0 : inexact-ok += carg downward m68k96 minus_infty minus_infty : -0x2.5b2f8fe6643a46ap+0 : inexact-ok += carg tonearest m68k96 minus_infty minus_infty : -0x2.5b2f8fe6643a46ap+0 : inexact-ok += carg towardzero m68k96 minus_infty minus_infty : -0x2.5b2f8fe6643a469cp+0 : inexact-ok += carg upward m68k96 minus_infty minus_infty : -0x2.5b2f8fe6643a469cp+0 : inexact-ok += carg downward binary128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a28296p+0 : inexact-ok += carg tonearest binary128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a28294p+0 : inexact-ok += carg towardzero binary128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a28294p+0 : inexact-ok += carg upward binary128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a28294p+0 : inexact-ok += carg downward ibm128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a283p+0 : inexact-ok += carg tonearest ibm128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a283p+0 : inexact-ok += carg towardzero ibm128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a282p+0 : inexact-ok += carg upward ibm128 minus_infty minus_infty : -0x2.5b2f8fe6643a469e4e5327a282p+0 : inexact-ok carg 2.0 0 = carg downward binary32 0x2p+0 0x0p+0 : 0x0p+0 : inexact-ok = carg tonearest binary32 0x2p+0 0x0p+0 : 0x0p+0 : inexact-ok diff --git a/math/libm-test-carg.inc b/math/libm-test-carg.inc index 520e4c42ef..61684c6dcd 100644 --- a/math/libm-test-carg.inc +++ b/math/libm-test-carg.inc @@ -20,34 +20,6 @@ static const struct test_c_f_data carg_test_data[] = { - /* carg (x + iy) is specified as atan2 (y, x) */ - - /* carg (inf + i y) == +0 for finite y > 0. */ - TEST_c_f (carg, plus_infty, 2.0, 0), - - /* carg (inf + i y) == -0 for finite y < 0. */ - TEST_c_f (carg, plus_infty, -2.0, minus_zero), - - /* carg(x + i inf) == pi/2 for finite x. */ - TEST_c_f (carg, 10.0, plus_infty, lit_pi_2_d), - - /* carg(x - i inf) == -pi/2 for finite x. */ - TEST_c_f (carg, 10.0, minus_infty, -lit_pi_2_d), - - /* carg (-inf + i y) == +pi for finite y > 0. */ - TEST_c_f (carg, minus_infty, 10.0, lit_pi), - - /* carg (-inf + i y) == -pi for finite y < 0. */ - TEST_c_f (carg, minus_infty, -10.0, -lit_pi), - - TEST_c_f (carg, plus_infty, plus_infty, lit_pi_4_d), - - TEST_c_f (carg, plus_infty, minus_infty, -lit_pi_4_d), - - TEST_c_f (carg, minus_infty, plus_infty, lit_pi_3_m_4_d), - - TEST_c_f (carg, minus_infty, minus_infty, -lit_pi_3_m_4_d), - TEST_c_f (carg, qnan_value, qnan_value, qnan_value), AUTO_TESTS_c_f (carg), From patchwork Wed Dec 4 16:37:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 847305 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp426529wrr; Wed, 4 Dec 2024 08:50:45 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUP2GPzZ+pOx8mT6pFLb758XiLpkSysR2Tf4DNuNfoIqqsF3MmbMnkra8/Toi3iYDmbmX1qmQ==@linaro.org X-Google-Smtp-Source: AGHT+IH/lnl8YKou26m+NLPp9dPlKxrmV4qKn893Srwul9VnNMfzPxNncGV31HETbMXFhJp52HJY X-Received: by 2002:ac8:5889:0:b0:460:38f5:8753 with SMTP id d75a77b69052e-46727a2624cmr867601cf.26.1733331045620; Wed, 04 Dec 2024 08:50:45 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733331045; cv=pass; d=google.com; s=arc-20240605; b=ePhXPoppPRrLHZNfcRhzxxseHv+qJ9qYrX8TyAYIgu12lD3CmnT9x3ezxt1S3EQuVz OgdWlEa7Vvw5bJD8Ftr3fjYbmweEd83ybl/KdiBg9hpPLyTgkKgdWiy8LGQFDd/G2FAU E1s+fYu+d/bu3Llx/NCo2KIyUHzg2wmUiW39s6qlFo4HrzyvlfB/Q8N9NZ7YQgSsIE+s g+ug5blVWs6azI6mJjsdLKObG85ZLoKw6Jfyn4dctfzyBHYMO/i60B/IRGIqiS7iFhZ1 LHbf1xNcm1gvHKz/GyagQIErEsYVsrzp2b6J6d6ItmfEDr3bE6oKHaNGtXmx4EeZSvG5 uNRw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=ZSHkfv3oPyOSjNxFp1VuLd20ofk6xnajhxdJaFejWCY=; fh=4rGS/xMpTpKARYPd8/6tK882DGKOrg862WI4oHDxNB4=; b=Cl9grQO6a6Eva5TJvUM9U3GDLaw7V1O26v5VPTUx289I7/lxQdg26oaVmwMc3c7Q3R yaY2m9hm9bWdUF2YtEzRzx3uMJHPSi8ZimJl85HEzgGnD7NaMkChUkktNVzMmswF4KSx C4ol+Yl1kaHjCfJ/4DYWivKYqimHoqXB7OcHG11FjOHoAZNDC+c9+fHBrTqBtmXka9IL wajmYrWwcJiVDLCWGa1/fbb90MsNtKaZ2cR+R+HCzdAI5HAyZIQBEmDkTCk9kzNrC2Rm QALHLmCtjDRpWyNiegDVAJmCxOw93Od/AwyJ+dBRzfeQdGGjAKp1ukkVJG071gYFmVN8 4PKQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=egijOYTT; 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-7b68493fcecsi2045700985a.192.2024.12.04.08.50.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:50:45 -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=egijOYTT; 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 288163858C42 for ; Wed, 4 Dec 2024 16:50:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 288163858C42 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=egijOYTT 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 AE7F63858CDA for ; Wed, 4 Dec 2024 16:41:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AE7F63858CDA 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 AE7F63858CDA 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=1733330463; cv=none; b=brutzO3qGjBU3pJWrxHsffrcKLiQcEc+SVxuFIMhACJjTkPeFMt85CB6m5qIyj8vPmDOgT/NBlsVVFwtXxqITfZZp8giihI/NEY+ownCPqO4j8mVlTgwrFzJVQtCGRPgBX0sjmPkjVIiisFMMpLvhAvW2O0vaq/eW0Mz72XawMk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330463; c=relaxed/simple; bh=QxmK9pdyOS24KOn9ELA/XzdhZx3P8nt9AnYuvNv66K4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=V3EkInh4Trw1N0WewcFdVu75Yu92LVJKcN/bacpu/h8uZnTJ2l4gvUlM320+dxnYPve3tA/4yDSYgZcayXc/ji8L8tDmE/UkYUusj/3Q85XrlhFqxXmSoDx+3u7nkT6ZC8VdYTZqAhdtRUlRNyxnExUE7Og2TcluaZnVmP2n+tQ= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-215666ea06aso9815275ad.0 for ; Wed, 04 Dec 2024 08:41:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330430; x=1733935230; 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=ZSHkfv3oPyOSjNxFp1VuLd20ofk6xnajhxdJaFejWCY=; b=egijOYTTK9rucd0b6xhnm8/D1AOuJ/qFZ+F2QFtboNZnQxsmltfgsu7v7m8fiJA5nl Fsv3TKgHKLRmAXvpc1rArJSFRdk1uJCmUaw0LCGLpxaIsx0agTOVfT+txWNgZamwyX83 JJv1eNmJf/vBkTXARU8HE0RGf+5SNj4kPuS3XgPeNGsgRfxsmQy/V49qEzNo4tniGsfn pEoMq6/tB4KPtpIIWu6aVZSL6Gc/4c8KFVAh0Sn0QY5T3aKvyU5seIGkDysj7kq4dNnh xqjLW+YfKlzGLExxauZ7wa6qBpa1q5SApACr4XUIbqLX101CkOxgdje0JW2dmQpmTklh 5oEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330430; x=1733935230; 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=ZSHkfv3oPyOSjNxFp1VuLd20ofk6xnajhxdJaFejWCY=; b=LGC6gmHKItNuGZNeRnlrXbFhhnsVUxIflo22r4dhTBSk82kqk+sOGiPv6Sn45O8uZ3 BOo7ssTwS1kvPCcf4Vtl0mrMtyhGwEA1ETxZkeYKlb8BS45Y3cgy1xf+PEUum5N7gcd/ Ej72/vAKlTjE3sspuG4TsxjvWdIfjBaazQh0ZY8moLhTtZh/5rTh2vy8BC0Aj0amjSNv WkWWvL3/l8WYfGlSDZWOcEfT5EMqwGBUFcvdrrabVP3nMfiUJhjjW9gWSfZaALdKVFP0 xBNdlQWSC/0dn/Q/uVcHxxjQ17jj/1JIY94FRW5ODV3gL7xQUbvWTnyq8rEGuEDwXaNf pDDA== X-Gm-Message-State: AOJu0Yz/3pwrBQiBeT5VffYpFXFhkqwkNMagJaHyahYSwlmbOhZzX8M7 5iiBnPh214f8qylf/zsC2Xn3EEuxd67aEMaBOdyJ2c59wccj1DrebuIQLDVWPzLsaFL7Te1vVyH z X-Gm-Gg: ASbGncs1W6g9T0xXfQHs7tn3hqZG/LM3ZyTz9qTjZwwKsCwazLePaXtVaCDb4QWyxpu 4SjjfJpg/nuSutr9nuQWK2ahgDve353vpWWYW4uoefsWbm4kIDnmZ1zp5pSrWHKsRMLKFHIx4f2 rwubKKTk4rsIk6IG/uh4qWLRSXzZqceQPlnz+BRqVJwlrQ+w/9Yo4wSUoA5XgfwCry4sSdq15+N KXb7YGUo9Vla8fuUb1a8h+BwwHOzrfXHBzr+YwVEbqOkdJm7NyTpJqeLXAn+w== X-Received: by 2002:a17:903:2444:b0:215:a303:24e9 with SMTP id d9443c01a7336-215f3c5b017mr467755ad.3.1733330430304; Wed, 04 Dec 2024 08:40:30 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:29 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH v2 16/25] math: Use acosf from CORE-MATH Date: Wed, 4 Dec 2024 13:37:51 -0300 Message-ID: <20241204163949.1408676-17-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 | 195 +++++++++++++++++--------- 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, 132 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..cba01221dc 100644 --- a/sysdeps/ieee754/flt-32/e_acosf.c +++ b/sysdeps/ieee754/flt-32/e_acosf.c @@ -1,78 +1,139 @@ -/* 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 61d7bef). + +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; + 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 = 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 Wed Dec 4 16:37:52 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: 847311 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp430002wrr; Wed, 4 Dec 2024 08:59:18 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVqZUFT/3VHJUmXlBG5reWxVTe4Smnfj6vsGmF4ztWKZRTch6+/+6dGuvOIVtVsbJx92O3i6g==@linaro.org X-Google-Smtp-Source: AGHT+IGt+vpPBBt3D+ZkPcVBUw0XHtWwgR52AiLDhSLf9IAiAdVnT23RAbPn4uiuWFxWtb0vsARB X-Received: by 2002:a05:622a:d:b0:463:4bb6:bfe2 with SMTP id d75a77b69052e-4670c75e541mr113651091cf.50.1733331558003; Wed, 04 Dec 2024 08:59:18 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733331557; cv=pass; d=google.com; s=arc-20240605; b=O04ri17HJIiiCj9+rw8KiK67A4xDmAUMK7ZhvfqfNEA7qzPutY3DQCduJgTJITUlqV hknQ5fvmUxufTuCvsKne5C+IzSosfNUEDkNHUZ2YGwwZU0ZXeoFH1whbp3ORoCQCk2is miQGlVfoeg6dIYXG17vu52P5jc0SqlIT8s4f8+sJgCK1qYvjCqiJ2mQGgtSYWXkIOPvz 9eImUqoDAsgcUKiqofrxoCt2Kyvqm2A7tbk0KS5kp2GmBs6QyEKtlldxoa+SUPZ8DO1N UF4IGhHD5XJUdg92rY0kqAvQyI+NriVkt4iZ44LoPWdd1HUqnWcHnc4KNkA9ZOAQ0iyL IaMQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=Cuqbqe8tYtMou25rtav5jO08ZUICBz8JsnaFdbgEzaM=; fh=4rGS/xMpTpKARYPd8/6tK882DGKOrg862WI4oHDxNB4=; b=AC+AQkUbZ2IlgdGhR2yQc9+yO67UdgTjuB02eTz5DGVSi3LvY3gYPX/tTBuljX6fZm 9bi5HwRCxNTxNLhYH0/PSptL1Fv/d/voamreVLjerB4d6sPjDb4n7J7CK7gqC+txvrU0 qFqmnDY+RdRhqABL1IEhz7W8iQDsuU2N2N/BwlFUMBe4jLD3LRJFFx9a0XbifCwTj2EB mkrgK5LYE1aSSQibZhYCd9MqWplJrwTIyx37lo9UUUR5uwh9mSbGY2Q02gfvcxTeyagQ TNKgqNBkcpO9etHDxD2uIqc8GvQOjdGmpopLO83WaXiSdfAufoflsPLGUFjKTRQWt9d7 q4aA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jmq3w6xa; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id d75a77b69052e-466c406bd30si173670181cf.213.2024.12.04.08.59.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:59:17 -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=jmq3w6xa; 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 8C30F3858CD9 for ; Wed, 4 Dec 2024 16:59:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8C30F3858CD9 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=jmq3w6xa 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 32F083858414 for ; Wed, 4 Dec 2024 16:41:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 32F083858414 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 32F083858414 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=1733330465; cv=none; b=JjYLNmg5H7+uFNuo/ZMyIr+wuWT59cfZL7oSNpBijHC9e1VKqIDIht0pVRrFUIJ7VxWYmpSO6Otub7mpL3JMy8AD+naRxOf8D9XEXb0/cfhZX80+BQjKVjDlOJv34TMUs7uBItlkbAUU944DBQtpMagveHN5QndLjcSBaQFvpD8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330465; c=relaxed/simple; bh=jW5ldRJKy8PSqjh0LcFbHiPzPG/uk/1HBwK7kZlAkoI=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=qFo+ReUqr7YVsztEbiQMuL78GvR9zOsqhLzz/LFfVQqLpBi6GUutKqWZiDbEf/3pG0Q/cWB/uNccDKTHdPiEd37CWzAyWBf+8ljxwkX8blsgX4QaFM/vaF3IcaXifjGfk5bZZ7bon85L9Vi9K8967rVz8zPUKpDbDEGTlF5m8VQ= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-2156e078563so34262195ad.2 for ; Wed, 04 Dec 2024 08:41:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330433; x=1733935233; 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=Cuqbqe8tYtMou25rtav5jO08ZUICBz8JsnaFdbgEzaM=; b=jmq3w6xaR8wSaDXKiiF72JGsfdeBfY48ClpYtWLCpbD38INj/8yB8rm1bZgt1wFnyS yhaiMDoGeqNmwjdwOXfE5govWL71XOXXioIgqGWjZfK4KsrwTnLFtqtEuVGZbcN8rRzV UVh1Tn/k9gBtLVfyW10gReBbjTLKYHo/ENWSyGhR4qkN+ZnTd4kNTGszOp71jQlZFzEJ zsvmHM46s3+4FIWmMXpM7Xt2FMqIGt7XkGt40vSA77iaGgApBvOZ+tBrLa698JlULM/3 DRwCgF4b9DfjwDSijc4t4AN9L3euN4o3UBzbvp4lo0JnbSoeLTQbyurOTTT1teCwX6eY uyiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330433; x=1733935233; 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=Cuqbqe8tYtMou25rtav5jO08ZUICBz8JsnaFdbgEzaM=; b=JZ8aV8fWKEXlrVrvt8212lL1Bd8LKgKAkQAlq0bfF6umTUWSnuhJHT8McPCwf7djP1 uEs42gyPMnrxKp6Y6HyDZsLE+iwDGPsXj6aemtAa049FKFhaPqXbKWDRaHTlW4LN1XXC IKVkRaftREVB+U7SImpywHEOlGNU2gLm4BTRX45jppwyMYlpRcbRWD5gvwPsRrjKObYj CEDatz3VncoRd9aMy04vkelKLFlEfBp3Noe6NOD6DsfWW7XSX70X5lDx9LDvZE3mNqZI fUL8QIakI7tLEY58ZgpduIGkDJz7tDUzz1tIcZOVQFLxqvyWlbMRss7Nf0ee8zKntRD3 sSWA== X-Gm-Message-State: AOJu0YxWTB4f3JtOJyPk3YuIVWcbDsMRcmq8Pir7aAO7CTkcxgeJXZBe vabhNteRakEXDfweFZb4ctdIr4tIksZJGcmxvDozRuCFGDFT6ZI+y1KmG9HlIH92/f0BccczqEw k X-Gm-Gg: ASbGncsPGyT6jDvXLLujJpg5wjJQFDv8KNJ7/pTXY3+8Re8ApTHfo922NQCwXhD0Io2 MhfeVhiJe90ItIcih/IuECgN38C9u5PNEMU5E5MdyRuTLoQvFO9HOfmk2Pc49+lp3S/G+kSowgY Fl6ETuidBLOhoJIYvLLKGVLa+jWLTdIJBsYj3mXMGtFBIDMDnIRuv8hDWhrzm2lrSaCBKW33NLq ZA0/aNhHMura05IM3LK5tgxg91hfHpc/IFAtyySwSDxopZrJSTzxjr89jSwKg== X-Received: by 2002:a17:902:d507:b0:215:9a73:6c45 with SMTP id d9443c01a7336-215bd1cf589mr85006585ad.22.1733330432506; Wed, 04 Dec 2024 08:40:32 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:32 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH v2 17/25] math: Use acoshf from CORE-MATH Date: Wed, 4 Dec 2024 13:37:52 -0300 Message-ID: <20241204163949.1408676-18-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 | 232 ++++++++++++++++++++----- 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, 196 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..37e5e2071b 100644 --- a/sysdeps/ieee754/flt-32/e_acoshf.c +++ b/sysdeps/ieee754/flt-32/e_acoshf.c @@ -1,49 +1,201 @@ -/* 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 Wed Dec 4 16:37:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 847306 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp426558wrr; Wed, 4 Dec 2024 08:50:49 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUV2j5iXjmLsvh3WNOysVVFOYfxyYv9g8k2LrZVlnO4/jeSGsh9u2eSPOIlKOcC1klV3nbrig==@linaro.org X-Google-Smtp-Source: AGHT+IFzOJSR286sw7eOkmweQgddHsUPMMYGZ5I/9T9qEjONp7dQpDPY3as1NKKOGKqU1FOeFLfZ X-Received: by 2002:ac8:5a8c:0:b0:464:94cf:9778 with SMTP id d75a77b69052e-46717c976bamr86925881cf.41.1733331049520; Wed, 04 Dec 2024 08:50:49 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733331049; cv=pass; d=google.com; s=arc-20240605; b=YYZtBuusfKm0L3+JppKZxLTb5PqRemKg5XZ/kKCDo2pp02jaD2+T0RnRDX2S1kwTGY Klr2tQJFNHmDMYj7oYebV4EqEETLFAieKFyWdKB+LA6Ibn2TDdBq9RfgtC03FhuYGrMB zMA3gWm0pTqM5nT7PxwH5ye+9p+ZeqTJ7Kmkw17Wh8LNntZ/v7jRZBudBwL2swc480IM c+Bo/exmlTx+vOgx94Wc+scZa/SSnAIa40uqRspv+d6pCFJB2Z+ElUPxa3i2+4Is6buV cu5kpdjo6Y08y2D4tQwK02mXTf2TXQDOMRa32pYwoVhjdbcX1GJvJ/DWwcIZYLNjc4VH a2ow== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=hCcL9hWffHV417BGRJGyWTb09wnfTLxu9MKoMsF9cEY=; fh=4rGS/xMpTpKARYPd8/6tK882DGKOrg862WI4oHDxNB4=; b=DhQcdP7VhDzNs22cPoCTc/yrhESPeVXoRV+XihNJpk2+D/8tTj1AfR6hUDmMHejHRp WwqBUCCCOuUkZfub2uh95h9exYsC4gHCt9/K3/PkNPRTE81adgjH5lccTU+D00WUM5Uh yPRBtm1tFSwgThnAPUBMUpoMOdpYLDRyH2yNOHWFWvZuaWxvWnmQk+ru00Pi19kBwtV/ c0mKkT24DGXA4Xb+TCC5ykSqJWagODkmHxJ6kF6bAdJ3JARRRLgdwqbeolchsckNeLfp UamQm4gPAcGTIYUrHZOkusqACuKwOrI/TWUHfwMz5OebLsS1+x/LS6a4+FuQBYGTxZn9 y6mA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=BYJBhVER; 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-466c425c31bsi169898781cf.584.2024.12.04.08.50.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:50:49 -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=BYJBhVER; 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 07FA23858D38 for ; Wed, 4 Dec 2024 16:50:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 07FA23858D38 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=BYJBhVER X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id 3C0D33858C35 for ; Wed, 4 Dec 2024 16:41:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3C0D33858C35 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 3C0D33858C35 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::630 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330466; cv=none; b=X8sMXA4H1Lu6TYj0Fx/M8hJEXxQ1u/Kx+wGdwuKiUJoR3YRZ0bdt8UDKHMeNoRsk8e8n2mAPPYV/WyItZttewHNPjUVhV+fNmy/ja+3C0zM7RoyLtTzsIioDzFypZvoynqH+ADM3diFukK8Mh2l1CREWEPSnf+H8JPVZXpuGGHc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330466; c=relaxed/simple; bh=ZyfBDZrfFL5hmP0gMC27zgMppoI33IyKJ1RJO2VyBsg=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=bXl8qRgzu0UtvSAe9KtV28PNlT85UhpVp992boCrcd1Xi74gDRR8YK6vQCdYLAFWyBPclWVMTxgPa627n7EBHjiEcd9zGjdst7TkkDL7nOB35sPxjc6RGRoeIfgkGNPWO+WnmAIULY6Jf5IFBwf6IWOHmBvksCkpEtx6Vsc9lNk= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-215936688aeso35943095ad.1 for ; Wed, 04 Dec 2024 08:41:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330435; x=1733935235; 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=BYJBhVERiOHymJnw6PahwMV9O4IS3n2mNGNvM5ZUzbbodlbZzsZFD358PX9DUI6PlW xiUxQPuaM9dkawCxuMdq1574V/mXxZ6adYdfWKpGsE/yBUIEti34TxnbCeXKnEjQNw17 mDkNlB8htnEQAQC/VhumlFkfBxJp7HnsOXqPyvsCVkgdwD/7b4B6aPsFpWUF0Zr5XieA r79VQdvNFVHCTRlmRZneLy9wUCmtJgQkHtEMPgFOzFRQusFaGSPfE2FErUJkh11K8MV6 EgZmklZaiWbiZB+lpzK1TrOhwP+5pljTzRDAWVLBoOfRTKbyeU+ePlt+xtZo3DWXV2Zv uL/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330435; x=1733935235; 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=HtQ5jsvkOvligvw9SKZ5wvC7mcd9pQaN1Y27jUh36oQXY805CgfR4jz4bQD4V8Dd3W bH9wsl1MSUhwRYTe55Lq+8vZ1Y4/BaHK27u/PQc85eB9SteQ+E2so0CFbR8mo+cwugou 6IzWtvzsifr29vAhySBzhakp0uIyZ7dUiR0i3nDqHlgTePICrRTBrSfkp9tKY6jJTXog 0qt9ioT86nDZFyR9Ki9lwkVW5RMMJv/vwaYi0vNYxoFqGaWxJGFjR19mmM3xcz9oNgHH BiiHFg009rDd+hJEMrRxdalCB0qF0/+0ghdnFnmKCdSSe+bdRYOw3saZh9qvCSyVAXIK BsCA== X-Gm-Message-State: AOJu0YwgRTL/0qNjeaK4eAY2WicimX+Pw0D1FT6/ccF02qWjn8J4crR5 JpezS8qKth6urpsay7QR5bqoyqTvLnL8Gyv2ovxw+8op1BN7zeswodU5TaFBm/+8XC3WRslWgHy O X-Gm-Gg: ASbGncsLmkuv5N+t2lTqgSZ1OO39WF/hkUnrwoiWGG+9Ow4id5UX15zHebHqHubW33Z 8qztiuhBcLrZX8vDmSU5Oy47Y/bvFNopqlC1Mybyi6I7beTgFbizSst7V8SshQpVvGap14du6RA 6Z5/g3zvyFWZSfBgaGoExsFIGMj5KAOBWy2wcG+vb8QH+8NvmO7NNiH5zKZ/qK6y/WVdj1IgZEv VwMz1YLZTIJ0dgXeB7k3U9fTRpX/YZfvvwoX3B3oY1ff+fMyyJlvuyUMYN4YA== X-Received: by 2002:a17:902:d48a:b0:215:9894:5670 with SMTP id d9443c01a7336-215d003e8c2mr73534185ad.16.1733330434693; Wed, 04 Dec 2024 08:40:34 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:34 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH v2 18/25] math: Use asinf from CORE-MATH Date: Wed, 4 Dec 2024 13:37:53 -0300 Message-ID: <20241204163949.1408676-19-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 Wed Dec 4 16:37:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 847312 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp432678wrr; Wed, 4 Dec 2024 09:02:36 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWPR63z7/xvGG91pmz1ushoNWA6T7Q27UIWG0kFBJb00zJWpjFsc4JnJMUZeA+PMMAOT2Sd0w==@linaro.org X-Google-Smtp-Source: AGHT+IHy4vu+MAzavMNZIXEtIGa6IL/5jxe4HoE/UxxrUxk0kzc6+TLYM3fYNjOHzd0Gzl01pP89 X-Received: by 2002:a05:6122:2511:b0:515:4fab:301a with SMTP id 71dfb90a1353d-515bf3092e6mr10000467e0c.5.1733331756756; Wed, 04 Dec 2024 09:02:36 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733331756; cv=pass; d=google.com; s=arc-20240605; b=TojHGDAceWZEp1xkpzyIfTuWRSFDZl5p+cdKnjcNUymrbFjdQCAr6p5Tk6HrgLGp/8 zGpctYfQmoQRzx0o1GXcZscM0VcPOF8E0UFbcKMPA53i7aSczIyFdPdEGr1wcCQdkaO+ RmOhq61TpTfdQJrtOSrDhc3juAfap0H9tYUyAW2QLhSXv9xzWyzURKM7ugGfKkndjc1A mm3R9fzXyN+k/M7MUzL4NmxTFLYI7V3wp4ySFJKgkNfMiIISxSGmvfd8ETRp0Cgmcbg8 fPq5p4Yqwj48Amj1OZdETkVDbvxl+HJWPLBivsZuUdllFKcQvTDCMut12gnzy0EDQ6Kp uhfQ== 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=4rGS/xMpTpKARYPd8/6tK882DGKOrg862WI4oHDxNB4=; b=DaFhcyPfchKxNFgIB5YsbaAcDjyunpAlPKRneVHpKZI0hh7XV2+mWnY3tB9n0Cxdai 9Hq9zvE+lSljEaTAtNxvLFBxbHtMrEps9a6rgiQkUTDqAzAQ0SYLXgH5rZJ7QnhVAVO7 8EHs8ZGN8Zyn/53y5U16VMg/8BnWfIrDHJqp8O7mN6chRkTZyOHPs20FPlf5fqPUTz0S SsRCIRUf7gSImp8qt6zt5XWdn3pqB1aT01InwxrM26DjmWtRd7+0glowKXhOOgomK+GT cfNh13Shpw7Umx9gKpNZZYyBVnTHN3UOciNqtNIgYcrj/0FjGME8HhgUvY09HWWnvFMg 2c3w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GqQvdVxe; 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-515cf288ff9si1511867e0c.254.2024.12.04.09.02.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 09:02:36 -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=GqQvdVxe; 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 4AF423858C50 for ; Wed, 4 Dec 2024 17:02:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4AF423858C50 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=GqQvdVxe 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 3A2363858402 for ; Wed, 4 Dec 2024 16:41:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3A2363858402 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 3A2363858402 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=1733330468; cv=none; b=SrTaBhExlmSucZvgKWokdf/VYLgjiH+tm7LhcG7zoUAHlY95XbSiC61PiMM3xnjxwxo7RyRyQqScMQocE6EM3m0WcmMAuDfb28XRUwYwu+hT4DO0BcopPd9T/mCfRDnRUexT5mSH2GvXxDrEeE06b4Lwrf4dgjHvKZmyW+wIfwo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330468; c=relaxed/simple; bh=AgAuR94MKYn8/Vr+2cAxAT2PlAWawqlRdYmiJ0wOTWs=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=bd6NbPRmrN2JhjQJH7qf2VshdqTrLDXb7j4O9sXZpXs7rhHS8j+O38D8jcqqn96xjw/b3L/KqkI+Xf9y+yMUYsx5lOM9p+l8pmUJefZIxVudFK4Xl8lAseDD91K7wIKRz9VPqVamNOqRZ8CXT329gb21xjG4Zk7EJpJ/hQarNPg= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3A2363858402 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-215c4000c20so21003405ad.3 for ; Wed, 04 Dec 2024 08:41:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330439; x=1733935239; 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=GqQvdVxe2NzfeBgOc/QvCyCJACijWrmG/uwnC8cdizeUM82bR78tEejj/RxVlhs7GE TmbGKcEXVjI/XjJrnOteN8zRK8AHVSoO7F418E64BHgvwouHmZ+47H4dvllFtpRMgj9j dxnLtwCGMKq1iFzayf5VoN0aSACtKRYEmN4g8WFkjFHyE3YZEtNWi7vaSI+6CISuTkAc s026xYdzXfM/vrB8xkukDz7NQeSTAYdUFNv0JozJytz3I9c6+3FB9gwQikN3w14hdny7 TGFLgrRBvKjebjoHS3awzgsqLwve6b3i86s0uCjNhSEaQrL7g+pYM8BTbjqNSsqlcsn3 ok6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330439; x=1733935239; 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=f/ShTVdU0ntUdjDwq/YBhcDYdMt2r61NqQciWS+jYOU7M2RycQJ5wp0//4u6bVTDcb tO5Dw/PdrBh4hzCIYOrJrDOfMhDaNccvM1gCYmU9cfyyRP/u2rddtWuzUw8h/Vk4sVqb GWw3Hn5WVB3uax0boTssgDGloDwyyCkfAiTmTb4NpgTFX0GfCQF7nG+iXg8U+8HG837u uSZ12Xk116fMfHbXGX+YyjsK2E/FuAhqbjYYLXDSdovJCqEgphwAUKb49Yih05STze19 zXuYBZkNNMz666u7T5/+vjWR25SKvDnX/8kUU9q6inRLnEcGOnsp5dLhIEhCd00TeJZW hvgA== X-Gm-Message-State: AOJu0Yydam6Ar46boHUctBKuUsgrKMGTYJh2GBxwwG6gunG3XxFrOwXB lMqihnsT/NFDWfSnloeCUB+vt4/tV6D3OEU3lUpbPN/pI4doVxkp+a/FUIvQtF5x5Qvbcgy2cKp 5 X-Gm-Gg: ASbGncuEI+ZbxUI+Y6THNaRsfw+t8/VAvz4qsX9fC8aqK1eV7604V21YpqnyymqQw0+ HW8KH4e95rN3hQvDxbAUo48EMhsDCyIMQlgCbMTGyfOu/g7knwdWn3nlcQsBmZAJti0OBuw9ybl sZz4dIuJRUtp6pH6ZHNXGxZlpsHoplUHddfcUFAmk0AAy+tRtl3yt/HZsxmniPKHdZ6vXub78Q3 6eusYOHF3rTsIELO9HEdq6uIUJj+p9ep0cO+2iZ9IntZs2fWuoi8rUGRJcP/w== X-Received: by 2002:a17:902:e80f:b0:215:5c2e:a2ec with SMTP id d9443c01a7336-215bd1c9de4mr80798675ad.16.1733330439051; Wed, 04 Dec 2024 08:40:39 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:38 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH v2 20/25] math: Use atanf from CORE-MATH Date: Wed, 4 Dec 2024 13:37:55 -0300 Message-ID: <20241204163949.1408676-21-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 Wed Dec 4 16:37:56 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: 847309 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp428474wrr; Wed, 4 Dec 2024 08:55:37 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWbCAPp1U4hFpkMiMVllXLtTKBN4DLz8h7Bg8cnrbEPzCuWesXidspa4WVdeN6gUs80t271LA==@linaro.org X-Google-Smtp-Source: AGHT+IEx4UQR4yoDJPdjJ2QQjLlf480p4c06wNBXkg+myQ6nbUa8vW/bUfgBgszlwzhBRVDpdYvI X-Received: by 2002:a67:e893:0:b0:4af:983f:6f0e with SMTP id ada2fe7eead31-4af983f6f8amr7384572137.20.1733331337455; Wed, 04 Dec 2024 08:55:37 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733331337; cv=pass; d=google.com; s=arc-20240605; b=OHuYlOjzoZ9TumzIScehWr0HxjNdsS7mVQVoo3A2B/gEc7BDv5SpYMfvRDgxDeep0A CG6XJlncvCcrzFjB+4oQFeW/e87IExpCyj6bLpufyLbdUMNra+pFYDMIbROybw3b0pnH kWd/wkh7FBrFANjl5KG2x7wmO/Y9CGah5Fbj/k1c9QhOH9PGm0gKM1YKWt43YqWL8huf GYonxbgxcpjnX/2DPYTmM6ZeOtjnoykYDGU4qULQexB7w7ivyzubyqByL0OSJ0Sft2tB e95jQFIuJeR9jl9SgW2XUbzEgey+mpaw02+i6qusGyIlzDBAsw050Q5/9m9LDnonNOn9 W1Pg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=lsPsgvKt2l4RPmoPRttCtKWk9ar9KEABWBzqTe69M7c=; fh=4rGS/xMpTpKARYPd8/6tK882DGKOrg862WI4oHDxNB4=; b=H1q7T8MIWPC7Od7iDNO25EzWiM96r9iTfWxfqtytSDleOWuEWs9byIxBe4zBvryKqR /ONbjLDE19VI1Ab9Kus1kdZwdXDZRm4okQzDxKOglGzDX46rxU0PtWKr2wvU6l52rSOj rVbVUbwrkLo3VUqfLiyB5olqMN9S8HMq4ZSON15zviZTAR15hOwiMC0vWZ1R2Vst4ocl 2FNf3gu0QxAKHuQx/QfGfsElhKqkOlYKe57UM/gSsbL8H0uo+VvH80HCXHeD9zhW2AOL yTlRags67vAuwRn8JP+P+58A7rQb7f1fQoLMRmt41DemZmeyqtAZ+r9O8vKq80FcpZEW U/oA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AHCB4nVo; 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-4af593db014si298184137.697.2024.12.04.08.55.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:55:37 -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=AHCB4nVo; 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 001403858C54 for ; Wed, 4 Dec 2024 16:55:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 001403858C54 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=AHCB4nVo 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 38C2D3858039 for ; Wed, 4 Dec 2024 16:41:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 38C2D3858039 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 38C2D3858039 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=1733330469; cv=none; b=qGKbJoek7AZCYyVCHE6RTnVTdzzDvSMxwcLlthfpJGat8c/dw0GiH2/SfEb23jQUzC6FIOhsIDomx4FhSFcMmspjwnHMIRbajlvT6dor28OiimB3YMmMdrwE6S5vfS+OivmrRMoJuzruo3uvFHQOYizPQ7IYW+pJWpbOeKZI2SA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330469; c=relaxed/simple; bh=pXAXgfAFNUAEp2ZcSVNHmCuzLQd3gFNAW0GGaxkGae4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=HNJMvFA5+BWYrNvnNhpOoDxzIlFNwNXPhkISS5DZNikWZK+tjHnZA+AyRRGAgRbVgE/8kO02hBs9rXP8wzhdrX5OvEin+zfGk3HbVVo40IK/U8ZaP87wFqu6nqwbX8QNxdZ7EloqR0edbmdTkMZL+RH6icboi8KLbAmuPpLu3mo= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-215c4000c20so21004015ad.3 for ; Wed, 04 Dec 2024 08:41:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330443; x=1733935243; 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=lsPsgvKt2l4RPmoPRttCtKWk9ar9KEABWBzqTe69M7c=; b=AHCB4nVoDEX22ia/sklS+dAlAFx5WvZEUyMRYLoDcWGiFCTOZ4LJluroEOYQGB5270 SkGfq5p7POk4n+9XoeF4Hrg2lJEXIR/PHL7F/o4Vv8nl7VE0t1BKwXSAXISBUkhxciBw Cll6wSasq7zNmHaA6oD7z6E7EqSrLtjFWinJ59TVrVceHIauvpvx3uD35pypMxyj+KdI wwnlX6fMLICzaI4o6oL8M0Mxg2LviGHIcT2yNP8W6VhS61/6m4h6ZaBm58Btunp+o9J9 vWqyAn0ZjHy63jBrzu5LSRCqsnahOsRYyrJHM9KMIreeFe9xVgAAOv9kNCrwfd46CXKD aW+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330443; x=1733935243; 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=lsPsgvKt2l4RPmoPRttCtKWk9ar9KEABWBzqTe69M7c=; b=gP0oNnvVMswJyL+icRMwQMxHOYpsiNcIWi/caoGkE0iFCbeBeZ/1autb8+q6HA7FM7 SQv39OoN/P1OLzRf6PorYSKe5jj5RNJKu2SD+0RgPVT94sJIDdFY+srQ4Z/du4vWz1J/ uA7vXyPIrL4vcv01Nh2BCTg+UzPO9iZvCL+9BgaTTmGd08vT+DQKtUmG7BdNNLlBTfaa 7AHItgu6VQynzby/QE5A8G19w9oJNZrH34zIe9n/VTJm5EotWrsfuXkTbN1XUFhmjNYC 3BYxuPOFaQbz2ghk0aJXqpuW7kPRkPXkFVbliVK9UF5Rs4HdEpnWrG5JvNMuJADdVQ6R ap/Q== X-Gm-Message-State: AOJu0YxR0sc5ZFVZOSKtynqCrRM6DWYJa65n7r4BxbWfst4lmeG9LGVW If+0H06r3AxwT8TWS607UYvnHyNIOgmim70wUTOakcZqAYCSp/NstaqCGDcZN4HGNkfZA83ZBXM Z X-Gm-Gg: ASbGncthi2Af8hJHXh457dxUDRWNHkQFs6zvgzsiWLPhXc9a47KPuNi3PT2c1GgL9QT rvUxl0uIplQgSSPe7+C3ABirzjTY6UcL/2a7Jq0V372yM9C38b307m7Y1nkskO2NHKnWPpUCbd6 xlC6bwWvTrBVh25XlxdWz9GXRyYwyZwb3oIbthlQQRtv8FCM6knIQ90GZyxwyoN7PILnIArFT33 YLdYcNohKx4DelfSimS3baRRoRI15lhqdgohSUZhzOwiQR1wTgaVG+W1/ARyA== X-Received: by 2002:a17:902:ec8f:b0:215:a2f4:d4a7 with SMTP id d9443c01a7336-215bd27c515mr78634025ad.57.1733330441439; Wed, 04 Dec 2024 08:40:41 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:40 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH v2 21/25] math: Use atan2f from CORE-MATH Date: Wed, 4 Dec 2024 13:37:56 -0300 Message-ID: <20241204163949.1408676-22-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 | 8 - sysdeps/alpha/fpu/libm-test-ulps | 8 - sysdeps/arc/fpu/libm-test-ulps | 8 - sysdeps/arc/nofpu/libm-test-ulps | 2 - sysdeps/arm/libm-test-ulps | 8 - sysdeps/csky/fpu/libm-test-ulps | 8 - sysdeps/csky/nofpu/libm-test-ulps | 8 - sysdeps/hppa/fpu/libm-test-ulps | 8 - sysdeps/i386/fpu/e_atan2f.S | 30 -- sysdeps/i386/fpu/libm-test-ulps | 6 - .../i386/i686/fpu/multiarch/libm-test-ulps | 6 - sysdeps/ieee754/flt-32/e_atan2f.c | 338 ++++++++++++++---- sysdeps/loongarch/lp64/libm-test-ulps | 8 - sysdeps/m68k/coldfire/fpu/libm-test-ulps | 1 - sysdeps/m68k/m680x0/fpu/libm-test-ulps | 8 - sysdeps/microblaze/libm-test-ulps | 2 - sysdeps/mips/mips32/libm-test-ulps | 8 - sysdeps/mips/mips64/libm-test-ulps | 8 - sysdeps/or1k/fpu/libm-test-ulps | 8 - sysdeps/or1k/nofpu/libm-test-ulps | 8 - sysdeps/powerpc/fpu/libm-test-ulps | 8 - sysdeps/powerpc/nofpu/libm-test-ulps | 8 - sysdeps/riscv/nofpu/libm-test-ulps | 8 - sysdeps/riscv/rvd/libm-test-ulps | 8 - sysdeps/s390/fpu/libm-test-ulps | 8 - sysdeps/sh/libm-test-ulps | 4 - sysdeps/sparc/fpu/libm-test-ulps | 8 - sysdeps/x86_64/fpu/libm-test-ulps | 8 - 29 files changed, 263 insertions(+), 290 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..9ba57d0d0d 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": @@ -274,22 +270,18 @@ ldouble: 4 Function: "carg": double: 1 -float: 1 ldouble: 2 Function: "carg_downward": double: 1 -float: 2 ldouble: 2 Function: "carg_towardzero": double: 1 -float: 2 ldouble: 3 Function: "carg_upward": double: 1 -float: 1 ldouble: 2 Function: Real part of "casin": diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps index f9c1cf7cf5..d098eaf820 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": @@ -217,22 +213,18 @@ float: 2 ldouble: 4 Function: "carg": -float: 1 ldouble: 2 Function: "carg_downward": double: 1 -float: 2 ldouble: 2 Function: "carg_towardzero": double: 1 -float: 2 ldouble: 3 Function: "carg_upward": double: 1 -float: 2 ldouble: 2 Function: Real part of "casin": diff --git a/sysdeps/arc/fpu/libm-test-ulps b/sysdeps/arc/fpu/libm-test-ulps index 37b0efae66..5b89ee2696 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 @@ -173,19 +169,15 @@ float: 3 Function: "carg": double: 7 -float: 2 Function: "carg_downward": double: 5 -float: 2 Function: "carg_towardzero": double: 5 -float: 2 Function: "carg_upward": double: 8 -float: 2 Function: Real part of "casin": double: 3 diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps index 8d283f0627..ac43ab8dcc 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 @@ -43,7 +42,6 @@ double: 1 float: 2 Function: "carg": -float: 1 Function: Real part of "casin": double: 1 diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps index bb4ee0f2e4..b0b0b3ab05 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 @@ -169,19 +165,15 @@ double: 3 float: 2 Function: "carg": -float: 1 Function: "carg_downward": double: 1 -float: 2 Function: "carg_towardzero": double: 1 -float: 2 Function: "carg_upward": double: 1 -float: 2 Function: Real part of "casin": double: 1 diff --git a/sysdeps/csky/fpu/libm-test-ulps b/sysdeps/csky/fpu/libm-test-ulps index 9d3fcf693d..b8de7af6b9 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 @@ -166,19 +162,15 @@ double: 3 float: 2 Function: "carg": -float: 1 Function: "carg_downward": double: 1 -float: 2 Function: "carg_towardzero": double: 1 -float: 2 Function: "carg_upward": double: 1 -float: 2 Function: Real part of "casin": double: 1 diff --git a/sysdeps/csky/nofpu/libm-test-ulps b/sysdeps/csky/nofpu/libm-test-ulps index 1bab8effc7..a7594b6b1c 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 @@ -166,19 +162,15 @@ double: 2 float: 2 Function: "carg": -float: 1 Function: "carg_downward": double: 1 -float: 2 Function: "carg_towardzero": double: 1 -float: 2 Function: "carg_upward": double: 1 -float: 2 Function: Real part of "casin": double: 1 diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps index 8de00f442b..61ce339fcc 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 @@ -169,19 +165,15 @@ double: 3 float: 2 Function: "carg": -float: 1 Function: "carg_downward": double: 1 -float: 2 Function: "carg_towardzero": double: 1 -float: 2 Function: "carg_upward": double: 1 -float: 2 Function: Real part of "casin": 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..5873895497 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 @@ -268,19 +265,16 @@ ldouble: 1 Function: "carg_downward": double: 1 -float: 1 float128: 2 ldouble: 1 Function: "carg_towardzero": double: 1 -float: 1 float128: 3 ldouble: 1 Function: "carg_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..8fa9053fe4 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 @@ -268,19 +265,16 @@ ldouble: 1 Function: "carg_downward": double: 1 -float: 1 float128: 2 ldouble: 1 Function: "carg_towardzero": double: 1 -float: 1 float128: 3 ldouble: 1 Function: "carg_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..6c7bebc24b 100644 --- a/sysdeps/ieee754/flt-32/e_atan2f.c +++ b/sysdeps/ieee754/flt-32/e_atan2f.c @@ -1,94 +1,274 @@ -/* 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; + double 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 x + 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..a34539753c 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": @@ -217,22 +213,18 @@ float: 2 ldouble: 4 Function: "carg": -float: 1 ldouble: 2 Function: "carg_downward": double: 1 -float: 2 ldouble: 2 Function: "carg_towardzero": double: 1 -float: 2 ldouble: 3 Function: "carg_upward": double: 1 -float: 2 ldouble: 2 Function: Real part of "casin": 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/m68k/m680x0/fpu/libm-test-ulps b/sysdeps/m68k/m680x0/fpu/libm-test-ulps index 7b3e67efaf..1ef5e0e5a3 100644 --- a/sysdeps/m68k/m680x0/fpu/libm-test-ulps +++ b/sysdeps/m68k/m680x0/fpu/libm-test-ulps @@ -50,22 +50,18 @@ ldouble: 3 Function: "atan2": double: 1 -float: 1 ldouble: 1 Function: "atan2_downward": double: 1 -float: 1 ldouble: 2 Function: "atan2_towardzero": double: 1 -float: 1 ldouble: 2 Function: "atan2_upward": double: 1 -float: 1 ldouble: 2 Function: "atan_downward": @@ -191,22 +187,18 @@ float: 2 ldouble: 3 Function: "carg": -float: 1 ldouble: 1 Function: "carg_downward": double: 1 -float: 1 ldouble: 1 Function: "carg_towardzero": double: 1 -float: 1 ldouble: 1 Function: "carg_upward": double: 1 -float: 1 ldouble: 1 Function: Real part of "casin": diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps index 5dce4c8f89..4fa242daca 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 @@ -40,7 +39,6 @@ double: 1 float: 2 Function: "carg": -float: 1 Function: Real part of "casin": double: 1 diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps index 9046a17170..2f6f7fff23 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 @@ -169,19 +165,15 @@ double: 3 float: 2 Function: "carg": -float: 1 Function: "carg_downward": double: 1 -float: 2 Function: "carg_towardzero": double: 1 -float: 2 Function: "carg_upward": double: 1 -float: 2 Function: Real part of "casin": double: 1 diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps index 1525e55eb5..037fb885ed 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": @@ -217,22 +213,18 @@ float: 2 ldouble: 4 Function: "carg": -float: 1 ldouble: 2 Function: "carg_downward": double: 1 -float: 2 ldouble: 2 Function: "carg_towardzero": double: 1 -float: 2 ldouble: 3 Function: "carg_upward": double: 1 -float: 2 ldouble: 2 Function: Real part of "casin": diff --git a/sysdeps/or1k/fpu/libm-test-ulps b/sysdeps/or1k/fpu/libm-test-ulps index 6edadaed89..3fee2b50cc 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 @@ -169,19 +165,15 @@ double: 3 float: 2 Function: "carg": -float: 1 Function: "carg_downward": double: 5 -float: 2 Function: "carg_towardzero": double: 5 -float: 2 Function: "carg_upward": double: 8 -float: 2 Function: Real part of "casin": double: 1 diff --git a/sysdeps/or1k/nofpu/libm-test-ulps b/sysdeps/or1k/nofpu/libm-test-ulps index aff536b890..801d2acb80 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 @@ -169,19 +165,15 @@ double: 3 float: 2 Function: "carg": -float: 1 Function: "carg_downward": double: 5 -float: 2 Function: "carg_towardzero": double: 5 -float: 2 Function: "carg_upward": double: 8 -float: 2 Function: Real part of "casin": double: 1 diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps index 342054bb72..1ef04d301b 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 @@ -270,25 +266,21 @@ ldouble: 8 Function: "carg": double: 1 -float: 1 float128: 2 ldouble: 2 Function: "carg_downward": double: 1 -float: 2 float128: 2 ldouble: 5 Function: "carg_towardzero": double: 1 -float: 2 float128: 3 ldouble: 6 Function: "carg_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..8b7ed72386 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": @@ -221,22 +217,18 @@ float: 2 ldouble: 5 Function: "carg": -float: 1 ldouble: 2 Function: "carg_downward": double: 1 -float: 2 ldouble: 5 Function: "carg_towardzero": double: 1 -float: 2 ldouble: 6 Function: "carg_upward": double: 1 -float: 2 ldouble: 3 Function: Real part of "casin": diff --git a/sysdeps/riscv/nofpu/libm-test-ulps b/sysdeps/riscv/nofpu/libm-test-ulps index 4fa17a3da2..19e36742aa 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": @@ -217,22 +213,18 @@ float: 2 ldouble: 4 Function: "carg": -float: 1 ldouble: 2 Function: "carg_downward": double: 1 -float: 2 ldouble: 2 Function: "carg_towardzero": double: 1 -float: 2 ldouble: 3 Function: "carg_upward": double: 1 -float: 1 ldouble: 2 Function: Real part of "casin": diff --git a/sysdeps/riscv/rvd/libm-test-ulps b/sysdeps/riscv/rvd/libm-test-ulps index 0e3fb96ee5..ad3242fefd 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": @@ -217,22 +213,18 @@ float: 2 ldouble: 4 Function: "carg": -float: 1 ldouble: 2 Function: "carg_downward": double: 1 -float: 2 ldouble: 2 Function: "carg_towardzero": double: 1 -float: 2 ldouble: 3 Function: "carg_upward": double: 1 -float: 1 ldouble: 2 Function: Real part of "casin": diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index 921ff284af..668f947473 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": @@ -217,22 +213,18 @@ float: 2 ldouble: 4 Function: "carg": -float: 1 ldouble: 2 Function: "carg_downward": double: 1 -float: 2 ldouble: 2 Function: "carg_towardzero": double: 1 -float: 2 ldouble: 3 Function: "carg_upward": double: 1 -float: 1 ldouble: 2 Function: Real part of "casin": diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index b429f42d89..15655ad3a8 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 @@ -82,11 +80,9 @@ double: 3 float: 2 Function: "carg": -float: 1 Function: "carg_towardzero": double: 1 -float: 2 Function: Real part of "casin": double: 1 diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps index ee7eea81f9..7059a017e8 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": @@ -217,22 +213,18 @@ float: 2 ldouble: 4 Function: "carg": -float: 1 ldouble: 2 Function: "carg_downward": double: 1 -float: 2 ldouble: 2 Function: "carg_towardzero": double: 1 -float: 2 ldouble: 3 Function: "carg_upward": double: 1 -float: 2 ldouble: 2 Function: Real part of "casin": diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index 1589403c1c..5c169fb9e6 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 @@ -402,25 +398,21 @@ float128: 4 ldouble: 3 Function: "carg": -float: 1 float128: 2 ldouble: 1 Function: "carg_downward": double: 1 -float: 2 float128: 2 ldouble: 1 Function: "carg_towardzero": double: 1 -float: 2 float128: 3 ldouble: 1 Function: "carg_upward": double: 1 -float: 2 float128: 2 ldouble: 1 From patchwork Wed Dec 4 16:37:57 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: 847308 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp428305wrr; Wed, 4 Dec 2024 08:55:17 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVH2gtlv/NoKGzUOO8fW6o7KcWb6oDZ8/5ZGYPmOleph4dsORCl6TU3N52j4wMld78kGq2m+A==@linaro.org X-Google-Smtp-Source: AGHT+IHpA09uR3flYb4xo8gSDqUhQLkMU+W4gTMsLAFy4eCbGcYAS6HmtKBlXqa3QvcLaeKW4rcp X-Received: by 2002:a05:622a:110:b0:460:e63c:8f6d with SMTP id d75a77b69052e-46717c9808emr110404621cf.39.1733331316856; Wed, 04 Dec 2024 08:55:16 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733331316; cv=pass; d=google.com; s=arc-20240605; b=QcxQnEskUT8qo37TdyZWNRFLTj8m0ER8Wtn0Ox038shA+kLQhAompUJuh8qmXWhks0 McxRRWYtlZ58J4SXUSGxzayN+f6V3MwAyLLOx7gTbLH21Zz/Za2L2X5VCOvzBn2j7FIy UlgHn3HP5i24F30LIGx1Ee7DZj+kUcEjqEnLNdn8T7/6rDuzbmnXxPyumObH9G7fTAEu CySHCnaisn54BQjPtitdpKewndOW1mTWyJUYN8+MmpWX256akK+LReUSiAJZezJoR/eh u9rJ6ac4S3YxXnxT0l1BOMZ2ABuFDI7bcVVIe8ScROLAgoVCMyIPz1+OZkqORvZdNU1z 4mSw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=MXxe3ZyGE5hpAGXJTDF/AckArrG5bA/J0/jeDkwfd5w=; fh=4rGS/xMpTpKARYPd8/6tK882DGKOrg862WI4oHDxNB4=; b=FSCQZZYrvdWCjCY2V1LKxrfl3zbkF66hIcxCsF1jLW3oxb3YCoCkB7WJSSPxMb/Ol5 PklGO+pUhPDali3T2TY4o59JwjMbh9iJpMDkZqXmtvHrAypJQrJHWciIuS++c0T6n9Ew IzPG41pemGk2Klj+RdfWzz8T+lKcjvNxaa+8KCTx8KwpsdhBB1x6nhYwrwLkA5kLCisQ PJmG9qC9c3TOQUHxdT+Je3jhhmS/+6+e7YZO0wQTAbnC8/iZKxsqnU0kRvqFlRIViL5y 3TqenVX+uZeumTUDdrIS3t/DriJG166C1IICxmuGVZPfilTJiug/YiiqsSvLZPqfRdLD XV+w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=U2OxHome; 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-466c4256b8dsi198140961cf.527.2024.12.04.08.55.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:55:16 -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=U2OxHome; 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 6C08B3858CD9 for ; Wed, 4 Dec 2024 16:55:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6C08B3858CD9 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=U2OxHome 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 36D5F3858431 for ; Wed, 4 Dec 2024 16:41:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 36D5F3858431 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 36D5F3858431 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=1733330471; cv=none; b=wmXXOhIzKYuMtQcszQeI3xfHp/BBq2AOPuv0bPhiQ06TRGjiKKC8+HWROdmPMbL6/EFz4A+8JXUgcdmy0hhfkF3ZbS9Z7EEKhxDTr+LegUAT2MRE1meKRT8rtNGG4HoVX8rpE/wIvYEx54W9oljEDbmscEPVMGhlIALzIeXCQYo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330471; c=relaxed/simple; bh=/4U7X0FTzM8RBeBfDGXno+DGp4k7OnTW0ccudZnlzh4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=rtQFDd9qvSdqgFx+W0IrOZ9r1+lJkcJDFOzAbZ0i/sIZTMXZ2bVEgFeJozf2cuXWirjn9eE3JDG89ppRD+tvj3SMUUp/9CxO/5ZgEo2EhfreeZ6521OEpwpEtlL9hL2gW5TAsGgy9WuFrrGBEuik1lZPCvKbGCLf87cK9Ko9nI4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-2154e3af730so45108035ad.3 for ; Wed, 04 Dec 2024 08:41:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330444; x=1733935244; 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=MXxe3ZyGE5hpAGXJTDF/AckArrG5bA/J0/jeDkwfd5w=; b=U2OxHomeXPG5Iy6IzTblfEvSVNIHfNV4gLrAM0k536Rkkkde0Ctb2ud9UqBf0CqxRx 5GFIZUdV0a8kkT3NlpouB4X73NGZbFOcX+CE4jLRpvQmAvFolHJ0Wf+QMxM8vX1/ZW3d GiLhmMZPruKkmNpLJn9heQTLt0cFaLaXi7VAOdFq0Q285BD78KcrBXSMOaAj8pJ8jH33 BybN/JTHYz1Cacd+G2XrDKbs48L6ZyrI/uOD138kmXdWWJfeom3+yhtps2RTOc4iX9om pk2uM5fjZtabaohF6dUln0D7FJtTj3NosCZPpNdG8s7eY9Ym4BaCammPlUP1iivE5c3J IMhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330444; x=1733935244; 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=MXxe3ZyGE5hpAGXJTDF/AckArrG5bA/J0/jeDkwfd5w=; b=j7QAquc5F4Z6YT56VaV03FhkxKALN+dozmDjstnbPmdvBJHsiBhhTmMD99wE4KZNDa ZEYiPvuhTpHEJo2KN5gIS0bcu6gVNGfyPyA6QyaXAATUG/gkt5kcOauA4EvFe2CMlFqJ 1nakJkQDWtfRS9a0WCzEhfvsznDmZ3eccdd+ObSxc1IFMY7jQRCW6Os5WWd+fhqTlIKK aouMRiWx8g+jz1ajKr+muTkBGF0Dl6JjWGM0xHSxEwjOS9VAzWUrR6znZuIVZGue3iQ5 0cpD90m8cGdreIPUNAbfLFWNuVbUNtKNu130ExBpwf1OX7gYIYOnRH3i/KJYYEPpomMx 4eFA== X-Gm-Message-State: AOJu0YwwSBUDQF9dq3p+y2GQGUy7LHrpQMFI7V3E0tkHHI0+5KAXtpTg zbNPDbyYNNDFeEfdqurmI/quOXiB4DLje7VtXJIjITGoW8oWWGOOBkVnbE/FFT9m2eltUE8Bhp1 s X-Gm-Gg: ASbGncsNyDo3MP3UUeCDDF7pFU7cEmxJgFwT0YLLH2X2XTxvVqVe2rQR4xwqZ8tSdJj peKAwisSlZixbqYdWkY6nXLMn/6lmKNrirZJEKmf2Z65QfrFW8iiYmSBn7kbxFW3I71U3G6yKE2 Lq3Biqq66DEbYm9qknmgHebbcQbYnPly0N3GMoSGcfglsruVgdoQY3ektEK1IOpFKr9Jr3c1o1J prpF8Idb2v14CHgCj8DzcU2R6EdO/70/CT53mSOdfvvgJmWJNwULCwJt7myHQ== X-Received: by 2002:a17:902:d48a:b0:215:9894:5670 with SMTP id d9443c01a7336-215d003e8c2mr73542325ad.16.1733330443672; Wed, 04 Dec 2024 08:40:43 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:43 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH v2 22/25] math: Use atanhf from CORE-MATH Date: Wed, 4 Dec 2024 13:37:57 -0300 Message-ID: <20241204163949.1408676-23-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 | 212 +++++++++++++----- 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, 161 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 9ba57d0d0d..7e9d23ab6f 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 d098eaf820..af11a87641 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 5b89ee2696..ef93b0bb21 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 ac43ab8dcc..0d2e660e09 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 b0b0b3ab05..0a95004f36 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 b8de7af6b9..f1b62e3da4 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 a7594b6b1c..9c2bfc6a4a 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 61ce339fcc..5730dd3acb 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 5873895497..cb390de754 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 8fa9053fe4..e4f273d557 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..5138408324 100644 --- a/sysdeps/ieee754/flt-32/e_atanhf.c +++ b/sysdeps/ieee754/flt-32/e_atanhf.c @@ -1,76 +1,178 @@ -/* 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 int jn = mn >> 26; + unsigned int 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; + double 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 a34539753c..1e1a289169 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 4fa242daca..77018f4f72 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 2f6f7fff23..2191d57515 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 037fb885ed..7d789b90ad 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 3fee2b50cc..357d0a6946 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 801d2acb80..b3519a006d 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 1ef04d301b..00e3c516d0 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 8b7ed72386..b13e465745 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 19e36742aa..dc78136bc6 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 ad3242fefd..9477c4a101 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 668f947473..60c7e17f46 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 15655ad3a8..4b308af5f5 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 7059a017e8..6ca72eb9de 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 5c169fb9e6..a659ba2f95 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 Wed Dec 4 16:37:58 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: 847315 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp436192wrr; Wed, 4 Dec 2024 09:07:10 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUU4LikhJrd1zlOvrjN2IRUAJOPKgO4ajqX5vzJCcEL8+NkBuEkZYWuzesOGbCU6Lwc3SL6qg==@linaro.org X-Google-Smtp-Source: AGHT+IHUEN2aKN1zxtJydiAQ9beWu8CaorhVEvsGtCukY8RVDSyGeuOICOJNjSUB102pLC3Q+Nvu X-Received: by 2002:a05:622a:454:b0:460:7b6e:9475 with SMTP id d75a77b69052e-4670c06e81cmr99735981cf.10.1733332029611; Wed, 04 Dec 2024 09:07:09 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733332029; cv=pass; d=google.com; s=arc-20240605; b=e6q0cCY7T5ePt9ikEqQXbN5txTFiEUZXNfAQmHXskvF7D/jcSrir7841SlvmpQRZtS UXV72jdRTt2pP3rEJ/zAD0AGC8TamO4NH/oiQYgmH1lGc1wJ0IO3CF4POBjxErVgWd+R kri+7VL17djhxxB3uuo3XU8SldXLXyKW4X2rm2qt/MxEeZ4VZh6Q5suQ83P9fnz5ERL9 XZwtxFlojy8qOOuNFmelkt1zXK81T1pOzQw3IDyq7P6Dj1vByLZA8uK1Ve0P6FWSmUPd VlV+2ksdngXkODDqGGcmp6g360kvxyWvJO7VQ5SnG+lV8HT/Wbghod8u1lsS+eOi7yty voww== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=Mtc1ACQGpO4oLQ5f1rgHIfq0QSNenZn0F3O+Ys8h9J0=; fh=4rGS/xMpTpKARYPd8/6tK882DGKOrg862WI4oHDxNB4=; b=EOPocWFQZ7HIj+k+HvJx2cSmiG8NF5X0slzaBAoPMcryvTQAQwZo197D6X+ToPpxMv offwe3kY6WN0rczivcc/WAj5TOCDVeRGj1Cvc2kUFAJnZMXdcEyqm4E4jLgSxQUDvVWn gQVKV1zmxwAOAT9f8HoNAExsHFqbqcK2QUQ+w3m5svX6KBDl7picdlMsThaz1g4WEsb1 GiJjk/j8CnJYmuYY+URoCb1r6jLq0iMA62sl4Vb7XwK1wa2RYidB6wuV6zX8PzdZYbVQ AybPTIWlmpSNpjqfYc/+me2iJ37hbgM3ziCpznbDcyORKfMp9Z+WhD6gnZhFGvGIuSxQ lqlg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=WsIt+vbx; 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-466c4054d38si200931181cf.105.2024.12.04.09.07.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 09:07: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=WsIt+vbx; 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 2DE023858CDA for ; Wed, 4 Dec 2024 17:07:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2DE023858CDA 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=WsIt+vbx X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by sourceware.org (Postfix) with ESMTPS id 957FB3858C62 for ; Wed, 4 Dec 2024 16:41:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 957FB3858C62 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 957FB3858C62 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::635 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330477; cv=none; b=C12Cky6rhj4D1MA3gtNjlr7IsGkPwUL9lPcsdSoK4Em+pomSu4dFV+5/DpbCRRiJsk+Q1dtwpHTHj05SyTaWDcOgXC8AIceqztRz0wcNYFzeWISNtGivt3UnQ0Meen8bQh35eKXzCVdd0WISdjt9Zzlk6cENicbeOI+XtuQZcGo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330477; c=relaxed/simple; bh=awCi3n39CoTardoCxqSmiXfbkzs2q9Cdur1sNzbpyzM=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=J0cjbsNARmX3f03JmxQR7izCPpzURlDXNyV6jnTbF5jkEBSP+zmhh3OTT5G7pzz1/sCzLQMNY93FJGdMXWG3GQ8ywHjCsTtKel/nd8ny1VskfQ/xhb+4svgVggmEcxIH7IiTOWf8UN7Hk+Y0PSk0UTzx4jB9vlrXYKWhRSDzKLs= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-21561af95c3so37499805ad.3 for ; Wed, 04 Dec 2024 08:41:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330446; x=1733935246; 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=Mtc1ACQGpO4oLQ5f1rgHIfq0QSNenZn0F3O+Ys8h9J0=; b=WsIt+vbxsIU+KpoiPNucm+AtqKtoUEzOtB+bWuPj5WZCWBy5wpY6/nrqGFe7YlaWw7 1ofLtjRKSOASw3VeS+M3d3Lno5oWpSP297McvOsWr3m+BmpnDGi0NOuIBhshMJAaZfob M7dRWDMosTZHIn1y6J5AOqBvNp8VqkSiiUnrQtfnFWQl05LTF/xQ9/L/nQl0qOD9Sd3O wbI4lXwZH467zKVSnKSo0xds8c9OA6iXVJftxEWgPryTbYqDYfzx5GTBs9mKWxy5Nmlq H2Z5qb+Iz9K77xAwx6Owg+Zoc5Z0EvaaMJhQFyFkI1e6AhhPUtcM8vGPsM33eLjIx3nj Q6aQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330446; x=1733935246; 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=Mtc1ACQGpO4oLQ5f1rgHIfq0QSNenZn0F3O+Ys8h9J0=; b=GklJg29HWekwZfeHeYoJ2YbbQoGFXDDt/K25y4a2Wn15ajl3jUeZQX3kX/lASNK84w 3L7b3U6t3YMZH9SyurBNWKe57jWEMc1TDiXhWG4QaNYOXv6NNWCI1K2qtBawr4tGTaIW sT+1dBQw0d/vt0CYVG8LXTeSXTYopUXnm7z2pzMsr0dkcWX/tLJA+SrTbc2pqajLCajx pUCAEcnmH/Rfk56mgS2Fg2n0gY0BPKkHh6jNWmGf1Cfy3iZOwLmFSIe/1wJqTGd/YuXB Q0NZEUwSGlb7vGhroSy7/NqF1qPg0qK1pNzzrsNvWuq/uPBNSir36HMG7WBBO51gCw97 15Zw== X-Gm-Message-State: AOJu0YyLoZFLQI9vB2gPmTQsNbelbVjZSit6XCboNOuw7wW2rTnkkJxW DrVnKktmLIUAg3Swklf0ZDCWCpr0dKgMVsyycqOZ2Z+8hDjlvAE3xn9Po9pQC19hZMWfOkkZBDS r X-Gm-Gg: ASbGncsBi9Dq68RrbCMTHbjDoqZw2MM8lSnU24eGqUOn9Ew6+Pdw8tWk4tT8IpXuQEn Xheqe83XebPhTym4FSgS4NawsP4Z49gAVWtqinLOAUnotJARi170iUBVyb+DpJmqiKntmimSa9r YxKgkKcEGddzMDyL+DKtMfgya2Urc4RY8kvzlBYJw+5kIVEuJD3ASoWtrh4nrbVvJLyhF0s27lp eSxwo7nvOY6VYvd27z40Yg0r1ZFMTzaGTXkw/DR4cKH0uiLOwktdes2tU2SIw== X-Received: by 2002:a17:903:189:b0:211:6b21:5a88 with SMTP id d9443c01a7336-215bcfbe4f4mr84107595ad.20.1733330446057; Wed, 04 Dec 2024 08:40:46 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:45 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH v2 23/25] math: Use coshf from CORE-MATH Date: Wed, 4 Dec 2024 13:37:58 -0300 Message-ID: <20241204163949.1408676-24-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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_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 +- 26 files changed, 111 insertions(+), 143 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 7e9d23ab6f..3800832125 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -694,7 +694,6 @@ ldouble: 2 Function: "cosh": double: 2 -float: 2 ldouble: 2 Function: "cosh_advsimd": @@ -703,7 +702,6 @@ float: 2 Function: "cosh_downward": double: 3 -float: 1 ldouble: 3 Function: "cosh_sve": @@ -712,12 +710,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 af11a87641..5eeb6ae3b3 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -621,22 +621,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 ef93b0bb21..d7945e601e 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -493,19 +493,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 0d2e660e09..ca7cfb7fa4 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -123,7 +123,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 0a95004f36..86da11ec35 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 @@ -489,19 +487,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 @@ -670,7 +664,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 f1b62e3da4..d8aad8c4ba 100644 --- a/sysdeps/csky/fpu/libm-test-ulps +++ b/sysdeps/csky/fpu/libm-test-ulps @@ -485,19 +485,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 9c2bfc6a4a..8ecb31b9a4 100644 --- a/sysdeps/csky/nofpu/libm-test-ulps +++ b/sysdeps/csky/nofpu/libm-test-ulps @@ -483,19 +483,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 5730dd3acb..00720f0cd1 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -499,19 +499,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 cb390de754..55318ff3de 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -754,25 +754,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 e4f273d557..30deb15091 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -754,25 +754,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_coshf.c b/sysdeps/ieee754/flt-32/e_coshf.c index 052d387e42..81a8ac4b99 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 572ecec). + +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 1e1a289169..930399cea7 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -621,22 +621,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 77018f4f72..4814a60c55 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -118,7 +118,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 2191d57515..3f96870ac6 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -489,19 +489,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 7d789b90ad..095ba5500d 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -621,22 +621,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 357d0a6946..5553317139 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/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/or1k/nofpu/libm-test-ulps b/sysdeps/or1k/nofpu/libm-test-ulps index b3519a006d..64d07e5406 100644 --- a/sysdeps/or1k/nofpu/libm-test-ulps +++ b/sysdeps/or1k/nofpu/libm-test-ulps @@ -489,19 +489,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 00e3c516d0..e612e40093 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -758,25 +758,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 b13e465745..4d34e06205 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -625,22 +625,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 dc78136bc6..4943c1b08b 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -618,22 +618,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 9477c4a101..bf6478fe7d 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -621,22 +621,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 60c7e17f46..c2f820efc3 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -621,22 +621,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 4b308af5f5..b24ceaa903 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -241,11 +241,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 6ca72eb9de..209d4d2768 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -621,22 +621,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 a659ba2f95..2e02a0fe1f 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -930,25 +930,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 @@ -1222,7 +1218,7 @@ ldouble: 2 Function: Real part of "ctanh_downward": double: 4 -float: 2 +float: 3 float128: 5 ldouble: 4 From patchwork Wed Dec 4 16:37:59 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: 847313 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp434412wrr; Wed, 4 Dec 2024 09:04:45 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCU0hPgvkudd9QvgL8b7959NFjsrAb3fkctHwsfNdH6OjnjwoRq8GjGcKqt9iAjfZs7Dg+bsog==@linaro.org X-Google-Smtp-Source: AGHT+IG+ZjkNPOrVhMy9etR1lYwF6W5DdKBb5ty1Bvyankb0vCNrgo96/c+yRpLmrercCacekFZd X-Received: by 2002:a05:6214:d84:b0:6d4:1b2b:c82b with SMTP id 6a1803df08f44-6d8b73ec502mr116814996d6.38.1733331884982; Wed, 04 Dec 2024 09:04:44 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733331884; cv=pass; d=google.com; s=arc-20240605; b=iOIpSZ+9Oj/Qc+Vrn9J7yseTIYpqr86eSz7w02fuzEqn6Vx97a01gqmgIR+ER8x74n COXhDLpOj/K02b/D3GoLkv7vjMyRPWMY++bwVE50Hihp2i0c64Z2LmQn3axudC0kh2LO j2uMBiv3tssXkPutE/eQv1j6Ttrv/5hmGiICktVGos2C6tvgeV8bY9mKRz735KfV/p3Q aVE3ioWAAe8ic1p/X5eIs2siW+G21DxBTU9EfHqyevfLng6tvKbPB5XKjJOwj4dsjjnw e0oJ3rnZYlcglQ5ybgjyShlfkJvPoNbIMSt36gI4qlGSBJNBN2wdIw7aMG2McsAcxqJN NQlQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=i+7jBswUt+cCTIA8bTOPh+FIM+tkAcBYaSH1AEZNlA4=; fh=4rGS/xMpTpKARYPd8/6tK882DGKOrg862WI4oHDxNB4=; b=TnvFaa9WfhnZahojxk9JO3/95mtQOEE1rp4nsdFT9ufDuVjoWfcR84y1xNBrWRlae1 kEC422xwDUgUAm8jesaEjSfaYLM3XGpmlH+e5kT5WQwvnUv6w17iGDzxPQs9IqmluiGi ZTkULpk8QGl0o2Ug8QJ1S7UsWjHv9jTAcrhSRCEksJ2xWHgE/krksnD1JFGvI/wNi/qY 2IYiZgGCwQV9ArHJl5FssWFkdZi5CqLG/iVwq2zMzaDlZUsgyH4bTZufRn0zQC3tNiqt 5FEL199W3UJLL9rhevPH9pSn4eZVwjXKeRiAYGdveHnVNl5Dcf9gPbwbSqRUSZ07nIv1 VZVQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DG6346Lm; 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-6d882e0ec19si144936216d6.481.2024.12.04.09.04.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 09:04:44 -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=DG6346Lm; 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 8909A3858D35 for ; Wed, 4 Dec 2024 17:04:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8909A3858D35 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=DG6346Lm X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) by sourceware.org (Postfix) with ESMTPS id B4D2F385841F for ; Wed, 4 Dec 2024 16:41:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B4D2F385841F 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 B4D2F385841F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62e ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330479; cv=none; b=j8hDcnn5dcr92rQQ6GlkwGOTa74Labe7/xdAtjzecGW5uSb7eFDSV0z2zB4/L+yxDX7PD1YuKVXY4Vi8Mr5Fw0DhzAhmV6Ut+lSLebSq5+aDlHnJ4Ez6HM3c3kHCQ6D9M7Fcn0JA/8j6rA4n3ij7hiYFH0rYYR6tVoRaAyQ0cDw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330479; c=relaxed/simple; bh=hWOO9Kt0KDYzU1DXIj/s9r1M/XexlM92QSLJv7sqi1Q=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=Qfed9GmIhjtP1ELjo3qpJxYjQ45GhBNVAdsOgN0I5FqM3lJfz76Eu4l1wRoYQpro2e4d1YDIEqLqBN62Otr6DGWkDyJ7fl/CUMasDRpIQIYWCzT+lC4n6TmvWu695sZMZuqxk+K6bpwH807A3aW6TdjY6TT4ZrfjTh9lFdzajO0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-215853ed047so42338655ad.2 for ; Wed, 04 Dec 2024 08:41:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330448; x=1733935248; 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=i+7jBswUt+cCTIA8bTOPh+FIM+tkAcBYaSH1AEZNlA4=; b=DG6346Lms9CIZihCJk+OddAgSbBkZeBvmzkCtZyQr8Nnx2V+C5puWghpo7zDyxaOLQ i6Wy4NVWs3SxHJRFQy4wtXNAdyOONsqooL91+iC9xQkMU0R+7RySxFIn+b8E3lwhDPt8 m6+lAQjN8PdCRcpaeBx/RF3muM3E8fL4O4KLLHm5yxPg2RIKqYf/AlwNs3UXJuc/khss IZD6TNBauGIUSWfNosjXMJkRdraWJtWUAzLimRpNrOr6n7OaAbyw8c0GOUOJNWBVZZVW OAlj1ro+JnPD0IwbYkLdLJvYlKMrZQWySWm1rlxe0zwGnwQgZkSO6Z+3wT7KfwBC0riJ rihw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330448; x=1733935248; 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=i+7jBswUt+cCTIA8bTOPh+FIM+tkAcBYaSH1AEZNlA4=; b=JUL+mw3u/Km2EtkUf5c19z4OEOWIfgrq8ZPl+30nkvPfzmpVd6xHfg8YFoHcaA49c4 uX9q/CzCEbfpDLRZziO+meDGhY0zq/nwfuIF/oCXRoBfWY2t42QkPk1YnGrk8L433D3E I7ss06rD3CcL0cIzqrLRxPzxq7d8aqUGQzG+Zd7JPISOVMPHuDVNWFapVO6pcmr9oJhm l64u2FB8bhw1U/pQAdis6OT9nAL91zHbHGD4uxDsN3WjVui97v07lLm7gyXsNvE6FKe+ 87mJdAXHvr/lkCmUZ/wdtDBBQBlwHVJefbO169xmD/kyg5dVhLgFvXrfFS2FIdvPPs1P oyzA== X-Gm-Message-State: AOJu0YzdeD7YdEwTl1cNfXrif+4PP3X2hJWoQ7P8BoSZ70MULvYF/29o TeYkoQFQZm0XExBWq4I30PPAiT4jns6wfDpugiXhJqYMxhdgornrc6hgTAf0OhK8lDz+8hMQxhS s X-Gm-Gg: ASbGncvn+Xbg0WXX774Ay2Z5hJk3KByTbrm+hg/+BW4gp+ht8tNsIsM78gc4pYZGxMz i17B9rvuiK8QUDGWsbtY9mmlkKwiFx9PX1Mo8xStc938lyd0iLvCEUPUB81B/T2AjJ2O3w8kqq0 4Eqwr67fN0u8qbyUj2PQQ78w11WtmjzDT3qqJOXDO9L1/ouA5asZnEfGW9NlyR3uPfRjmamU1Nu fCf4981GHgDD1Qe3m8xguTDRwWBCR2OnJKsV6+NNY62wfY7kR4intuW51bDPA== X-Received: by 2002:a17:902:cec7:b0:215:3661:747e with SMTP id d9443c01a7336-215bcfc5c76mr72316865ad.8.1733330448203; Wed, 04 Dec 2024 08:40:48 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:47 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH v2 24/25] math: Use sinhf from CORE-MATH Date: Wed, 4 Dec 2024 13:37:59 -0300 Message-ID: <20241204163949.1408676-25-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 | 171 ++++++++++++------ 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, 124 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 3800832125..0044e8e42a 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -1498,7 +1498,6 @@ ldouble: 3 Function: "sinh": double: 2 -float: 2 ldouble: 2 Function: "sinh_advsimd": @@ -1507,7 +1506,6 @@ float: 1 Function: "sinh_downward": double: 3 -float: 3 ldouble: 3 Function: "sinh_sve": @@ -1516,12 +1514,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 5eeb6ae3b3..7d5fcc7f2e 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -1287,22 +1287,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 d7945e601e..ec42c5eac9 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -1029,19 +1029,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 ca7cfb7fa4..15b2b82187 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -248,7 +248,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 86da11ec35..0cc3f02296 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -1026,19 +1026,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 d8aad8c4ba..3824f00415 100644 --- a/sysdeps/csky/fpu/libm-test-ulps +++ b/sysdeps/csky/fpu/libm-test-ulps @@ -950,19 +950,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 8ecb31b9a4..34f5eb52a2 100644 --- a/sysdeps/csky/nofpu/libm-test-ulps +++ b/sysdeps/csky/nofpu/libm-test-ulps @@ -981,19 +981,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 00720f0cd1..8cff252cd7 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -1055,19 +1055,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 55318ff3de..60c2860aa8 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -1571,25 +1571,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 30deb15091..7589d0385b 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -1576,25 +1576,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..c007c7d174 100644 --- a/sysdeps/ieee754/flt-32/e_sinhf.c +++ b/sysdeps/ieee754/flt-32/e_sinhf.c @@ -1,62 +1,131 @@ -/* 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 572ecec). -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; + double 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]; + 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.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 930399cea7..1e57c6a4df 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -1293,22 +1293,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 4814a60c55..0f0e1fb35d 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -230,7 +230,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 3f96870ac6..58223df3b4 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -1029,19 +1029,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 095ba5500d..efa76ec249 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -1305,22 +1305,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 5553317139..5900e6d6d9 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/fpu/libm-test-ulps @@ -963,19 +963,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 64d07e5406..ce17452ba3 100644 --- a/sysdeps/or1k/nofpu/libm-test-ulps +++ b/sysdeps/or1k/nofpu/libm-test-ulps @@ -953,19 +953,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 e612e40093..0468a85fcc 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -1659,25 +1659,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 4d34e06205..769c14e81d 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -1402,22 +1402,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 4943c1b08b..3ce20f4bb1 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -1234,22 +1234,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 bf6478fe7d..98146886d9 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -1292,22 +1292,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 c2f820efc3..c7803128b0 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/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/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index b24ceaa903..3c07cd1317 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -477,11 +477,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 209d4d2768..747f73fcfd 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -1305,22 +1305,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 2e02a0fe1f..20219d3a5d 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -2057,25 +2057,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 Wed Dec 4 16:38:00 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: 847314 Delivered-To: patch@linaro.org Received: by 2002:a5d:434d:0:b0:385:e875:8a9e with SMTP id u13csp435637wrr; Wed, 4 Dec 2024 09:06:21 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXP2FAdSO73IPiVe5TVjGxD+euzxg8y04/QQR5UgRNMJjJ5eUrbWKP6KTtDDWGh2UGloIUVOA==@linaro.org X-Google-Smtp-Source: AGHT+IFjKd8LXJwKI8wJ0EcNDxcNFfDd5rmUKPlt5WcSY856kYPPzTxyGjMz/F5CmUv//1IPo3UZ X-Received: by 2002:a05:6358:d096:b0:1ca:9c5d:1d2 with SMTP id e5c5f4694b2df-1caeaa85407mr591973555d.5.1733331981029; Wed, 04 Dec 2024 09:06:21 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1733331981; cv=pass; d=google.com; s=arc-20240605; b=VMA4AUFYxLohPGAziyNovrqxuKUfpTUz+X0xyzFWcXD4hJgYvE0omZvRsiYug8bhdD 5K/xd7h4mEgV0bYs0+CqA1VJ8QrpABpbxQ1vce6hEGLgvEINK2hk1V+unB9VT3wENQKf kVT6JY81kAE9fJCIVY2Ph6jWuR2rkdI35JrHtiLmhIGjuy9dsvTUFxEOGZZ4MX/9qE+q myovuBjZo6JrhFNjmhGUGuegOioMSm/4g4JcsT6eomWfZsieqFFFEgDSKzq8J6u+MIyV wbZtpQZk/ruq5P+/2mRswYceSlAN59MPf03nvMfkI4kDKDh2/ffKz1mXSOAQkYG7UBcp PuOg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:arc-filter:dmarc-filter:delivered-to :dkim-filter; bh=SFO1lwxWsWrTprJT7Yxuyt86nwjQ7k0A1mXFwRRrRo0=; fh=4rGS/xMpTpKARYPd8/6tK882DGKOrg862WI4oHDxNB4=; b=EeFwJN+ogIAUj5VHHY+yq3Q2a4Vv8Wh3fI7Nb8KcrOv4XPxW9khRjEM2kc4KOIE/Dk WsHiFC31CVeNn5oYXEmPbHGREo0mPuU45OW7UvZePCks5m01BCXbH+QGYdRMkICMbHny Y+d0Rwz1GKt2xnk9LCDMegn4FCpYivRB0dI9KNQa78X0MzxTkCqCGPW0GI7PIQlWDs5V LTcChXoscU8vCX+c/MAkTaYE4dT6bfRfDHJIMuY63+s3/BFWTfXREYpey0ZOBwWW8WnF c3vdu2JRVJYSccXNLqJCSkvFUtYVUx65OH7mLh10I7Nn9xmgDYBTFyvvcVlIn7xCIwwk t6QQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=eu9AQ4Nn; 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-4afa6f8a711si1215230137.561.2024.12.04.09.06.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 09:06:20 -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=eu9AQ4Nn; 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 710603858D38 for ; Wed, 4 Dec 2024 17:06:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 710603858D38 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=eu9AQ4Nn 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 655C63858403 for ; Wed, 4 Dec 2024 16:41:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 655C63858403 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 655C63858403 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=1733330482; cv=none; b=kEM2A/qxVyoYDkJP3AqBdm1o6VXLUFqJ0IXD/03GldTFYE5ifv70u55zZyHl/+tJKsWIaGBPehiZkIEs5hCOssHHI9ANTxy8joFEiKp4Nq7ze+8+GJcu8jO7jDAGZvtpfrVBQw2G7Ol7vg8ypdsY6/JGXEHQib82GELvYhdDXp8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733330482; c=relaxed/simple; bh=NzLG1M59G6SQsvl4udPG4Rr4KnLBiJa4hK23f/0I6WU=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=tOpDocY4wsmXmfyfVDEymEkGS65LC8IUM6TolbecVdqazVQqmLyKxtHwIKy7A9CJBiByx+03rmfkBO95Gtzun+KE1MqRBquLGH1b6/xvCejRl17KBlTcZNvRsU6wdPkc+Kz+Q7hKG8IElm6rnZC3JhBheWV2HLibGni8hJH81K8= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-215853ed047so42339025ad.2 for ; Wed, 04 Dec 2024 08:41:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1733330451; x=1733935251; 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=SFO1lwxWsWrTprJT7Yxuyt86nwjQ7k0A1mXFwRRrRo0=; b=eu9AQ4NnxSWfVC47C8Um5vzwEygFKAIiyJ/1aSa+MuJmuj5G6a8kSgIKEBRX/L2rCr jQl6lR9vbQBWyoINxKX+oshdA18xjQji91aVFEIW7XE8D9DFTMf1lm5iATvM5GcHeJJ4 WWYskf1WDsbS6LX6awawFYLVPZVFsYgDRnXDQHTgOsgPNaS9WfrHzHiABy0U/ISibCcK Hv4Rpdo2lg7FiO7KabZ2W0U5BlZQMcCytMAF5yRNeBAIBeZBcESqtRx4HCG+LePFlStq h/ANnvoUB+ZH1SVJBnaL089qWRBRbNRXhpJ2rSIga9tAFYjTtur8oeUQh98lucYLUk6w j66g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733330451; x=1733935251; 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=SFO1lwxWsWrTprJT7Yxuyt86nwjQ7k0A1mXFwRRrRo0=; b=MSruHKQan3uQh5O1/bDO7igt3HBwY41mauB7daDrIORfBpvMsqL7U7Ht08+XhHGa24 9GZRhllkuHN+k7hMtWWqxbeUC5iXbEaJKZYgkEBOPwV8kDNz/gFCCI8yV05je1pJoNy2 Bb0lm/N5sPOHhR4yP9HUUZ9EsITdl+aTPV5w+fp331Xh1EE26TRKHb8M5wmxnBsLKFMg /hUcLnWiVniKCcyupFPMIaKjtEd6QBLor0EwLDrUVnOwJfLiAQ1146AdQqzsybLwg56r XHgzyEQhikMpRN5obDBZYj8j5PtlwTToQbRgArgWpD+qNtoxZRrS0JgbEWcnrj3IawSO E92A== X-Gm-Message-State: AOJu0Yy19uwTcLKVEeBpelVGekb6RpIhaTcb3e/VrF1Exn//J6uM2qPi uk+QcStDIQp4rfiNAv4AEKjZxWqSTH+y2d+y02DcrOhNWnGbfa1nD6FrVZLOaKGWBa+x8asu5fR 2 X-Gm-Gg: ASbGncsvA8/yF9or1IhmSPfaKlDG8eAf/CQS3oV3WZp4nKkiNzPRwSOGEJLR0SJFXLc 1FeSt2Fnro1yjjNC+viIENHia6LEFW5dgXHQ2vSSvjT7gfPrUtsz+sjG4iWheXFWpHFYlb/mIzx t7VSkdjSlGiWBpT+bqu+3AfpWWDrrPHAYUHCCIQ092JY4IFlo5DHtG8LxiMX05NCB6lI5D8bIve fLP3YAcFfGFxKTAbpIJgS7Mg6FZhCCCV5kUGEu6RMqMTvym4zlD4gTtE0byLg== X-Received: by 2002:a17:902:d2ca:b0:215:4a4e:927e with SMTP id d9443c01a7336-215bd16f660mr99445715ad.39.1733330450875; Wed, 04 Dec 2024 08:40:50 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c2:2d1:40a3:b587:af7c:a5cd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21521967714sm114029225ad.140.2024.12.04.08.40.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 08:40:49 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: DJ Delorie , Joseph Myers , Alexei Sibidanov , Paul Zimmermann Subject: [PATCH v2 25/25] math: Use tanhf from CORE-MATH Date: Wed, 4 Dec 2024 13:38:00 -0300 Message-ID: <20241204163949.1408676-26-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241204163949.1408676-1-adhemerval.zanella@linaro.org> References: <20241204163949.1408676-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 | 133 +++++++++++------- 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, 84 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 0044e8e42a..4e1eac6ab2 100644 --- a/sysdeps/aarch64/libm-test-ulps +++ b/sysdeps/aarch64/libm-test-ulps @@ -1545,7 +1545,6 @@ ldouble: 1 Function: "tanh": double: 2 -float: 2 ldouble: 2 Function: "tanh_advsimd": @@ -1554,7 +1553,6 @@ float: 2 Function: "tanh_downward": double: 3 -float: 3 ldouble: 4 Function: "tanh_sve": @@ -1563,12 +1561,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 7d5fcc7f2e..ddc851b73c 100644 --- a/sysdeps/alpha/fpu/libm-test-ulps +++ b/sysdeps/alpha/fpu/libm-test-ulps @@ -1318,22 +1318,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 ec42c5eac9..92fad18fc5 100644 --- a/sysdeps/arc/fpu/libm-test-ulps +++ b/sysdeps/arc/fpu/libm-test-ulps @@ -1053,19 +1053,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 15b2b82187..6fb7ce93f4 100644 --- a/sysdeps/arc/nofpu/libm-test-ulps +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -251,7 +251,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 0cc3f02296..7a2b632f34 100644 --- a/sysdeps/arm/libm-test-ulps +++ b/sysdeps/arm/libm-test-ulps @@ -1047,19 +1047,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 3824f00415..6ba3cef623 100644 --- a/sysdeps/csky/fpu/libm-test-ulps +++ b/sysdeps/csky/fpu/libm-test-ulps @@ -971,19 +971,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 34f5eb52a2..4f428a65c5 100644 --- a/sysdeps/csky/nofpu/libm-test-ulps +++ b/sysdeps/csky/nofpu/libm-test-ulps @@ -1002,19 +1002,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 8cff252cd7..f38368251a 100644 --- a/sysdeps/hppa/fpu/libm-test-ulps +++ b/sysdeps/hppa/fpu/libm-test-ulps @@ -1080,19 +1080,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 60c2860aa8..230db8df7c 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -1610,25 +1610,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 7589d0385b..fd48acfc54 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -1615,25 +1615,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..da03415e8a 100644 --- a/sysdeps/ieee754/flt-32/s_tanhf.c +++ b/sysdeps/ieee754/flt-32/s_tanhf.c @@ -1,63 +1,90 @@ -/* 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; + double z4 = z2 * z2; + double 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 1e57c6a4df..0840e9e190 100644 --- a/sysdeps/loongarch/lp64/libm-test-ulps +++ b/sysdeps/loongarch/lp64/libm-test-ulps @@ -1325,22 +1325,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 1ef5e0e5a3..6acb5cd043 100644 --- a/sysdeps/m68k/m680x0/fpu/libm-test-ulps +++ b/sysdeps/m68k/m680x0/fpu/libm-test-ulps @@ -1152,15 +1152,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 0f0e1fb35d..7a6d75f91c 100644 --- a/sysdeps/microblaze/libm-test-ulps +++ b/sysdeps/microblaze/libm-test-ulps @@ -233,7 +233,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 58223df3b4..3ede885f9e 100644 --- a/sysdeps/mips/mips32/libm-test-ulps +++ b/sysdeps/mips/mips32/libm-test-ulps @@ -1050,19 +1050,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 efa76ec249..891f887030 100644 --- a/sysdeps/mips/mips64/libm-test-ulps +++ b/sysdeps/mips/mips64/libm-test-ulps @@ -1336,22 +1336,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 5900e6d6d9..c27afc99c8 100644 --- a/sysdeps/or1k/fpu/libm-test-ulps +++ b/sysdeps/or1k/fpu/libm-test-ulps @@ -984,19 +984,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 ce17452ba3..dc76d0d318 100644 --- a/sysdeps/or1k/nofpu/libm-test-ulps +++ b/sysdeps/or1k/nofpu/libm-test-ulps @@ -974,19 +974,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 0468a85fcc..60d25c34fe 100644 --- a/sysdeps/powerpc/fpu/libm-test-ulps +++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -1717,25 +1717,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 769c14e81d..3f02dc0be2 100644 --- a/sysdeps/powerpc/nofpu/libm-test-ulps +++ b/sysdeps/powerpc/nofpu/libm-test-ulps @@ -1452,22 +1452,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 3ce20f4bb1..055826625c 100644 --- a/sysdeps/riscv/nofpu/libm-test-ulps +++ b/sysdeps/riscv/nofpu/libm-test-ulps @@ -1265,22 +1265,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 98146886d9..69e0eb2e42 100644 --- a/sysdeps/riscv/rvd/libm-test-ulps +++ b/sysdeps/riscv/rvd/libm-test-ulps @@ -1323,22 +1323,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 c7803128b0..2fe1af6d87 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/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/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps index 3c07cd1317..9378516d58 100644 --- a/sysdeps/sh/libm-test-ulps +++ b/sysdeps/sh/libm-test-ulps @@ -486,11 +486,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 747f73fcfd..5dc51cd3c9 100644 --- a/sysdeps/sparc/fpu/libm-test-ulps +++ b/sysdeps/sparc/fpu/libm-test-ulps @@ -1336,22 +1336,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 20219d3a5d..c4b76c50c8 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -2136,25 +2136,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