From patchwork Thu Nov 13 12:58:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 124140 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0970B3858C53 for ; Thu, 13 Nov 2025 13:07:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0970B3858C53 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=AXxMAML8 X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) by sourceware.org (Postfix) with ESMTPS id CCF1F3858C51 for ; Thu, 13 Nov 2025 13:04:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CCF1F3858C51 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 CCF1F3858C51 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::1029 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1763039091; cv=none; b=tAbZK+62kVBOxMucQvvNOdOCv+QKOU2N3Qcir+yK+kDX06m2gXIa9TLwe94W9Y9QnCtq3i24m4hBvzmzukV+vRO4IARK0z7XGHOia3sPZFZgciKo3epDgRRCFPR0NCzGiEyB/Yuw/EV/Rf/E8WGH32Y2gddcvsb6dAYx9TgVNZQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1763039091; c=relaxed/simple; bh=vxLngyQ1UWY8cLp/zouiJO+GYNnYxPF94YL7V3tpyZ4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=KQ6pmKk8TcN6oibRZRDDN4rCVWfiGCsfWWpoxl1OZjLiGnKzsTM78GbLLb/tchZ3yJB6XeUcIV80f6vm1c6U6dDHXquu11JRLnmIzFTt0rltphRUOJX9GkgikV5dOPl/m85Qtw5DQe34GT8xx7nlJGaHjOQcJkjQs4JzqCMD7C8= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CCF1F3858C51 Received: by mail-pj1-x1029.google.com with SMTP id 98e67ed59e1d1-343f35d0f99so286469a91.0 for ; Thu, 13 Nov 2025 05:04:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1763039089; x=1763643889; 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=RpyWGw9fDbF+PTC+A0Ty0lCIvnGSqQcvPEo3HcpYnug=; b=AXxMAML8aEyZVKpuQN0ZSlCCDn5WvFvl759rwqWS3ZtjlagGgY+VSBoBrp5ypJ0/fs 8DvUKnh98jarkf6O5RQZhAwgbdcoXGDIAaVw8wJSjDwPCfFRd38lLtm8BECxoW+CNi8u cusd1hRRR768Bja/uukj5PTXNx311nMBjjOSe3wWqnfL/vM8drbXXP5OpEOx0W2gtAv6 rE9tZ/cPMpqgMlVDnbvg1Do4XI7Tu97BaQdO781JsKSUjjYmwCOar02PeMY/Hm4W7xhP cGQpGvXumdBfaa9ie+bJSq/SsGiTXvwmtC5s0iYnB9cOFEq8eAX5zcTu2caPi4jUVlt6 epLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763039089; x=1763643889; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=RpyWGw9fDbF+PTC+A0Ty0lCIvnGSqQcvPEo3HcpYnug=; b=DsQfFPcuho4XPNQQ83+E4xSXnFpuEyM6DLwwrmReaYFBQ7H1Tc4XkQHKXebrJk2lE1 nMr7rFCX/5DWzgbtNt7jYQ4jEUK6rB+zcmdl1ZyIGpbgsfoQclDXFvFg68FpQrM1mGTm Q/bpPiodCMzAWMNiCZ/hG3o2xGJAHDEx65tXrNOKrk8NIhkZ+L1MjaOxhDC/AtNIRonC yP0OUFbhImfnTsPLBWmAGemt8jj8XU9j2VKciwpx4Bmf4/UZthYPFY/7eIY64P7HuSaj CWSFYc4oL5L+PpJsx4l4ufK7XhWTyGY6G4hQJTaurgnlIOvfUITtETKaR4d4iVD7ol6U b+gQ== X-Gm-Message-State: AOJu0Yx0T6+wpWrxZPDmJsDDtJ/i2UpDHAJLQBe4HkNvd7W3kD7JquZq ij5D9FVesjyqIITMs1OLR4djFEYKG10SCUJIL5gkFlON7pED1BSX8BqFfCzsCyzR2cL+8/6PV8c zfZpe28TboA== X-Gm-Gg: ASbGnctTMGnn7uHXN6dZMjh09v1MPsuqcmdSjyewYmXDJ3wvNks19ddyGFarLxIM1DG szv2vnpoIwpzo48YmzC63DOuX/QdGs0cYbReXvMjr8qMuwnMeOwX4XJBz0kCn18vV/AogRaide6 HwZBTAm6kBJRS5YNotUTGKY2ZWrQawu7ESY2WIPuVGHdlbbwB8EmVU0iL1FfDe3j092ei8rkBfL W06Mlgauu+HiHFDLNZKpzEnWzfUzpcwh4fw9PUFu7+3sWdl27shWybwd3sUeO3f0kurAcArc75N zrJ6s+G15r6m3+edOnk3NEiFuPFx9U5ob0k9TYcCkvRdR/hifZmxPwWm0M07fcFyx7TbXSeCIm3 K8fPq+MVVT/dMGGYkquuxyLfa9D5F88vslBtIjOkt822a/r6+2MSFm0FpKjMZZrS0ZYtOQngny1 WyLaOHI66xqkM= X-Google-Smtp-Source: AGHT+IEsQf4myHIyADnSUHq/Vu5IE2dezCU2mY9knsIhl1x/AZoQ2sM0w+1Cl4lJATsZ2fc91Y2T9g== X-Received: by 2002:a17:903:244a:b0:295:ac70:10c4 with SMTP id d9443c01a7336-2984edddc4cmr81979155ad.47.1763039087567; Thu, 13 Nov 2025 05:04:47 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c3:b4d:40f6:149e:b5cc:dca4]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2985c2cca00sm25155175ad.101.2025.11.13.05.04.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 05:04:46 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Wilco Dijkstra , Joseph Myers Subject: [PATCH 1/5] benchtests: Add fma benchtests Date: Thu, 13 Nov 2025 09:58:18 -0300 Message-ID: <20251113130439.2737851-2-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251113130439.2737851-1-adhemerval.zanella@linaro.org> References: <20251113130439.2737851-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org Random inputs in the range [0,10]. --- benchtests/Makefile | 2 + benchtests/fma-inputs | 1005 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1007 insertions(+) create mode 100644 benchtests/fma-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index 0d3dfdfc364..d7abe8abe22 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -75,6 +75,7 @@ bench-math := \ expm1f \ floor \ floorf \ + fma \ fmal \ fmax \ fmaxf \ @@ -344,6 +345,7 @@ CFLAGS-bench-ffsll.c += -fno-builtin CFLAGS-bench-sqrt.c += -fno-builtin CFLAGS-bench-fmin.c += -fno-builtin CFLAGS-bench-fminf.c += -fno-builtin +CFLAGS-bench-fma.c += -fno-builtin CFLAGS-bench-fmax.c += -fno-builtin CFLAGS-bench-fmaxf.c += -fno-builtin CFLAGS-bench-trunc.c += -fno-builtin diff --git a/benchtests/fma-inputs b/benchtests/fma-inputs new file mode 100644 index 00000000000..65777c362a1 --- /dev/null +++ b/benchtests/fma-inputs @@ -0,0 +1,1005 @@ +## args: double:double:double +## ret: double +## includes: math.h +## name: workload-0_10 +# Random inputs with in in [0.00,10.00], y in [0.00,10.00], and z in [0.00,10.00] +0x1.0987529eabfaap+3, 0x1.238cf57d0a393p+1, 0x1.e1d2fccb2f4f4p+2 +0x1.421b9dfae1186p+2, 0x1.85189c93e15ccp+2, 0x1.e8c7240cf06b3p+2 +0x1.2b531d1bf3d34p+3, 0x1.31988d048ae95p+3, 0x1.fba119c249351p+2 +0x1.643ad274ae182p+2, 0x1.7a9938bfed437p+1, 0x1.583a4016492dp-1 +0x1.26ceb4a2850b8p+2, 0x1.2faa2ecae86b6p+3, 0x1.09ace6c67df75p+3 +0x1.939715c70cd1bp+1, 0x1.af50c7b078a32p+2, 0x1.8ff3d0a68fe99p+2 +0x1.840bd8dd257bp+1, 0x1.efdff3e0674f7p+2, 0x1.49ee1fb64f007p+1 +0x1.2716946695305p+3, 0x1.1e21023c85c9bp+2, 0x1.cd6ab10a2b66ap+2 +0x1.41ef7d8215767p-1, 0x1.0cf7df7514851p+3, 0x1.a615b8861679p+2 +0x1.aba9079af1bcdp-2, 0x1.f0caf5eb6e1aep-2, 0x1.d84eae2267264p+2 +0x1.0484c9b14cbc5p+3, 0x1.fa2314509e288p+2, 0x1.11c5fabea8d48p+3 +0x1.b504006361eb8p+2, 0x1.70d6feac8d0cdp+2, 0x1.726965f3d125ap+2 +0x1.1c56a3c4cc29bp+3, 0x1.31252fa16002cp+3, 0x1.c9493463880b6p+0 +0x1.0431914050e86p+3, 0x1.9b73f35efb972p+2, 0x1.25e3be470c1a8p+3 +0x1.a3abc1ff91593p+2, 0x1.2d5db20d0c2c2p+0, 0x1.aeef3a52ac7d8p-2 +0x1.9e94e17b49411p+1, 0x1.b8237323a19cep+1, 0x1.5dd0470d3da84p+2 +0x1.1f1e7c4bdef71p+3, 0x1.5afae0695dc8cp+2, 0x1.6313bf2c30e8ep+2 +0x1.7491cb8527f61p+2, 0x1.25f43bc301c68p+1, 0x1.bf361475299d2p+2 +0x1.b3bd720b202d4p+2, 0x1.0adbfd5251f5ep+3, 0x1.3380b1547c2ddp+3 +0x1.03ea50e7f7464p+3, 0x1.5bd4e4d72280cp+2, 0x1.1749c1dcf1f6ep+2 +0x1.7dd2d392a9e73p+1, 0x1.fb892b94aedbdp+2, 0x1.10486a29ba46bp+1 +0x1.3cb43deda5f54p+3, 0x1.237aa4798ad2p+1, 0x1.d560b316fadffp+2 +0x1.430d4ba6801e6p+2, 0x1.d1d5b75802896p+2, 0x1.4c8018a8f977cp+2 +0x1.2a4160d861d62p+2, 0x1.5bbd97bdbfabp+2, 0x1.bdb2ac022274ap-3 +0x1.6cf11c0cfc4b3p+0, 0x1.029a5f5025472p-4, 0x1.ba800269695aep+2 +0x1.3eed205b4ed34p+3, 0x1.c9007154d992ep+1, 0x1.d872937b5da07p+2 +0x1.10422f449a81ap+2, 0x1.2f5bd6c752b26p+2, 0x1.18e32fb609487p+3 +0x1.60ab3a556dbe5p+2, 0x1.2e83fa2669a3cp+3, 0x1.0d9d757005a11p+1 +0x1.3de7adde3e9eep+1, 0x1.05fe5ea99a354p+3, 0x1.3d64d8aba296cp-1 +0x1.1d74030dcfbb3p+2, 0x1.f8efb38ef7ffep+2, 0x1.95d7c9e899a7cp+2 +0x1.9cb2d40ea804ep+1, 0x1.a98aeb62575bep+2, 0x1.91ff7da7fe9fap+2 +0x1.d45753fbc025ep-1, 0x1.1d5eaf99a98a2p+3, 0x1.c37d2e1ca55dp+1 +0x1.bf2990ee48b67p+2, 0x1.5bab87267b4bbp+2, 0x1.b0f57e34edbcap+2 +0x1.b47db23f35893p+0, 0x1.63e9b1edd01f3p+2, 0x1.ef55088cfd2cfp+1 +0x1.a647f14e05baap+2, 0x1.49f3374bf6a68p+1, 0x1.1560316394052p+3 +0x1.32ccda2b81a01p-2, 0x1.f1c69625359e1p+0, 0x1.1b6901394286ap+2 +0x1.c7d23f015aa83p-1, 0x1.8f4fda35b8186p+1, 0x1.03597d15782dap+0 +0x1.f41434ce9ccdbp+2, 0x1.680e7d499a4cdp+0, 0x1.34586132a3ee5p-1 +0x1.e2ea4cb84227p+2, 0x1.b6b471bb29e43p+2, 0x1.ee08c6f729226p+2 +0x1.1c13801fd1daap+0, 0x1.4398a78665f68p+2, 0x1.382ff86d6ece9p+3 +0x1.2bf4547c0efbep+3, 0x1.f1b305a70da1dp+1, 0x1.3b7ea569b5607p+3 +0x1.0bf05244ea016p+2, 0x1.833f4dee4b1bdp-1, 0x1.9d6d3450cf47p-5 +0x1.9675d905a9968p+2, 0x1.55457456f439cp+2, 0x1.3137ff53ef0cp+3 +0x1.1f6626fdbaa28p+3, 0x1.7654003adc488p+2, 0x1.34bba20fb50bep+3 +0x1.23e5d21a69717p+2, 0x1.63d0834167d15p+2, 0x1.8849c17e8fb1ep+2 +0x1.2cebb08488837p+0, 0x1.2075185611a02p+3, 0x1.93f11332daa32p+2 +0x1.116773e2d5a23p+2, 0x1.3372c4342d004p+0, 0x1.640fe83847258p+1 +0x1.7d8ec39ba7bd5p+1, 0x1.30b9a36889aebp+3, 0x1.2976af1e3de0cp+0 +0x1.1d449c23e8f8fp+1, 0x1.ad007b1b21a72p+2, 0x1.d7295458cd1efp+2 +0x1.2b1388af3f881p+3, 0x1.ef6d28b32a64p+2, 0x1.4973646c0fa13p+2 +0x1.516b2826e1fa4p+2, 0x1.4105948ddd11bp+2, 0x1.62481e2ec61ep+1 +0x1.3fa75824138dbp+3, 0x1.9f0ce41e00a1dp-1, 0x1.a11f07570919fp+2 +0x1.ea18df7139c97p+1, 0x1.56d657fd2aecfp+0, 0x1.01bd96cacac3ep+3 +0x1.05dfffc6eed55p+3, 0x1.5b1097e837e82p+2, 0x1.d1905104525c6p+0 +0x1.5a6ad209bf71cp+1, 0x1.143ab0686bbabp+3, 0x1.2e688ac1880fdp+0 +0x1.292e444cae41ap+0, 0x1.9d86d42689ce4p+2, 0x1.32c50239b3aa9p+3 +0x1.c5be515e21bcfp+2, 0x1.3fbd2a734bc5cp+3, 0x1.16c2f7588b602p+3 +0x1.e0c3db678811ap+2, 0x1.07b1dae620c0fp+3, 0x1.1e8080192e573p+3 +0x1.2aea33fff8c4fp-1, 0x1.37efc19dd5a8cp+2, 0x1.0accfff1892abp+2 +0x1.672b642b65af6p+2, 0x1.76bdb17c9311p+2, 0x1.16e1201957029p+3 +0x1.0976e066054e2p+3, 0x1.80bfb424d4021p+1, 0x1.ab21bb60c86b5p+0 +0x1.ac3cd60dd28cap+1, 0x1.1fdfeaea123c9p+2, 0x1.0693a4b69f95ep+1 +0x1.2769479d4990bp+1, 0x1.4d9ba528914aep+2, 0x1.0771ee947bafep+3 +0x1.dd12c8949f29ap+1, 0x1.e492a1e0317cap+0, 0x1.cc48a571f7952p+2 +0x1.42347c84f7647p+1, 0x1.52c24bee8b7b6p+2, 0x1.115bd584cef28p+3 +0x1.3f5971721c528p+1, 0x1.76b5aab5c4ec4p+2, 0x1.e2975d3db384ap+2 +0x1.e4ca67f81a9dep+2, 0x1.edebf8c4aabfcp+0, 0x1.17195e529e854p+3 +0x1.56ecde2104bf7p-1, 0x1.1b0f9602b6ccp+3, 0x1.f4b7c5506f448p+1 +0x1.97e9032242a6p+2, 0x1.eb695616bc664p+2, 0x1.a3ab96dfc92fep+1 +0x1.02697c1225a87p+2, 0x1.d1d61ff124848p+0, 0x1.69486b428fc81p-4 +0x1.2581431810bd1p-4, 0x1.1fea36be63561p+3, 0x1.bbc1923083e7p+2 +0x1.4a2a05308aa3ap+2, 0x1.fed0f575a8396p-2, 0x1.65971f285d345p+2 +0x1.8cc961e38d496p+2, 0x1.728393c0c8fe1p+2, 0x1.2dce2b11edd18p+3 +0x1.549fa5ac233aep+1, 0x1.ca27580c08f0bp+1, 0x1.3a5ac446f24cbp+3 +0x1.0523c7e17e96fp+3, 0x1.2f9149ae1ab17p+3, 0x1.260fc326264c5p+3 +0x1.fa5bb582d451cp+2, 0x1.2b01d51d83737p+3, 0x1.c34208fcaea08p+2 +0x1.e966eea54f004p+2, 0x1.843abda9b9768p+0, 0x1.0fc7b80615b7dp+3 +0x1.8a0808c5d307bp+2, 0x1.0ad1bb6cdf2c9p+3, 0x1.1d41aa6a50b4fp+3 +0x1.149d10b3cd0ecp+3, 0x1.7db2ef0421897p+2, 0x1.c8c5f8629d796p+1 +0x1.3493b05d23475p+3, 0x1.768d6569a7f86p+2, 0x1.bd55998f367dbp+1 +0x1.3fee8d6cf0a6cp+3, 0x1.284e8c53e6122p-1, 0x1.bcbd4f8c4685fp+2 +0x1.33540d9c399dap+3, 0x1.fb867aa16d14bp+1, 0x1.6c3b60140a1c4p+1 +0x1.918146c43b826p+2, 0x1.17bccd4ce40e4p+3, 0x1.3459a2e846f3ap+3 +0x1.1fc1682385701p+2, 0x1.3375d6960aaa7p+3, 0x1.0f6b925d7b4a8p+2 +0x1.2344bc0a88258p+2, 0x1.6d81a4c46d6c3p+0, 0x1.92a99571816cfp+2 +0x1.4bc2fb6cd25b5p+0, 0x1.fd8b75687f308p-2, 0x1.04543426d7b4cp+3 +0x1.b7b733e5c9716p+2, 0x1.fc706101ed8e2p+2, 0x1.bb7a240496f66p-2 +0x1.6e41dbab77142p-2, 0x1.40b607d845e1cp+2, 0x1.f43944c9f78a9p+0 +0x1.04d667b16b81dp+3, 0x1.d5d858effba89p+1, 0x1.272437480ce37p+2 +0x1.10b0f189811e1p+1, 0x1.09114975091b1p+3, 0x1.14b57ac525fdcp+3 +0x1.104b09fa8e68bp+2, 0x1.62f01c8ce5e7ap+2, 0x1.712943425b6eap+2 +0x1.ad684fb8980c4p+1, 0x1.1657b8b3f103ep+3, 0x1.682c6ee6694aep+2 +0x1.82c42ba39b70cp+2, 0x1.46958dbe136eap+2, 0x1.b5824ff538b36p+1 +0x1.c24082998ed07p+2, 0x1.4e200a9f6a81p+2, 0x1.6a0c5c059245ep-1 +0x1.65136787a1835p+2, 0x1.51fd795e75e92p+2, 0x1.1ef32de4809ap+3 +0x1.0d6a34f28c526p+0, 0x1.82838f1e9d773p+0, 0x1.0e88be63da1dcp+3 +0x1.3ffb047b0a264p+3, 0x1.8bba9442c36ep+0, 0x1.25482e6d4dba7p+1 +0x1.1cdd06c94febep+3, 0x1.2c1c989619491p+2, 0x1.2b9188dd17c82p+3 +0x1.ca3e3e0a64266p+2, 0x1.666e776f07fb8p+0, 0x1.ecf6faa4588eep+1 +0x1.5d9a3e1ecaa53p+2, 0x1.46aabfe30412dp+2, 0x1.2c02cbd9e30d3p+0 +0x1.1d0851fe69673p+3, 0x1.b1fadd30906bbp+2, 0x1.8aa1048224167p+2 +0x1.fcfd2d683eafp+1, 0x1.865d6bddc63fcp+2, 0x1.22878d8c99214p+1 +0x1.2880e8791a68bp-1, 0x1.231d3c69c84f8p+3, 0x1.6d32250fb0e42p+0 +0x1.3bcef7d8b7dcep+3, 0x1.ef514d141028bp+2, 0x1.96401c8c0f68ep+2 +0x1.329a9db726152p+3, 0x1.05b85f0e4dce7p+2, 0x1.dd415b2beecd5p+2 +0x1.0dbd1d4b9ef32p+3, 0x1.4a70868ac272p+0, 0x1.0b091647f1bd1p+3 +0x1.4a4b227c3f87ep+2, 0x1.0dddd08cd0587p+3, 0x1.f947b6dffb973p-1 +0x1.144af50f45b69p+3, 0x1.73533c0d29a83p+1, 0x1.3e5a8896e90ep+2 +0x1.52a26bce96421p+2, 0x1.dd086c3f1d899p+1, 0x1.3ce83c30aef34p+3 +0x1.dbec53fe15ce9p+0, 0x1.07cdaa722bba4p+0, 0x1.dc317fc2b3d5cp+2 +0x1.b238639eafe2p+2, 0x1.24f6a61793a9p+3, 0x1.de296e6193c32p+2 +0x1.26d93acc4665cp+2, 0x1.2714706a56d33p+3, 0x1.bce0d0c31f0b4p+0 +0x1.b0fe7efc09922p+2, 0x1.4b74c6d260f1ep+1, 0x1.a63e46ff637eap+2 +0x1.1153bab1319d6p+2, 0x1.2640b08e1982fp+2, 0x1.11df829a92d35p+3 +0x1.28326fa63cfacp+3, 0x1.11d1aaeb4733cp+3, 0x1.a7f6c854a33f8p+2 +0x1.05f69dfe5e7dfp+2, 0x1.5177110c3d1b7p+2, 0x1.4bb9a4ac6d067p+0 +0x1.947418425cc46p+2, 0x1.af4ad23e2302fp+0, 0x1.259bd204c2382p+3 +0x1.0335fef2416dcp+2, 0x1.fef67ce22bb5bp+2, 0x1.10970682af694p+3 +0x1.b293c3370bea5p+1, 0x1.84ef1a9eb2f72p+0, 0x1.3bad6034b54acp+3 +0x1.0fe49163fbb6dp+2, 0x1.1b11c5f7dfbe4p+3, 0x1.017566efa524p+3 +0x1.cd463c5e498c1p+1, 0x1.357f05a6412bdp+3, 0x1.bc7e10734390ap+1 +0x1.04a1331793294p-1, 0x1.feae04cc8f3dp+1, 0x1.2e68ac399bd3dp+3 +0x1.e45e9f277ede1p+2, 0x1.018b8bd0c62abp+3, 0x1.2e6d949b27897p+3 +0x1.df905bfb7c1dap+1, 0x1.8db36f7e9bb7dp+0, 0x1.3396348de6c8dp+3 +0x1.5903245cef0c8p+2, 0x1.1c14f8e805df2p+3, 0x1.50638d5858fdap+0 +0x1.3cad885f9f3bbp+3, 0x1.255bb07d43b67p+3, 0x1.c094027027917p+0 +0x1.3256d7bbf2209p+3, 0x1.259261ce5da56p+3, 0x1.3bcd8c2016022p+3 +0x1.9412e8e9073a7p+2, 0x1.0f1ea1c42c728p+2, 0x1.bdfc7e1eaaaccp+2 +0x1.4bd0d28ee508ap+0, 0x1.d72c6f6fcc466p-1, 0x1.223f4a2d31718p+2 +0x1.3a00f3abad1ddp+3, 0x1.4bc02930be094p-1, 0x1.2a20be7c3a53dp+2 +0x1.cbb8119d8d88ap+1, 0x1.0566630798841p+2, 0x1.3fa086ae18942p+2 +0x1.f66db0023a146p+2, 0x1.d47a56b528024p+2, 0x1.1b8e548e2b432p+0 +0x1.80c910b180e4p+2, 0x1.3d892eb2829e7p+2, 0x1.8d10e2d397c8ap+2 +0x1.3bb52209ca9d4p+3, 0x1.e0688006ca55cp+2, 0x1.cf2ca6e7f1843p+1 +0x1.68752ab2b87e2p+1, 0x1.aa780b263c731p-1, 0x1.14a82ed90e5e1p+2 +0x1.ab5bb5732ec72p+2, 0x1.2004d289929e8p+1, 0x1.1087480507453p+3 +0x1.032f553944044p+3, 0x1.6defd41520b33p+2, 0x1.67624f979abd8p-1 +0x1.f906ceb9d7535p+2, 0x1.82828bdcf51c8p+2, 0x1.ed751f928854cp+2 +0x1.d7808f2a2baap-1, 0x1.2f5e73ab1e31bp+3, 0x1.11d60a769e382p+1 +0x1.23adef840f09cp+2, 0x1.5786ae206bfb9p+1, 0x1.bc3e41b91d37ap+1 +0x1.eddf9af43538dp+1, 0x1.2808e68c955fp+0, 0x1.581a41dc7012fp+2 +0x1.3390169bdf6b8p+2, 0x1.9f1651d1a685p+1, 0x1.8250ec3cd89p+1 +0x1.23cf3f075c641p+3, 0x1.953e43935b5b4p+1, 0x1.cb7a77dfd974ep+0 +0x1.18342f6aa6e3fp+3, 0x1.02d31a8c5f5afp+3, 0x1.3e3e6a34b6501p+3 +0x1.eb55e98832ba4p-1, 0x1.2760ea4ec4f4p+3, 0x1.75a59f5a4d241p-4 +0x1.3133130a32df5p+3, 0x1.26d3b945fced7p+1, 0x1.a49b2d2f82a77p+2 +0x1.d852f5ce42d6ap+0, 0x1.2f19b87036ebp+3, 0x1.74850f2a0d15dp-2 +0x1.fe86cd98df9cfp-1, 0x1.42109a58216eep+1, 0x1.27d80bc641f25p+2 +0x1.43f7d8f826a9ap+0, 0x1.0f133c32188fap+3, 0x1.714bc0a45b63bp+2 +0x1.6afcf990cfd76p+1, 0x1.0a260e9c568a2p+2, 0x1.bceb40f325188p-1 +0x1.30f82c63402fp+1, 0x1.e40c9642f74c1p+2, 0x1.600293fc25018p+2 +0x1.a2633a00f3a4cp+1, 0x1.f64347357b6adp+2, 0x1.7fcb6a66beec8p-2 +0x1.2dd0231f797efp+2, 0x1.82a895da39f35p+1, 0x1.07ca32d32f9bdp+3 +0x1.6953969d7def9p+0, 0x1.3101fe7fc8cp+3, 0x1.28181f3b85bf4p+3 +0x1.13c2c26b0c85bp+2, 0x1.9eb6b818cc296p+0, 0x1.34b73a2eb3177p+3 +0x1.13694fceab762p+3, 0x1.0899455cc4cf8p+2, 0x1.1820565b351f3p+3 +0x1.9428a38770cbdp+0, 0x1.04d9d3549f3f8p-2, 0x1.0617c69df73d8p+0 +0x1.7f196567fa921p-1, 0x1.3759ac86da98dp+3, 0x1.35783c9d3ac0cp-3 +0x1.1a5aabb18839dp+2, 0x1.a7910ca71581ap+0, 0x1.0e8d097e99aabp+3 +0x1.1e1f0a392a035p+3, 0x1.6b5753567ddd5p-1, 0x1.35bbaae1a1a22p+2 +0x1.0fe4a62779077p+0, 0x1.375ef2c1869dcp+2, 0x1.9ca7891055b4cp+0 +0x1.040703ebbdc8p-1, 0x1.d4b3b650b29f6p+1, 0x1.984097b471909p+1 +0x1.3810fa8d773c5p+1, 0x1.ca6d6d304879cp+2, 0x1.86f03b01b8ca6p+2 +0x1.d6688c60b4acep+2, 0x1.1d35ede73a3ddp-1, 0x1.0edddda8ced68p+0 +0x1.33df2038cb0c2p+2, 0x1.77e107026a001p+2, 0x1.37a7c8df331c2p+3 +0x1.a3b1290b8ab57p-2, 0x1.65f562eda5092p+1, 0x1.e07a45dc93881p+2 +0x1.1fa5edda530bcp+3, 0x1.819d5128e6b29p+1, 0x1.0e844b7afcb5ep+1 +0x1.2d2b2900723dcp+3, 0x1.a9a367fdf4452p+2, 0x1.7a3d25622c702p+0 +0x1.b2e166138c492p+2, 0x1.5beef666a808bp+2, 0x1.0e9e7048262d1p-1 +0x1.2350581ed2cb6p+1, 0x1.10d9d4115d952p+3, 0x1.2b72a18b18a67p+2 +0x1.b6b2b37d5db24p+2, 0x1.ed4902e822e5ep+1, 0x1.51e10d68d606p+2 +0x1.2fe102c165c43p+3, 0x1.3ebc8b5f44a35p+3, 0x1.b5a624631c596p+2 +0x1.359bd5a575bf1p+3, 0x1.10d5471b75315p+3, 0x1.435b82cfab75fp+2 +0x1.498e02e164a7fp+2, 0x1.aa6606d8955e6p+2, 0x1.d97c0fe42997ap+1 +0x1.4b34036ede04ap+2, 0x1.8f876798317fp+2, 0x1.dc0875a0247fap+0 +0x1.0ff6a649a3a2ap+2, 0x1.346490fc55a26p+3, 0x1.e49fb4997945fp+2 +0x1.89b9eb8d60b7ap+2, 0x1.9d2f1e305e9bdp-2, 0x1.28515fc5e22cbp+3 +0x1.dba74ad16f0a5p+1, 0x1.18a4ad1ec057ap+3, 0x1.15008748b6282p+2 +0x1.5782838b34b27p+2, 0x1.267547177cd85p+3, 0x1.49dc0bd05198p+2 +0x1.956735e3a5166p+1, 0x1.37b051523660ap-1, 0x1.3ac7e0179ff52p-1 +0x1.982daf5f4a313p+2, 0x1.4ad35fb508d5bp+1, 0x1.602552f3762cep+2 +0x1.805908b4115bfp+2, 0x1.01642665b1116p+3, 0x1.1971b61244ba8p+0 +0x1.5da00faa8205p+2, 0x1.9496a29013cb7p+2, 0x1.803dadfdef993p+2 +0x1.9c1bf2f3b648p+2, 0x1.7077158fa4d61p-3, 0x1.746ecd76fc725p+0 +0x1.1cd0eaaa31833p+3, 0x1.eedba9f1259eap-3, 0x1.0fffdd05f2e77p+2 +0x1.0d9dd8579ff21p+3, 0x1.52e186f413078p+2, 0x1.aec5f95b576b5p+2 +0x1.1bf8372e408dfp+1, 0x1.66062e5dfb3bdp+1, 0x1.72a3abf8813b4p+2 +0x1.f2298fb14f8a4p+1, 0x1.3479f8854b657p+0, 0x1.a2f14cb829f9ep+1 +0x1.5291575254d6p+0, 0x1.36f39c1189d5fp+2, 0x1.2d209a60a4a6dp+2 +0x1.8d265e08ce1f1p+2, 0x1.1d0b3df494114p+3, 0x1.7c147c15a954bp-2 +0x1.48f819ddf7aeap-1, 0x1.7c11adfd130aep+0, 0x1.d0dd8a0e4debcp+1 +0x1.a35b732a02d36p+2, 0x1.062ec6a1083fcp+3, 0x1.bbfdfabb9c6dap+2 +0x1.ca7020f5bceb8p+1, 0x1.88a6b913113c4p+2, 0x1.958e06ce76e4cp+2 +0x1.7c6cf705d40d9p+2, 0x1.a62fc88fd339cp+1, 0x1.0a21c913cb81ep+2 +0x1.df89ed6f4a9cbp+2, 0x1.77e1544000bcp+2, 0x1.d46e95a337ef8p+2 +0x1.3ff582e2eedf1p+1, 0x1.0305befeb1e15p+3, 0x1.1510ec2fada6cp+3 +0x1.09cacadd5dd49p+0, 0x1.2199c0079416fp+0, 0x1.03e1d8899cfeep+0 +0x1.c33568a3b89bp-3, 0x1.99cf354531ed1p+2, 0x1.219335aa2a274p+3 +0x1.045ad375794d5p+1, 0x1.a7821723c849bp+2, 0x1.24fce2ebdf22cp+0 +0x1.f4ef669df451bp+1, 0x1.135d43631f2p+3, 0x1.022df2b59cca9p+2 +0x1.372ab41af03a7p+1, 0x1.1187523d6ce9ap+3, 0x1.41340d8bc316p+1 +0x1.375de57170f79p+3, 0x1.4a0bbcea98ef5p+2, 0x1.af641b1fdce2p+2 +0x1.23464a1aa6c52p+3, 0x1.3c045ed1679bcp+1, 0x1.5dbefeff28364p-4 +0x1.9a52b4649f806p+1, 0x1.faf358bbd04e8p+2, 0x1.b0bcadafdfc44p+1 +0x1.742cbd95872dcp+2, 0x1.87b19e9e66de2p-3, 0x1.2243d68f23fe7p+3 +0x1.1a95752b0aa9bp+1, 0x1.14f8951ef986ap+2, 0x1.3ce2d7bbb97a4p+3 +0x1.42b1045e929cbp+2, 0x1.f58df9540dd04p+0, 0x1.01e81d9f7f803p+0 +0x1.130e00f5b0ef9p+2, 0x1.fe30b05238c19p+2, 0x1.a71105512c979p+0 +0x1.809235cc0fce8p+1, 0x1.09a70bd9de864p+3, 0x1.8080cfbc99fdap+2 +0x1.a4072f0a09604p+2, 0x1.19cc4601a20f9p+3, 0x1.4c48318c9db3fp+2 +0x1.315f50fd7dffbp+3, 0x1.fbb56161e95d1p-3, 0x1.32cfde4201b6ep+3 +0x1.4cc3f83f77563p+2, 0x1.94c01edc5ca1bp+1, 0x1.38bebd7f91e6ep-2 +0x1.148fca4d151a6p+1, 0x1.447a1d3982602p+2, 0x1.9074fb084f648p-2 +0x1.4add4c87778aap+2, 0x1.3ef4468645887p+1, 0x1.73b084fa1da12p+2 +0x1.33b8cd832fb6cp+2, 0x1.455089ee59028p-1, 0x1.9af95fadbf3bdp+2 +0x1.22d87a8d38d17p+2, 0x1.153b9622d4e39p+1, 0x1.09de8d5bbed1bp+1 +0x1.af4c5d750b5fp+2, 0x1.ec553efd4ee78p+1, 0x1.066ab733dfb01p+3 +0x1.e4b2733433a4p+2, 0x1.104b7a8a77904p+2, 0x1.8eb1da3f27944p+2 +0x1.540e612830951p+2, 0x1.b36e611233e5bp+2, 0x1.89885cbc16f2p+2 +0x1.24c7611eb4b5ap+3, 0x1.77d7c19aeff38p+1, 0x1.0e70fdb46d94cp+3 +0x1.018e2c05ff935p+3, 0x1.2225df56fcf27p+1, 0x1.b70b9da8b6ea3p+0 +0x1.6582d6adb2a34p+2, 0x1.2990e3589c919p+3, 0x1.271a79ecb0ba5p+2 +0x1.f9f664f44b96cp+0, 0x1.f141a04e690a8p+2, 0x1.20704d279fc3bp+1 +0x1.afdc2260162dp+2, 0x1.6420b909b1a33p+2, 0x1.3d34b19afabdcp+1 +0x1.7eb2c9e5e672cp+1, 0x1.7a9f8e482921fp+0, 0x1.71c986682d7e2p+1 +0x1.1065e5de0aacp+1, 0x1.a4041791513efp+2, 0x1.9c1a09f5ff511p-5 +0x1.053716631d39ep+3, 0x1.f5a3ecd0c2a14p-1, 0x1.235a229f602fcp-1 +0x1.2d7885ce94792p+0, 0x1.d9849b170cba3p+2, 0x1.4e1bbd0494e5p+1 +0x1.f960f9974866fp-1, 0x1.425e28e4efba5p+0, 0x1.320dc9a903727p+1 +0x1.a6353862c83c8p+2, 0x1.8f9b48d51af29p+1, 0x1.25a398afd0de9p+3 +0x1.9b935753b6bc2p-1, 0x1.19e25a9e2c115p+2, 0x1.a426f4b9f49a8p+1 +0x1.4470cb139bb43p+0, 0x1.9fef43f882022p+1, 0x1.f66a016b8bc39p+0 +0x1.27cef4b284e64p+1, 0x1.36d1f09448b88p-3, 0x1.ed146e6087314p+1 +0x1.d89292038e12p+2, 0x1.9e6fe1646dd5p-1, 0x1.b4354cafd779dp+2 +0x1.2bd91b6638275p+3, 0x1.246ce030f5d81p-1, 0x1.6aafc11b4f945p-2 +0x1.333d019579f57p+1, 0x1.6d8b9060cec77p+1, 0x1.5178577256d9ap+0 +0x1.9574c43a68e18p+1, 0x1.4ac3c3c1c8d95p+2, 0x1.dcd783b8622ebp+2 +0x1.a88d955972e8ep+2, 0x1.6129b93f2231bp+1, 0x1.1fe560de4f099p+1 +0x1.aa3a24aeb728ep+2, 0x1.b7a1a55bfb79dp-3, 0x1.ba06af9396f5p-3 +0x1.9913709ac52f1p+1, 0x1.c148885fc16dbp+1, 0x1.203540960a9ep+2 +0x1.c3bbfdfee6738p+2, 0x1.073227cdce99ap+3, 0x1.9cb952eaa6c1p+2 +0x1.7688ac88cf3b1p-3, 0x1.8281442720589p+2, 0x1.724273d00bdfbp-4 +0x1.c313d7d67a956p+1, 0x1.650d7edf7d96ep+2, 0x1.32145ad65aae4p-2 +0x1.8ad3086b88a3cp+2, 0x1.01f96807a9af1p+3, 0x1.a24e2bca46ba4p+1 +0x1.e19c1aa3f2616p+2, 0x1.dd6df795efd3ep+2, 0x1.c102fa3d636c5p-2 +0x1.d3a7768c4a847p+2, 0x1.e8d51d44f4d41p+1, 0x1.15c7069231908p+3 +0x1.358056ba07833p+2, 0x1.1ea64fd5ffc05p+3, 0x1.bf6116da50b4p-1 +0x1.216f2de0277afp+0, 0x1.7f6e451b1febep-1, 0x1.03d8190b512e8p+0 +0x1.a5053731dd19fp-1, 0x1.168b00a51def6p+3, 0x1.42f78d68bdd5fp+2 +0x1.10bb918a46722p+3, 0x1.e67582d670d7bp+2, 0x1.04b34b89bb9abp+3 +0x1.4e5eec0c156c2p+1, 0x1.676dbf361c81bp+2, 0x1.2f3bc1791b6cfp+1 +0x1.de628d09198d9p+2, 0x1.0439e1fb03926p+2, 0x1.15b2c17464d91p-2 +0x1.5e8356af81405p+2, 0x1.aa2ec49c499c8p+1, 0x1.1b6205ce4204dp+1 +0x1.73c603ad5649ap+2, 0x1.14456139a64d5p+2, 0x1.444122bf7bb8fp-3 +0x1.e64a6869fa9aap+1, 0x1.97e637179e51cp+1, 0x1.097a690775f5dp+1 +0x1.771e24202dec8p+0, 0x1.4ff2fb1a0d25ep+2, 0x1.cedf4e68e2d46p+1 +0x1.07298de434d51p+2, 0x1.3f7e853e94dbp+1, 0x1.0056449ee05f7p+3 +0x1.0f05683e7d9d7p+2, 0x1.f5194e744ec4fp-2, 0x1.3e3f839d33925p+3 +0x1.82e81cef074f9p+1, 0x1.7d1f88abe52d2p+1, 0x1.99e6c666b1e8ap+2 +0x1.2e4091f9edc91p+2, 0x1.5da5711ca14f1p+0, 0x1.0b0ae5d4b0b13p+3 +0x1.11a066e959beep+2, 0x1.9e9d98abd5a7bp+1, 0x1.1777696260cap+2 +0x1.36f75d32db741p+3, 0x1.07ecb6046f8b1p+3, 0x1.6f96acdcbbb02p+2 +0x1.97702e72e56e2p+2, 0x1.55defbd5abb05p+2, 0x1.f111f8e50b852p+0 +0x1.b11d58228b5cep+0, 0x1.a2ffb33a553a4p+2, 0x1.03e053a15ee12p+3 +0x1.cbfb3bc2e7edcp-2, 0x1.47add9b475584p+1, 0x1.bb6f134f44439p+2 +0x1.56d3e443d9beap+2, 0x1.4f30f5b3678eap-5, 0x1.3b380a1e52214p+3 +0x1.c8fc3201145d7p+2, 0x1.d36f5fdd8314ap+2, 0x1.29bade3648a69p+3 +0x1.9acdc6121a337p+2, 0x1.268e943134c6fp+3, 0x1.92b37295c4799p+0 +0x1.5f763e0de48d7p+0, 0x1.1b4b2fc0a6996p+3, 0x1.6ad187d792cbfp+0 +0x1.76d57919678c6p+2, 0x1.6e9c918e4d041p+1, 0x1.32d985c02baa2p+3 +0x1.7519c54b10ce9p+1, 0x1.dd93b7d4b96f1p+2, 0x1.cbf4d5b338733p-1 +0x1.12079df1031bdp+3, 0x1.f7711de13fcecp+2, 0x1.dba0f24d3a4c4p+2 +0x1.a40b4d9bb5dfap+2, 0x1.d4ab2814c9e68p+2, 0x1.e8e880ac15556p+1 +0x1.6914c1ab7200ap+2, 0x1.54f11d4381abp+1, 0x1.974fe45cfd82fp-1 +0x1.584d505762eb9p+0, 0x1.e89b2104e59fap+0, 0x1.3c71bf9c833f9p+0 +0x1.879814448d5f3p+1, 0x1.56faa15b99f64p+1, 0x1.81227ee8c2c16p+2 +0x1.974b0c7acd224p+1, 0x1.ffa5c3d28f2fp+2, 0x1.09b6ec2e30f3fp+1 +0x1.f7094fb3b2101p+1, 0x1.5daf8b3ef6eb9p+0, 0x1.1f0abfdeeee32p+3 +0x1.2f0a0b215cb72p+2, 0x1.eebef311ea964p+2, 0x1.0b0ac45e73e1ep+3 +0x1.c1f38d6b40febp+1, 0x1.3172240af8435p+2, 0x1.272d8d484851ap+3 +0x1.69d1795e23fb4p+1, 0x1.cbb04d4920809p-1, 0x1.bceaed0cee8d6p+2 +0x1.e4bfa08daf1e9p+0, 0x1.375b79d219194p+2, 0x1.4e35c8b9ba9f9p+2 +0x1.34ca13e3a8dfcp+3, 0x1.ff586ae31bdeep+0, 0x1.39abc8c882f0fp+3 +0x1.e59454b5a3504p+2, 0x1.b2e3008b5c6f7p+2, 0x1.673dc48d68c0dp+2 +0x1.a99bd3c41a3a5p+2, 0x1.816c4fa5fb2abp+1, 0x1.59734a8f661abp+0 +0x1.5445429689736p-1, 0x1.20773da2b849ap+2, 0x1.44a66699997aap+2 +0x1.1aca17e3a34fcp+3, 0x1.0026c19d0f0afp+1, 0x1.1e0a4987e337fp+2 +0x1.334f84811b69ep+3, 0x1.07e3301849bcdp-1, 0x1.9756eb768ad5p+1 +0x1.1bbfcdca4cfbdp-1, 0x1.f79a35e7bf5ccp+2, 0x1.b4aa971b03383p+1 +0x1.97311a1d82072p+1, 0x1.3ea94312f8187p+2, 0x1.25784a2cf322dp+3 +0x1.a4c1ab8628d36p+1, 0x1.dc32411fabc4cp+2, 0x1.e123af8b1087ap+1 +0x1.a07481cfaefep-3, 0x1.0965569c06a05p+3, 0x1.3beb0fee0456cp+2 +0x1.bdc5e028e9895p+1, 0x1.cba1421dbedcp+2, 0x1.9ba9c047ea836p+2 +0x1.1b293424afb44p+2, 0x1.9b587fb18b694p+1, 0x1.bed96961232ep+2 +0x1.b71b6c6266a3dp+2, 0x1.6db3c6c2dff4ep+0, 0x1.86babbeea8896p+2 +0x1.90b05eab52f71p+2, 0x1.287952edcf968p+2, 0x1.9c12e6c69536dp+2 +0x1.1f6a66e85e236p+3, 0x1.3aa740ca61f9cp+3, 0x1.e09d47c79a2fep+0 +0x1.83afc45579c6dp-1, 0x1.fdc3fb11307eep+2, 0x1.069632a7613edp+1 +0x1.5afdbcbc2532ap+2, 0x1.ca66e5076e055p+2, 0x1.e83c5ba3e9e8cp+2 +0x1.cc092f96cd22bp-1, 0x1.36b63b3513024p+1, 0x1.1b57dff58e114p+3 +0x1.db7be811b28aep-1, 0x1.8d699a1ba58aap+2, 0x1.48c925f8a7fbdp+2 +0x1.b79a67f8a8f2cp-1, 0x1.03bfa0b4b3b54p+3, 0x1.d1ab1ead1622ep-1 +0x1.9988bebfa9a69p+1, 0x1.b4d03ed103b2cp+2, 0x1.e04f1b2d5d44p+2 +0x1.e5c3c0056c6fcp+2, 0x1.72eddbd8a140dp+2, 0x1.087bc5b5c7e4dp+3 +0x1.7b61521f23f79p+2, 0x1.9d28f6f246ecdp+2, 0x1.687d6b9e497a5p+0 +0x1.bb6ee9816de62p+2, 0x1.bd44bb2e87ba7p+2, 0x1.83dc8ba68dc23p+0 +0x1.266aeeacdfd01p+3, 0x1.137eb377d52dap+3, 0x1.3bde5199d387fp+3 +0x1.83b3d35b3eaa1p+1, 0x1.0d3c1daf429dfp+3, 0x1.7cc322c9795e4p+1 +0x1.9446adf665052p+1, 0x1.b5491c4cb848ep+2, 0x1.ab54361926d2ap+2 +0x1.aafabab354e9ep+2, 0x1.f134670596fd9p+2, 0x1.94c96bf0f1855p+2 +0x1.0ad6073ba0538p+0, 0x1.d61215dd4312bp+2, 0x1.6595a66232c3fp+2 +0x1.0ae4fb921893fp+2, 0x1.16ceafd004bdfp+2, 0x1.382105aade472p-1 +0x1.50ae16196a146p+0, 0x1.34e156cc290ebp+2, 0x1.3b1c4c405df8fp+2 +0x1.57db3b5347034p+2, 0x1.00da63b6c7adep+2, 0x1.13fdb10f5699fp+0 +0x1.0ec777ab55656p+3, 0x1.0b23da5c459c2p+3, 0x1.1a9ea04f62d34p+3 +0x1.7410b9eddb04p+2, 0x1.307ec4838fe1cp+1, 0x1.dcaeb542fb0dap-1 +0x1.8891a694e9773p+1, 0x1.748cc01e2a63fp+2, 0x1.ef46361129068p+2 +0x1.17a1c67d54dc7p+3, 0x1.4e134500f4c7bp+0, 0x1.5d8466e568cd6p+2 +0x1.7516d9de2c6p+2, 0x1.94fb3a79e34d6p+1, 0x1.2848e0f66076cp+3 +0x1.acb33b3dbf835p+2, 0x1.f002c8c22ecc3p+2, 0x1.17743282a9012p+1 +0x1.a085f63ea4a09p+1, 0x1.ecaae1115752ep+2, 0x1.c762356e981bep+2 +0x1.362ec45541675p+3, 0x1.024b082ac7d0ep-2, 0x1.5b0e0d384a5a7p+2 +0x1.f4378e96a727ap+1, 0x1.427faa369e4eap+1, 0x1.14fa42c3866f2p+3 +0x1.c2d0e453a48fep+2, 0x1.0cf843610f257p+2, 0x1.e2406758c2494p+1 +0x1.3c2a8564819dap+3, 0x1.9e5c444cb7206p+2, 0x1.2affca5bd93eep+0 +0x1.2649f207898b4p+2, 0x1.d5ec9cd4574eep+2, 0x1.e82c9d078ad96p-4 +0x1.9afead800431cp+1, 0x1.aefcbea021db1p-5, 0x1.35f1f28e0860fp+0 +0x1.ca9b86c1c0efp+2, 0x1.06e5a028c1f95p+1, 0x1.47af8b4b77db7p+2 +0x1.4e74d1ede4d11p-1, 0x1.731e46b4f8f1bp+1, 0x1.9fc8e6f9351e2p+2 +0x1.2050a228e96e1p+3, 0x1.356e2e88d9c9ap+1, 0x1.0e66dc14b722fp+1 +0x1.694bcbc8cbf2fp+2, 0x1.0657b615c43b7p+3, 0x1.f1de23bbc9452p-2 +0x1.2891c46eb6152p+3, 0x1.d77450172f116p-1, 0x1.01108b1f3b65bp+2 +0x1.88aa886b319e9p+1, 0x1.37de04bd4e50ap+3, 0x1.0c63f139b0bccp+2 +0x1.55f95cfa00438p+2, 0x1.1b94c13aa2951p+3, 0x1.bf7b2ed106a7ap+1 +0x1.954f4d1ce47cdp+0, 0x1.f094eeef5b42bp+2, 0x1.27f3324d67f31p+1 +0x1.0548168bbaea8p+3, 0x1.88f509b83cd4ep+1, 0x1.9e38c7a876965p-1 +0x1.1b1fad5943cc3p+2, 0x1.220bb55677bffp+3, 0x1.1170ca3cad18p+3 +0x1.10ca4f4434dfp+3, 0x1.b5efd9765a18p-1, 0x1.223bac92294eep+3 +0x1.c47898646220bp+2, 0x1.aa281fefaf851p+2, 0x1.5e41dbc7d3178p-2 +0x1.2f5a84d3ff6fep-1, 0x1.c51c5c2f89327p+0, 0x1.b51c80039fe36p+1 +0x1.0a312f853449ep+2, 0x1.95647dcefbbe8p+1, 0x1.948d8b021306dp+2 +0x1.d9f9bede20474p+1, 0x1.42f12dd239d6p+2, 0x1.d94c844289127p-1 +0x1.36b1d971d913ep+2, 0x1.6b9d4dd8aab9dp+0, 0x1.396cddd149f3cp+1 +0x1.4d1e8c8ce79fp-2, 0x1.24d4481c32ba8p+2, 0x1.bc7c2b88891eep+2 +0x1.401c5288e014p+2, 0x1.cd16c6aa3441p+2, 0x1.55b816d157f12p+2 +0x1.668950ce6ecedp+2, 0x1.b347c6c1f0ff8p+2, 0x1.1d6f6165350c9p+0 +0x1.a6720b21179ep-3, 0x1.dc7db6df9915ep+2, 0x1.1f6d742560fd8p+3 +0x1.ca855f02452c8p+1, 0x1.d172712c00661p+2, 0x1.c4e0d510fb84dp+2 +0x1.5fb21eee8c179p+2, 0x1.ab8cbd8c9e8a3p+0, 0x1.f806ddd7d3b22p+2 +0x1.b14731f5ef04ap+2, 0x1.8985245e93bp-1, 0x1.aba301fcc5a24p+2 +0x1.320af5738b7ccp+2, 0x1.ad66885b2c4cp+2, 0x1.cc71ebeaf042ap-2 +0x1.b122dad3d3d0ap+2, 0x1.312e1f40195e9p-4, 0x1.f93f8678e87e8p+2 +0x1.ba34bf7f82a58p+2, 0x1.ea63a954c3ee5p+2, 0x1.b7476beb77e3ap+2 +0x1.280a69b725251p+3, 0x1.fcbdd534a9ed7p+2, 0x1.d1aced95a0d14p+2 +0x1.0bed20a78c82bp+0, 0x1.6a463aceff404p+1, 0x1.f050c5462c66ap+1 +0x1.1052f83ea5da7p+3, 0x1.3e079a0f68795p+3, 0x1.d2a65ba594918p+2 +0x1.14f9bfb257751p+2, 0x1.038b4639455d5p+3, 0x1.ac83db4115679p+0 +0x1.59adebe92f549p+0, 0x1.20bd79faf151bp+1, 0x1.4b45fd1585599p-1 +0x1.569cd31c33c8bp+1, 0x1.1d47b89d82c0ep+2, 0x1.1142c1b99bc3p+3 +0x1.327846dc09a63p+3, 0x1.685748b237611p+1, 0x1.29cc31baac497p+3 +0x1.bfecde265c07ap+0, 0x1.59d8cc489c2d1p+0, 0x1.b76ffb3bbf6d2p+2 +0x1.3c46084b03503p+0, 0x1.8808249d2a235p-1, 0x1.8d1a2c3fa5fc7p-3 +0x1.cb2dfca8e497dp+0, 0x1.167e7f1fb2528p+3, 0x1.32e3fd52728ecp+1 +0x1.f140260d92b1cp+1, 0x1.037d6daff7b66p+0, 0x1.9d4099c6d2babp+2 +0x1.41cc361355cd2p+1, 0x1.a8065d9896e9ap+2, 0x1.a5af770dbb658p+2 +0x1.2c53bd11de7afp+3, 0x1.b57a909ce2597p+1, 0x1.d7ca25363900ap+2 +0x1.687c9f795edb4p+2, 0x1.916618e68a86fp+1, 0x1.4c38f72a441bcp+2 +0x1.e3aceea53af77p+2, 0x1.3c7cf95a42be1p+3, 0x1.7a16791a7aebcp+1 +0x1.b51ad3d75c016p+2, 0x1.9f0d077f79dfep+2, 0x1.284d8e128bf79p+3 +0x1.f33979362f69p+1, 0x1.267107b11aab6p+2, 0x1.78dbdfdae72b1p+1 +0x1.5037c89b04f78p+1, 0x1.e5154dbb32209p+1, 0x1.0ba9b8fb0c56fp+3 +0x1.a8e99b62e0e4p+2, 0x1.1fbe205f0e699p+3, 0x1.28d84b6f3b686p+3 +0x1.673b86a795ed8p+0, 0x1.b91978c3d81dcp+1, 0x1.1a9278b2c3bd4p+2 +0x1.0020c58329569p+3, 0x1.2e199b6c18881p-2, 0x1.3b172b206c9bdp+2 +0x1.d9c352ad6c08ap+1, 0x1.8a40a18203117p+0, 0x1.0cf1716670b05p+0 +0x1.74daa136b7a76p-3, 0x1.29905ed37ae1p+2, 0x1.1feb833c51ca8p+3 +0x1.ecbec9d1946e4p+2, 0x1.4c295e8e31fc6p+1, 0x1.09d62508a2a7ap+1 +0x1.867a957de6252p+2, 0x1.2adf59905e6e2p+2, 0x1.c54d00471eedp+2 +0x1.eb3e0e60d99b4p+2, 0x1.f1f5d0b147e3ap+1, 0x1.cf1338b8b88ccp+2 +0x1.ec78975777b91p+1, 0x1.de4ec690aa46p+0, 0x1.05c4babf5de9ap+0 +0x1.031f5b45c55ffp+2, 0x1.81765cf59645bp+0, 0x1.0f40165d63f28p+3 +0x1.b06865f429868p+2, 0x1.25b5bfffd1738p+2, 0x1.00ee48fd8324dp+1 +0x1.10c7dff8fb959p+3, 0x1.223d2dbb2b7ecp+3, 0x1.3e71b5ab349cdp+3 +0x1.f16df9bdde186p+2, 0x1.350c436c47f73p+1, 0x1.24156af096fc5p+2 +0x1.8428cad484e42p+2, 0x1.009cc2a82b3cfp+2, 0x1.6705318547138p+2 +0x1.e14422f59a2ep+1, 0x1.b4d0a3527888fp+0, 0x1.80526961ddd96p-1 +0x1.7fad13c134d78p+2, 0x1.8214290982c7p-1, 0x1.7c5a6feadaa33p+0 +0x1.8f0ff65e6832bp+2, 0x1.bca120c7a02c8p+2, 0x1.307ea0a0cb84bp+3 +0x1.767fad11348a4p+2, 0x1.7896215e0893dp+2, 0x1.3127660777478p+2 +0x1.0aa577c3f6473p+3, 0x1.291d089922844p+2, 0x1.f62a92849f1ep+2 +0x1.06482ca15e2e2p+3, 0x1.b0d5406d6f27cp+1, 0x1.1eac4dcea537dp+3 +0x1.d34b7a2b33ca4p+2, 0x1.dfc8cef2bb0ap-2, 0x1.d98c2b2b4f691p+2 +0x1.310090e88fd35p+3, 0x1.02a55d252b68cp+1, 0x1.e03d0b23e3b02p+0 +0x1.30ee7061007afp+1, 0x1.b04e87a5e7672p-3, 0x1.6b8c5135fa0b2p+1 +0x1.476588477636cp-2, 0x1.2e23e15bff177p+3, 0x1.289e1ce2f8d42p+0 +0x1.99e56c3aef3f3p+1, 0x1.1c6f6ca5eecd7p+1, 0x1.efb83235798dfp+1 +0x1.d452170a8c967p+1, 0x1.647ce01d47f2cp+2, 0x1.283181588e329p+1 +0x1.38f19a79ed368p+3, 0x1.2591eb2acd14ep+3, 0x1.683220c941a72p+2 +0x1.9e3fa08fdbe7cp+1, 0x1.6e5eeb1c19d22p+2, 0x1.48409ebbc25ebp+2 +0x1.4e4b7738f2e69p+2, 0x1.9d8af88948ddep-1, 0x1.260a118e77cfp+3 +0x1.40d86824b92f2p+2, 0x1.604046d0715a7p+1, 0x1.9f858ecadde7bp+2 +0x1.5aa3d7273f413p+1, 0x1.33261da9e5dfep+3, 0x1.0b5ee23ea228ap+2 +0x1.01d3b28975da4p+2, 0x1.a5f5fa2c34a31p+1, 0x1.d75a937a60de3p+2 +0x1.26f153a4b70b5p+3, 0x1.0be12388feb9ap+1, 0x1.3d54eda491ad4p-1 +0x1.ec834bbf6547p+2, 0x1.49ec0aee4e0e5p-1, 0x1.3bc922559edacp+3 +0x1.7ecd716fdb5d6p+0, 0x1.3f746df1fceeep+2, 0x1.ab854571e8e1ap+2 +0x1.466877e1bf703p+2, 0x1.6c1819df62d1p-1, 0x1.8cca72358287ap+2 +0x1.91ed6f8024aa8p+0, 0x1.0ed4cb7b213c8p+3, 0x1.c10e5bbedf51bp+2 +0x1.0fa7f2b2a47e7p+3, 0x1.1a8f58b3925e5p+0, 0x1.2b9904c70d47p+2 +0x1.7189fceb143a3p+2, 0x1.250f551541734p+3, 0x1.d897dc6c7abfap+0 +0x1.187354ca90a25p+3, 0x1.811e45651201fp+1, 0x1.b69cc6d79c1b2p+1 +0x1.1eb9d622f7d07p+2, 0x1.dac88593be921p+1, 0x1.bc4dd5e11026ep+2 +0x1.00a3a42c6c321p+3, 0x1.f407338299125p+2, 0x1.b2abee311ae86p+2 +0x1.230e60fc2d30ap+2, 0x1.b5bb72e83901dp-2, 0x1.f4f63d1ef22a8p-4 +0x1.104784d30e8ffp+3, 0x1.c1b8645b7695cp+1, 0x1.310ea0a111a52p+0 +0x1.4241f15122517p+2, 0x1.16997c83297d9p+2, 0x1.7f43c3aa27896p+2 +0x1.a079f3cf59436p+2, 0x1.18071156cc39ep+3, 0x1.7a52cd1e665c2p-1 +0x1.3bacd9aa6edefp+2, 0x1.64ecec2434102p+1, 0x1.09ccb92f4e854p+3 +0x1.20c61db8742c5p-1, 0x1.1b29cb2d98a23p+3, 0x1.0461a07d94eebp+3 +0x1.5a173aa89aca9p+1, 0x1.c35b8a8517521p-3, 0x1.000269b38fc57p+1 +0x1.6764fa3ac3b78p+2, 0x1.721eb4fd15df9p+1, 0x1.43ab7b32c7009p+0 +0x1.3e3bbdbf3f3cap+3, 0x1.5ee683acf7169p-2, 0x1.b024bf379056fp+2 +0x1.98872b9b58e38p-1, 0x1.4cdbdffc1b302p+1, 0x1.212611c4b9484p+2 +0x1.a28edd6b9d243p+2, 0x1.275722485dca5p+2, 0x1.c1cb4e8757554p+1 +0x1.c6081b317d9f4p+2, 0x1.6ab63b274ec21p+2, 0x1.0eeb10712f4d3p+3 +0x1.08de99facfc6ep+3, 0x1.69ee6711fb9bap+0, 0x1.0ee8bb14fdf5p+3 +0x1.2aa98f54864dfp+0, 0x1.5cf8c2c49e814p+2, 0x1.26ad56f7ee0d4p+3 +0x1.a447298740896p+0, 0x1.6c2afcae02cb8p+2, 0x1.8ce5f7d4ba9fbp+1 +0x1.ccb15402d61f3p+2, 0x1.adce633a22848p+2, 0x1.8aa97b2bb1733p+2 +0x1.576e5cfb56de2p+1, 0x1.17b1e62522e9dp+3, 0x1.64a318cb2991p+1 +0x1.d65d1ccd2742ap+0, 0x1.3ba815812f2ecp+3, 0x1.4394a0290d10cp+0 +0x1.d636b6f4b9e72p+2, 0x1.c393f4e14b9aap+2, 0x1.30b0238729b55p+3 +0x1.bc93ad5842f9p+2, 0x1.6412171ade669p+0, 0x1.1a51faf8708ebp+3 +0x1.6cad847ea8024p+0, 0x1.9d49c28c8545ep+1, 0x1.d6a74ed361935p+1 +0x1.09271f1308d27p+2, 0x1.698a6349b5926p+2, 0x1.be39dc938110cp+0 +0x1.652c629c9aa42p+2, 0x1.99094ea8dfb54p+2, 0x1.0c749cad11881p+2 +0x1.a2f544de840f6p+1, 0x1.5451946288993p+2, 0x1.61a27c547ef64p+2 +0x1.21a13d11ec8ccp+3, 0x1.bbba7e2d04191p+1, 0x1.64dea46a4c475p-1 +0x1.7e48be9404224p+1, 0x1.9769f3e258809p+1, 0x1.3c224b09e302ep+1 +0x1.8fb8c0833e76p+0, 0x1.55b2e8415f25dp+2, 0x1.91da494ab95c3p+2 +0x1.0765791c69b62p+3, 0x1.668a0c1a6ed3ap+1, 0x1.a2e9f83c1cc76p+2 +0x1.dbadd3a29e181p+2, 0x1.c4fc9b02c7086p+2, 0x1.f80a0774e0fb3p+2 +0x1.e6d60e93b1c73p+1, 0x1.d9f7a1795a9b4p+1, 0x1.42ec815afa77ep+2 +0x1.f6dd0911991fdp+2, 0x1.227af3cb15318p+1, 0x1.84ed75ce6bfdbp+2 +0x1.90b281408c6b1p+1, 0x1.414ace6997d9ep+0, 0x1.320fd075455e5p+2 +0x1.ad0c3c32625b8p+1, 0x1.82bcaa60ab268p-2, 0x1.2b939fdbf02fcp+3 +0x1.9e00083154375p+0, 0x1.670e80e9878d8p+2, 0x1.73e68c0242168p+1 +0x1.acf5603134378p+1, 0x1.f14def164f4f7p-2, 0x1.d1c117a474848p+2 +0x1.1f5311b0959d1p+3, 0x1.9c4f01e50d31dp-1, 0x1.0f9cb7be7f22ep+0 +0x1.9b3aac5e8f614p+2, 0x1.56aa7d2234b6ep+1, 0x1.341e8096c3d64p+3 +0x1.ab857945e5da9p+2, 0x1.d4d2c2bc7d008p+2, 0x1.70dce49915c8cp+1 +0x1.2b01e7a49bbecp+3, 0x1.8d4e5576be834p+2, 0x1.233a707259d6ep+2 +0x1.e171b41173da2p+2, 0x1.d9da882ace19cp+1, 0x1.2f9d7a1954d11p+3 +0x1.e258ae1f189b6p+1, 0x1.56e106b53b5bcp+2, 0x1.4391878495504p+0 +0x1.e03d94ab0b772p+1, 0x1.3ab46a2eb7c45p+2, 0x1.ad768257b7ebep+0 +0x1.25e706715bfa7p+2, 0x1.76feb4cf224a2p+2, 0x1.9b193ee591381p+2 +0x1.c5c834562e9adp+2, 0x1.0dae98a0ccc6ap+3, 0x1.b8c253809a8c1p+2 +0x1.0bb5ecc809e84p+2, 0x1.0133a13017879p-2, 0x1.1e30bd104b652p+3 +0x1.4006a0a1ae2f2p+0, 0x1.3cb8e115f66c4p+1, 0x1.35854b6ec2956p+3 +0x1.eedd9a67a8d1cp+1, 0x1.0a08b3de9b248p+3, 0x1.1e9ce120a23dcp+3 +0x1.79a72e004c004p+2, 0x1.91a04bc00edc7p+0, 0x1.d8becdfc047dp+2 +0x1.392dff4b152fap+2, 0x1.596f92a9aa6e2p-4, 0x1.8af666d4a2ed3p+1 +0x1.802162dce505bp+1, 0x1.d91203224641ap+2, 0x1.a2e7c11c56d0fp+2 +0x1.ea20a9e1ff2bfp+1, 0x1.1ad1cd8cbfbe2p+3, 0x1.bb64e9f9709ebp+1 +0x1.ee02d39c86e85p-2, 0x1.a733eef0bd805p-2, 0x1.3e2147512e1e2p+3 +0x1.4225ec15b40f2p+2, 0x1.058577b26c56ap+3, 0x1.6ffc74952d0c6p+2 +0x1.3320ab6999928p-1, 0x1.3a194494b0d91p+3, 0x1.b1b9d482742bbp+1 +0x1.90833aa1a41p+1, 0x1.0d070f7bdb906p+2, 0x1.3711f88ee556bp+2 +0x1.def23afa2070ap+2, 0x1.f6c2cb788c15ep+0, 0x1.03db3e8a67622p+3 +0x1.573bbb72334b1p-2, 0x1.1d8a83abceb51p+3, 0x1.3f028e544adfcp+3 +0x1.180458108d4d5p-2, 0x1.20ea60b940d81p+3, 0x1.96db8f0bc55fcp+2 +0x1.18ba24c1d259p+1, 0x1.3ceffd13538cbp+3, 0x1.5948fd0852ddep-7 +0x1.f1913bd26b309p+2, 0x1.faf661382b824p+2, 0x1.199181ae06077p+3 +0x1.6dc49462d5fd1p+1, 0x1.c122e926e8654p+2, 0x1.6492c8e97dba3p+2 +0x1.ed2f07630b20ep-5, 0x1.9645eb70aaca1p+1, 0x1.482c8416a4fe4p+2 +0x1.0db5d890e3ea2p+2, 0x1.9da2447f8c852p+1, 0x1.2c66625670a91p+1 +0x1.52361d231d9afp+0, 0x1.8c69e2997da06p+0, 0x1.da151e087115ap+2 +0x1.2cdb640284e2bp+1, 0x1.bf9ab15fce34p+2, 0x1.6ec78bce8f219p+2 +0x1.f5422273a8687p+2, 0x1.87358425ce393p+2, 0x1.a5364fdd0ed4dp+1 +0x1.a94146c6f8ae5p+2, 0x1.312c1395828f1p+2, 0x1.3a3014e7b73a3p+2 +0x1.3261db54f0926p+3, 0x1.596efaab34f52p+1, 0x1.052b779a9903fp+2 +0x1.a27a3099c0cdp+2, 0x1.a95c25fb39469p+2, 0x1.06178eb91851ap+2 +0x1.1cae41fe6be36p+3, 0x1.67dd1bef4c922p+2, 0x1.a35466acbba6cp+2 +0x1.b8555e9cc9972p-5, 0x1.849163812de78p-3, 0x1.3caa5091bc046p+0 +0x1.4483e3c6db23bp+2, 0x1.21b45de2858bfp+2, 0x1.270890e35ff28p+3 +0x1.54d32f7c6e08p+2, 0x1.331eb5a3b832cp+2, 0x1.b38fedbe5a61ap+0 +0x1.33914d6013ebfp+3, 0x1.3ae1597c9f6bcp+3, 0x1.1079642e01d3ep+2 +0x1.ee6c6016501b8p+0, 0x1.f03441b518c92p+0, 0x1.fc3d36af4771dp+2 +0x1.738c170816e29p+2, 0x1.7383d4fa922ep+2, 0x1.69aa9351dfc05p+2 +0x1.1784c2e71342ep+0, 0x1.464730b5c8e33p+2, 0x1.f392a08907c2ep+1 +0x1.2794cb9bf7cfcp+3, 0x1.09e02a12d52e1p+2, 0x1.ca7733bbb1dc2p+1 +0x1.92b8e7e73d7ecp+1, 0x1.510cdc139046p+2, 0x1.07b55856b3fd2p+3 +0x1.55d3740da89edp+2, 0x1.abd0499bc5b94p+1, 0x1.c8fdeea8cc677p+1 +0x1.3a702384198e3p+3, 0x1.8668b6c271438p-2, 0x1.f2f4f88bb0759p-1 +0x1.2ad8074e72652p+1, 0x1.5d704ed918479p+2, 0x1.c9a98e3230738p+0 +0x1.122fc489c3597p+2, 0x1.669bbcbfceb0fp-1, 0x1.f6a78fd26825ep+1 +0x1.9987698b327d3p-3, 0x1.309902d3d8957p+2, 0x1.6fdd8f0a9dcb5p+2 +0x1.815a16ef973d2p+2, 0x1.0cb5a9e4c870fp+3, 0x1.a49ccb1d03005p+2 +0x1.f16a6740fc35cp-1, 0x1.43d75c619aa2ap+2, 0x1.b0f5f9049fa6fp+2 +0x1.228cdf65003a4p+2, 0x1.5e5c2c10b37d4p+2, 0x1.82d28187f491ep+2 +0x1.69be44acf08bap+2, 0x1.a999d162dea9fp+1, 0x1.5673f666f9f79p+1 +0x1.39a01691c3f55p+3, 0x1.173c50c1ad411p+1, 0x1.52131d1882631p-1 +0x1.3eb77d6f87bdbp+3, 0x1.79dcd1d889c58p-2, 0x1.0d19bcbf9ff8ep+2 +0x1.d1c0f0403eb9cp-7, 0x1.b4c94903b28c9p+2, 0x1.b474e7e9981d2p+2 +0x1.008a67014ee7bp+1, 0x1.1489017d81db6p+1, 0x1.26e31d93dd84ep+3 +0x1.3c00db4e009b6p+2, 0x1.dcc644eaf6fc1p+2, 0x1.b8d2302fa8e21p+2 +0x1.21dd8ae6297e6p+3, 0x1.47c7e5187ff94p+2, 0x1.4f87cd0b09191p+0 +0x1.1123b08b08e14p+3, 0x1.8904c7f10390fp+2, 0x1.0ad17ffadf743p+3 +0x1.fae7a83bdfdbcp+2, 0x1.4f875ba47bea4p+2, 0x1.91a1eea8dae59p+0 +0x1.34e8c7241b426p+1, 0x1.3db351bdf6806p+3, 0x1.babbc0959af41p+1 +0x1.e5c5f6c343dd6p+1, 0x1.927cdbceb06a6p+2, 0x1.ad3524258ffd8p+2 +0x1.f6a384fdef44p+0, 0x1.1f379d73bd253p+3, 0x1.4c0874d0bbe48p+2 +0x1.cbe359485301ep-1, 0x1.34f2bdb4edde8p+3, 0x1.6b418e1232aa8p-3 +0x1.01a0bf6a08d9bp+3, 0x1.3bd0fa3176e5fp+3, 0x1.a2adc57a0bb31p+2 +0x1.1b1853293b48ep+2, 0x1.1e9acecc03bdcp+2, 0x1.48be9ade0353ap+2 +0x1.c37708fb7e1adp+1, 0x1.f71c3219ed313p+2, 0x1.823e1af7fa2b8p+2 +0x1.89c15b8771c8p+1, 0x1.1f5917f021c8fp+3, 0x1.ac806de70edcfp+2 +0x1.fd7aeaea2930bp+2, 0x1.85cc43b76c1f2p+2, 0x1.e6ee3deb8724p+0 +0x1.db3026e156f7fp+2, 0x1.2b53b5bc5d8c8p+3, 0x1.5e023842d7a78p-1 +0x1.dc78180a173d4p+1, 0x1.678f7ecb486e2p+1, 0x1.ed2609ec95df2p-6 +0x1.3e401c8b11bd2p+1, 0x1.9300a7c9ea793p+1, 0x1.31ddc3f9bb0d2p+3 +0x1.e630353d37a1cp+1, 0x1.8846fefcbb71cp+2, 0x1.3f04c5ffcf3eep+3 +0x1.29b2775d31c55p+1, 0x1.57410afd9f4abp+2, 0x1.9335cf2419ba6p+1 +0x1.a6a88a8d356c9p+2, 0x1.024a858a086d1p+3, 0x1.4d1ae032a6ee9p+2 +0x1.250323de68f4p+1, 0x1.0eb8c241d600dp+2, 0x1.2c420b5fdc8fcp+3 +0x1.0b5dec45e283ap+3, 0x1.4dc81184a38dcp-1, 0x1.d2dcf5effec3cp+2 +0x1.19f0991280443p+0, 0x1.8e6435ee08fbp-2, 0x1.dd53fea332863p+1 +0x1.6b41aafec26e2p+2, 0x1.ddd271216315ep+2, 0x1.caf6a9cc8a8cp+2 +0x1.163b10ad8c29cp+3, 0x1.189124700cf65p+2, 0x1.27d68156474f5p+3 +0x1.99f7e5e620469p+2, 0x1.ec410991405bep+1, 0x1.f03307402c07ap+1 +0x1.c8c72e67a6c17p+2, 0x1.35348b6705daap+3, 0x1.abf90bf9ca6f5p+2 +0x1.470937ef1d62ap+2, 0x1.ef5353682de44p+2, 0x1.e7902248d4493p+0 +0x1.07d49868a8eb8p+3, 0x1.0c6042dead746p+2, 0x1.d28e804d15e3ep+2 +0x1.4eee3dd354f3ap+2, 0x1.20febc2811dc8p+3, 0x1.3dfbe3435c389p+0 +0x1.2d7fb603df115p+2, 0x1.2f59527c6f92ep+3, 0x1.2694628bd0d1p+2 +0x1.17db550319979p+3, 0x1.39674a6f98448p+1, 0x1.debfd971a39d6p+2 +0x1.26d264d221012p+2, 0x1.64f9cc9896fc1p+1, 0x1.d12a288734fd7p+0 +0x1.95335b0494076p+1, 0x1.0ae82b40a0835p+2, 0x1.08f47ea83c11cp+3 +0x1.ddf43769c364fp+2, 0x1.4698a738b0154p+1, 0x1.ceee51dd70fcdp+1 +0x1.f8a115f004149p-1, 0x1.b664827d4baadp+2, 0x1.496eda7fa22ddp+1 +0x1.d6ef461809f6ap+2, 0x1.31431bacd4c0cp+3, 0x1.2f41ab99ab5a4p+0 +0x1.355946aa2632dp+3, 0x1.2bcc93dccd772p+0, 0x1.258b7d984e513p+3 +0x1.506284ba7aa25p+0, 0x1.de271ea69511fp+2, 0x1.e62da9dac0f76p+2 +0x1.55253ec0ec0c4p+2, 0x1.c52c1f431d1a2p+1, 0x1.46b0d6d9f544ap+0 +0x1.02989f9642443p+1, 0x1.5fbb846e069dap+2, 0x1.e49f198ec7c4bp+1 +0x1.b81402318118ap+2, 0x1.67f33ab0af136p+2, 0x1.4c9b630e9d164p-1 +0x1.c6d1dbe5e68c3p+1, 0x1.b8d33d1dc9ae4p+2, 0x1.2736218b3832fp+3 +0x1.0523f15814652p+3, 0x1.08c345b2ab5fcp+3, 0x1.778fe600d268ap+2 +0x1.005be447f378fp+3, 0x1.3fca984f17d6ap+2, 0x1.2e206d24c9264p+1 +0x1.68750d4aa4786p-1, 0x1.0770ac8713ed8p+3, 0x1.748c801720af1p+2 +0x1.6c23b723eeebap+2, 0x1.14e51ccde4ffcp+3, 0x1.5121943f44159p+2 +0x1.6d0aeac5d39a6p+0, 0x1.3e36769cdb0cp+3, 0x1.60dd1a67ebe7cp+2 +0x1.9e4e72f64bc72p+2, 0x1.0cb083a9515dep+1, 0x1.48d89bcd9aa79p+0 +0x1.746282cc2933fp+2, 0x1.10cab8bced201p+3, 0x1.5169f827ad561p-1 +0x1.d83b6a4008c6cp+1, 0x1.af2e3fe657278p+2, 0x1.8a81c985f0408p+2 +0x1.1710b1f0a78e2p+3, 0x1.805369d117249p+0, 0x1.32691da3929fdp+3 +0x1.278ac324ac60cp+2, 0x1.19d0de2045469p+1, 0x1.0dd55cf43e8ccp+2 +0x1.b0df315c5c4a3p+2, 0x1.a1382e39842bap+1, 0x1.1d7c0d6c43906p+3 +0x1.591c2112a0644p-4, 0x1.046ac80918d45p+3, 0x1.2bebd770fa1c2p+1 +0x1.b155c0a4c7f1fp+2, 0x1.5816cfc22f025p+2, 0x1.325869b6debf2p-2 +0x1.edbfc29c6b5d7p+1, 0x1.56e1d2c0add9fp+2, 0x1.59ff1b202b5aep+0 +0x1.251c390358f18p+1, 0x1.023abe0fd168ap+3, 0x1.158484baee272p+3 +0x1.21e933848d54ap+3, 0x1.ad9c47735e088p-1, 0x1.249fe420ab1aap+3 +0x1.72fdeba6da093p+2, 0x1.e3c4870d4a1bep+1, 0x1.5a5f8fdebe675p-1 +0x1.8d486f171803bp-4, 0x1.58523c0854268p+1, 0x1.296563caa0118p-2 +0x1.b44bc9f8dd8a6p+0, 0x1.82e9c1960d00fp-5, 0x1.6bb36d5c73f7fp+2 +0x1.6b0a7b168173dp+0, 0x1.28f9c6b4b4198p+2, 0x1.2d50f7977d8c4p+3 +0x1.0d4785489e942p+1, 0x1.7aec0b184ba23p+1, 0x1.88ab81a84008dp+2 +0x1.5d5238a3070bbp+2, 0x1.4c258beedff51p+0, 0x1.41e515a51e6a3p+2 +0x1.028c8cbbc9344p+1, 0x1.c6142a30ef004p+1, 0x1.b05241678bbbap+1 +0x1.3205e7f679f28p+1, 0x1.cc02e9d72e852p+2, 0x1.2b28aeb53a876p+3 +0x1.3b68cf502cf46p+3, 0x1.f87e3f3a0da9ep+2, 0x1.0805cb7c8fe7ep+2 +0x1.0bd59c81ab2e9p+3, 0x1.74326f65a4448p+0, 0x1.8c599d51ea4efp+2 +0x1.0611f9713c6a2p+2, 0x1.2b3d2e69bc8fcp+3, 0x1.e873c864a1b92p+1 +0x1.ff81c227357dfp+2, 0x1.672b5ef644f1dp+1, 0x1.2da0becf78a15p+1 +0x1.1c2a21fdf4c84p+0, 0x1.99e1d3d472dp+1, 0x1.2b32c0fa0ceb8p+3 +0x1.41ba2fc551d4fp+1, 0x1.3b027024bc2b5p+3, 0x1.687a249623349p+1 +0x1.1c902a8d9df93p+3, 0x1.f183ebbec0968p+2, 0x1.5b3f8bd3da2bcp+2 +0x1.2221ebaf1f403p+3, 0x1.1c9726947b724p+3, 0x1.d44b212367bcap-1 +0x1.e5b3315f17d5ap+1, 0x1.998d5ddc822aep+1, 0x1.23b34b294913fp+2 +0x1.20577c29ac42fp+2, 0x1.039b170e44229p-2, 0x1.509c0e78931cp+2 +0x1.268c1738c2abdp+3, 0x1.d79a2a69ad5dap+1, 0x1.71219f315492cp+2 +0x1.6b49c9956e65dp+2, 0x1.dc61c85621cdap+2, 0x1.c695c5f53b40ep+2 +0x1.da047e51dd0d1p+1, 0x1.18a92c8ee30bp+2, 0x1.abf48f9a5f238p+0 +0x1.a88cb9c60c178p+2, 0x1.085680ab6365fp+3, 0x1.1a8180309edf9p+3 +0x1.2b0e643b70011p+3, 0x1.14642962fd1e3p-1, 0x1.7f533a05e3801p+2 +0x1.4d5a4ec3e8fdcp+2, 0x1.83dcd6ec89b34p+2, 0x1.1b441805bb7d8p+1 +0x1.f9e5b06157edp-4, 0x1.a230df95a3f6ap+0, 0x1.2a31527af3c52p+3 +0x1.0a09fad727438p+3, 0x1.25f5236107f6ep-1, 0x1.08bb895e06cfcp+2 +0x1.38f23cabde536p+2, 0x1.c6c81360818aep+2, 0x1.ff25b1e5e83aap+2 +0x1.3d2d5fbf31b08p+3, 0x1.b058beab472d7p+2, 0x1.0c1fce7aa01a2p+3 +0x1.1b2262aad3bc2p+2, 0x1.c9b86df4c9d24p-1, 0x1.e60b7058fe30fp-1 +0x1.a9a71a8b6c77ap+0, 0x1.f1ee487e49c54p-1, 0x1.843b8a1e39c32p-1 +0x1.6b09c02d58f78p+0, 0x1.d64c0511f1fd8p-4, 0x1.e88e61b6013aep-1 +0x1.30a7372750945p+3, 0x1.47cd919d638bcp+2, 0x1.85d5f20fb441ep+2 +0x1.26db078d1eed1p+1, 0x1.b765df9c9171cp+2, 0x1.32e0eab1dd024p+3 +0x1.6b77415c04831p+1, 0x1.24fb19be3dde6p+2, 0x1.128270b2fd5bap-1 +0x1.2edc541097f64p-4, 0x1.186acdf527878p+0, 0x1.27825a6a59145p+2 +0x1.4c5d909e6ff44p+0, 0x1.14c1538f0f3e2p+3, 0x1.28ff895e237b3p+3 +0x1.5489d2e11e859p+2, 0x1.a0679f226b0fp+2, 0x1.27db8027fe192p+2 +0x1.eab0126bc43b2p+0, 0x1.b653e6782b006p+2, 0x1.dcf1ac70f59fcp+2 +0x1.c1b96f96c2474p+2, 0x1.9748cbe0a802dp+1, 0x1.96e777695f756p+2 +0x1.c29406636ade6p+1, 0x1.3fa7f4b308007p+1, 0x1.7aa644b214eaep+2 +0x1.73ff7239e44d7p+1, 0x1.d2e60cf7db179p+0, 0x1.dca1057d78a2ap-1 +0x1.42899849eb67dp-1, 0x1.3ea65a86f0208p+3, 0x1.906ea5a0e4099p+2 +0x1.fd9efa906e41fp+2, 0x1.09f2cacf38b48p+3, 0x1.ecd541de5f394p+1 +0x1.0d0c83f369c68p+3, 0x1.e902ead29327ap+2, 0x1.121038cbbfe76p+1 +0x1.cc62949c88ff7p+1, 0x1.76bd1730383f1p+2, 0x1.c9ce870b940e5p+0 +0x1.77acc7bbce934p+1, 0x1.394762853ea0dp+3, 0x1.cfd036ff4a098p+0 +0x1.27803fe7502dep+3, 0x1.1c2c5ec30330ap+3, 0x1.5fa420152a282p+2 +0x1.4868bfa39f75ep+1, 0x1.2c3dd55092f74p+2, 0x1.5bc4bfcfeb0a2p+0 +0x1.14ebfa4c7a3e2p-7, 0x1.16862459c25acp-2, 0x1.067f7f742ba72p+2 +0x1.ba1d0affca14bp-8, 0x1.6d195524c4647p+2, 0x1.4d19b388dfa64p-4 +0x1.17c0abc40144p+1, 0x1.26b762f199b11p+1, 0x1.285854ada9cd8p+3 +0x1.dc8885d2c26dbp+2, 0x1.0652528d31cb5p+3, 0x1.a617720696754p+2 +0x1.5515b69f43853p-1, 0x1.cb0a7062fb3c4p+1, 0x1.8833d4a85876cp+1 +0x1.5afc6bbd4763bp+1, 0x1.cbecfbf65ee2p+0, 0x1.a77f964242d69p+1 +0x1.14d4f5e4feb1ep+0, 0x1.1367778284b99p+3, 0x1.16843cd22c9e7p+2 +0x1.39cc17bed4aaap+2, 0x1.31edf8820c8f9p+2, 0x1.6496719b6643dp+0 +0x1.7621411e0810ep+2, 0x1.3f3e5cbd5d53dp+3, 0x1.ecc751baa2961p+2 +0x1.ab3fd7b22837ep+2, 0x1.9e106162e3ad8p+2, 0x1.e0b9c45ad642fp+1 +0x1.85cdbf14e2296p+0, 0x1.783c4534a52d2p+2, 0x1.b51631dcc3a86p+1 +0x1.1da2e47437e5p+3, 0x1.b81191f64751fp+1, 0x1.1a913e7422dd4p+2 +0x1.77687087aa774p+2, 0x1.c9f08139be5cp+2, 0x1.5a2f9ed0bcb75p-1 +0x1.bd446069c565ap-1, 0x1.91570c21e0582p-4, 0x1.56dab9eb28304p+2 +0x1.84292923fe46ap+2, 0x1.0137db02318c9p+3, 0x1.2a0c58737ff86p+3 +0x1.3257904d9a537p+2, 0x1.cda9bf49d46f4p+2, 0x1.76300d7013e2cp+0 +0x1.3109d20419ad3p+2, 0x1.e8145d264e093p+2, 0x1.1457f659dc10cp+3 +0x1.fcbe582eaa424p+1, 0x1.69f8478a6541ap+0, 0x1.9237a6f545919p+2 +0x1.1abe8f2781bfbp+3, 0x1.01c415a61626cp+2, 0x1.eb96801401eap-1 +0x1.35354853a34e3p+2, 0x1.07679dbecf36dp+2, 0x1.d02a4f40f819dp+2 +0x1.882da94a4b306p+1, 0x1.2c06b4ca6988ep-2, 0x1.2db94d1a9e0ap+3 +0x1.dd3b8db48d702p-2, 0x1.b9e7d12556e47p-1, 0x1.d522dee04ac96p+1 +0x1.267984b2ec477p+2, 0x1.0834f849d6ffcp+3, 0x1.ed063b0a660f1p+2 +0x1.57abb8b3a2f65p+2, 0x1.a3f5bf1ce665cp-3, 0x1.e0c674abfa65ap+2 +0x1.5ac46d7915427p+0, 0x1.cfda96817789dp+0, 0x1.79848bbe86fc7p+1 +0x1.2cd016e7f3d57p+2, 0x1.31c649f5a323ep-1, 0x1.2a151840b32aap+2 +0x1.a1c7a3eef9a7cp+0, 0x1.62eb35b2242e6p+2, 0x1.875fe101e2f3p+2 +0x1.2767ac5f60964p-1, 0x1.94dbe2e3248ffp+2, 0x1.79165bc271d45p+2 +0x1.90f50d0e2c6dep+1, 0x1.c90dfff32f6fcp-1, 0x1.89f978fdc34acp+2 +0x1.4ef5313c5fd7cp+1, 0x1.47e20240e7876p+2, 0x1.9824abf5bbc02p-1 +0x1.3718a3e4d910fp+1, 0x1.77bf302b2af44p+1, 0x1.0a18310388a6bp+2 +0x1.819d516260639p-2, 0x1.1d126042703bcp+1, 0x1.e1276e8213255p-1 +0x1.de1b28c8a612ap+0, 0x1.dc7bdd497d597p+1, 0x1.45d42031bc912p+2 +0x1.074f1395976e5p+3, 0x1.08b636a5859e7p+3, 0x1.789696c6320cep-1 +0x1.83c10723fd513p-2, 0x1.d9e120a5e974p+2, 0x1.24494d8d63723p+2 +0x1.f0b0b5df5f23p+2, 0x1.891216ea4338cp-3, 0x1.76a065e3a800bp+2 +0x1.474424714dbb2p+2, 0x1.1c0f1b9ec53d4p+3, 0x1.43403c0293ce7p+2 +0x1.9bc44f59bf785p-1, 0x1.191ecba87fd64p+3, 0x1.8d5eae1e9c604p+2 +0x1.2542ec99f110bp+2, 0x1.5eded1d9b2e9fp-2, 0x1.47ec9e776b7a2p+1 +0x1.c2b819f8b6058p+0, 0x1.92a6dc97695bbp+2, 0x1.4f8c69418e22fp+2 +0x1.2ff3ef792f6cfp+3, 0x1.5dbd2ae1282a2p+0, 0x1.3fddc4a89ee3fp-6 +0x1.c63f4122e7ad9p+2, 0x1.604a73386996cp-5, 0x1.64422befd5189p+2 +0x1.4f76066e15a6dp+2, 0x1.88a53f8200382p+2, 0x1.d17eb1f4536c1p+2 +0x1.d8844c55eb5f6p+2, 0x1.80e2a30d324bfp-1, 0x1.44b8498222dfp+2 +0x1.3dff81b3e0755p+2, 0x1.01cdeddc89b5ep+2, 0x1.af37c335dd056p+1 +0x1.fdaa89e08f391p+1, 0x1.4512fbd1321ccp+2, 0x1.7d7bcc51a77dap+2 +0x1.ccebc20b0e8a6p+2, 0x1.94d7680bd904ap+2, 0x1.1be8dadac7463p+2 +0x1.8d8958aae45cp-2, 0x1.5f0a661d161ddp+1, 0x1.ef4105f70518ep+2 +0x1.5b16ec09f83fbp+2, 0x1.09f193e771f9bp+3, 0x1.3e26d7a087678p+3 +0x1.da283fd745167p+2, 0x1.6c66818869293p+1, 0x1.6ef36780df44dp+1 +0x1.3fb06a37ccc5ep+0, 0x1.78fda5ba7882fp-1, 0x1.01241ea1a07b6p+3 +0x1.ea9f75db48c62p+0, 0x1.e48bd86e97d7bp+0, 0x1.9570ca2a75396p+0 +0x1.1957d355c76edp-1, 0x1.e5174023c4794p+2, 0x1.fb9c114844aefp+2 +0x1.1ed52b63f084p+3, 0x1.2ac116a3f7dfep+3, 0x1.14d81cda587e4p+3 +0x1.a742cd0aaa57ap+2, 0x1.9228ce2e02b66p+2, 0x1.fac12e72ecc53p+2 +0x1.02f2eb2ca0347p+2, 0x1.135dd1f51bdd6p+2, 0x1.304e1333e1dc4p+1 +0x1.2363a00cf6721p+3, 0x1.0872c2b27d923p+3, 0x1.12f7d1b1798cap+0 +0x1.34a1ceffdfe82p+3, 0x1.0075409ab4f67p+3, 0x1.1ad92fff433f8p+3 +0x1.3a3382c5a4ca1p+3, 0x1.e5c2cf9ef2762p+1, 0x1.ff642f2dfe48ep+2 +0x1.0db129e04ebcep-1, 0x1.703916adda0e8p+1, 0x1.3f048d03cbba2p+3 +0x1.4eb1b52d396ap+0, 0x1.44c326982d353p+0, 0x1.de98741d5ea19p+1 +0x1.a35eaf0bdea9p+0, 0x1.cd38ebd9d68e1p+2, 0x1.da1c2df5ae44ep+1 +0x1.8ebbb635d27d2p+2, 0x1.2dab24b16f09cp+1, 0x1.3770c8a47dfd9p+1 +0x1.128f9214acd4ep+3, 0x1.87d1fa4d4dd8ap+0, 0x1.367d9978fe5a4p+2 +0x1.caffc5c05e4f5p+1, 0x1.f6503729bbbfep+2, 0x1.4cc1baf7d4d96p+2 +0x1.ce3bf15c86fb4p+2, 0x1.19b80ab9867a3p+2, 0x1.25c96654eebb4p-4 +0x1.e7f526bd87e75p+1, 0x1.e0e78f676c832p+2, 0x1.3b0334f09945p+3 +0x1.d04f7d0458e4ep+2, 0x1.beae1fba4c15fp+2, 0x1.733c403e7e8ccp+1 +0x1.bb11c80176456p+1, 0x1.f05acd91552fap+2, 0x1.ac22f1a46e1ap+1 +0x1.734bbe3029cbp+2, 0x1.0979cae1c6fa3p+1, 0x1.088b4e4b2e10dp+1 +0x1.e05151c45a844p+2, 0x1.42deb798e842ap-1, 0x1.23648ca6e0f82p+2 +0x1.8ddb729106be8p+1, 0x1.87c4389053996p+1, 0x1.373380718079fp-1 +0x1.39305e405ef28p+0, 0x1.8d40a5038c19fp+0, 0x1.26e6a5883d25bp+3 +0x1.a128cdcce9cf8p+2, 0x1.a5872abe1f8fep+2, 0x1.6e5fb0bca4953p+2 +0x1.236ea23106918p+3, 0x1.c39f50514673fp-3, 0x1.937a932432ffp+2 +0x1.c033b5300c727p+0, 0x1.2969ee0caf40dp+1, 0x1.0360a63758b88p+3 +0x1.4ec7935326ac6p+1, 0x1.cbab77823c6efp+1, 0x1.d428dbc8826fdp+2 +0x1.f6d76f26a18b8p+2, 0x1.5f70bd718bac3p+1, 0x1.135169d62cf82p+1 +0x1.0bfc0d59e93c4p+3, 0x1.bc1bdf0ec615cp+2, 0x1.10f1d8ae408b6p+2 +0x1.38fd968a82ea1p+1, 0x1.0a9b3de3d014cp-3, 0x1.5e68f4802e917p+2 +0x1.af326c88e9ee4p+1, 0x1.3964a85d5d823p+3, 0x1.cb58b0f75934cp-1 +0x1.9118973298a1p+2, 0x1.3a6c16b2a51f5p+0, 0x1.13c7ef648ed53p+3 +0x1.bda77ef563d45p-1, 0x1.dd4cb7b737f58p+2, 0x1.5eaa3d8a0d734p+1 +0x1.6011c9dccb0f7p+2, 0x1.263ffd726f1dp+0, 0x1.f0cd3361278b4p-1 +0x1.df43ce0c79d9p+2, 0x1.71a5bcccea5f5p+2, 0x1.33d1a4f48a352p+2 +0x1.28e0a03d6bc3dp+2, 0x1.a284e952c477fp+1, 0x1.c0ea902853344p+2 +0x1.c93ce8c164926p+1, 0x1.1ed142963ad45p+1, 0x1.3b25a54fdd286p-1 +0x1.8092d0d2e16eap+2, 0x1.25fa0783932cbp+3, 0x1.08a14dba703ep+2 +0x1.4442b7d24907dp+2, 0x1.22176e0b81d5fp+1, 0x1.193f1ebef034fp+2 +0x1.b0757ec853e8bp-2, 0x1.a7b1a37557d15p-1, 0x1.3c351b8e64bdcp+0 +0x1.f31092d42c383p+2, 0x1.255d6c16a43aep+2, 0x1.6692e17765bd7p+0 +0x1.bdd0db480c882p+1, 0x1.f018185062bb2p+2, 0x1.db2c88b1a2faap+2 +0x1.b38684b5a857dp+2, 0x1.1c69a16bbdf84p+2, 0x1.f1ad12ef0e89cp+1 +0x1.352a7fa35bdccp+1, 0x1.209222281e718p+0, 0x1.f041f448c206ap+2 +0x1.4d7e5e890c75ep+2, 0x1.197c6e288d474p+2, 0x1.c2a66ede3e9dep+2 +0x1.aef13318458e8p+1, 0x1.c8f453d79caa7p+2, 0x1.1e89009116e6p+3 +0x1.12783c638ba5p+3, 0x1.62399a13db9cfp+2, 0x1.3bb2b1b07016ap+3 +0x1.78401a84c550cp-2, 0x1.1829a5d11c1c6p+2, 0x1.22e43c1b68578p+3 +0x1.3d01d934f598ep+3, 0x1.244df6ceca5a8p+3, 0x1.7dc6018205956p-1 +0x1.5c6074f9c5082p+0, 0x1.ac4ac94a8f956p+2, 0x1.281f13cfebca8p-2 +0x1.f3c857d3219edp+1, 0x1.87c2ce71c9573p+2, 0x1.aa34a161362efp+0 +0x1.0f2cc79a731ffp+1, 0x1.0ec87ed8deb94p+3, 0x1.fc911d9909ef6p+2 +0x1.22d3aba5df8c9p+3, 0x1.cebe881b433c6p+2, 0x1.fda7f20247699p+2 +0x1.032607e823d9dp+3, 0x1.3062728ca1622p+3, 0x1.4e2651fe5635ep+0 +0x1.ff3378a7244bcp+2, 0x1.30391775f0c53p+0, 0x1.8e9dc591a7f38p+2 +0x1.34bcbb8107c35p+3, 0x1.e8e561dd1c172p+2, 0x1.0f0b9dd9488e2p+3 +0x1.3f32635f8a029p+3, 0x1.1c7e5b44692bap+3, 0x1.cd3b7aee1988ap+2 +0x1.3a172a95c3ddp+2, 0x1.0761dbe3b1b5cp+1, 0x1.99b444c253a52p+1 +0x1.80ef22e1838dfp-4, 0x1.8f64c93b651bdp+2, 0x1.275081e7fbaeep+2 +0x1.d76642ee073d9p+1, 0x1.34ea0808ad703p+3, 0x1.642a6b0e9b9b5p+2 +0x1.5d0f397758f2fp+2, 0x1.10ed931a8d01fp+3, 0x1.3dadddbc735dep+2 +0x1.232c9842de686p+3, 0x1.92c0f61ce2d57p+2, 0x1.03f750472621ap+2 +0x1.e525f0462d296p+2, 0x1.2efee87ac6be8p+3, 0x1.970d6aa9100a8p+2 +0x1.c8349cd6cbd4bp+2, 0x1.3ed25ee08edddp+2, 0x1.4e55bc88024f1p+2 +0x1.16d75e46208b1p+3, 0x1.168e8b0924a7dp+2, 0x1.52e14fe337a3ep+1 +0x1.dc4a20ceaf70ap+0, 0x1.3efb44fa67d5bp+3, 0x1.3380ce08ca4cap+3 +0x1.996cebf3cd8bp-3, 0x1.1d6f01bf1e7ecp+0, 0x1.7dd9f5b4bbf24p-1 +0x1.5018533a71894p-1, 0x1.f60dd26f183a7p+2, 0x1.00c6102bbf40cp+3 +0x1.2ee552fb06892p+2, 0x1.9c0cdb8567fbep+0, 0x1.301819d8a9518p+3 +0x1.47869a521638ep+1, 0x1.ddbcb974366b6p+2, 0x1.8b68170ab17eep+2 +0x1.35b6478468df4p+3, 0x1.950d8585242dap+2, 0x1.038b7fa7e4cc2p+3 +0x1.0d97d76683c8ap+2, 0x1.dceb0fbf16e43p+1, 0x1.727d9b06fb635p-2 +0x1.4757cf8326d2fp+2, 0x1.0a8bad094bfcep+3, 0x1.9dcff3db7bb3p+2 +0x1.e726aeebc08p+1, 0x1.23d3c60298e1fp+3, 0x1.d71b8dedec138p+1 +0x1.2352c21d561bcp+3, 0x1.58a1dcd4d73ffp+2, 0x1.63ce31145b4c2p+0 +0x1.3857b91c9f5a5p+3, 0x1.fe938405554adp+2, 0x1.35ded1e2fcd77p+3 +0x1.81bc72a05436p+1, 0x1.0ea07c52a3603p-1, 0x1.f6e28be2e97f1p+0 +0x1.52a2651cc092ep+2, 0x1.f09fd97e3b474p+1, 0x1.d938cc3df2f82p+1 +0x1.d45a38a257ecp+1, 0x1.a834ded565916p+2, 0x1.a4f7e5cbb1299p+2 +0x1.11e09280d86e3p+3, 0x1.b8596b7f1c15dp+2, 0x1.9c11171629462p+2 +0x1.50693e4938552p+2, 0x1.752afd6a4b0cp+2, 0x1.731aa800b47c4p-1 +0x1.5dadc9da1cc19p+2, 0x1.859069669e4eap+2, 0x1.a3f5460236a7ep+2 +0x1.d06e427b13e49p+0, 0x1.6bef8397e351p+2, 0x1.0f0d53e26c69fp+3 +0x1.a46bd8198ca24p+2, 0x1.2b4e7c79f4c8ap+3, 0x1.284b994cb93fap+2 +0x1.7f6040d477468p+2, 0x1.6ef10a7ec134p+1, 0x1.7dfc2916827e6p+1 +0x1.19c92344ea946p+2, 0x1.a7562cc4d394p+1, 0x1.df85f7c0f3e82p+1 +0x1.78b75553d635fp+2, 0x1.5b3b7fef4a768p+2, 0x1.1d790c1280536p+2 +0x1.3391e41deb488p-3, 0x1.d3400879a6c12p+0, 0x1.7021614ab2e97p+2 +0x1.23a67b84f25b1p+0, 0x1.0f9b4401999cfp+3, 0x1.89ac2a44d73f4p+1 +0x1.fb88bda1daf94p+1, 0x1.8ca763f7b06cbp-1, 0x1.3e806157fbef8p+3 +0x1.0e5b703387b98p+3, 0x1.2062eecd8845p+3, 0x1.40d8f211f9177p+0 +0x1.f1877988f0df4p+2, 0x1.9cc5e963d72a3p+2, 0x1.7ef75a0c77022p+0 +0x1.b32c82838ec2cp+2, 0x1.0ce6287d5af46p+2, 0x1.050e50f4b5b9ap+3 +0x1.ea97066961c74p+1, 0x1.a49209f568416p+1, 0x1.81ac7a570032dp+2 +0x1.7764bdfed8dfap+0, 0x1.d8878e6f6d277p+2, 0x1.ac6fb39337d6ep+1 +0x1.90c10f7fd28fdp+1, 0x1.67dbde8cbf1edp-1, 0x1.ed1ab72a0951fp+2 +0x1.e370610e90f76p+1, 0x1.3a06e169a8463p+3, 0x1.f9d576f121889p+1 +0x1.12c5dde0f4bb8p+3, 0x1.f39c59fb34ep+2, 0x1.8e0fd1f20625cp+1 +0x1.7c81bcd786faep+2, 0x1.6f97c1e3cbbe9p+1, 0x1.1152cd7ae5099p+3 +0x1.45f16e3c6d3fap+1, 0x1.ff4ab286be607p+1, 0x1.0c0c983a58183p+2 +0x1.5bb846559b143p-1, 0x1.14c8215b9fd81p+3, 0x1.066c44eef2777p+3 +0x1.ce53b90f841b6p-2, 0x1.66ea2f45508e1p+0, 0x1.c36a32bd0376ap+1 +0x1.12c9362bf42bdp+2, 0x1.5177d762edb1ep-2, 0x1.51d5d8d86f61ap+1 +0x1.15f125132a21fp-4, 0x1.fc8b6c5944e17p+2, 0x1.007556b69f0ep+3 +0x1.2e2266f40f63bp+3, 0x1.7d40bdb7ac271p+0, 0x1.b768561f22e01p+2 +0x1.71a3bd7a23c83p+2, 0x1.1c3bacc3b1f4dp+2, 0x1.422e502b322e3p+2 +0x1.16e77a245681fp+2, 0x1.4dc8d7eac432cp+2, 0x1.1a9b2fa7f960dp+2 +0x1.92a292ddeeafbp+0, 0x1.0a1276c8c7ac2p-1, 0x1.3b72585a8d4ccp+0 +0x1.508be53519988p+1, 0x1.3aea1863c1c81p+2, 0x1.899b8230312bap+0 +0x1.df81e66d8ca6ap+2, 0x1.71a03ee41a332p+1, 0x1.4a0218b14444p+2 +0x1.8d4de7d57d87ap+2, 0x1.be08bedeabf2ap+1, 0x1.08ebf292d908cp+3 +0x1.0643ffb2f3939p+2, 0x1.e398778a6d955p-1, 0x1.34289867fc02ep+3 +0x1.14ff06227d2ccp+2, 0x1.e5b5714fbdea6p+1, 0x1.41ac064ad03eap+2 +0x1.c195a4e4279aep+2, 0x1.af2bc54dba91p+2, 0x1.e876c28137782p+0 +0x1.03687450e04a2p+2, 0x1.f6a9b1e581b39p+1, 0x1.3bd8fec5ced84p+3 +0x1.1d50889219abp+3, 0x1.7bfe09281987ap+2, 0x1.30cee999da4dp+3 +0x1.564f2c444b4c4p+2, 0x1.1ab0c3095e4fcp+2, 0x1.30432b0b6ca65p+3 +0x1.517373eec90ffp-3, 0x1.3c9d3fc321856p+3, 0x1.1cee1bf07f42ap+2 +0x1.58efb7cc9b4d3p+2, 0x1.0db1802944426p+3, 0x1.67739a761e6ecp+1 +0x1.e856e4713886p+1, 0x1.7313d0280db9ap+0, 0x1.6d87a19d9e16ep-1 +0x1.27bdafa9c27d4p+3, 0x1.0f3e13283fca7p-2, 0x1.a8aa30abce994p+0 +0x1.16ba564bf5dfp-1, 0x1.9be74c3f8768p-3, 0x1.4069939246d04p+2 +0x1.92f02b8fb2b6p+1, 0x1.0c5be68bc176ep+2, 0x1.852af894dff95p+2 +0x1.2a21c68689225p+1, 0x1.3a4975ca75221p+3, 0x1.240f11f5802f3p+3 +0x1.1584c95682f2ap+2, 0x1.ded5bb06d085bp+2, 0x1.52ca346b62eep+1 +0x1.271d123eaad3p+3, 0x1.10c2df62a0f36p+3, 0x1.0aaba7f148d1ap-1 +0x1.2d8d3e9881134p+3, 0x1.32eb032d1a5dep+1, 0x1.393ca92f0fc06p+3 +0x1.b13570ee1fb67p+2, 0x1.e3384c6847595p+1, 0x1.85f54bc79a0d9p-6 +0x1.b2237bb1a8c66p+0, 0x1.03108dfe916e8p+2, 0x1.1334899129428p+3 +0x1.2442932fdfffdp+3, 0x1.125045751b14ep+2, 0x1.4a6a9a29302b2p+1 +0x1.c9fe17567647cp+2, 0x1.5e0684e4115b5p+1, 0x1.6076f4665078fp+2 +0x1.6775f06107534p+2, 0x1.9ac3205ba44dap+2, 0x1.f5fb19147a5bbp+2 +0x1.16bbff9fbeeadp+1, 0x1.1b07bcea281f1p+3, 0x1.3bac711783471p+3 +0x1.216ef7783175p+0, 0x1.9405a7eea9d77p+2, 0x1.42d73a6877632p+0 +0x1.e57bc1d9caf9ep+2, 0x1.2b273c4a99ac2p+2, 0x1.02658322289f1p+3 +0x1.5973ca5638d84p+2, 0x1.2ba8698277cf8p+3, 0x1.1bce4248bad18p+2 +0x1.ed7e889ea95e3p+1, 0x1.6bc207af7ff62p+2, 0x1.b28f1e409b2bap+2 +0x1.9bdabef50e22cp+1, 0x1.4d4c07b4bab71p+2, 0x1.27623274b9e51p+3 +0x1.18b66677d2087p+3, 0x1.ef8966deecdc9p+2, 0x1.c4ee64ba38c4dp+2 +0x1.231b37ea7cc5fp+0, 0x1.a771c25c329ebp+1, 0x1.2afaf7c9ec5a4p+2 +0x1.94fdd69384c39p+1, 0x1.140209dd5601p+2, 0x1.101dc2bfef7dfp+3 +0x1.ec6dea2004a36p+2, 0x1.23e644a871ca2p+2, 0x1.1da0ac5d5080ap+0 +0x1.251a535800275p+3, 0x1.1952b2ede789p+3, 0x1.2801d1149df92p+3 +0x1.08737cc2ef398p+2, 0x1.bbfc8e740561ap+2, 0x1.72b105d2e8652p-2 +0x1.fb2a7edfdfa63p+2, 0x1.38a2b3a5b6fc4p+3, 0x1.1517105901374p+3 +0x1.15bf6fced395ep+3, 0x1.d000fdfd5e5c5p+2, 0x1.6ea7235ac89b8p+0 +0x1.eaabd2d596174p-1, 0x1.399a1f5b78dc9p-3, 0x1.1d96191adb13dp+3 +0x1.6f49c57bb296bp+1, 0x1.c8a41301bf73cp+2, 0x1.3f28e4f5fe409p+3 +0x1.85efe9c28e74p+2, 0x1.042fbbbd49075p-5, 0x1.659579e268359p+1 +0x1.b71299afe180cp+2, 0x1.5ca33f07d79cdp+1, 0x1.90a462f2d779p+1 +0x1.5fb84a326a5d1p+2, 0x1.aaaab0be59ff5p+2, 0x1.375f7dae71436p+2 +0x1.2ced3d184cbp+1, 0x1.7639d14692293p+2, 0x1.2496e452eb83p+2 +0x1.2f8066f166b2ap+3, 0x1.dc5da08b0fd34p+2, 0x1.5e9ec2d58ed8bp+1 +0x1.7fba2a228134dp+2, 0x1.172081608148p+1, 0x1.8fbc49eb9a66dp+1 +0x1.3428f14b5ca05p+2, 0x1.3cadf5d952102p+0, 0x1.2a6dca8ffe717p+3 +0x1.624e195da6604p+2, 0x1.3322c8b91993cp+2, 0x1.11954f6e43c09p+3 +0x1.c048b2f7a8138p+2, 0x1.f8f1a6a68eb9p+0, 0x1.c41337f9d586ap+2 +0x1.59334aad4d6fp+1, 0x1.3f5692cc84667p+3, 0x1.074c3c4228516p+3 +0x1.ce17122209ad4p+2, 0x1.21e9c75ac2f14p+3, 0x1.205383c5489bfp+2 +0x1.a0c2b9a5596fp+2, 0x1.0ac5a700c4942p+2, 0x1.2f248d4d80559p+3 +0x1.26cfd14e1af8ep+2, 0x1.d1ed8555d4f8cp+2, 0x1.99cf7ebaed6b8p+2 +0x1.f6907feb189d6p+1, 0x1.ae751e7465e3p+1, 0x1.fb7b6007d05aap+0 +0x1.2dd62f59ebcadp+3, 0x1.35c0cb54fdc64p+1, 0x1.5256f85d07102p+1 +0x1.62bbd7eab2887p+2, 0x1.e910ca567e9d8p+2, 0x1.2efab9bc871cbp+3 +0x1.c59af4344f8dcp+1, 0x1.29f4ce8737e99p+3, 0x1.04bda5c3fced4p+3 +0x1.f75fe1864cc28p-2, 0x1.a4f95882f7cacp+0, 0x1.32179a19429p+2 +0x1.a4e8109c620e2p+1, 0x1.439ea74204d9cp+0, 0x1.2dc11d6e324e3p+3 +0x1.38e99e659fa33p+3, 0x1.0ecc03a342be5p+3, 0x1.eb396242fc8bcp-3 +0x1.56d93a0491f52p+1, 0x1.20d359df630a1p+2, 0x1.646af0e377cf8p+2 +0x1.103ee72ce92f2p+1, 0x1.9b0e47d1b7548p+0, 0x1.6452e51561258p+2 +0x1.2d7160610d425p+2, 0x1.a4a1e8af5ca4fp-1, 0x1.1154b0905935fp+3 +0x1.44925655d69a7p+2, 0x1.71ed652cb2998p+2, 0x1.37a45e8e9fb12p+2 +0x1.9e9a780c41d4dp+2, 0x1.0c1bd13e349b3p+2, 0x1.14f7156080575p+3 +0x1.f54eadfd38ad6p+1, 0x1.d07766f6e46c9p+2, 0x1.3a1903d31789ep+3 +0x1.108174588735p+0, 0x1.045e99a0c4f1ap+3, 0x1.7011d90abfbcdp-2 +0x1.9a80100d12202p+0, 0x1.e169305fd77c1p+0, 0x1.a208ef4dc37fcp+2 +0x1.c024830094b4ap+2, 0x1.625d86a10aa02p+0, 0x1.96d30a384ad1dp+0 +0x1.605b43d0c6cdp-2, 0x1.2443cadfade4bp+3, 0x1.89bdb982ac5b9p+2 +0x1.7c31ee3d727c8p-3, 0x1.1707eb194f693p+3, 0x1.6fd29e99a8e66p+2 +0x1.ad07639fba256p+2, 0x1.7af6e03ffceadp+2, 0x1.3629c53b5e099p+3 +0x1.c4eb898ab5943p+1, 0x1.4ddc8dacc77eap+2, 0x1.32d72766cabc8p+3 +0x1.19eb3ffbe00b9p+3, 0x1.bab5d5d2948b8p+2, 0x1.ba5445c660c5p+2 +0x1.20736ae82a8e1p+2, 0x1.39a5fee6e91dfp-2, 0x1.20c37d626713dp+2 +0x1.3d61cf747ba9cp+3, 0x1.7473b29210d15p+0, 0x1.40a6816c5e9dbp-3 +0x1.3fac257b84541p+3, 0x1.7c43b0e3009cp+2, 0x1.8ad5d7d1080fcp+2 +0x1.97cf4a0431c92p+2, 0x1.214c10e4816b1p+2, 0x1.1b68adfd04c4bp+2 +0x1.e1701578157b4p+2, 0x1.76dcabf73153fp+0, 0x1.960d9dad74d26p+2 +0x1.1337f48631faap+1, 0x1.9a34feeef09ddp+1, 0x1.09b469f561f75p+3 +0x1.69f9dfb3788f9p+0, 0x1.61c21f5bc8e22p+1, 0x1.f1a1bb8e6b6f6p+2 +0x1.619ec15de4292p+1, 0x1.822408d22d072p+1, 0x1.9bec7d12ee4dbp+1 +0x1.2f4e1abb9b514p+3, 0x1.05eee8149886fp+1, 0x1.40ddc3be58a39p+2 +0x1.f335f60c1bdp-9, 0x1.ef1db0826ba03p+2, 0x1.c901c4c3dd11ap+2 +0x1.196102357d88dp+2, 0x1.471989307e1acp+1, 0x1.6be208f3bfefep+1 +0x1.dc9ed6f5ebf2cp+0, 0x1.3ccdc9a190443p+3, 0x1.b1f0f70de82e8p+0 +0x1.7a0043ec7e2cdp+2, 0x1.bfc57d16f1775p-6, 0x1.33d6e1726a596p+2 +0x1.020c3d2da474ap-2, 0x1.0859e20393becp+1, 0x1.ab492f7194821p+0 +0x1.1572b74987926p+3, 0x1.3313f558ed5bcp+3, 0x1.525e941700e74p-3 +0x1.ba57b83d49438p+2, 0x1.37f733b16d18p+3, 0x1.d410b20ae9042p+2 +0x1.2541864e75047p+1, 0x1.1c6d3073555p-6, 0x1.735f23dd02bdcp-4 +0x1.f9799fe61a2adp+2, 0x1.cf619abe3ebd4p+2, 0x1.d4256663a53e7p+2 +0x1.321c54e97ceb8p+3, 0x1.0c98ce51a6252p+1, 0x1.dba43f492c874p+2 +0x1.93f2ddfe16844p-1, 0x1.afce064a8f81p+1, 0x1.3f5311c78fea2p+3 +0x1.07645234099c5p+3, 0x1.20d8ac0649f27p+3, 0x1.3d7b5e879ae75p+3 +0x1.64103df1c970ep-2, 0x1.8dea146a5c32bp+2, 0x1.045ce53c8db4bp+1 +0x1.3bac97709054p+2, 0x1.c49e989feb1edp+1, 0x1.e6bb3719a1dc1p-1 +0x1.13269bbfd4befp+1, 0x1.200201fce1628p+3, 0x1.dbfbf66d8c569p+2 +0x1.fe1653289a03dp+1, 0x1.7d8ea28aab46bp+2, 0x1.fa1b55d92041ep+2 +0x1.b81fb7cce732ap+2, 0x1.9eec2bf5cca7ep-3, 0x1.12de6873a3218p+2 +0x1.3f1ca1d7dc0dap+3, 0x1.c60f68815466bp-1, 0x1.3031548657d65p+3 +0x1.c7be4c641c041p+2, 0x1.0f782dd74e0a6p+1, 0x1.0a4fca3f92b93p+2 +0x1.598f26dd16d12p+1, 0x1.fdaf5da6c4fb8p+0, 0x1.306deb4ac98fdp+3 +0x1.fdab7f24d1d83p+0, 0x1.8677b0fe43734p+0, 0x1.42106ae6e87eap-1 +0x1.2885a531326cap+3, 0x1.5ee03d80346b2p+1, 0x1.cac8f915cdf88p+1 +0x1.427820bd0b0d3p+2, 0x1.3911b475b768ap+3, 0x1.bf29a0b46c246p+2 +0x1.0f63ba86e57e9p+3, 0x1.7ca33f0d0a0bp+2, 0x1.5e07331b57b6bp+2 +0x1.b153aa7aec98cp+2, 0x1.58083c36d8b8fp+1, 0x1.32ee21d4d7d3ep+2 +0x1.50e7ea05499cp+2, 0x1.2d5175a156bf6p+2, 0x1.21ea3a4f20384p+3 +0x1.d47da0c758774p+1, 0x1.89fae0ef6d54cp+0, 0x1.b4db157ac3939p+2 +0x1.5698d3542a9b4p+0, 0x1.399f25d5b5c3bp-2, 0x1.a9c50618c3db3p+2 +0x1.b55e6f817bf7ep-3, 0x1.1efb39a6682d8p+3, 0x1.e7327e236075fp+0 +0x1.6f66030a17a8ap+2, 0x1.5cca951da0846p+2, 0x1.17e6f1b9b8e89p+2 +0x1.2e3a4ebc1aceep+0, 0x1.81414486e94dcp+2, 0x1.bc7be052fdf62p+0 +0x1.42a854c287bc2p+2, 0x1.c98d504f0f789p+1, 0x1.3ac4e2e514292p+3 +0x1.0d912b21d2998p+3, 0x1.85c7df99da4b4p+2, 0x1.33db2c45791b3p+3 +0x1.96c3be2fa1a55p+1, 0x1.4716ea1ed202bp-1, 0x1.70b4c6d25cb33p+0 +0x1.48d76e6f3dcfap-1, 0x1.4ba12aae979f3p+2, 0x1.f9b8fe52fcf76p-2 +0x1.d607a78ff1946p+2, 0x1.197d2b72a651cp+3, 0x1.07cdb1af1ea5p+3 +0x1.3efba465966c1p+3, 0x1.f81b774a9cf06p+0, 0x1.07906b7b05c9fp+2 +0x1.36a2f88bba799p+2, 0x1.9a9723e72b338p+2, 0x1.9952efc6e19c4p+1 +0x1.6965530296cd6p+1, 0x1.4247482f48ca5p+2, 0x1.508d0181bab6ap-2 +0x1.078d7eb40761cp+3, 0x1.071d718b5f48bp+1, 0x1.d9eb108d863c4p+2 +0x1.ca53afcd7ccbp-2, 0x1.3a96540fb372cp+3, 0x1.3e6954cc3b84ep+1 +0x1.30e6d6d16cd68p+2, 0x1.97863d20862b5p+1, 0x1.9b6905ce7cca6p+1 +0x1.fa55348827d3ap+1, 0x1.b6f9fcc05379cp+2, 0x1.c6e50df053b84p-8 +0x1.14f97bd5d47f1p+3, 0x1.81f08f22b6629p+1, 0x1.3c34e2269e87fp+2 +0x1.6d00541cfab4ep+2, 0x1.f8496c4ccfdc7p+2, 0x1.145cde8d64ep+2 +0x1.ae31535989cfep+2, 0x1.677a0d741a6a8p+1, 0x1.215d5bb53f05ap+3 +0x1.370778ea28c47p+3, 0x1.0f6facedd2265p+2, 0x1.58b1f05af9e9bp+2 +0x1.f7c467d951de2p-1, 0x1.bbf8db3708877p+2, 0x1.60887169c082ap+1 +0x1.0840ce42f8956p+1, 0x1.29bdff955066cp+1, 0x1.bac791438bc33p+2 +0x1.23503c938c46bp+0, 0x1.3f4e15406e797p+3, 0x1.9560052579f42p+2 +0x1.2977782002f44p-3, 0x1.3e48a51c9bc8ap+3, 0x1.7cb3e1327ae4fp+2 +0x1.63263da5eb8f6p+2, 0x1.0bf92d2499d17p+3, 0x1.501e86db82c2cp+2 +0x1.1bcaf723085dbp+3, 0x1.f77754e70d18ep+2, 0x1.ee0584a1d2535p+2 +0x1.0cca16d759099p+1, 0x1.30e7189454eaep+3, 0x1.1bcfae5d222dep+1 +0x1.8adc231b4380ap+2, 0x1.34cdfcdd8b461p-3, 0x1.02a5248ebd31cp+3 +0x1.2d419f63dafadp+3, 0x1.1d51fd2e81036p+3, 0x1.1b6536180095dp+2 +0x1.c36b2ff6e5e5p+2, 0x1.36ec629da8755p+3, 0x1.c38ec75a57307p+2 +0x1.1dc69c33ba028p-2, 0x1.8419af073ec9ep+2, 0x1.887a70a85203bp+2 +0x1.df12d9987fd81p+2, 0x1.69bdbc19d1f53p+2, 0x1.e384938e3241cp+2 +0x1.9d40439253566p+2, 0x1.34ad1f9c0ad6ep+3, 0x1.79c7036009538p+2 +0x1.0435ca83ea7dfp+3, 0x1.3673968326074p+2, 0x1.665869e282262p+2 +0x1.83c9c7748ab1cp+2, 0x1.ab97622056814p+1, 0x1.2fe85460b3b47p+3 +0x1.87d3c02e08f01p+2, 0x1.6c4b278c155e7p+1, 0x1.beddf78bd16d8p+0 +0x1.b85907bcaf7b6p+1, 0x1.20fb989450052p-2, 0x1.d2ffef6ed1f33p+1 +0x1.0363ccf5ce92p+3, 0x1.d3da7d27cd008p+1, 0x1.7d0656e524b3ep+2 +0x1.e3438ec71226ap+0, 0x1.a7719025756f1p+0, 0x1.a12f5b3c434b8p+1 +0x1.25deee97da101p+2, 0x1.e7df875068532p+2, 0x1.20086eb86982p+1 +0x1.2fa4b432e60cap+2, 0x1.1d79a81b87f38p+2, 0x1.53ed9f56f0f44p+0 +0x1.0f33893f66436p+3, 0x1.b22bba30fd179p+2, 0x1.597a787e6cc3ep+1 +0x1.2051f4694223p+0, 0x1.b773028333c91p+1, 0x1.144f2ac4c977fp+3 +0x1.3c81a189a79a4p+2, 0x1.13eec425b7f73p+2, 0x1.d80c209f9717ap+1 +0x1.ce1c043f85f0ap+0, 0x1.618690d9e275ep+2, 0x1.f85d1e08c69f4p+2 +0x1.027895e2b42a6p+2, 0x1.35db80233eb94p+3, 0x1.d115f50aaacc4p+0 +0x1.b21caa0e4beb4p+2, 0x1.1ddb0620cf9e6p+2, 0x1.13330ef6cabcfp+1 +0x1.b129336ed4845p+2, 0x1.361d5b19fdeeap+3, 0x1.3e72b5bb895d2p+2 +0x1.2cc1397947b11p+2, 0x1.ad6addd87a4ap+1, 0x1.bc06a56584d0ep-2 +0x1.9505909d991cap+1, 0x1.ae684bd6f8776p+0, 0x1.7416cf88eac26p-5 +0x1.dce55324e0297p+1, 0x1.ae1812eeeebd6p+2, 0x1.ce052626e31acp+1 +0x1.7c363a17eeeeap+2, 0x1.c5856a8a662bep+0, 0x1.e4fe62b0e783ap+0 +0x1.3b90006205a83p+3, 0x1.e6ac27f88ffabp+2, 0x1.4df64cc0cbe5ep+0 +0x1.870d71249609cp+1, 0x1.0ef23119e8e0bp+3, 0x1.3313102f480e8p+1 +0x1.ef0cc6966eebcp+2, 0x1.8894bc09d57fcp+1, 0x1.b6f2d596acc71p+2 +0x1.f3475559fd7a7p+2, 0x1.0fdb21f877e07p+2, 0x1.3ddef5cf08684p+3 +0x1.3ab9eaaeccd86p+1, 0x1.78a767a0cfdfdp+2, 0x1.23fef2780e611p+2 +0x1.fac3b38d4a7cap+2, 0x1.6fc95ab35f9b8p+2, 0x1.5f3bd0387702fp+2 +0x1.3d8a718a8fd24p+2, 0x1.16516c6308f61p+3, 0x1.e1229d80d25f8p-1 +0x1.4d7099d5f593ep+2, 0x1.1ec6230410842p+3, 0x1.936d56a67a126p+1 +0x1.c4a14132087fap+2, 0x1.61b91160eb891p+2, 0x1.e6f15a8beca7bp+0 +0x1.abc990c198509p+0, 0x1.1038c0468e448p-4, 0x1.882bc3db6d60ep+1 +0x1.c124ecc86a62bp+1, 0x1.fee7680b0424ep+2, 0x1.508d1e147397ep+2 +0x1.14bd1bf0bc718p+2, 0x1.1c41bd1cbbfe4p+3, 0x1.2940815a7802ap+3 +0x1.e58563a5cf2dp+2, 0x1.96373d0b3a0bdp+0, 0x1.95c0b41208542p+2 +0x1.75dc6caf6623p+2, 0x1.323ebfad68d24p+0, 0x1.6f6069d52bc5p+2 +0x1.1d4a2109b068cp+0, 0x1.2a9c27820baf7p+1, 0x1.33a02c9587079p+3 +0x1.5a2e098caeba5p+2, 0x1.1934bbfb0065ep-2, 0x1.6ee13be262daap+2 +0x1.261b991704c88p+3, 0x1.286a2cb338804p+3, 0x1.a1b9fe9caf9a8p+2 +0x1.416db5c069922p+1, 0x1.098c9cc214aa3p+1, 0x1.9703c4103f6acp+2 +0x1.b94695f1ce4fdp-3, 0x1.4dd7f856c11ebp-3, 0x1.c1f342d2f9222p+2 +0x1.0da29e3cc6b53p+2, 0x1.d6ccf156588f6p-1, 0x1.ff2331eba04b2p+1 +0x1.3805be2687dcp+1, 0x1.1bb1f62ebb86ap+3, 0x1.3a23d1acd7a7ap+2 +0x1.cf413dce8e0acp+2, 0x1.7107f2d99057dp+2, 0x1.6e0179bc30df9p-1 +0x1.3cf65dcf5ba6ep+3, 0x1.656fbad106c4p+2, 0x1.5a0a2b7b96abep+2 +0x1.a9d5e90473f19p+0, 0x1.6abc61e289b31p-1, 0x1.8dea382bd4453p+0 +0x1.866d39363dc46p-1, 0x1.06c3dbf22beep+2, 0x1.191431d9d13c3p+1 +0x1.08d1d8edd3b35p+3, 0x1.5538bd7c509f2p+2, 0x1.6baa7f30a5004p+2 +0x1.128720ab3d49ap+3, 0x1.7869878b8ee13p-1, 0x1.3ec0b130d58ep+3 +0x1.a3648f76bfa1p+1, 0x1.d9a98ebaa3b5ep+2, 0x1.17720e2abd777p+3 +0x1.5edc4edb1ff89p-2, 0x1.ddba803f6310ep-1, 0x1.b892cf2cbc5a9p-4 +0x1.365796d1e5bf3p+3, 0x1.acaa722f6fcdcp+0, 0x1.0d95cae936d7p+2 +0x1.88bb7cf99147ap+2, 0x1.7381bea84c414p+1, 0x1.98b8f238c3b09p+2 +0x1.02de52cd90123p+2, 0x1.fd23803834484p+1, 0x1.7767412fb4536p+1 +0x1.071db367f2d34p+2, 0x1.2a7755155baabp+3, 0x1.f027dc3f3dfdcp+0 +0x1.03dd431dedde1p+1, 0x1.3a7fff6a3d1a5p+2, 0x1.c23a16682b89p-2 +0x1.b1b21c5388384p+1, 0x1.601fd96ca12ebp-1, 0x1.6fb3d9a36febp+2 +0x1.32bf83dcd23e6p+2, 0x1.e946b15e144aep+2, 0x1.7592d1d4c31b9p+1 +0x1.2bdd05130d38ap+1, 0x1.73fce5fcd7518p+0, 0x1.5e1f3ba240ae9p+2 +0x1.c6b79c5093aap+0, 0x1.c4df60ab84f7ep+2, 0x1.62c2c1e188acbp+1 +0x1.fadd782c8c356p+0, 0x1.cae7e4f176a66p+1, 0x1.27e374950e39p+3 +0x1.38ae10d53315p+3, 0x1.871493290782fp+0, 0x1.d41acbb24c4fcp-2 +0x1.b4f2c1aa31336p+1, 0x1.08d332e8fe9f1p+3, 0x1.1fed7bd1edcf8p-1 +0x1.001c607a51262p+3, 0x1.35741aa969adep+3, 0x1.0c0bd8a64a75ep+3 +0x1.f67094aa181efp+2, 0x1.f5e4f35dd5a56p-3, 0x1.2f2c540ffc517p+2 +0x1.54a688537912ep+2, 0x1.4d28ae6f49b4ep+2, 0x1.f1c333563fc78p+2 +0x1.6aa2bd09936b2p+2, 0x1.2f7d3cad073dfp+1, 0x1.77dbb8a5477e5p+2 +0x1.27c129002bf7dp+3, 0x1.de89a025cf4f1p+2, 0x1.c75662b40f298p+1 +0x1.d469f746a1387p+1, 0x1.52667ea8364bcp-5, 0x1.7818ba6fcd6a2p+1 +0x1.9835534d857aap+2, 0x1.0ac549b99a667p+3, 0x1.c3729965fa1dbp-2 +0x1.a98e2ce2c346ap+2, 0x1.2959b25fe65p+3, 0x1.182e6c5f97482p+2 +0x1.5abef7827ab42p+2, 0x1.059bd6d080c6ep+2, 0x1.6888a4ae7ee39p+2 +0x1.67f5b0e1dca6p+2, 0x1.ed2a827093309p+1, 0x1.01ba64f23a1cp-1 +0x1.77e658eac4f99p+2, 0x1.41ee11ce5a15bp+0, 0x1.b323a5a12e50cp+0 +0x1.40b6f014fdfc9p+2, 0x1.c9334c0d6d1cep+0, 0x1.bbf1ac3f1b1dbp+1 +0x1.2941e363503d8p+3, 0x1.a8fc2ce39ada5p+1, 0x1.1ab4178876b3bp+2 +0x1.918b7b8a5bb6ap-1, 0x1.1e5c9ab363166p+3, 0x1.1fc4e5ecc972bp+3 +0x1.24d5c3aeff413p-1, 0x1.e3650e8a331a1p+2, 0x1.b24a20d3ca7d7p+2 +0x1.f252b82edfefcp-1, 0x1.d35c124d4d02dp+2, 0x1.d6263e2b39671p+2 +0x1.67d422fa5f5e8p+1, 0x1.fdb7357c44fp+2, 0x1.da2a52b21b7bap+0 +0x1.19722e2d60fabp+2, 0x1.6824d3355a95fp+2, 0x1.d4423b1ade45fp+2 +0x1.14edce9edbp-1, 0x1.6bf0bf25874a1p-1, 0x1.213103832df92p+0 +0x1.fccfb7c3e664ep-1, 0x1.0f5242d77da2ep+1, 0x1.7ffc7e5b8df24p-2 +0x1.221f47aa9cde3p+3, 0x1.f06fe53e37262p+2, 0x1.1c012264c05cp+2 +0x1.58569c83acf1bp+1, 0x1.3938be0378641p+3, 0x1.929bd528dd52dp+1 +0x1.1f54be8b7b627p+3, 0x1.616c97da028d6p-3, 0x1.add77c4318cb8p-1 +0x1.18161ac89a8fcp+0, 0x1.2df02074f90e5p+1, 0x1.20c984de903cfp+3 +0x1.5f907cd155874p+1, 0x1.26ea42f949039p+1, 0x1.09c4595d62861p+3 +0x1.d67e115fd395ep+2, 0x1.293c8d2944fp+3, 0x1.63fc9f257d593p+2 +0x1.d345f3090d343p+2, 0x1.c3b1df8094e3p+2, 0x1.76cf63df20aacp+2 +0x1.00f2cc18b0336p+3, 0x1.1fdeb99bd438cp+1, 0x1.4d270d4aa4cdbp+2 From patchwork Thu Nov 13 12:58:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 124142 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EB786385840D for ; Thu, 13 Nov 2025 13:10:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EB786385840D 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=EDB6fTMm X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pg1-x541.google.com (mail-pg1-x541.google.com [IPv6:2607:f8b0:4864:20::541]) by sourceware.org (Postfix) with ESMTPS id 43F4A3858C98 for ; Thu, 13 Nov 2025 13:04:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 43F4A3858C98 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 43F4A3858C98 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::541 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1763039091; cv=none; b=SJ1GBfN18bVV/ymeBOtwvszrqe6hZhbntWyDFbIXmlD0O5jv3u1PTyOKFeGHgIFq8JPJcTQMScalA29o3q2DrzPFTlfAUh8n+VtUquIyxY0XUBKea8aAXVKrbXn4Tku+tIvC/xB5J5hXRVzBUn+gcHmC8ReiYKg5B4ZSFO0pV6A= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1763039091; c=relaxed/simple; bh=qQVkCDciqOXJ05X6CUb738TllM2lFE4n/3wuyvaHtks=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=eslb9nok2NipZtjmQ7DFC/jJ9ecP8lKlPahXyQOUxpAiOrcCWuW5xKk593CyrkKuBuYHf4S9MMGWIDk+OwfP7hVP7rf4tg2qnHacUAYSaUolQavWN8xVXUxQTxZ4arbRC5/qWDt+J+ffZN+HmQsPyCG0FYM1UYM5ZjLjg5lauNY= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 43F4A3858C98 Received: by mail-pg1-x541.google.com with SMTP id 41be03b00d2f7-bb2447d11ceso479407a12.0 for ; Thu, 13 Nov 2025 05:04:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1763039090; x=1763643890; 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=evJNEp0Xcsg2IXw7B6VYfZO9ujzkFVI+HEV4Ud4/7NI=; b=EDB6fTMmnDIq2DPqJQJzvEMx5UQ4GRE6YDJWLwbi05S34VvO5RkUAQxWEg/BugI0ZH s0VGeLlHw6VazI7Mw0HW0OjlXS/ObU5o0Wlf/Kia/CfyQYcSVAI9VkU0UO9imuLMnNv9 87eJXxRE0fcC/vq9jYrb481QZsJptHytetqcIOr6U8+XmX67+DtlsbRT3HOqSSY58cY6 4ZRTs8npCZ2KDyIqxECh9DZst3DVRFjHH11dU7FgDkAgsEbAcCUaz76yEUaxUxGoDPn+ pfGATrANTkp0Kfi2yoC5ySYJqUXgFi4QA8jGmu9vTcJDdw4dOtdmB1/qr4HocJk6NoaZ wPcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763039090; x=1763643890; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=evJNEp0Xcsg2IXw7B6VYfZO9ujzkFVI+HEV4Ud4/7NI=; b=OFS10mUM0kcrM2eLa8DmTv/pvuUyeUF7xX5fM4wQeO92GnXO+BDxfBgpPQ4IkKvf0c u+4jLI4mPTahR4kxTXdlqwZ/g2j+iapHq4Azh+sF/6Vrjej4PIZHlljD4dVo/rMqveSZ Hz3eU8bYFVoXO0YVtF7AVBp4zqA09K5sjRFw5yyZWwipXcHJxF7DYSzsMk4A+Wpxvjjp rkqfXMuwGZ8vjC6qRxmeJZtY4ouiV9z9/XfebmZM1ii17fQm3GAdEVmsZybMKgEmcrsC 8xno8+XG3luPGk16PvKVdG4IbH26x4jMhTpzcs6JSe3aTYsYMTqJ/JEAjKfnSQQmKsIr vuOA== X-Gm-Message-State: AOJu0YyVa4h/YMWXwFmERId3hIUPCTiUovRrpr49qxES82lzENdD06dm cjTteuLVFLwuljpvLfkL1BDuwjm03zpuxraOc7yn1EuiawpCKJpS/wxRTByrPvzYFBRb/X8Y0FE bdoyqyAG9wHhE X-Gm-Gg: ASbGnctGyc5FSTxYtumnEIh7Qk7PzsHeudia1G4L8ER7C0+In5pKOOcluw1btIDL2Hp OHubWbrsREbGmbmCrPBZSYpsaxjvnixsZyadOSFxffLzhoyrflKevdkc1WEgD5wTpJHuML58sWM z/GPnvhlYhF/KK6m2BWpky7Qmb1a3IGmfLaZUoWUrzbRLQy0z73Gg+b1AZex87yrgBw1dDMS6E6 8E/SgUCZKfD7cCnO8waR8Dbh1oIsut4X5c2ATvPgzTPDoWx8eo9z5dqKs/XzTZHNz1yIUywxn0i jcJ13GL5aEtu112bmFq1DQQjV6HHOrr8Y9YoduRfyBCN/++l6GRKIRt7XzCmn2kWMWDlDP/SOuS LJuv/ActJ+upw/7Odam0o5iznGaSOYNYi7loAT4mM7qJajm4WS8UQ2sP34I4MmLkSPbHuSTIvQi ewB3XwnPhIhWo= X-Google-Smtp-Source: AGHT+IEzZztVGjkTMLnJKSUol1GeQL1xm+crUH3BxNaePfP/Z2imHuhSghK9GJsp1u8AeQZ2RyjhxA== X-Received: by 2002:a17:903:94e:b0:297:dfae:1524 with SMTP id d9443c01a7336-2984ed45b64mr97154005ad.16.1763039089785; Thu, 13 Nov 2025 05:04:49 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c3:b4d:40f6:149e:b5cc:dca4]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2985c2cca00sm25155175ad.101.2025.11.13.05.04.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 05:04:49 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Wilco Dijkstra , Joseph Myers Subject: [PATCH 2/5] math: Remove ldbl-96 fma implementation Date: Thu, 13 Nov 2025 09:58:19 -0300 Message-ID: <20251113130439.2737851-3-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251113130439.2737851-1-adhemerval.zanella@linaro.org> References: <20251113130439.2737851-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org It is worse than the ldbl-64 version on recent x86 hardware. With Zen3 and gcc-15: ldbl-96 removal reciprocal-throughput master patched improvement x86_64 1176.2200 289.4640 4.06x i686 1476.0600 636.8660 2.32x latency master patched improvement x86_64 1176.2200 293.7360 4.00x i686 1480.0700 658.4160 2.25x Checked on x86_64-linux-gnu and i686-linux-gnu. --- sysdeps/i386/i686/multiarch/s_fma.c | 2 +- sysdeps/ieee754/ldbl-96/s_fma.c | 106 ---------------------------- 2 files changed, 1 insertion(+), 107 deletions(-) delete mode 100644 sysdeps/ieee754/ldbl-96/s_fma.c diff --git a/sysdeps/i386/i686/multiarch/s_fma.c b/sysdeps/i386/i686/multiarch/s_fma.c index 70d0afe529a..6dadb9439f9 100644 --- a/sysdeps/i386/i686/multiarch/s_fma.c +++ b/sysdeps/i386/i686/multiarch/s_fma.c @@ -38,4 +38,4 @@ libm_alias_double_narrow (__fma, fma) #define __fma __fma_ia32 -#include +#include diff --git a/sysdeps/ieee754/ldbl-96/s_fma.c b/sysdeps/ieee754/ldbl-96/s_fma.c deleted file mode 100644 index a9abf8f1de2..00000000000 --- a/sysdeps/ieee754/ldbl-96/s_fma.c +++ /dev/null @@ -1,106 +0,0 @@ -/* Compute x * y + z as ternary operation. - Copyright (C) 2010-2025 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 - . */ - -#define NO_MATH_REDIRECT -#include -#define dfmal __hide_dfmal -#define f32xfmaf64 __hide_f32xfmaf64 -#include -#undef dfmal -#undef f32xfmaf64 -#include -#include -#include -#include -#include - -/* This implementation uses rounding to odd to avoid problems with - double rounding. See a paper by Boldo and Melquiond: - http://www.lri.fr/~melquion/doc/08-tc.pdf */ - -double -__fma (double x, double y, double z) -{ - if (__glibc_unlikely (!isfinite (x) || !isfinite (y))) - return x * y + z; - else if (__glibc_unlikely (!isfinite (z))) - /* If z is Inf, but x and y are finite, the result should be z - rather than NaN. */ - return (z + x) + y; - - /* Ensure correct sign of exact 0 + 0. */ - if (__glibc_unlikely ((x == 0 || y == 0) && z == 0)) - { - x = math_opt_barrier (x); - return x * y + z; - } - - fenv_t env; - __feholdexcept (&env); - __fesetround (FE_TONEAREST); - - /* Multiplication m1 + m2 = x * y using Dekker's algorithm. */ -#define C ((1ULL << (LDBL_MANT_DIG + 1) / 2) + 1) - long double x1 = (long double) x * C; - long double y1 = (long double) y * C; - long double m1 = (long double) x * y; - x1 = (x - x1) + x1; - y1 = (y - y1) + y1; - long double x2 = x - x1; - long double y2 = y - y1; - long double m2 = (((x1 * y1 - m1) + x1 * y2) + x2 * y1) + x2 * y2; - - /* Addition a1 + a2 = z + m1 using Knuth's algorithm. */ - long double a1 = z + m1; - long double t1 = a1 - z; - long double t2 = a1 - t1; - t1 = m1 - t1; - t2 = z - t2; - long double a2 = t1 + t2; - /* Ensure the arithmetic is not scheduled after feclearexcept call. */ - math_force_eval (m2); - math_force_eval (a2); - __feclearexcept (FE_INEXACT); - - /* If the result is an exact zero, ensure it has the correct sign. */ - if (a1 == 0 && m2 == 0) - { - __feupdateenv (&env); - /* Ensure that round-to-nearest value of z + m1 is not reused. */ - z = math_opt_barrier (z); - return z + m1; - } - - __fesetround (FE_TOWARDZERO); - /* Perform m2 + a2 addition with round to odd. */ - a2 = a2 + m2; - - /* Add that to a1 again using rounding to odd. */ - union ieee854_long_double u; - u.d = a1 + a2; - if ((u.ieee.mantissa1 & 1) == 0 && u.ieee.exponent != 0x7fff) - u.ieee.mantissa1 |= __fetestexcept (FE_INEXACT) != 0; - __feupdateenv (&env); - - /* Add finally round to double precision. */ - return u.d; -} -#ifndef __fma -libm_alias_double (__fma, fma) -libm_alias_double_narrow (__fma, fma) -#endif From patchwork Thu Nov 13 12:58:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 124139 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2C8D0385841B for ; Thu, 13 Nov 2025 13:07:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2C8D0385841B 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=Jopp11Jp X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x642.google.com (mail-pl1-x642.google.com [IPv6:2607:f8b0:4864:20::642]) by sourceware.org (Postfix) with ESMTPS id DDE6F3858C74 for ; Thu, 13 Nov 2025 13:04:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DDE6F3858C74 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 DDE6F3858C74 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::642 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1763039096; cv=none; b=o+lB2qnwFKFPSFw8SdspnBP2JQzbESMEowCM5qjnM1oEItsgYNs1hTSLd64cC1B8VEooD2cIF/sVJegDQOFrGS6e+EynOOLtWdoR2G5qHOe3etOyghToQS+489arLNnNZaqd+SvSuKPgFUtoBMFUPfGAQaZV7eJkzeSO+dIz7Og= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1763039096; c=relaxed/simple; bh=sJlakfOg1+l2AZ/DUemAIQIuGSRBlu/Z1P8+9h4mr9Q=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=Cm9atI1xjthoXUxgUjCltwJlEFOgf662Habi67x4VdumPhqNf1Z5bU3z9Wa2SWCEVviU5/bHOZhENS4ntXVNMcVl76KPdDtu/blFRJWDp0XCIUUUNM+HwS7BWevV/K+rkiamefWlTvCdgQRFda2sIFA0kXm7d4tbgox+eB+fz6w= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DDE6F3858C74 Received: by mail-pl1-x642.google.com with SMTP id d9443c01a7336-29844c68068so6361015ad.2 for ; Thu, 13 Nov 2025 05:04:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1763039095; x=1763643895; 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=i1Y/4gKGLv4f4NBXzHZyVzuEOcksf0APonQrXX16Amg=; b=Jopp11Jp7r3A4kxCFe7Pp+yXB59ghItU+eTPw/XOVqNSHox7BPHFItg65XBHl6YUR7 dBs6F6vm8rJ5PajXKQiEZzhoGZBRzOUnVHTEWEVLh9phmgJ/JM7UkMN57nL9i5/PhK1v fzoXbO+CfWyQj8kKC4Xz9qS884IPJOVopOIHMBEoeg+AeXiWnh8L4HUhJu81pHQ0tjry NGxpHgWDDCH+tBMoS7YUG1x1mUu7rmmpMTj5JFTrAF9COnns60jYhujS2/mGeUTnxQmI ohOWUEV72CaSbKqiWZ6hYQ+Qjkmf5J9vXAHb8Tk5Sw23KcMfV5VFyA3b8kQZ+EVWDvJI ffKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763039095; x=1763643895; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=i1Y/4gKGLv4f4NBXzHZyVzuEOcksf0APonQrXX16Amg=; b=AezuCw4D9gSH4JzWIT9rRPKUWofwTfcMSwTODDBHWZHCRu9OMCTh6inyw+GQjHEs8y /wMk7iHs+XmLCx8ebLx4DWajJ9WLEEa0pEewIWvN8yUyMAglfERYkkABxvGiA4YV6Ku2 MAsFHc64WGDAxH8MWRJ2njp658I9wO/dx0UoWYyBsBrLE3IGoRSrnapMgQLaAh2wQhBd KyMHW1whFR3uavusJTr7y8iQEQkfFGX64e6zjIfBwboQUCp7EE5QXlLRXESxMpR+2bV7 lNHE29JPZl3JUsLgAggxmlcLc1Nu43U/TtUorvVQelCBLZnzBW1Dfg5KC9iMRdr4xoB3 kzsQ== X-Gm-Message-State: AOJu0YypKuZkxFdxGavSg/oogreNKoROXRPofTriHa5YWRTZXT9ambBu Q8sUqvPVE5Qi6i5nCf8VG5xMd5+j7ZBzwqxerN/M4jNsJDja1MRGxaXLigj2qVv0q1Tbn8GzvHS 29P1nFipZPLg7 X-Gm-Gg: ASbGnctpRxJ2W5kZ53MPPg59XC+3gYiB9r80tF81yE/I2FIx6NCchVTBQ/6jOHW7G4N qFI6s9gHEN7ZayseIAOva6s7ugrSp78NCqAVOkD1ZIyuOpcPjpwcWYJ/NPtTYd73DL+b/jByZYv m5yi0q6h2VdYQC2QHtTQ/NiUfdlCuPlE4tsklHRewTfQnYGi1zVVRK1uWvgOj23ZvHTm7iftSCL 7sXC4rNoZkV/YHeemHFb9yIX8K06QEKDQOjxT3v6EWqyQdgaMeOXuRIfXDGdRrv5DC8mmfLj9gD 2DB7hVNfcnJu5+LC4OnZQtY5J57/XvLoFd2ruXotrFF3qPZRuUP6KQKmJ3VQT0UPH9gSR+g4Zq8 qAb0qDHC/maVGDht4OcuCS670N0sp/07cqgAzNXhYh4lmXiKTn04MagOZCrbfqooY0BuNGkdWLn yVUTe6ZS7RAr7avtdK5XG/Qg== X-Google-Smtp-Source: AGHT+IETRL2S/gQtT+brmVdsXm/NmvqQy0ZEoJWxISodjVWYC5f+aVVe3KUw+XzpSJZUFsE3m5NBzg== X-Received: by 2002:a17:903:1a26:b0:298:2af7:8d26 with SMTP id d9443c01a7336-2984ede129dmr85482425ad.54.1763039094162; Thu, 13 Nov 2025 05:04:54 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c3:b4d:40f6:149e:b5cc:dca4]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2985c2cca00sm25155175ad.101.2025.11.13.05.04.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 05:04:53 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Wilco Dijkstra , Joseph Myers , Szabolcs Nagy Subject: [PATCH 3/5] math: New generic fma implementation Date: Thu, 13 Nov 2025 09:58:20 -0300 Message-ID: <20251113130439.2737851-4-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251113130439.2737851-1-adhemerval.zanella@linaro.org> References: <20251113130439.2737851-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org The current implementation relies on setting the rounding mode for different calculations (first to FE_TONEAREST and then to FE_TOWARDZERO) to obtain correctly rounded results. For most CPUs, this adds a significant performance overhead since it requires executing a typically slow instruction (to get/set the floating-point status), it necessitates flushing the pipeline, and breaks some compiler assumptions/optimizations. This patch introduces a new implementation originally written by Szabolcs for musl, which utilizes mostly integer arithmetic. Floating-point arithmetic is used to raise the expected exceptions, without the need for fenv.h operations. I added some changes compared to the original code: * Fixed some signaling NaN issues when the 3-argument is NaN. * Use math_uint128.h for the 64-bit multiplication operation. It allows the compiler to use 128-bit types where available, which enables some optimizations on certain targets (for instance, MIPS64). * Fixed an arm32 issue where the libgcc routine might not respect the rounding mode [1]. This can also be used on other targets to optimize the conversion from int64_t to double. * Use -fexcess-precision=standard on i686. I tested this implementation on various targets (x86_64, i686, arm, aarch64, powerpc), including some by manually disabling the compiler instructions. Performance-wise, it shows large improvements: reciprocal-throughput master patched improvement x86_64 [2] 289.4640 22.4396 12.90x i686 [2] 636.8660 169.3640 3.76x aarch64 [3] 46.0020 11.3281 4.06x armhf [3] 63.989 26.5056 2.41x powerpc [4] 23.9332 6.40205 3.74x latency master patched improvement x86_64 293.7360 38.1478 7.70x i686 658.4160 187.9940 3.50x aarch64 44.5166 14.7157 3.03x armhf 63.7678 28.4116 2.24x power10 23.8561 11.4250 2.09x Checked on x86_64-linux-gnu and i686-linux-gnu with —disable-multi-arch, and on arm-linux-gnueabihf. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91970 [2] gcc 15.2.1, Zen3 [3] gcc 15.2.1, Neoverse N1 [4] gcc 15.2.1, POWER10 Signed-off-by: Szabolcs Nagy Co-authored-by: Adhemerval Zanella --- sysdeps/arm/fpu/math_private.h | 32 ++ sysdeps/generic/math_uint128.h | 8 +- sysdeps/i386/Makefile | 1 + sysdeps/ieee754/dbl-64/math_config.h | 18 ++ sysdeps/ieee754/dbl-64/s_fma.c | 449 ++++++++++++--------------- 5 files changed, 246 insertions(+), 262 deletions(-) create mode 100644 sysdeps/arm/fpu/math_private.h diff --git a/sysdeps/arm/fpu/math_private.h b/sysdeps/arm/fpu/math_private.h new file mode 100644 index 00000000000..b66ce65c767 --- /dev/null +++ b/sysdeps/arm/fpu/math_private.h @@ -0,0 +1,32 @@ +/* Configure optimized libm functions. AArch64 version. + Copyright (C) 2017-2025 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 + . */ + +#ifndef ARM_MATH_PRIVATE_H +#define ARM_MATH_PRIVATE_H 1 + +#include + +/* For int64_t to double conversion, libgcc might not respect the rounding + mode [1]. + + [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91970 */ +#define TOINT64_INTRINSICS 0 + +#include_next + +#endif diff --git a/sysdeps/generic/math_uint128.h b/sysdeps/generic/math_uint128.h index 56d0fba7806..8d573fff184 100644 --- a/sysdeps/generic/math_uint128.h +++ b/sysdeps/generic/math_uint128.h @@ -64,13 +64,13 @@ typedef struct # define MASK32 (UINT64_C(0xffffffff)) -static u128 u128_add (u128 x, u128 y) +static inline u128 u128_add (u128 x, u128 y) { bool carry = x.low + y.low < x.low; return (u128) { .high = x.high + y.high + carry, .low = x.low + y.low }; } -static u128 u128_lshift (u128 x, unsigned int n) +static inline u128 u128_lshift (u128 x, unsigned int n) { switch (n) { @@ -82,7 +82,7 @@ static u128 u128_lshift (u128 x, unsigned int n) } } -static u128 u128_rshift (u128 x, unsigned int n) +static inline u128 u128_rshift (u128 x, unsigned int n) { switch (n) { @@ -94,7 +94,7 @@ static u128 u128_rshift (u128 x, unsigned int n) } } -static u128 u128_mul (u128 x, u128 y) +static inline u128 u128_mul (u128 x, u128 y) { if (x.high == 0 && y.high == 0) { diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile index bb4f59094cc..11ddbd402d0 100644 --- a/sysdeps/i386/Makefile +++ b/sysdeps/i386/Makefile @@ -13,6 +13,7 @@ CFLAGS-e_gamma_r.c += -fexcess-precision=standard CFLAGS-s_erf.c += -fexcess-precision=standard CFLAGS-s_erfc.c += -fexcess-precision=standard CFLAGS-s_erf_common.c += -fexcess-precision=standard +CFLAGS-s_fma.c += -fexcess-precision=standard endif ifeq ($(subdir),gmon) diff --git a/sysdeps/ieee754/dbl-64/math_config.h b/sysdeps/ieee754/dbl-64/math_config.h index 36a47ae7dbb..b6b5da60545 100644 --- a/sysdeps/ieee754/dbl-64/math_config.h +++ b/sysdeps/ieee754/dbl-64/math_config.h @@ -85,6 +85,24 @@ static inline int32_t converttoint (double x); #endif +#ifndef TOINT64_INTRINSICS +# define TOINT64_INTRINSICS 1 +#endif + +static inline double converttoint64 (int64_t a) +{ +#if !TOINT64_INTRINSICS + union { int64_t x; double d; } low = {.d = 0x1.0p52}; + + double high = (int32_t)(a >> 32) * 0x1.0p32; + low.x |= a & INT64_C(0x00000000ffffffff); + + return (high - 0x1.0p52) + low.d; +#else + return a; +#endif +} + static inline uint64_t asuint64 (double f) { diff --git a/sysdeps/ieee754/dbl-64/s_fma.c b/sysdeps/ieee754/dbl-64/s_fma.c index d157e8b472a..585abe3f61f 100644 --- a/sysdeps/ieee754/dbl-64/s_fma.c +++ b/sysdeps/ieee754/dbl-64/s_fma.c @@ -23,18 +23,51 @@ #include #undef dfmal #undef f32xfmaf64 -#include -#include -#include -#include #include #include -#include #include -/* This implementation uses rounding to odd to avoid problems with - double rounding. See a paper by Boldo and Melquiond: - http://www.lri.fr/~melquion/doc/08-tc.pdf */ + +#if !USE_FMA_BUILTIN +# include +# include "math_config.h" +# include + +# define ZEROINFNAN (0x7ff - EXPONENT_BIAS - MANTISSA_WIDTH - 1) + +struct num +{ + uint64_t m; + int e; + int sign; +}; + +static inline struct num normalize (double x) +{ + uint64_t ix = asuint64 (x); + int e = ix >> MANTISSA_WIDTH; + int sign = e & 0x800; + e &= 0x7ff; + if (!e) + { + ix = asuint64 (x * 0x1p63); + e = ix >> MANTISSA_WIDTH & 0x7ff; + e = e ? e-63 : 0x800; + } + ix &= (UINT64_C(1) << MANTISSA_WIDTH) - 1; + ix |= UINT64_C(1) << MANTISSA_WIDTH; + ix <<= 1; + e -= EXPONENT_BIAS + MANTISSA_WIDTH + 1; + return (struct num){ix,e,sign}; +} + +static void mul (uint64_t *hi, uint64_t *lo, uint64_t x, uint64_t y) +{ + u128 r = u128_mul (u128_from_u64 (x), u128_from_u64 (y)); + *hi = u128_high (r); + *lo = u128_low (r); +} +#endif double __fma (double x, double y, double z) @@ -42,271 +75,171 @@ __fma (double x, double y, double z) #if USE_FMA_BUILTIN return __builtin_fma (x, y, z); #else - /* Use generic implementation. */ - union ieee754_double u, v, w; - int adjust = 0; - u.d = x; - v.d = y; - w.d = z; - if (__builtin_expect (u.ieee.exponent + v.ieee.exponent - >= 0x7ff + IEEE754_DOUBLE_BIAS - DBL_MANT_DIG, 0) - || __builtin_expect (u.ieee.exponent >= 0x7ff - DBL_MANT_DIG, 0) - || __builtin_expect (v.ieee.exponent >= 0x7ff - DBL_MANT_DIG, 0) - || __builtin_expect (w.ieee.exponent >= 0x7ff - DBL_MANT_DIG, 0) - || __builtin_expect (u.ieee.exponent + v.ieee.exponent - <= IEEE754_DOUBLE_BIAS + DBL_MANT_DIG, 0)) + /* normalize so top 10bits and last bit are 0 */ + struct num nx, ny, nz; + nx = normalize (x); + ny = normalize (y); + nz = normalize (z); + + if (nx.e >= ZEROINFNAN || ny.e >= ZEROINFNAN) + return x * y + z; + if (nz.e >= ZEROINFNAN) { - /* If z is Inf, but x and y are finite, the result should be - z rather than NaN. */ - if (w.ieee.exponent == 0x7ff - && u.ieee.exponent != 0x7ff - && v.ieee.exponent != 0x7ff) - return (z + x) + y; - /* If z is zero and x are y are nonzero, compute the result - as x * y to avoid the wrong sign of a zero result if x * y - underflows to 0. */ - if (z == 0 && x != 0 && y != 0) + if (nz.e > ZEROINFNAN) /* z==0 */ return x * y; - /* If x or y or z is Inf/NaN, or if x * y is zero, compute as - x * y + z. */ - if (u.ieee.exponent == 0x7ff - || v.ieee.exponent == 0x7ff - || w.ieee.exponent == 0x7ff - || x == 0 - || y == 0) - return x * y + z; - /* If fma will certainly overflow, compute as x * y. */ - if (u.ieee.exponent + v.ieee.exponent > 0x7ff + IEEE754_DOUBLE_BIAS) - return x * y; - /* If x * y is less than 1/4 of DBL_TRUE_MIN, neither the - result nor whether there is underflow depends on its exact - value, only on its sign. */ - if (u.ieee.exponent + v.ieee.exponent - < IEEE754_DOUBLE_BIAS - DBL_MANT_DIG - 2) + else if (isnan (z)) + return __builtin_nan (""); + return z; + } + + /* mul: r = x*y */ + uint64_t rhi, rlo, zhi, zlo; + mul (&rhi, &rlo, nx.m, ny.m); + /* either top 20 or 21 bits of rhi and last 2 bits of rlo are 0 */ + + /* align exponents */ + int e = nx.e + ny.e; + int d = nz.e - e; + /* shift bits z<<=kz, r>>=kr, so kz+kr == d, set e = e+kr (== ez-kz) */ + if (d > 0) + { + if (d < 64) { - int neg = u.ieee.negative ^ v.ieee.negative; - double tiny = neg ? -0x1p-1074 : 0x1p-1074; - if (w.ieee.exponent >= 3) - return tiny + z; - /* Scaling up, adding TINY and scaling down produces the - correct result, because in round-to-nearest mode adding - TINY has no effect and in other modes double rounding is - harmless. But it may not produce required underflow - exceptions. */ - v.d = z * 0x1p54 + tiny; - if (TININESS_AFTER_ROUNDING - ? v.ieee.exponent < 55 - : (w.ieee.exponent == 0 - || (w.ieee.exponent == 1 - && w.ieee.negative != neg - && w.ieee.mantissa1 == 0 - && w.ieee.mantissa0 == 0))) + zlo = nz.m << d; + zhi = nz.m >> (64 - d); + } + else + { + zlo = 0; + zhi = nz.m; + e = nz.e - 64; + d -= 64; + if (d < 64) { - double force_underflow = x * y; - math_force_eval (force_underflow); + rlo = rhi << (64 - d) | rlo >> d | !!(rlo << (64 - d)); + rhi = rhi >> d; } - return v.d * 0x1p-54; - } - if (u.ieee.exponent + v.ieee.exponent - >= 0x7ff + IEEE754_DOUBLE_BIAS - DBL_MANT_DIG) - { - /* Compute 1p-53 times smaller result and multiply - at the end. */ - if (u.ieee.exponent > v.ieee.exponent) - u.ieee.exponent -= DBL_MANT_DIG; else - v.ieee.exponent -= DBL_MANT_DIG; - /* If x + y exponent is very large and z exponent is very small, - it doesn't matter if we don't adjust it. */ - if (w.ieee.exponent > DBL_MANT_DIG) - w.ieee.exponent -= DBL_MANT_DIG; - adjust = 1; - } - else if (w.ieee.exponent >= 0x7ff - DBL_MANT_DIG) - { - /* Similarly. - If z exponent is very large and x and y exponents are - very small, adjust them up to avoid spurious underflows, - rather than down. */ - if (u.ieee.exponent + v.ieee.exponent - <= IEEE754_DOUBLE_BIAS + 2 * DBL_MANT_DIG) { - if (u.ieee.exponent > v.ieee.exponent) - u.ieee.exponent += 2 * DBL_MANT_DIG + 2; - else - v.ieee.exponent += 2 * DBL_MANT_DIG + 2; + rlo = 1; + rhi = 0; } - else if (u.ieee.exponent > v.ieee.exponent) - { - if (u.ieee.exponent > DBL_MANT_DIG) - u.ieee.exponent -= DBL_MANT_DIG; - } - else if (v.ieee.exponent > DBL_MANT_DIG) - v.ieee.exponent -= DBL_MANT_DIG; - w.ieee.exponent -= DBL_MANT_DIG; - adjust = 1; } - else if (u.ieee.exponent >= 0x7ff - DBL_MANT_DIG) - { - u.ieee.exponent -= DBL_MANT_DIG; - if (v.ieee.exponent) - v.ieee.exponent += DBL_MANT_DIG; - else - v.d *= 0x1p53; - } - else if (v.ieee.exponent >= 0x7ff - DBL_MANT_DIG) - { - v.ieee.exponent -= DBL_MANT_DIG; - if (u.ieee.exponent) - u.ieee.exponent += DBL_MANT_DIG; - else - u.d *= 0x1p53; - } - else /* if (u.ieee.exponent + v.ieee.exponent - <= IEEE754_DOUBLE_BIAS + DBL_MANT_DIG) */ - { - if (u.ieee.exponent > v.ieee.exponent) - u.ieee.exponent += 2 * DBL_MANT_DIG + 2; - else - v.ieee.exponent += 2 * DBL_MANT_DIG + 2; - if (w.ieee.exponent <= 4 * DBL_MANT_DIG + 6) - { - if (w.ieee.exponent) - w.ieee.exponent += 2 * DBL_MANT_DIG + 2; - else - w.d *= 0x1p108; - adjust = -1; - } - /* Otherwise x * y should just affect inexact - and nothing else. */ - } - x = u.d; - y = v.d; - z = w.d; - } - - /* Ensure correct sign of exact 0 + 0. */ - if (__glibc_unlikely ((x == 0 || y == 0) && z == 0)) - { - x = math_opt_barrier (x); - return x * y + z; - } - - fenv_t env; - libc_feholdexcept_setround (&env, FE_TONEAREST); - - /* Multiplication m1 + m2 = x * y using Dekker's algorithm. */ -#define C ((1 << (DBL_MANT_DIG + 1) / 2) + 1) - double x1 = x * C; - double y1 = y * C; - double m1 = x * y; - x1 = (x - x1) + x1; - y1 = (y - y1) + y1; - double x2 = x - x1; - double y2 = y - y1; - double m2 = (((x1 * y1 - m1) + x1 * y2) + x2 * y1) + x2 * y2; - - /* Addition a1 + a2 = z + m1 using Knuth's algorithm. */ - double a1 = z + m1; - double t1 = a1 - z; - double t2 = a1 - t1; - t1 = m1 - t1; - t2 = z - t2; - double a2 = t1 + t2; - /* Ensure the arithmetic is not scheduled after feclearexcept call. */ - math_force_eval (m2); - math_force_eval (a2); - __feclearexcept (FE_INEXACT); - - /* If the result is an exact zero, ensure it has the correct sign. */ - if (a1 == 0 && m2 == 0) - { - libc_feupdateenv (&env); - /* Ensure that round-to-nearest value of z + m1 is not reused. */ - z = math_opt_barrier (z); - return z + m1; - } - - libc_fesetround (FE_TOWARDZERO); - - /* Perform m2 + a2 addition with round to odd. */ - u.d = a2 + m2; - - if (__glibc_unlikely (adjust < 0)) - { - if ((u.ieee.mantissa1 & 1) == 0) - u.ieee.mantissa1 |= libc_fetestexcept (FE_INEXACT) != 0; - v.d = a1 + u.d; - /* Ensure the addition is not scheduled after fetestexcept call. */ - math_force_eval (v.d); - } - - /* Reset rounding mode and test for inexact simultaneously. */ - int j = libc_feupdateenv_test (&env, FE_INEXACT) != 0; - - /* Ensure value of a1 + u.d is not reused. */ - a1 = math_opt_barrier (a1); - - if (__glibc_likely (adjust == 0)) - { - if ((u.ieee.mantissa1 & 1) == 0 && u.ieee.exponent != 0x7ff) - u.ieee.mantissa1 |= j; - /* Result is a1 + u.d. */ - return a1 + u.d; - } - else if (__glibc_likely (adjust > 0)) - { - if ((u.ieee.mantissa1 & 1) == 0 && u.ieee.exponent != 0x7ff) - u.ieee.mantissa1 |= j; - /* Result is a1 + u.d, scaled up. */ - return (a1 + u.d) * 0x1p53; } else { - /* If a1 + u.d is exact, the only rounding happens during - scaling down. */ - if (j == 0) - return v.d * 0x1p-108; - /* If result rounded to zero is not subnormal, no double - rounding will occur. */ - if (v.ieee.exponent > 108) - return (a1 + u.d) * 0x1p-108; - /* If v.d * 0x1p-108 with round to zero is a subnormal above - or equal to DBL_MIN / 2, then v.d * 0x1p-108 shifts mantissa - down just by 1 bit, which means v.ieee.mantissa1 |= j would - change the round bit, not sticky or guard bit. - v.d * 0x1p-108 never normalizes by shifting up, - so round bit plus sticky bit should be already enough - for proper rounding. */ - if (v.ieee.exponent == 108) - { - /* If the exponent would be in the normal range when - rounding to normal precision with unbounded exponent - range, the exact result is known and spurious underflows - must be avoided on systems detecting tininess after - rounding. */ - if (TININESS_AFTER_ROUNDING) - { - w.d = a1 + u.d; - if (w.ieee.exponent == 109) - return w.d * 0x1p-108; - } - /* v.ieee.mantissa1 & 2 is LSB bit of the result before rounding, - v.ieee.mantissa1 & 1 is the round bit and j is our sticky - bit. */ - w.d = 0.0; - w.ieee.mantissa1 = ((v.ieee.mantissa1 & 3) << 1) | j; - w.ieee.negative = v.ieee.negative; - v.ieee.mantissa1 &= ~3U; - v.d *= 0x1p-108; - w.d *= 0x1p-2; - return v.d + w.d; - } - v.ieee.mantissa1 |= j; - return v.d * 0x1p-108; + zhi = 0; + d = -d; + if (d == 0) + zlo = nz.m; + else if (d < 64) + zlo = nz.m >> d | !!(nz.m << (64 - d)); + else + zlo = 1; } + + /* add */ + int sign = nx.sign ^ ny.sign; + bool samesign = !(sign ^ nz.sign); + bool nonzero = true; + if (samesign) + { + /* r += z */ + rlo += zlo; + rhi += zhi + (rlo < zlo); + } + else + { + /* r -= z */ + uint64_t t = rlo; + rlo -= zlo; + rhi = rhi - zhi - (t < rlo); + if (rhi >> 63) + { + rlo = -rlo; + rhi = -rhi - !!rlo; + sign = !sign; + } + nonzero = !!rhi; + } + + /* set rhi to top 63bit of the result (last bit is sticky) */ + if (nonzero) + { + e += 64; + d = stdc_leading_zeros (rhi) - 1; + /* note: d > 0 */ + rhi = rhi << d | rlo >> (64 - d) | !!(rlo << d); + } + else if (rlo) + { + d = stdc_leading_zeros (rlo) - 1; + if (d < 0) + rhi = rlo >> 1 | (rlo & 1); + else + rhi = rlo << d; + } + else + { + /* exact +-0 */ + return x * y + z; + } + e -= d; + + /* convert to double */ + int64_t i = rhi; /* i is in [1<<62,(1<<63)-1] */ + if (sign) + i = -i; + double r = converttoint64 (i); /* |r| is in [0x1p62,0x1p63] */ + + if (e < -1022 - 62) + { + /* result is subnormal before rounding */ + if (e == -1022 - 63) + { + double c = 0x1p63; + if (sign) + c = -c; + if (r == c) + { + /* min normal after rounding, underflow depends + on arch behaviour which can be imitated by + a double to float conversion */ + float fltmin = 0x0.ffffff8p-63 * FLT_MIN * r; + return DBL_MIN / FLT_MIN * fltmin; + } + /* one bit is lost when scaled, add another top bit to + only round once at conversion if it is inexact */ + if (rhi << 53) + { + i = rhi >> 1 | (rhi & 1) | 1ull << 62; + if (sign) + i = -i; + r = converttoint64 (i); + r = 2 * r - c; /* remove top bit */ + + /* raise underflow portably, such that it + cannot be optimized away */ + { + double_t tiny = DBL_MIN / FLT_MIN * r; + r += (double) (tiny * tiny) * (r - r); + } + } + } + else + { + /* only round once when scaled */ + d = 10; + i = (rhi >> d | !!(rhi << (64 - d))) << d; + if (sign) + i = -i; + r = converttoint64 (i); + } + } + return __scalbn (r, e); #endif /* ! USE_FMA_BUILTIN */ } + #ifndef __fma libm_alias_double (__fma, fma) libm_alias_double_narrow (__fma, fma) From patchwork Thu Nov 13 12:58:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 124143 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 36D883858C50 for ; Thu, 13 Nov 2025 13:11:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 36D883858C50 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=T3Fxwisa X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pg1-x52e.google.com (mail-pg1-x52e.google.com [IPv6:2607:f8b0:4864:20::52e]) by sourceware.org (Postfix) with ESMTPS id 3022B3858C52 for ; Thu, 13 Nov 2025 13:04:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3022B3858C52 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 3022B3858C52 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::52e ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1763039099; cv=none; b=R89Ci6ey1FYmm7TyKgBxfA06mnA8qkOiYfgRc4sjBxPvP73jUQXqF7jzdenRilhi9KSyHAAQhBv9w0CBnS0nSJ0thQd3WMY8fu9pzUcw/7/OwnEMJDpHQHH+p3DuAMp6LKoxI3P5tyYe5Mt28wNO4idOB/wP12nUM9xfZNo1CIw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1763039099; c=relaxed/simple; bh=cWad0Cn4NJbXg6RRHj3LE6PPgiVTYcFdMOb6fJ62/jg=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=mSRZplSqbz4aK9oEvC4ZFRMwQvVmI2XL/lJf0nPeTWxEuxcadgJhkXrvf9HbeHGNkpwm5uwdLT/JFRRR+SLLdyZoxa8OSwBgd0SoBjL0r9/RcQ/A5rQJ4O49zG8nGrhv1/hbJ23XLuB41vLRacVOFPh+K9Tz8yTUQBLEggwwitc= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3022B3858C52 Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-bc274b8ab7dso613696a12.3 for ; Thu, 13 Nov 2025 05:04:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1763039098; x=1763643898; 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=5gMRjg9DvUzLA+UvEAF3YVDUlUKL+pVnkiF8ir5enbk=; b=T3FxwisaKDwTaE2jbObFqimV75Dnp+Nq3sTuaRR6SLp5Pi2eiQn5+SGiK70B2o3sac RexQjLoHM45sq7yxkHIywGXNembHhRXHIvHdC1iDc93Vp3ICem9vLBho3KLgz+nylwL8 HsqEaKS7ZTb5amErsZnzG+B7G95TtqeQQWDmn+PKfc5IB7lDInA447xQ5H2oaE9YF6QT sWOPX5fLl/rVbBTp0fvXtAwK3408lL3e+iSQR0OawDzhbzor2waEYzumisNbfRiLDj76 PlCLPce8vS+0oYKWl1VO8e8O838ww8Wu1mhdYlkJCGxz1yzochjeDzjLthyWcypvsXjl bwfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763039098; x=1763643898; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=5gMRjg9DvUzLA+UvEAF3YVDUlUKL+pVnkiF8ir5enbk=; b=BX5KnBKCo06RkU/lA3oyxeyuUh5rcJbyja6akyQbw2f9LK5BHFouLlOrsQNfpEzioM AOeM0yPBioA5PpCL8W91/ev4jBmZKMos0bwaodsMfB85u2ADa6EXnmx2yHbZ4jyXjeMJ ++adgCkqbhB1VMXJVAAB1+R4YKgY5CFE2MjdD71R0dDm683T0CaN/oXOMa2eLqI5mfmZ tduTbTvHUhpUlFwGJF0Fx9TrmuMohTZcs39/kMfbMVeKBMTbmGPsxfx9lG570HqSiLVC M/iX4u+1yxW9VPQX3Bv6rhqGFT/oJtbB1nRWJW7qanR2aNd9aM4j5AQozCDNaVwnRJzG NHVA== X-Gm-Message-State: AOJu0Yx5o1lN83JY4o++S7bowJ+NIvnyLi76ZO/uVfUbdDIDowNuw+3V 91bXjgIm7i+1IFsrlu/juzuRSH0VDUUAPWPq1qQ+D7WWoA2g68/wymSQ4Wm/07T6mIZTFuKvyQG 48MUcGYp9+Q== X-Gm-Gg: ASbGncspIgJ15CmdpGeUdRAySIEPv27zK1HUFagbMoeemT1nFlDKzu3z9FPHuUeVU3o vaL0AnmhD3LpJzXOh5r+5by3CA4Mt1dtYAOSYsp8UG8h1Vc4kUnEGPkVNyOJY5/qpnC0Em+hB/A uMynqVR3Tp0Mnc+jjbdaPgStM7EKSZqcoCV+tM5B+MZWfTQrzY9b5QjjB5KOz77bLx6Au/fG8Sl zhIyxXdLrpQH/tjZ2jMNh2Qc9tYfPs5S2rA/f8TjRs9q/Wk0g0qUxi/Y7PuUpITrJaRKmRzUtG5 J6wdyKZcGxNLsVJsRI0I7+bCkyqUJHcT8SDc0MtKQ0ne7eP24t7aZ1R9E6nAHxlXjfz5faQGtdl mTMqfEmgYA3A9m/c9/S2TfpcW/AdjIhn9ObiDhKuzt5dgfWNfuThqfXdWrZ1s5Nt8NKrth/dlQE yzkDI+2FCIzNM= X-Google-Smtp-Source: AGHT+IFLGGvpesJNs9SKfnI42TK+FoOgfCsLyTzPOZFYTpymKsDyxklhI4IONuOOndNZBLP5tPsHhg== X-Received: by 2002:a17:903:2acc:b0:297:e3f5:4a20 with SMTP id d9443c01a7336-2984eda418fmr85140915ad.26.1763039096541; Thu, 13 Nov 2025 05:04:56 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c3:b4d:40f6:149e:b5cc:dca4]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2985c2cca00sm25155175ad.101.2025.11.13.05.04.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 05:04:55 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Wilco Dijkstra , Joseph Myers Subject: [PATCH 4/5] benchtests: Add fmaf benchtests Date: Thu, 13 Nov 2025 09:58:21 -0300 Message-ID: <20251113130439.2737851-5-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251113130439.2737851-1-adhemerval.zanella@linaro.org> References: <20251113130439.2737851-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org Random inputs in the range [0,10]. --- benchtests/Makefile | 2 + benchtests/fmaf-inputs | 1005 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1007 insertions(+) create mode 100644 benchtests/fmaf-inputs diff --git a/benchtests/Makefile b/benchtests/Makefile index d7abe8abe22..5a405f6fbb9 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -76,6 +76,7 @@ bench-math := \ floor \ floorf \ fma \ + fmaf \ fmal \ fmax \ fmaxf \ @@ -346,6 +347,7 @@ CFLAGS-bench-sqrt.c += -fno-builtin CFLAGS-bench-fmin.c += -fno-builtin CFLAGS-bench-fminf.c += -fno-builtin CFLAGS-bench-fma.c += -fno-builtin +CFLAGS-bench-fmaf.c += -fno-builtin CFLAGS-bench-fmax.c += -fno-builtin CFLAGS-bench-fmaxf.c += -fno-builtin CFLAGS-bench-trunc.c += -fno-builtin diff --git a/benchtests/fmaf-inputs b/benchtests/fmaf-inputs new file mode 100644 index 00000000000..1d8c3bf12c6 --- /dev/null +++ b/benchtests/fmaf-inputs @@ -0,0 +1,1005 @@ +## args: float:float:float +## ret: float +## includes: math.h +## name: workload-0_10 +# Random inputs with in in [0.00,10.00], y in [0.00,10.00], and z in [0.00,10.00] +0x1.8badc8p+1, 0x1.b874aep+2, 0x1.050d54p+2 +0x1.89cd6p+2, 0x1.0e0642p+3, 0x1.c92884p+1 +0x1.c34ef8p+2, 0x1.3cae3ap+3, 0x1.eb1144p+1 +0x1.bfabfap+2, 0x1.c16d72p+2, 0x1.08dd4ap+2 +0x1.1deb5p+3, 0x1.a49628p-3, 0x1.b8a618p+2 +0x1.51dab6p+2, 0x1.7f0cfp+1, 0x1.f3fd04p+2 +0x1.e3c754p+2, 0x1.857a36p+2, 0x1.146aap+2 +0x1.e4749p+1, 0x1.12d43cp+3, 0x1.002d38p+0 +0x1.2754d2p-1, 0x1.9565e2p+2, 0x1.091796p+0 +0x1.31714ep+2, 0x1.1b235p+1, 0x1.c3007ap+1 +0x1.f5e822p+2, 0x1.8f9282p+0, 0x1.378ebcp+1 +0x1.50750ap+2, 0x1.f73b34p+0, 0x1.955928p+1 +0x1.11aebap+0, 0x1.95313ap+1, 0x1.7a2f6ep+1 +0x1.78fa78p+1, 0x1.59786cp+2, 0x1.41fc32p+2 +0x1.9688acp+2, 0x1.1829f8p+3, 0x1.7deee4p+2 +0x1.7a181ep+2, 0x1.f41d76p+1, 0x1.64a872p+2 +0x1.4c3aa4p+1, 0x1.c2c4a6p+1, 0x1.bb6244p+2 +0x1.87dd0cp+1, 0x1.15c3cep+0, 0x1.a88acep+1 +0x1.66e73cp+2, 0x1.62e942p+2, 0x1.c8afccp+2 +0x1.ab0eccp+1, 0x1.2f27d6p+3, 0x1.0b8f7cp-2 +0x1.34ceb4p+3, 0x1.c3e6a8p+2, 0x1.75b1c8p+1 +0x1.07fbccp+3, 0x1.bdae0ep+2, 0x1.8f47fp-1 +0x1.11bb58p+3, 0x1.5a8b1p+2, 0x1.21f90ap-1 +0x1.1b470ap+3, 0x1.15c68ep+2, 0x1.1b94dp+2 +0x1.3b94dcp+3, 0x1.3660bep+3, 0x1.299ad8p+3 +0x1.11a874p+2, 0x1.0299ep+2, 0x1.33dd0ap-4 +0x1.34a4bcp+2, 0x1.5e76d4p+2, 0x1.267292p+2 +0x1.2f8218p+1, 0x1.26c7fep+3, 0x1.7ca60cp+2 +0x1.ea4894p+2, 0x1.08e83ep+3, 0x1.626aeep+2 +0x1.fcfca4p+1, 0x1.713668p+2, 0x1.1f369cp+3 +0x1.c50458p+2, 0x1.e2a95cp-1, 0x1.290444p+0 +0x1.e0ca62p+2, 0x1.4fe846p+2, 0x1.81728p+1 +0x1.1d585ep+3, 0x1.0bd0c6p+3, 0x1.1d1f7ap+1 +0x1.6727d6p+1, 0x1.2483fep+3, 0x1.161874p+3 +0x1.fe0f4cp+1, 0x1.0cb194p+3, 0x1.1a9714p+3 +0x1.e7f774p+2, 0x1.11fc88p+0, 0x1.1d6958p+3 +0x1.083024p+3, 0x1.f1257p+2, 0x1.fc1024p+0 +0x1.771cc8p+1, 0x1.2df2p+3, 0x1.69582ep+1 +0x1.ee2578p+2, 0x1.bacc7cp+2, 0x1.3f3p+2 +0x1.d423c4p+1, 0x1.86badp+0, 0x1.0375ecp+1 +0x1.3b180ep+3, 0x1.6f501ap+1, 0x1.d41eb6p+2 +0x1.2abdb4p+3, 0x1.a14a1p+2, 0x1.b4ac28p+1 +0x1.1e394ap+2, 0x1.22c4p+3, 0x1.77ef68p+2 +0x1.a3dep+1, 0x1.00733cp-1, 0x1.1b291ep+3 +0x1.f529dcp+2, 0x1.2076dp+2, 0x1.59e5e4p+2 +0x1.1a31b8p+3, 0x1.a5b03cp+2, 0x1.fc5ddcp+0 +0x1.bee35p+1, 0x1.90ae76p+2, 0x1.0e45aap+3 +0x1.1d134cp+3, 0x1.2e32ep+3, 0x1.6d404ap+1 +0x1.cee54ap+2, 0x1.002f3cp+1, 0x1.d49262p+2 +0x1.7890cp+1, 0x1.dd42b4p+1, 0x1.e1e6a6p+2 +0x1.231e5p+2, 0x1.7bbdf2p+2, 0x1.0e25c4p+2 +0x1.16ce8ap+1, 0x1.99c71p+0, 0x1.666f44p-1 +0x1.752198p+0, 0x1.ebd308p+0, 0x1.9eea1p-1 +0x1.b5c06ap+2, 0x1.b8e666p+2, 0x1.e33f8cp+0 +0x1.58d97ep-2, 0x1.7cd5b4p+2, 0x1.08e93cp+3 +0x1.06c862p+3, 0x1.7ff424p+2, 0x1.7f3416p+2 +0x1.eeda1cp+1, 0x1.70403cp+2, 0x1.97ecbep+0 +0x1.338b9ep+1, 0x1.3927aap+2, 0x1.0fa498p+3 +0x1.3aeb36p+2, 0x1.f2dcb8p+2, 0x1.5448dcp-3 +0x1.606ffp+2, 0x1.0e901ep+3, 0x1.c1f6a2p+2 +0x1.51498p-3, 0x1.926dd8p+1, 0x1.43a978p+2 +0x1.edbc8ep+2, 0x1.3a8a1ap+3, 0x1.1fa4d2p+2 +0x1.29f88ep+2, 0x1.3f42f4p+3, 0x1.9ae5d4p+2 +0x1.2286f8p+3, 0x1.12aa34p+3, 0x1.eee0acp+2 +0x1.d1566ap+2, 0x1.877184p+1, 0x1.9f169p+0 +0x1.6c045ep+1, 0x1.c8ec3ap+1, 0x1.155cb6p+2 +0x1.9ce772p+2, 0x1.a56e9cp+1, 0x1.add00ap+2 +0x1.3efdp+3, 0x1.0b5c98p+1, 0x1.f343bp-3 +0x1.064476p+1, 0x1.5051b8p+2, 0x1.17275ap+3 +0x1.764418p+2, 0x1.3f0c7cp+3, 0x1.5073dcp+2 +0x1.4f60ep+2, 0x1.a39d6p+1, 0x1.a1c724p+1 +0x1.d982ap+1, 0x1.5ffdc6p+2, 0x1.e6f412p+0 +0x1.3856a2p+2, 0x1.2998ccp+1, 0x1.d8d6e8p+0 +0x1.b08424p+2, 0x1.4ed8b6p+2, 0x1.fd4898p+2 +0x1.5db62p-1, 0x1.2aa8eep-2, 0x1.6ad368p-2 +0x1.7983e8p-2, 0x1.3fbf66p+1, 0x1.20a412p+0 +0x1.7cce72p+1, 0x1.b8fbf2p+0, 0x1.a487b4p+0 +0x1.e38afp+0, 0x1.566fdcp+2, 0x1.b64d76p+2 +0x1.df24e6p+2, 0x1.28b7b4p+3, 0x1.fddb0ap+2 +0x1.7f0fd6p+2, 0x1.3b9fdap+3, 0x1.9bc19ep+2 +0x1.0ac0dep+3, 0x1.38deep+2, 0x1.360202p+3 +0x1.88259ap-3, 0x1.0e1fdp+3, 0x1.2d291ap+3 +0x1.82733p+2, 0x1.4ea18ap+1, 0x1.76c8dcp-3 +0x1.2519bep+3, 0x1.1954ep+3, 0x1.76be2ep+2 +0x1.d9c078p+2, 0x1.3490d8p+3, 0x1.f2c17cp+2 +0x1.312bfap+2, 0x1.0c977cp+3, 0x1.059f82p+2 +0x1.87d114p+1, 0x1.44dabep+1, 0x1.05a86ep+3 +0x1.2a667cp+3, 0x1.10ddf2p+3, 0x1.be2b06p-1 +0x1.74bf96p+2, 0x1.e9b098p+1, 0x1.531dp+2 +0x1.2de7d2p-1, 0x1.2f6cd2p+2, 0x1.c8c8d8p+2 +0x1.97f27ep+0, 0x1.7f95acp-1, 0x1.4f55a2p+2 +0x1.2fdfc4p+2, 0x1.1e448ep+3, 0x1.0335dcp+1 +0x1.308e3p+3, 0x1.c018c8p+2, 0x1.a1a68ep+2 +0x1.290326p+3, 0x1.a40b9ap+2, 0x1.160d32p+1 +0x1.43389ap+2, 0x1.015aa6p+2, 0x1.240fecp-4 +0x1.422862p+1, 0x1.3b879ep+3, 0x1.825854p+1 +0x1.068a24p+2, 0x1.0e83dcp+2, 0x1.0fad7p-1 +0x1.098294p-1, 0x1.a4017cp+2, 0x1.177d48p+3 +0x1.2ba798p+3, 0x1.3af506p+3, 0x1.31c3ep+3 +0x1.1deb8ap+2, 0x1.15f3b2p+2, 0x1.5b4266p+2 +0x1.e8a6f6p+2, 0x1.2da60ep-1, 0x1.834f28p+0 +0x1.6bcf3ep+2, 0x1.5c530ep+2, 0x1.99d398p+1 +0x1.34abf2p+2, 0x1.b9c58p+2, 0x1.0a951cp+1 +0x1.267d36p+2, 0x1.25f738p+3, 0x1.b2f098p+1 +0x1.41f0ccp-3, 0x1.2d263ap+2, 0x1.8ca508p+2 +0x1.51f59ep+1, 0x1.4bd62ap+2, 0x1.08076ep+2 +0x1.209d02p+1, 0x1.16365ap+2, 0x1.118a7ap+2 +0x1.24dda2p+1, 0x1.2b8bfep+3, 0x1.76e11cp-1 +0x1.882c3cp+2, 0x1.573ea2p-2, 0x1.08c7ecp+3 +0x1.2ed98ap+2, 0x1.034132p+3, 0x1.54056p+1 +0x1.ffea1ep+2, 0x1.f22516p+0, 0x1.a1f4bp+0 +0x1.d14334p+2, 0x1.1529dap+0, 0x1.85804p+2 +0x1.c98b2ep+1, 0x1.aeed34p+2, 0x1.ff9e14p+2 +0x1.0b617p+3, 0x1.f55a44p+1, 0x1.908282p+2 +0x1.daef14p+0, 0x1.d8cd24p+2, 0x1.edf654p+2 +0x1.d335f8p+2, 0x1.85fc0ep-1, 0x1.895eb4p+1 +0x1.9ce904p+2, 0x1.063a26p+0, 0x1.9da1dp-2 +0x1.211bc4p+3, 0x1.a6af9cp+1, 0x1.2f831p+2 +0x1.95d518p+1, 0x1.3b1f2ep+3, 0x1.c7d6b2p+1 +0x1.29232p+2, 0x1.0b315p+2, 0x1.9dd298p-1 +0x1.f6d8e8p+2, 0x1.88033ep+1, 0x1.ae880cp-3 +0x1.dd26d2p+1, 0x1.ef5554p+2, 0x1.a69708p+1 +0x1.8f9558p+2, 0x1.e5fbeap-3, 0x1.4d3e9ep+2 +0x1.7f18ap+2, 0x1.31449p+1, 0x1.019afep+3 +0x1.22ba22p+1, 0x1.e87942p-1, 0x1.2d837p+2 +0x1.26d004p+3, 0x1.1fec56p+1, 0x1.50d8ap+1 +0x1.21f4c8p+0, 0x1.387d76p+3, 0x1.d25bc4p+0 +0x1.d5d15cp+2, 0x1.1a57b4p+0, 0x1.5162b2p+1 +0x1.1dc298p+0, 0x1.09bb4ep+1, 0x1.68f04ep+2 +0x1.38a7e8p+3, 0x1.147c64p+0, 0x1.6eabf4p+2 +0x1.91145p+2, 0x1.c024bap+1, 0x1.d557c2p+2 +0x1.3f291ap+3, 0x1.02c462p+2, 0x1.c36742p+2 +0x1.8c135p+1, 0x1.3b0008p+3, 0x1.5a7cd2p+0 +0x1.2e91ecp+3, 0x1.cee7dcp+1, 0x1.d9db6cp+0 +0x1.63ba6ap+2, 0x1.3f44dep+3, 0x1.45ee5ep+2 +0x1.3a474p+3, 0x1.da316ep+0, 0x1.10299ep+2 +0x1.d5d58ap+0, 0x1.f1ffa6p+1, 0x1.6814f4p+2 +0x1.3f6ffp+3, 0x1.fdfa8ap+2, 0x1.10efap-3 +0x1.43b15p-1, 0x1.17ef14p+3, 0x1.ce5cdcp+2 +0x1.2fa3bp+2, 0x1.366ce4p+1, 0x1.1bf542p+3 +0x1.ccf406p+1, 0x1.c15ecp-1, 0x1.4052fcp+2 +0x1.10657p+1, 0x1.fe6ebcp+2, 0x1.c39df4p+0 +0x1.af6a4cp+1, 0x1.f4c974p+2, 0x1.3de1e2p+2 +0x1.2f47f8p+2, 0x1.1d9668p+3, 0x1.aa672ep-1 +0x1.269bc6p+3, 0x1.323456p+2, 0x1.db60d8p+1 +0x1.05eff2p+2, 0x1.e593bap+2, 0x1.c1047p+2 +0x1.ce899p-1, 0x1.207cbp+3, 0x1.3cb37p+2 +0x1.99105p+0, 0x1.6a1a38p+2, 0x1.bd2eep+0 +0x1.eab638p+0, 0x1.bd8ff4p+2, 0x1.fa601ap-1 +0x1.7bd90cp+1, 0x1.89e19cp+2, 0x1.48a558p+2 +0x1.205894p-3, 0x1.597cc6p+2, 0x1.8402bp+0 +0x1.af6528p+1, 0x1.45d83cp+2, 0x1.63dd08p+2 +0x1.cabfb4p+2, 0x1.eff6eap-1, 0x1.000294p+3 +0x1.7c7e7p+2, 0x1.73d9b6p+1, 0x1.d39196p+2 +0x1.e12d6cp+1, 0x1.666c58p+1, 0x1.263438p+3 +0x1.69d416p+2, 0x1.a62248p+2, 0x1.a264c8p+2 +0x1.cec0dap+0, 0x1.227046p+1, 0x1.317a6ap+2 +0x1.15ff88p+3, 0x1.e27cp+2, 0x1.18327ap+3 +0x1.d0cf48p+2, 0x1.19927p+3, 0x1.3f2cc4p+3 +0x1.faa358p-1, 0x1.e9b36ep+2, 0x1.b40594p+1 +0x1.14e764p+3, 0x1.88d7ccp+2, 0x1.c1db1cp+2 +0x1.13bc98p+2, 0x1.b212b4p+1, 0x1.677c46p+2 +0x1.0e836cp+3, 0x1.37d2e2p-1, 0x1.84f688p+0 +0x1.04d4b8p+3, 0x1.f6c072p+2, 0x1.1ed796p+2 +0x1.1fa51ep+1, 0x1.6bae4p+2, 0x1.c4ee1ep+1 +0x1.288bccp+2, 0x1.52d6f4p+2, 0x1.690e62p+2 +0x1.9f543p+2, 0x1.29a7aep+3, 0x1.a598d4p+0 +0x1.03852p+2, 0x1.160b8ap+3, 0x1.34ed4p+3 +0x1.49f578p+2, 0x1.860fecp+1, 0x1.9f242ap+2 +0x1.6038b4p+2, 0x1.00119ap+3, 0x1.e79cfap+2 +0x1.c6998p-3, 0x1.04d464p+1, 0x1.9ff998p+1 +0x1.0bdb98p+2, 0x1.0c9992p+2, 0x1.b10fdcp+0 +0x1.c220b4p+2, 0x1.35670ap+3, 0x1.907c1cp+2 +0x1.a12688p+2, 0x1.bb3f72p+2, 0x1.91b908p+0 +0x1.244606p+2, 0x1.854358p-1, 0x1.113dc8p+3 +0x1.d93e5p+0, 0x1.1d8fc8p+2, 0x1.5b0edcp+2 +0x1.822238p+2, 0x1.1c6384p+3, 0x1.0099bap+2 +0x1.3dd9f4p+2, 0x1.1b127p+1, 0x1.e4a17p-1 +0x1.69051p+1, 0x1.2a8a84p-1, 0x1.4b184p+1 +0x1.01eddp+3, 0x1.095754p+1, 0x1.c8b92ep+1 +0x1.f0ae54p+1, 0x1.d92318p-3, 0x1.26314p+3 +0x1.02ea88p+3, 0x1.4fb874p-2, 0x1.18aefap+1 +0x1.1e0778p-5, 0x1.eeb17ep+2, 0x1.0bfdf2p+3 +0x1.b02e1ep-1, 0x1.d56b74p+1, 0x1.fe2862p+2 +0x1.97d0b8p+1, 0x1.e3d34p+0, 0x1.e89334p+2 +0x1.5feda4p+1, 0x1.0308e6p+3, 0x1.2ccbb8p+3 +0x1.a73418p+1, 0x1.1271dcp+2, 0x1.d323cep+2 +0x1.14f0e2p-7, 0x1.92f92cp+2, 0x1.6d17dcp+1 +0x1.24e078p+2, 0x1.88cd56p+1, 0x1.e1d4c8p+2 +0x1.665628p+2, 0x1.3b7be6p-1, 0x1.9f0274p+2 +0x1.4e585ap+1, 0x1.914fd2p+2, 0x1.52e858p+2 +0x1.5eea24p-2, 0x1.afb5ep+2, 0x1.25c694p+3 +0x1.2b6406p+3, 0x1.27822ep+3, 0x1.326d6p+2 +0x1.8235ep+2, 0x1.96ee26p+1, 0x1.77826ep+1 +0x1.00959p+3, 0x1.21cfdcp+2, 0x1.0f6eb4p-8 +0x1.7248d8p+0, 0x1.9fb78cp+2, 0x1.43c882p+0 +0x1.a37fdcp-2, 0x1.309c66p+2, 0x1.68d1b2p+2 +0x1.1ea45cp+3, 0x1.a14dcep+2, 0x1.7775f4p+2 +0x1.001b7ap-2, 0x1.0395c6p+1, 0x1.ea643p+1 +0x1.61ba54p-1, 0x1.98ee74p+2, 0x1.70de96p+2 +0x1.29228p+3, 0x1.b2599p+0, 0x1.1a896p+3 +0x1.d1b11p+2, 0x1.1be4fap+2, 0x1.e9fbfap+1 +0x1.edab84p+0, 0x1.5b631ap+1, 0x1.743ab6p+2 +0x1.1a3af6p+0, 0x1.219b56p+2, 0x1.6d299cp+1 +0x1.3089ap+3, 0x1.776646p+1, 0x1.a64cdp-2 +0x1.6f7458p+2, 0x1.25d93cp+3, 0x1.7311eap+2 +0x1.aac22cp+2, 0x1.0e3124p+3, 0x1.368f2ap+3 +0x1.058002p+3, 0x1.edd92cp+1, 0x1.f85cd6p+2 +0x1.fa8d3cp+1, 0x1.11bb1p+2, 0x1.aeedaap+2 +0x1.0d93eep+3, 0x1.711d34p+0, 0x1.6d4d5cp-4 +0x1.abcbd2p+1, 0x1.4eb81cp+2, 0x1.2b250cp+1 +0x1.03c9d2p+1, 0x1.b4c2d4p+1, 0x1.9dc0d2p+1 +0x1.260ap+3, 0x1.d0275cp-1, 0x1.3a47bap+1 +0x1.084cc8p+3, 0x1.ad7684p+2, 0x1.7325d8p+2 +0x1.5cba22p+1, 0x1.644cacp+2, 0x1.af9578p+0 +0x1.0320b4p+2, 0x1.04c46cp+1, 0x1.1e6b0ep+3 +0x1.f5e28ap+0, 0x1.6b8b5p+0, 0x1.37e616p+3 +0x1.410578p+2, 0x1.c706d6p+2, 0x1.34ab28p+3 +0x1.9f761p+2, 0x1.ddae2p+2, 0x1.172994p+3 +0x1.af8652p+2, 0x1.54b08p+0, 0x1.e36234p+2 +0x1.1c7f78p+0, 0x1.4f0248p+1, 0x1.5058f8p+2 +0x1.b28624p-5, 0x1.7366ccp+0, 0x1.30e5c4p+3 +0x1.54534ap+2, 0x1.f89f0cp+2, 0x1.3262fep+3 +0x1.ab238p-1, 0x1.e7836ep+2, 0x1.045046p+3 +0x1.3a86a6p+3, 0x1.a5ea5ap+1, 0x1.a4e4bcp+2 +0x1.9d5238p+0, 0x1.86cbbep+1, 0x1.e1432ap+2 +0x1.307edap+3, 0x1.6cde52p+1, 0x1.6397f4p+2 +0x1.3a4324p+3, 0x1.4b2524p+1, 0x1.1c109p+3 +0x1.961696p+2, 0x1.d58b38p+0, 0x1.39618ep+2 +0x1.47efacp+2, 0x1.5e51f6p+1, 0x1.04fe44p+3 +0x1.5f3284p+2, 0x1.8a6164p-3, 0x1.cf47bcp-1 +0x1.f9ae18p-2, 0x1.8c3514p+2, 0x1.90b81cp+2 +0x1.7b414p+1, 0x1.3da1d8p+1, 0x1.8fe0e4p-2 +0x1.4b61e8p+1, 0x1.105ac8p+3, 0x1.471ba6p+2 +0x1.876fcp+2, 0x1.546c24p+2, 0x1.2ef60ap+3 +0x1.b54c34p-2, 0x1.4ebf1p+0, 0x1.53b956p+2 +0x1.e4260ap+2, 0x1.3551e6p+2, 0x1.38922cp+3 +0x1.ce2bf4p+2, 0x1.c5b7aep+2, 0x1.c62fd4p+2 +0x1.0ac7dep+3, 0x1.8466ccp+2, 0x1.f11b5p+1 +0x1.337c38p+2, 0x1.ed014ap+2, 0x1.270e4p+1 +0x1.d36c26p+2, 0x1.f5ea28p+1, 0x1.22a284p+0 +0x1.955a0cp+2, 0x1.6d72ccp+0, 0x1.9e1622p+1 +0x1.097c98p+2, 0x1.35b622p+2, 0x1.249e6ap+3 +0x1.99e1eap-2, 0x1.95fc42p+2, 0x1.a91778p+1 +0x1.15afecp+3, 0x1.f989cep+1, 0x1.150baap+1 +0x1.044f8p-1, 0x1.26052ap+3, 0x1.41e058p+2 +0x1.40354ap+1, 0x1.7469e8p+2, 0x1.142054p+3 +0x1.b2cd8ap+2, 0x1.908158p+1, 0x1.43774ep+1 +0x1.88cf38p+2, 0x1.4c2cb8p+2, 0x1.881066p+2 +0x1.f488eap+2, 0x1.80b58p-1, 0x1.1967eep+3 +0x1.6b782ap+1, 0x1.274278p+1, 0x1.0d1d1cp+0 +0x1.ca358cp+2, 0x1.fee8f6p+2, 0x1.375404p+3 +0x1.1b2426p+2, 0x1.01caap+2, 0x1.36ad6ep+3 +0x1.26fbe4p+3, 0x1.c8f7bep-1, 0x1.3da3dep+1 +0x1.042f24p+3, 0x1.de4ee2p+2, 0x1.ea30b6p+2 +0x1.0d1926p+3, 0x1.978d98p+2, 0x1.12be7p+1 +0x1.1cc75cp-4, 0x1.1f719ep+3, 0x1.3f6bc6p+3 +0x1.d35cccp-1, 0x1.ec1a66p+2, 0x1.27da5ap+0 +0x1.4c2ed2p+1, 0x1.c7351cp+1, 0x1.745ed4p+2 +0x1.8c98a8p+2, 0x1.61709cp+2, 0x1.cf1f62p+2 +0x1.00e3fp+2, 0x1.aaaf54p+1, 0x1.c4f11ep-3 +0x1.36874ep+3, 0x1.b9e03cp-4, 0x1.b1dcf2p+2 +0x1.bb0b9ap+2, 0x1.150f0cp+3, 0x1.b35152p-2 +0x1.f30c34p+2, 0x1.968944p+2, 0x1.b091c8p+2 +0x1.d44ce2p+2, 0x1.0c216p+1, 0x1.50112ap+0 +0x1.231614p+2, 0x1.8cf53p+2, 0x1.e7b1a6p+1 +0x1.343ffcp+2, 0x1.090062p+1, 0x1.14028p+0 +0x1.c7b5c8p+1, 0x1.3ff66p+3, 0x1.e67492p+1 +0x1.0b404p+1, 0x1.30d73ap+1, 0x1.2618aep+0 +0x1.4549d8p+2, 0x1.248b96p+3, 0x1.1f4c6ap+2 +0x1.f614c4p+2, 0x1.b35bf2p+2, 0x1.76a168p+2 +0x1.38e7c8p+3, 0x1.36d186p-1, 0x1.eafa7ap+1 +0x1.88d746p+1, 0x1.37a232p+3, 0x1.7924dep-1 +0x1.fa500cp+2, 0x1.0abf52p+1, 0x1.0c3be2p+3 +0x1.8f0c54p+0, 0x1.2ccbaep+3, 0x1.2ccb38p+0 +0x1.4ae1fap+0, 0x1.6e9598p+1, 0x1.e9e5aap+2 +0x1.26d264p+2, 0x1.a8694ap+0, 0x1.f14128p+1 +0x1.2d9fdcp+3, 0x1.37a9a6p+2, 0x1.e67522p+2 +0x1.366a5p+3, 0x1.d07c9p+2, 0x1.bcde2p+2 +0x1.11a8fcp+1, 0x1.49c5c4p+1, 0x1.f90b8ep+2 +0x1.f85f94p-5, 0x1.e70c8cp-1, 0x1.5a778ep+2 +0x1.937c3ap+1, 0x1.28ec14p+3, 0x1.346614p-1 +0x1.1f1b94p+3, 0x1.86cdf4p-1, 0x1.d2215ep+1 +0x1.db39c6p+1, 0x1.e5a2e6p+2, 0x1.0689fp+3 +0x1.e2c432p+2, 0x1.b3bec6p+2, 0x1.0dab0ap+3 +0x1.faddfp+2, 0x1.b1bb3cp+2, 0x1.4741b4p+2 +0x1.6644c2p+1, 0x1.b8e4ep+1, 0x1.2c4546p+3 +0x1.83ccecp-1, 0x1.b816a6p+0, 0x1.1ffdeap+1 +0x1.cfc58ep+1, 0x1.4a6962p+1, 0x1.1b3554p+3 +0x1.0b776ap+0, 0x1.71b95ep+2, 0x1.e4775ap+1 +0x1.a2a48p+1, 0x1.80d5d8p-3, 0x1.2f7334p+3 +0x1.0165p+3, 0x1.c5883cp+2, 0x1.cd1004p+2 +0x1.30dd58p+0, 0x1.74ffaap+2, 0x1.464134p+0 +0x1.da7cd6p+0, 0x1.e53d1cp+1, 0x1.5dbb86p+2 +0x1.6a6d2ep+0, 0x1.a2d364p+2, 0x1.1a6038p+3 +0x1.80784ep+0, 0x1.3873c4p+2, 0x1.f0930ap+1 +0x1.e22cb4p+2, 0x1.e4eabp+2, 0x1.0b2bbp+1 +0x1.055818p+3, 0x1.41d7a6p+2, 0x1.f3b35ap+0 +0x1.aca86p+2, 0x1.101d28p+1, 0x1.58452p+2 +0x1.1e52bap+2, 0x1.876b9ap+2, 0x1.a7656ap+2 +0x1.e1aa2cp+0, 0x1.937db8p+2, 0x1.f8b352p+2 +0x1.7cab8ep+2, 0x1.34cca2p+1, 0x1.0fca76p+3 +0x1.2b4bcp+2, 0x1.3c6146p+3, 0x1.d89fc2p+2 +0x1.c7a8eap+1, 0x1.373bf4p+3, 0x1.a80318p+1 +0x1.320a34p+3, 0x1.922916p-3, 0x1.25de8p+3 +0x1.176bdep+3, 0x1.0349b4p+2, 0x1.e5d238p+2 +0x1.2d715ep+3, 0x1.cd819ep-1, 0x1.6a00d8p+0 +0x1.08c36ap+3, 0x1.09f9f4p+1, 0x1.0d54dp+2 +0x1.17ed7p+3, 0x1.9b868ap+2, 0x1.9cb574p+2 +0x1.a0d698p+1, 0x1.73d58ap+1, 0x1.ba8348p+1 +0x1.b87324p+1, 0x1.c95d9cp+0, 0x1.21debcp-2 +0x1.c54cf8p+1, 0x1.a4564ap+1, 0x1.37caccp-2 +0x1.21ee9p+3, 0x1.1b98ap+3, 0x1.10ed32p+3 +0x1.91e872p+2, 0x1.2e5f2p+3, 0x1.f9fb78p+2 +0x1.36914ep+2, 0x1.28a6d6p+3, 0x1.11be74p+3 +0x1.3d0214p+1, 0x1.caf878p+1, 0x1.cdeddep+1 +0x1.e7cb48p+2, 0x1.20d304p+3, 0x1.1f1628p+0 +0x1.195946p+2, 0x1.ced63ep-1, 0x1.f8e462p-2 +0x1.9b4dc8p+2, 0x1.5c27fcp+1, 0x1.442088p+2 +0x1.373e6ap+2, 0x1.999554p+2, 0x1.7e6eb8p+1 +0x1.4766b4p+2, 0x1.bc3e8p+1, 0x1.25af36p+2 +0x1.1ec00ap+2, 0x1.267ef4p+2, 0x1.03c162p+3 +0x1.289c06p+2, 0x1.bf94bep+1, 0x1.09c568p+3 +0x1.af47dp+0, 0x1.736324p+2, 0x1.0a0c5ep+3 +0x1.1841f4p+3, 0x1.e35cfp+2, 0x1.26131p+0 +0x1.78e20ap+1, 0x1.01f604p+2, 0x1.b0e034p+0 +0x1.7dc73p+2, 0x1.bc39b4p+1, 0x1.87e0aap+0 +0x1.d42426p+0, 0x1.a68334p+1, 0x1.c02836p+2 +0x1.ebddd8p+2, 0x1.ce1e7p-1, 0x1.14eb2ap+3 +0x1.2a43ap+3, 0x1.47411ep+1, 0x1.c3b2eep+2 +0x1.bf47bep+1, 0x1.f704fap+0, 0x1.0081fap+2 +0x1.6bcebap+1, 0x1.6b6698p+2, 0x1.e189d8p-2 +0x1.816e54p+2, 0x1.306a9ep+3, 0x1.441fb4p+0 +0x1.2053d4p+3, 0x1.7a887p-1, 0x1.27ade2p+3 +0x1.10decp+3, 0x1.3486dep+1, 0x1.ec6914p-1 +0x1.047ef8p+3, 0x1.1f49fep+3, 0x1.eac074p+2 +0x1.1bbeecp+2, 0x1.52489cp+0, 0x1.1c9494p-1 +0x1.585adcp+2, 0x1.ab3a18p+1, 0x1.d0fp+1 +0x1.d16eecp+1, 0x1.da96b2p+2, 0x1.3e2a6cp+3 +0x1.18a01ep+2, 0x1.a500bap+1, 0x1.aec902p+2 +0x1.8bf2c6p+2, 0x1.22554ap+0, 0x1.6cc16p+1 +0x1.fb6becp+1, 0x1.864a8ap+0, 0x1.362414p+3 +0x1.287dep+3, 0x1.1f4ad4p+3, 0x1.9803fep+0 +0x1.07cd4ap+3, 0x1.56dbe4p+2, 0x1.6881f8p+2 +0x1.ed82fp+2, 0x1.7b869cp+1, 0x1.5ba17p+2 +0x1.6453ecp+2, 0x1.ef1b14p+2, 0x1.8f09ccp+1 +0x1.3a2978p+2, 0x1.0eeff4p+0, 0x1.70bd58p+0 +0x1.ce254ep+1, 0x1.c7da58p+2, 0x1.2c5818p+1 +0x1.6187cp-1, 0x1.7e644ep-3, 0x1.ae8a44p+2 +0x1.b21efp+2, 0x1.aa9492p+2, 0x1.8d1e5p+2 +0x1.f7c6f8p+2, 0x1.905ddp-2, 0x1.3b466p+3 +0x1.93f038p+0, 0x1.b4f75ap+2, 0x1.145becp+3 +0x1.d1b4d2p+1, 0x1.231788p+1, 0x1.753dap-1 +0x1.f98b1ap+0, 0x1.6e255ep+0, 0x1.4eb154p+2 +0x1.21289ep+3, 0x1.249eeap+3, 0x1.175818p+3 +0x1.29a41ap+0, 0x1.73789cp+2, 0x1.bce30cp+2 +0x1.13605cp+3, 0x1.00fe12p+1, 0x1.c585f8p+2 +0x1.0cad78p+3, 0x1.74e9cp+1, 0x1.885e94p+1 +0x1.54d51cp+1, 0x1.218088p+2, 0x1.3faaeep+1 +0x1.d4667p+1, 0x1.eb837cp+2, 0x1.ed370cp+2 +0x1.01339cp+1, 0x1.a05f66p+0, 0x1.c7a268p+2 +0x1.5d7abap+2, 0x1.029cfcp+2, 0x1.163b76p+1 +0x1.1bf1dcp+2, 0x1.09076ep-1, 0x1.529346p+2 +0x1.fd1f18p+1, 0x1.40fb86p+2, 0x1.19cb1ap+3 +0x1.b0fab4p+2, 0x1.7d93e4p+0, 0x1.820056p+2 +0x1.6c6d7p+1, 0x1.65f124p+1, 0x1.254baap+2 +0x1.931ae4p+2, 0x1.87d292p+0, 0x1.2ccf78p+3 +0x1.d9a0c4p+1, 0x1.143ef6p+1, 0x1.029848p+3 +0x1.b1fc88p+1, 0x1.2f897cp+3, 0x1.0977a2p+3 +0x1.22d444p+3, 0x1.3c3fdcp+2, 0x1.f75804p+2 +0x1.1e7b92p+2, 0x1.3a1c52p+0, 0x1.dc9c5p-1 +0x1.094cd8p+2, 0x1.f4db2p+1, 0x1.ffd40ap+1 +0x1.418ddcp+2, 0x1.58a088p+2, 0x1.0fab06p+1 +0x1.be6b7ap+2, 0x1.b6cf6p+2, 0x1.6e60f4p+1 +0x1.87a01cp+2, 0x1.3477b4p+3, 0x1.2bc87cp+3 +0x1.f27bep+2, 0x1.f1c48ep+2, 0x1.51445p-3 +0x1.181668p+2, 0x1.baf90cp+2, 0x1.8a0924p+0 +0x1.f84b34p+2, 0x1.256566p+3, 0x1.02fef8p+3 +0x1.3b0fd8p+3, 0x1.974d68p+0, 0x1.71a5d6p+2 +0x1.1253ep+3, 0x1.3273cap+1, 0x1.fb959ap+1 +0x1.d61ce8p+0, 0x1.7ae0a6p+1, 0x1.23a9b8p+0 +0x1.d43a78p+2, 0x1.21e686p+2, 0x1.44d654p+1 +0x1.d31fb4p+1, 0x1.3cf966p+2, 0x1.6ea016p+0 +0x1.febf9p+2, 0x1.077516p+3, 0x1.7da296p+2 +0x1.3172cp+3, 0x1.6957ecp+0, 0x1.39db8p+3 +0x1.08435p+0, 0x1.242338p+3, 0x1.dd27p+1 +0x1.079622p+1, 0x1.12e198p+3, 0x1.13932ep+3 +0x1.9dd63ap+1, 0x1.3fdf4p+3, 0x1.2c398cp-2 +0x1.52ae64p+2, 0x1.b9d75cp+2, 0x1.26212cp+0 +0x1.4b09a4p+2, 0x1.6404ccp+2, 0x1.97e76p+2 +0x1.7faefap+2, 0x1.3817bcp+2, 0x1.dd49f4p+1 +0x1.f6213cp-2, 0x1.cdbe64p+2, 0x1.116d92p+3 +0x1.9b640ep+1, 0x1.3824bcp+3, 0x1.9eef4cp+1 +0x1.b7bfd8p+2, 0x1.688fdcp+2, 0x1.3326f8p+3 +0x1.999964p+1, 0x1.73bb72p+2, 0x1.8a343cp+2 +0x1.40486p+2, 0x1.4e2e14p+2, 0x1.bc1d8p+2 +0x1.b974dap+0, 0x1.10c55ep+3, 0x1.ee4154p-1 +0x1.720e0ep+1, 0x1.d68f14p+2, 0x1.8bf16ap-4 +0x1.042b44p+3, 0x1.a7c074p-6, 0x1.19559ep+2 +0x1.25c8bp+3, 0x1.da0774p+2, 0x1.18704cp+3 +0x1.6801f2p+2, 0x1.11d4aap+3, 0x1.4a974p+1 +0x1.0b798p+3, 0x1.015866p+3, 0x1.91e078p+2 +0x1.d06bc8p+2, 0x1.08cc5ep+2, 0x1.d79294p+1 +0x1.da9c24p+2, 0x1.7866cap+2, 0x1.2ffcep-2 +0x1.76397cp+2, 0x1.006b5ap+1, 0x1.0d525p+3 +0x1.098fdcp-1, 0x1.301138p+3, 0x1.958f66p+2 +0x1.d63a54p-1, 0x1.c1ac64p+2, 0x1.5a5204p+2 +0x1.b279b2p-2, 0x1.386018p+2, 0x1.51fa0ap+2 +0x1.0c6de2p+1, 0x1.6f95b8p-1, 0x1.7c2c5p+0 +0x1.f64aap+2, 0x1.145b1ap+3, 0x1.05966ap+3 +0x1.6c9b6p+2, 0x1.5b3c64p+1, 0x1.2f8e88p+3 +0x1.b36b96p+2, 0x1.8db004p+2, 0x1.0cd714p+2 +0x1.be4928p+2, 0x1.8cdc16p+1, 0x1.102478p+3 +0x1.73836p+2, 0x1.a2f264p+2, 0x1.cecb2p+2 +0x1.d4df8p-1, 0x1.dd6e4cp+1, 0x1.9a78d4p+2 +0x1.e16794p+1, 0x1.3c6052p+3, 0x1.06834p+3 +0x1.228ca8p+3, 0x1.bd6f8cp+1, 0x1.7e8a18p-2 +0x1.e0ed12p+2, 0x1.be44a4p+0, 0x1.2d085ap+3 +0x1.83f492p+2, 0x1.ad4828p+2, 0x1.065ca2p+2 +0x1.202e78p+3, 0x1.2cafd6p+3, 0x1.aed09p+1 +0x1.28de3ap+2, 0x1.2d25dcp-1, 0x1.32ea66p+3 +0x1.9d5d1p+2, 0x1.00c308p+3, 0x1.73ab68p-1 +0x1.4e496p+2, 0x1.eaa436p+1, 0x1.9a14aap+2 +0x1.293d92p+3, 0x1.2d25d8p+1, 0x1.565992p+1 +0x1.a976f4p+2, 0x1.051dbcp+2, 0x1.66563p+1 +0x1.20603cp+1, 0x1.f99f08p+2, 0x1.4456f4p+2 +0x1.2030bcp+3, 0x1.f64a04p+1, 0x1.3d836ap+2 +0x1.91de14p+2, 0x1.e41748p+0, 0x1.206fbcp+2 +0x1.96694ap+2, 0x1.300812p+2, 0x1.c12be2p+2 +0x1.b13196p+1, 0x1.ccff0ap+2, 0x1.cdbc9p+2 +0x1.d3125p+0, 0x1.104d52p+3, 0x1.ec576ap+0 +0x1.322eacp+3, 0x1.0f2168p+3, 0x1.7b0d68p+2 +0x1.30aeecp+0, 0x1.9e68ccp+1, 0x1.7bf66ep+0 +0x1.0f0a88p+3, 0x1.11993ep+0, 0x1.cfed04p+2 +0x1.86d3a4p+1, 0x1.4a2d34p+2, 0x1.6d1bap+1 +0x1.8d6906p+1, 0x1.e01f7cp+2, 0x1.c3445p+1 +0x1.1e3f58p+3, 0x1.ee6a8ep+2, 0x1.a084aap+1 +0x1.d64edp-3, 0x1.0c7392p+0, 0x1.1c839cp+3 +0x1.35bb0ap+2, 0x1.376acep+3, 0x1.944318p+0 +0x1.2decd4p+0, 0x1.b1fac8p+1, 0x1.144d88p+2 +0x1.0f80ccp+3, 0x1.2cb46cp+2, 0x1.0e56f8p-1 +0x1.2e2c92p+2, 0x1.a3a73p+1, 0x1.20f4cep+3 +0x1.de5a46p+1, 0x1.3f40a6p+0, 0x1.2e5d2p+3 +0x1.5eba22p+1, 0x1.b23078p+2, 0x1.2c54dap+0 +0x1.4a814cp+0, 0x1.347a7ap+3, 0x1.094304p+3 +0x1.d10328p+2, 0x1.169c8cp+3, 0x1.771478p+1 +0x1.1d756ap+2, 0x1.f04fdcp-2, 0x1.547172p-2 +0x1.bef29p+1, 0x1.75e55ap+1, 0x1.220a9ap+2 +0x1.38e4a8p-4, 0x1.8fcdccp+2, 0x1.ae463p+1 +0x1.12417cp+2, 0x1.3f1f64p+3, 0x1.3f643cp+3 +0x1.254c72p+0, 0x1.1889d4p+2, 0x1.bfc498p-1 +0x1.0bfca8p+3, 0x1.432cfcp-3, 0x1.868a5cp-4 +0x1.b28d1ep+1, 0x1.237e36p+3, 0x1.5bb95ap+2 +0x1.29721cp+2, 0x1.2b4768p+3, 0x1.1685a8p+3 +0x1.6d2298p+2, 0x1.ed4056p+2, 0x1.90d2a4p+1 +0x1.5e45d6p+2, 0x1.0f265cp+2, 0x1.c55886p+1 +0x1.3348d2p+0, 0x1.3de8e8p+2, 0x1.8f9334p+2 +0x1.300f0cp+3, 0x1.efad58p+2, 0x1.352a8p+3 +0x1.2a5efap+3, 0x1.41ce82p+2, 0x1.80e86cp+2 +0x1.0e13b4p+3, 0x1.0523d8p+2, 0x1.24147ep+2 +0x1.36f49ep+1, 0x1.a5656p+2, 0x1.da365ap+1 +0x1.ef42bap+1, 0x1.179a9cp+2, 0x1.eb6d74p+1 +0x1.e1a104p+1, 0x1.1470dcp+3, 0x1.9fdabp+1 +0x1.1ed388p+3, 0x1.614b6cp+2, 0x1.a92b54p+2 +0x1.04ce14p+3, 0x1.b1360ap+2, 0x1.fc061p+2 +0x1.ae60fp+1, 0x1.b021d2p+2, 0x1.403278p+2 +0x1.8f09d8p+2, 0x1.8348e2p+2, 0x1.a7e04p+2 +0x1.dbcdcap+1, 0x1.87331ap+2, 0x1.b7f05ep+0 +0x1.421d9ap+0, 0x1.e82f98p+0, 0x1.71d3aap+2 +0x1.97a80ap+0, 0x1.65ab86p+2, 0x1.e67adp+1 +0x1.28a04cp+3, 0x1.59bb08p+1, 0x1.297522p+3 +0x1.16c1ecp+3, 0x1.7733f4p-2, 0x1.318212p+3 +0x1.5a83bp+2, 0x1.d19a76p+1, 0x1.b06ccp-1 +0x1.2ad984p+3, 0x1.4e89b6p+2, 0x1.8a30e6p+0 +0x1.825cf4p+2, 0x1.3896a4p+3, 0x1.42f402p+1 +0x1.350ed2p+3, 0x1.f072d8p+1, 0x1.0c4f5cp+3 +0x1.1df5f4p+3, 0x1.069876p+3, 0x1.d12f1ap+1 +0x1.f41ef4p+2, 0x1.15a49cp+2, 0x1.deca4p+1 +0x1.9620d2p+0, 0x1.99cd92p-2, 0x1.137bd8p+3 +0x1.3d08d6p+2, 0x1.5264a2p+0, 0x1.3c318ap+3 +0x1.c439e8p+0, 0x1.2ece4ep+0, 0x1.dd769p+2 +0x1.37c56ep+2, 0x1.50a2eap+2, 0x1.068116p+3 +0x1.5f4b5ep+1, 0x1.b70e14p+2, 0x1.a879aap+2 +0x1.1562f4p+3, 0x1.583e4ap+2, 0x1.043c88p+1 +0x1.4143aap+1, 0x1.cc893cp+2, 0x1.1d8946p-2 +0x1.f5e6cp+2, 0x1.ab190ap-1, 0x1.9441ep-1 +0x1.20662ep+2, 0x1.42196ep+2, 0x1.037848p+1 +0x1.254db6p+1, 0x1.186912p+2, 0x1.2391bp-1 +0x1.f9ebe8p-1, 0x1.1bc5d8p+1, 0x1.2be58cp+3 +0x1.ef4c1p+1, 0x1.7b27c8p+0, 0x1.0172c8p+2 +0x1.39e758p+2, 0x1.e7ec5ap+2, 0x1.33a888p+1 +0x1.026c34p+0, 0x1.e76d4cp-3, 0x1.bbbc1ap+2 +0x1.9afd32p+0, 0x1.3c29fap+3, 0x1.f0f7d8p+2 +0x1.c5866p+1, 0x1.ccf4eep+0, 0x1.3d642ep+2 +0x1.6b117ap+1, 0x1.ed2822p+0, 0x1.29bccp+3 +0x1.56725cp+2, 0x1.623104p+2, 0x1.5b2012p+2 +0x1.721e6cp+2, 0x1.ac049cp+2, 0x1.c0be0ep+1 +0x1.24e26ep+3, 0x1.077b4cp+2, 0x1.30ea7ap+3 +0x1.2c4906p+2, 0x1.34019ep+3, 0x1.83ec9cp+0 +0x1.3fdef6p+3, 0x1.bdc672p-3, 0x1.cca26ap+2 +0x1.c6627ep+2, 0x1.70f56cp+2, 0x1.e27a64p+2 +0x1.3d9962p+0, 0x1.d31cf4p+2, 0x1.7429e4p+2 +0x1.501734p+1, 0x1.05a2bep+1, 0x1.2722ccp+1 +0x1.2e99b2p+1, 0x1.1eef88p+2, 0x1.5a569p+0 +0x1.f6d884p+1, 0x1.c3263ap+2, 0x1.7131dep+2 +0x1.157b3p+3, 0x1.d06f24p+2, 0x1.3e5a4cp+0 +0x1.d48fd8p+2, 0x1.dc33a8p+2, 0x1.d8be68p+1 +0x1.2e32f4p+2, 0x1.d59b76p+1, 0x1.d6a084p-1 +0x1.ace7b4p-1, 0x1.6de998p+0, 0x1.69e9fp+2 +0x1.d48f1cp+1, 0x1.aad132p+2, 0x1.1b3c92p+3 +0x1.b858c8p+2, 0x1.18096cp+1, 0x1.85c0a4p+2 +0x1.ca6fd6p+2, 0x1.bb6ef4p+0, 0x1.d5d6bcp+2 +0x1.276f14p+2, 0x1.0b56fep-2, 0x1.3bf7ap+3 +0x1.2da652p+0, 0x1.bc6bap+2, 0x1.7f9614p+1 +0x1.3eb20cp+1, 0x1.a1f414p+2, 0x1.de3188p+1 +0x1.2b31bp+2, 0x1.3a5a4p+3, 0x1.d1a1e4p+2 +0x1.d1e02cp+2, 0x1.82d706p+2, 0x1.4cc9aap-1 +0x1.f07cecp+1, 0x1.719532p+2, 0x1.3c6a9p+3 +0x1.2712ep+1, 0x1.a80cf6p+2, 0x1.281652p+1 +0x1.d955eap+2, 0x1.29a73ap+1, 0x1.acece2p+0 +0x1.888b68p+1, 0x1.47c2a8p+0, 0x1.89b048p+2 +0x1.12d004p+2, 0x1.065164p+1, 0x1.4e272cp+1 +0x1.88d4d4p+0, 0x1.e64db6p+1, 0x1.dda5e6p+2 +0x1.99373ap+2, 0x1.7308fp+0, 0x1.584c9cp+1 +0x1.fd9be2p+2, 0x1.22c8a2p+2, 0x1.8ad7p+1 +0x1.d9c7fp+2, 0x1.026b8ep+3, 0x1.1c8f3cp+3 +0x1.29cad2p+3, 0x1.2f504cp+3, 0x1.1383fep+2 +0x1.ee4f6p+2, 0x1.509454p+2, 0x1.3c367ap+1 +0x1.53ebbp+2, 0x1.17cbd2p+3, 0x1.b6f9ecp-2 +0x1.19681cp+3, 0x1.448048p+1, 0x1.3f5474p+3 +0x1.f9b8c8p-1, 0x1.a49766p+1, 0x1.aa97p+1 +0x1.118db2p+3, 0x1.a70596p+0, 0x1.2d24ap+1 +0x1.21926cp+2, 0x1.986e72p+1, 0x1.1d1046p+2 +0x1.0a62d4p+2, 0x1.307198p+2, 0x1.bd85e4p-2 +0x1.c3826p+0, 0x1.4fa1cap+2, 0x1.7b1134p+0 +0x1.05f884p+1, 0x1.e025a6p+1, 0x1.980c94p+2 +0x1.5d5072p+2, 0x1.c56a1cp+2, 0x1.3dd52cp+1 +0x1.2d2d56p+0, 0x1.097f2ep+3, 0x1.b1a61ap+2 +0x1.6e60fcp+2, 0x1.41722cp+1, 0x1.a34a22p+1 +0x1.83dfccp+1, 0x1.2db948p+2, 0x1.c7135p+1 +0x1.a62684p+1, 0x1.81375p+2, 0x1.2a92c8p+2 +0x1.096acap+1, 0x1.216af4p+2, 0x1.870cf8p-1 +0x1.4b0aeap+2, 0x1.bec492p+2, 0x1.9a76b6p+2 +0x1.555c2ap+1, 0x1.32f9d8p+3, 0x1.a5a234p+2 +0x1.7be18p+0, 0x1.3a2468p+2, 0x1.a1851p+2 +0x1.3f600cp+3, 0x1.208a98p+3, 0x1.f7daeap+2 +0x1.e18bdcp+2, 0x1.03ec7p+1, 0x1.315c72p+3 +0x1.6b37e8p+2, 0x1.cf430ap+1, 0x1.8d3b44p+2 +0x1.5d7294p+2, 0x1.1d4934p-1, 0x1.042524p+3 +0x1.030264p+3, 0x1.7c6072p+1, 0x1.3925eep+0 +0x1.1840bp+3, 0x1.64c108p+2, 0x1.9143d2p+0 +0x1.7de0dap+0, 0x1.37d0a4p+2, 0x1.755142p+2 +0x1.4602f8p+2, 0x1.1a6ebep+3, 0x1.57cc2cp+0 +0x1.83b898p-2, 0x1.262f2cp+3, 0x1.0f3ddp+3 +0x1.8e1dacp+2, 0x1.bf4758p+1, 0x1.176cc2p+3 +0x1.eb3824p+1, 0x1.85d62p+0, 0x1.1d3f4p+3 +0x1.0f5b7ep+0, 0x1.1ccb38p+3, 0x1.37d6a4p+0 +0x1.04263p+1, 0x1.cc4b5ap+2, 0x1.048f16p+3 +0x1.bc054ep+0, 0x1.20b77cp+3, 0x1.38971ep+2 +0x1.8edc46p+1, 0x1.47af9p+2, 0x1.3f35eep+3 +0x1.28e698p-2, 0x1.49c478p+2, 0x1.513912p+2 +0x1.18245ep+3, 0x1.e78a6cp+1, 0x1.1529fcp+2 +0x1.535edp+2, 0x1.55da9p+2, 0x1.01193ep+3 +0x1.c72b66p-1, 0x1.316038p+3, 0x1.3dd4dcp-1 +0x1.3a7d36p+3, 0x1.1ecc34p+1, 0x1.0f36dap+3 +0x1.18d81ep+3, 0x1.04ed9cp+0, 0x1.43b6bp+2 +0x1.23ffbp+3, 0x1.911c22p+1, 0x1.c438c2p+2 +0x1.bdcb9cp+1, 0x1.3deb8p+3, 0x1.a962c4p+2 +0x1.eb2adp+0, 0x1.1cb0e8p+3, 0x1.e3bd14p+2 +0x1.4b591p+2, 0x1.a34ad2p+1, 0x1.25e3bcp+2 +0x1.3198p+3, 0x1.d71c5ep+1, 0x1.c3137cp+0 +0x1.3e8822p+2, 0x1.ce17aap+2, 0x1.68b76ep+0 +0x1.87f356p+1, 0x1.978e88p+0, 0x1.12b8bp+3 +0x1.501fe6p+2, 0x1.62ff2p+2, 0x1.0f181cp+3 +0x1.9342cep-1, 0x1.7805ecp+2, 0x1.31727ap+3 +0x1.2bdceep+0, 0x1.fce134p+2, 0x1.a2fa8cp+0 +0x1.caf4dp-1, 0x1.28c82p+3, 0x1.23f8b2p+2 +0x1.31336p+2, 0x1.5f3a9ep+2, 0x1.c2cdbp+2 +0x1.fb2fcep+1, 0x1.04d122p+2, 0x1.335c28p+3 +0x1.1f34d6p+1, 0x1.b626a2p-2, 0x1.5cabd6p+2 +0x1.3003fp+2, 0x1.2a1918p+3, 0x1.5d83c8p+2 +0x1.29a4b8p+3, 0x1.1bbe0cp+3, 0x1.8a8b74p-1 +0x1.fbe60cp+2, 0x1.2cda44p-1, 0x1.494aeap-2 +0x1.2faec8p+1, 0x1.11ad0cp+3, 0x1.4325cap+2 +0x1.2d51a8p-2, 0x1.1add8cp+3, 0x1.29bb36p+1 +0x1.263038p+3, 0x1.247a76p+2, 0x1.1144dcp+3 +0x1.f99cc2p+0, 0x1.334edcp+3, 0x1.7d1764p+2 +0x1.414eb8p+1, 0x1.085b88p+3, 0x1.2f57c4p+3 +0x1.64308p+1, 0x1.1cf99cp-1, 0x1.584912p+2 +0x1.583c76p-1, 0x1.1557ap+1, 0x1.a42898p+2 +0x1.8c9a34p+0, 0x1.89e214p+0, 0x1.5f8958p+2 +0x1.0fa674p+1, 0x1.dbedc8p+0, 0x1.e41c5p+1 +0x1.689c4ap+2, 0x1.081accp+3, 0x1.03f30cp+1 +0x1.813878p+1, 0x1.678554p+1, 0x1.0dcdaap+3 +0x1.1f8a5cp-1, 0x1.8c0d84p+0, 0x1.5e445ep+2 +0x1.e122c4p+1, 0x1.66195p+1, 0x1.dbf198p+0 +0x1.270e08p+3, 0x1.ce67cap-4, 0x1.798732p+2 +0x1.f54c34p+2, 0x1.576e22p-3, 0x1.48e8d2p+1 +0x1.212624p+1, 0x1.70513ap-1, 0x1.4ac73p+1 +0x1.48ca68p+1, 0x1.9779c2p+2, 0x1.0b0cdp+3 +0x1.ba21acp+2, 0x1.75a906p+0, 0x1.8cfa8cp+1 +0x1.640482p+2, 0x1.de9f94p+1, 0x1.5de28cp+0 +0x1.274bccp+3, 0x1.ab7a36p+2, 0x1.e6c046p+2 +0x1.a67b02p+0, 0x1.b46654p-2, 0x1.669ec4p+1 +0x1.248258p+3, 0x1.6c94e8p+0, 0x1.1ea2aap+3 +0x1.109abep+3, 0x1.c58bcep+0, 0x1.6dc83p+2 +0x1.8e76b8p-8, 0x1.8b0fbep+2, 0x1.755462p+2 +0x1.723c8ap+1, 0x1.286d66p+2, 0x1.19e656p+3 +0x1.86b446p+2, 0x1.2f0434p+1, 0x1.2a37a8p+1 +0x1.8144fap-1, 0x1.53b87ap+2, 0x1.9955c2p+0 +0x1.1ab016p+2, 0x1.4d9dccp+2, 0x1.98d8dp+1 +0x1.28b65ap+3, 0x1.982fd2p+1, 0x1.9fc13ep+2 +0x1.26597p+3, 0x1.2b7a94p+3, 0x1.34cc5p+2 +0x1.9fd434p+1, 0x1.ea5be8p+2, 0x1.49b1dcp+0 +0x1.6427dcp+2, 0x1.a5bea2p+2, 0x1.beee92p+2 +0x1.082a94p+3, 0x1.b52892p+2, 0x1.11857ap-2 +0x1.b75c5p+1, 0x1.c4a888p+2, 0x1.50e882p+0 +0x1.d2b48cp+1, 0x1.df7412p+2, 0x1.db4d5ap+2 +0x1.159186p+3, 0x1.759664p+0, 0x1.2d6a2p+2 +0x1.66242ep+2, 0x1.9ee6e4p+0, 0x1.219afp+0 +0x1.31b1aap+3, 0x1.46c5bp+2, 0x1.b26d58p+1 +0x1.f9e61ep+1, 0x1.4b8646p+2, 0x1.2638cp+1 +0x1.b0ee9ep+1, 0x1.6ec8f2p+2, 0x1.fab96ap+2 +0x1.f8d9fp+0, 0x1.fcbf2cp+2, 0x1.99b77ep+1 +0x1.7fedb4p+2, 0x1.7e78b8p+1, 0x1.03c744p+2 +0x1.823ce2p+2, 0x1.15d80ep+3, 0x1.096a78p+3 +0x1.22d9e4p+1, 0x1.5fb9cep+1, 0x1.04341cp+3 +0x1.af79bep+1, 0x1.e8a536p+2, 0x1.36fbfcp+1 +0x1.8cd86ap+2, 0x1.cb37c8p+2, 0x1.06fba6p+3 +0x1.f9933ap+2, 0x1.453024p+0, 0x1.cb32aep+2 +0x1.4f4d1p+1, 0x1.07f93p+3, 0x1.f4f598p+1 +0x1.5e3fbp+2, 0x1.6d4128p+2, 0x1.282834p+3 +0x1.8ad264p-5, 0x1.c82032p+0, 0x1.15719ep+1 +0x1.092e28p+1, 0x1.f9695p+2, 0x1.3241d6p+3 +0x1.f00414p+2, 0x1.3d1b62p+3, 0x1.b0968cp+1 +0x1.5dbe56p+2, 0x1.24b1e2p+2, 0x1.d25b4ep+2 +0x1.9a74aep+2, 0x1.dd236p+2, 0x1.0bc868p+3 +0x1.424c46p+2, 0x1.03c6b2p+3, 0x1.66558p-1 +0x1.c9f84cp+2, 0x1.3bb87cp+1, 0x1.180372p+3 +0x1.e751d2p+2, 0x1.992304p-2, 0x1.0b5dcep+1 +0x1.187d6p+1, 0x1.ec4192p+2, 0x1.1b1532p+3 +0x1.a0ab6p+2, 0x1.2d472ap+3, 0x1.3dc226p+3 +0x1.2a816ap+2, 0x1.2e4cbp+2, 0x1.7d6768p+1 +0x1.4966e4p+2, 0x1.af5184p+1, 0x1.2bcef4p+2 +0x1.7393f4p+2, 0x1.a58f12p+1, 0x1.17234cp-1 +0x1.0b7b6p-1, 0x1.4da50ap+2, 0x1.a1b68p+2 +0x1.313bfap+3, 0x1.0db936p+3, 0x1.2eeb3cp+0 +0x1.257554p+3, 0x1.e6ae16p+1, 0x1.29367ap+0 +0x1.fb2ae8p+2, 0x1.ad00c6p+0, 0x1.d4458p-3 +0x1.3ff708p+2, 0x1.297e64p-1, 0x1.158f76p+3 +0x1.0e2cc6p+2, 0x1.c5c2bcp+2, 0x1.3f5cbap-3 +0x1.fcd822p+0, 0x1.23c2acp+3, 0x1.c5a5aep+1 +0x1.7dcd42p+2, 0x1.10d50cp+2, 0x1.1a8fcap+1 +0x1.5bcfe8p-6, 0x1.03f6aap+3, 0x1.c3adbp-6 +0x1.1eb956p+3, 0x1.273888p+3, 0x1.7e1f7ap+2 +0x1.714ep+2, 0x1.b94bc8p+1, 0x1.58af8ap+1 +0x1.4e05c2p+1, 0x1.6db54cp+2, 0x1.22067ep+1 +0x1.69fda8p+0, 0x1.892b3p+2, 0x1.64deecp+2 +0x1.58c06cp+2, 0x1.60a81cp+1, 0x1.b51bc4p+2 +0x1.17f85p+3, 0x1.1ab92cp+1, 0x1.40a224p+2 +0x1.1ac8d4p+3, 0x1.11b02ep+1, 0x1.6f676p+0 +0x1.7d8568p+0, 0x1.fea7f8p+2, 0x1.0814c4p+1 +0x1.926bb8p+2, 0x1.c69c5cp+2, 0x1.e0ce9p+1 +0x1.affdd6p+2, 0x1.3a2f48p+3, 0x1.869624p+1 +0x1.08b1dp+2, 0x1.162e3p+1, 0x1.086d96p+3 +0x1.9d5ac2p+2, 0x1.03f22ep+3, 0x1.f8e296p-2 +0x1.5a681p+0, 0x1.1823c4p+3, 0x1.826e14p+2 +0x1.eefc1ap+2, 0x1.dab6b8p+2, 0x1.f462ep+1 +0x1.96799cp+1, 0x1.13ac96p+3, 0x1.1119d2p+0 +0x1.1c57dp+1, 0x1.182526p+2, 0x1.2ee264p+2 +0x1.aca1f8p+2, 0x1.973c6cp+1, 0x1.f2166p+1 +0x1.2e1e88p+2, 0x1.eb5ccp+2, 0x1.571d7cp+1 +0x1.004a98p+3, 0x1.2aa86ep+2, 0x1.308a74p+2 +0x1.e6f18ap+1, 0x1.d1626cp+2, 0x1.5f1d64p+2 +0x1.7d8cfep+2, 0x1.14eba6p+3, 0x1.54af3ap+2 +0x1.e7da7ap+2, 0x1.0333f2p-1, 0x1.ec33fcp+2 +0x1.b2d39ep+1, 0x1.873e88p+2, 0x1.2fffep+3 +0x1.757568p+2, 0x1.abae18p+2, 0x1.e2ef5ep+2 +0x1.83992cp-2, 0x1.42f76p+2, 0x1.dd84bcp+1 +0x1.aaa796p+2, 0x1.9c29b8p+1, 0x1.27074ap+3 +0x1.6e6d46p-1, 0x1.61267ap+2, 0x1.30ef8cp+2 +0x1.1a3e2p+3, 0x1.045a8p-1, 0x1.3b2a74p+3 +0x1.68744ap+2, 0x1.d99348p+2, 0x1.c478fap+2 +0x1.2259b4p+1, 0x1.f02788p+2, 0x1.5faccap+1 +0x1.0c35a2p+3, 0x1.315bc8p+3, 0x1.3310eap-1 +0x1.3681eep+2, 0x1.07ece6p-1, 0x1.04c0c8p+3 +0x1.0e1402p+3, 0x1.35a56ap+2, 0x1.b4ce4p+2 +0x1.e21f02p+2, 0x1.dd9d9ep+2, 0x1.cde438p+0 +0x1.fb9ab8p+1, 0x1.0ce43ep+3, 0x1.22e44ep+2 +0x1.15f596p+3, 0x1.347986p+3, 0x1.ad763p+0 +0x1.16c186p+1, 0x1.be57d8p+0, 0x1.3bd818p+3 +0x1.a5dde2p+2, 0x1.84839p+1, 0x1.30c864p+2 +0x1.2d146ap-2, 0x1.e45ec4p+1, 0x1.394274p-2 +0x1.98243cp+2, 0x1.1ef7c4p+0, 0x1.81a76p-1 +0x1.220782p+3, 0x1.63a7b2p+2, 0x1.f7d584p+2 +0x1.abfab4p-3, 0x1.675234p+1, 0x1.ecb128p+2 +0x1.31b3fp+3, 0x1.e7d922p-4, 0x1.50c99ep+2 +0x1.aee646p+2, 0x1.4bdfp+2, 0x1.7c79f4p+2 +0x1.206e9ap+3, 0x1.0a1e0ap+2, 0x1.3454e6p+3 +0x1.53dfaap+1, 0x1.ac89b6p+1, 0x1.1198a4p+3 +0x1.c2589cp+0, 0x1.a52eep+2, 0x1.05f6f4p+3 +0x1.3da91p+3, 0x1.9e8cccp+2, 0x1.1733fep-2 +0x1.6cdbp+0, 0x1.71b80cp+2, 0x1.aa1b38p+1 +0x1.6c5adcp+2, 0x1.d82f4p+1, 0x1.3f7156p+2 +0x1.2bf7bap-4, 0x1.79497cp+1, 0x1.0aa55cp+1 +0x1.25f95cp+3, 0x1.3ff34ap+3, 0x1.07af8ap+2 +0x1.2200acp+3, 0x1.8331f2p+0, 0x1.2c84e6p+1 +0x1.7a7618p+2, 0x1.17de4p+3, 0x1.a9e126p+2 +0x1.f73f88p-1, 0x1.4d887p+2, 0x1.3f94p+1 +0x1.660b1ap+2, 0x1.20ae34p+2, 0x1.1aa302p+2 +0x1.8cf284p-1, 0x1.0c7b4ep+2, 0x1.2bfcd4p+3 +0x1.2bca02p+1, 0x1.2ecb7p+2, 0x1.744a74p+0 +0x1.68fb22p+1, 0x1.31cbe4p-6, 0x1.942594p+2 +0x1.5a976ep-1, 0x1.ffb084p-2, 0x1.11852ap+2 +0x1.92f1cp+0, 0x1.f103f4p+0, 0x1.dc0764p+2 +0x1.eabbe8p+0, 0x1.3f32aap+3, 0x1.61989p+2 +0x1.9a3d44p-2, 0x1.ac4a76p+2, 0x1.500962p+2 +0x1.5729ecp+0, 0x1.06c2aap+3, 0x1.d60462p+2 +0x1.1e6ceep+0, 0x1.3a625p+3, 0x1.eb8f26p+2 +0x1.1af988p+2, 0x1.274798p+3, 0x1.f531ep+2 +0x1.e57914p-3, 0x1.c909d4p+1, 0x1.8ab57ap-4 +0x1.109b5p+1, 0x1.396724p+3, 0x1.bfc82p-2 +0x1.c61b7cp+1, 0x1.ed5f2cp+1, 0x1.f66144p+2 +0x1.d40138p+0, 0x1.4af854p+2, 0x1.38b042p+1 +0x1.fab436p+2, 0x1.0e35f4p+3, 0x1.5637dcp+0 +0x1.27bd54p-10, 0x1.0c6214p+3, 0x1.f6e806p+2 +0x1.223d8ap+2, 0x1.104134p+3, 0x1.df44d8p-8 +0x1.43899ep+1, 0x1.d042dap+2, 0x1.dbdcap+1 +0x1.192154p+1, 0x1.227e32p+3, 0x1.4ab536p+2 +0x1.870e76p+2, 0x1.e52718p+2, 0x1.090ad6p+1 +0x1.217b28p+3, 0x1.17c996p+2, 0x1.02cadp+2 +0x1.50d484p-1, 0x1.47b81p+2, 0x1.f66ddp+2 +0x1.e2514ap+1, 0x1.ac3c54p+2, 0x1.9ee518p+0 +0x1.ac8718p+2, 0x1.293368p+1, 0x1.183366p+3 +0x1.1c4e5p+2, 0x1.ddbb56p+0, 0x1.b72eaap-1 +0x1.b89264p+2, 0x1.4d107ep+2, 0x1.82a97ap+1 +0x1.00e5fep+0, 0x1.5e05f2p+2, 0x1.02e9d4p+3 +0x1.ec3fap-1, 0x1.20f8c6p+3, 0x1.d9cb4cp+2 +0x1.4b71a8p+2, 0x1.5e61b2p+0, 0x1.cb62a6p+0 +0x1.e17808p+2, 0x1.f7166p+2, 0x1.f0e958p+2 +0x1.6ee6dep+1, 0x1.550128p+2, 0x1.15cp+0 +0x1.62d756p+2, 0x1.b3419cp+1, 0x1.4bee06p+2 +0x1.3f29dap+2, 0x1.8d6634p+1, 0x1.3da74ap+2 +0x1.6df0d2p+2, 0x1.fcbc06p+2, 0x1.cdd424p+2 +0x1.0f146p+3, 0x1.13be1ap+3, 0x1.8c734ap+2 +0x1.42235ap+1, 0x1.17d2eap+3, 0x1.a06b24p+0 +0x1.027cd8p+2, 0x1.745d9ep+1, 0x1.c9e56p-2 +0x1.147256p+3, 0x1.409fe8p+2, 0x1.1a1f72p+1 +0x1.3f61a8p+3, 0x1.090376p+2, 0x1.8d3552p+2 +0x1.63397ep+1, 0x1.4aff3ap+1, 0x1.f17894p+2 +0x1.bfe01ap+1, 0x1.e7c292p+1, 0x1.b885b4p+2 +0x1.25a126p+3, 0x1.14c99cp+2, 0x1.80c766p+1 +0x1.420696p+2, 0x1.3bf59ap+3, 0x1.eb9c06p+2 +0x1.9ec98ep+1, 0x1.8bea2ep+0, 0x1.880c0ep+2 +0x1.aa0b14p+1, 0x1.466178p-2, 0x1.6f7e68p+2 +0x1.326592p+3, 0x1.4cc128p+2, 0x1.e833b2p+0 +0x1.25d79p+2, 0x1.c3760cp-1, 0x1.0d2ed2p+3 +0x1.0479acp+2, 0x1.53e282p+0, 0x1.3bccap+2 +0x1.9eb34cp+0, 0x1.740ba4p-1, 0x1.b877ap+2 +0x1.703becp+1, 0x1.cc7cecp+2, 0x1.dd239cp+2 +0x1.07bc3cp+3, 0x1.16535p+3, 0x1.35aea8p+3 +0x1.0a566cp+0, 0x1.07b97ep+3, 0x1.21f4a6p+3 +0x1.3db044p+1, 0x1.ccffecp-1, 0x1.368ffap+2 +0x1.6d05b6p+2, 0x1.b4b568p+2, 0x1.ee7142p+2 +0x1.436b02p+2, 0x1.2e1818p+2, 0x1.10311p-2 +0x1.5c9e6p+2, 0x1.19f3cap+3, 0x1.0793dp+2 +0x1.1657cp+2, 0x1.e0ba9ap+1, 0x1.19eb16p+3 +0x1.6254c2p+2, 0x1.0aa69p+1, 0x1.ce9d1p+1 +0x1.d9b4f8p-1, 0x1.b3cea2p+2, 0x1.715e28p-1 +0x1.31e3aep+3, 0x1.5cc698p+2, 0x1.c75846p-4 +0x1.eddd26p+2, 0x1.325a74p+2, 0x1.823592p+2 +0x1.15bd9ap+2, 0x1.a6526cp+0, 0x1.321c84p+3 +0x1.12468ep+1, 0x1.5cc256p+1, 0x1.c7296ap+2 +0x1.dbf55ap+2, 0x1.6b67b4p+1, 0x1.116d7cp+2 +0x1.01d88ep+2, 0x1.4a67dcp+1, 0x1.468c4cp+2 +0x1.e430a8p+2, 0x1.a1ad64p+2, 0x1.36c02cp+2 +0x1.eb49d8p+2, 0x1.06ca4ap+0, 0x1.2752f6p+2 +0x1.b7f4fap+1, 0x1.2a5304p+2, 0x1.910b5ap+1 +0x1.483f7cp+0, 0x1.7699d2p+2, 0x1.51a6d2p+2 +0x1.8db7ecp+2, 0x1.5c5ff8p+1, 0x1.85559ap+2 +0x1.8f8dc8p-2, 0x1.39c2fap+1, 0x1.b06a46p+2 +0x1.d54b8cp-1, 0x1.dcd938p+2, 0x1.33c866p+0 +0x1.251c2ep+3, 0x1.df516cp+1, 0x1.2b0f54p+2 +0x1.4c396ap+1, 0x1.228184p+3, 0x1.a81516p+2 +0x1.930cccp+1, 0x1.46994cp+1, 0x1.d7adp-2 +0x1.0840c2p+3, 0x1.e39706p+2, 0x1.5a58c2p+2 +0x1.47d6cap+2, 0x1.dcbb6cp+2, 0x1.d2165cp+2 +0x1.299ceap+3, 0x1.1a15f6p+2, 0x1.0c28aap+3 +0x1.f54008p+2, 0x1.713dp+1, 0x1.f65d84p+2 +0x1.7b0a68p+2, 0x1.27ef8p+3, 0x1.276f7p+3 +0x1.385d02p+3, 0x1.de29e8p+2, 0x1.5e3084p+0 +0x1.fdfc2cp+1, 0x1.ea5f2cp+2, 0x1.2263ccp+3 +0x1.6737a8p+2, 0x1.e79cp+2, 0x1.73b0c6p+0 +0x1.7c315ep+2, 0x1.a05cdp+2, 0x1.0c82b4p+2 +0x1.885bb4p-1, 0x1.799736p+2, 0x1.486e9cp+2 +0x1.910412p+0, 0x1.b03fb6p+1, 0x1.a4e5b2p+2 +0x1.07f7a8p+2, 0x1.ce397cp+2, 0x1.3c1af4p+3 +0x1.8277bcp+2, 0x1.33255cp+3, 0x1.e9639p+2 +0x1.d74fc4p+1, 0x1.4ecc14p+2, 0x1.55e082p+2 +0x1.8ab262p+2, 0x1.05e46ap+2, 0x1.0c7de4p+3 +0x1.10401ep+2, 0x1.6e9d86p+2, 0x1.aad04p+2 +0x1.8d3492p+1, 0x1.e4803p-2, 0x1.d7fa54p+1 +0x1.4b60e8p+1, 0x1.d67104p+2, 0x1.0cfd6p-1 +0x1.f5e8f8p+1, 0x1.38d81p+0, 0x1.1eec34p+3 +0x1.524604p+0, 0x1.345652p+3, 0x1.28298ep+2 +0x1.d846fap+2, 0x1.4f1d5cp+2, 0x1.3700ecp+3 +0x1.9820cap+2, 0x1.08b96ap+3, 0x1.478ed4p+2 +0x1.fd6986p+2, 0x1.2b2988p-1, 0x1.712078p+0 +0x1.e4e496p+2, 0x1.358f9p+3, 0x1.dbe6fp+1 +0x1.84bac4p+2, 0x1.742334p+2, 0x1.ab8d18p+2 +0x1.8bdd44p+1, 0x1.63e5aep+2, 0x1.a496e8p-1 +0x1.a9b8fcp+0, 0x1.cca4f8p+2, 0x1.716bc2p+2 +0x1.d81228p+2, 0x1.dc2028p+1, 0x1.1155ecp+3 +0x1.3de2d8p+3, 0x1.af88eep+2, 0x1.f30108p+2 +0x1.cd1046p+2, 0x1.e9bafcp+2, 0x1.132262p+1 +0x1.25cb04p+2, 0x1.7cd67ep+2, 0x1.6513f4p+0 +0x1.c12b7ep-1, 0x1.4a56e2p+0, 0x1.c0524cp+1 +0x1.230148p+3, 0x1.0d898p+1, 0x1.10c60ep+3 +0x1.8c3ap+2, 0x1.02c2bap+3, 0x1.3483fcp+1 +0x1.04c5d2p+1, 0x1.7af084p+2, 0x1.357106p+3 +0x1.8b14acp+2, 0x1.aa9ae8p+0, 0x1.e5b04cp+2 +0x1.e36a74p+2, 0x1.266328p+2, 0x1.4837bp-2 +0x1.358edp+1, 0x1.34bae2p+3, 0x1.2834bp+3 +0x1.b1444p+1, 0x1.f08888p+1, 0x1.048f72p-2 +0x1.c2757p+0, 0x1.2987f4p+3, 0x1.73e582p+2 +0x1.2b14c6p+2, 0x1.eccbd4p+2, 0x1.21334cp+3 +0x1.04d0c4p+2, 0x1.076ba2p+3, 0x1.b3c62ap+2 +0x1.f1e2a4p+0, 0x1.209d7p+2, 0x1.553aacp+2 +0x1.2157b2p+3, 0x1.206a76p-1, 0x1.5e01e2p+0 +0x1.ba41ap+2, 0x1.0b4798p+3, 0x1.1ec5f6p-1 +0x1.8bbd54p-1, 0x1.354e98p+0, 0x1.dc8d32p+2 +0x1.fe7bap+1, 0x1.8125fap+2, 0x1.8bc37cp+2 +0x1.d26b7p+1, 0x1.348504p+3, 0x1.9348b8p+2 +0x1.8dece6p+2, 0x1.f3f974p+2, 0x1.203d08p+2 +0x1.13ed92p+3, 0x1.9277b6p+1, 0x1.175daap+1 +0x1.2f71a6p+2, 0x1.5d645ep+2, 0x1.2dd81ep+3 +0x1.1fbf8p+3, 0x1.c90878p+1, 0x1.15896ep+3 +0x1.6781cp+2, 0x1.815b2ep+1, 0x1.1224a4p+3 +0x1.3b18dp+3, 0x1.21d86cp+0, 0x1.c2e90ap+2 +0x1.3b32e6p+3, 0x1.6750a6p+2, 0x1.166c6p+3 +0x1.2fc01p+2, 0x1.0ed9c8p+3, 0x1.f1c40cp+1 +0x1.080a86p+3, 0x1.b1d5d4p+1, 0x1.595b9ap+1 +0x1.2f81e8p+3, 0x1.2be62p+2, 0x1.237614p+2 +0x1.08d676p+0, 0x1.30e348p+3, 0x1.0bdb8cp+2 +0x1.123a9ap+3, 0x1.8a7768p-4, 0x1.19b21ap+1 +0x1.335af4p+3, 0x1.c8d1ep+2, 0x1.3421ap+2 +0x1.9e2394p+1, 0x1.0ab798p+1, 0x1.0383cp+3 +0x1.dbf414p+2, 0x1.0571d6p+3, 0x1.071454p+3 +0x1.bcec4p+1, 0x1.642ce8p+0, 0x1.ebf7d2p+2 +0x1.73b988p+2, 0x1.150948p+2, 0x1.142ebep+1 +0x1.46976ep+2, 0x1.6d4f14p+2, 0x1.1742fap+2 +0x1.480a0cp+1, 0x1.195f2p+3, 0x1.67851ep+1 +0x1.5e66a6p+1, 0x1.6c748ep+0, 0x1.9b2f72p+0 +0x1.56a64ap+2, 0x1.675612p+1, 0x1.7bf9dcp+2 +0x1.4613ep+2, 0x1.171a52p+1, 0x1.f0ddb2p+1 +0x1.2ddc24p+1, 0x1.ad202cp+1, 0x1.7c6eap+2 +0x1.4c71d8p-6, 0x1.1019a4p+3, 0x1.3af4a8p+3 +0x1.33ebb6p-3, 0x1.4bdf3cp+1, 0x1.f5488p+1 +0x1.6145c8p+2, 0x1.3e632ep+1, 0x1.2cff24p+3 +0x1.4495c2p+2, 0x1.6c9118p+0, 0x1.1b17f8p+2 +0x1.f34f5ap-2, 0x1.820856p-3, 0x1.263ddcp+2 +0x1.3c2c0ep-1, 0x1.846d28p+2, 0x1.ecf84ep+2 +0x1.c8c934p+2, 0x1.6d118p+2, 0x1.1a91fp+1 +0x1.1de68p+3, 0x1.40df1cp+2, 0x1.39e02ep+3 +0x1.0752ep+3, 0x1.27ffccp+3, 0x1.0b693ep-1 +0x1.72287p+2, 0x1.1645bap+2, 0x1.203b98p+2 +0x1.641c78p+2, 0x1.88430cp-1, 0x1.0405d6p+1 +0x1.e445e8p+1, 0x1.2d252cp+1, 0x1.304dd8p+3 +0x1.7f82b6p+2, 0x1.044c7ap+2, 0x1.e0a138p+0 +0x1.f931p+1, 0x1.e7b8acp-3, 0x1.65f6cap+1 +0x1.d6190ap-1, 0x1.af4dc4p+2, 0x1.8f703cp+1 +0x1.b031d8p+2, 0x1.400dep+0, 0x1.ac887ep+0 +0x1.2065c8p+3, 0x1.a5654p+0, 0x1.345e48p+3 +0x1.d5ab3ap+1, 0x1.acae6cp-1, 0x1.cae8e6p+1 +0x1.3001dep+2, 0x1.1424dap+3, 0x1.03ed44p+2 +0x1.0ac5bep+3, 0x1.1fbf1cp+3, 0x1.a7caccp+2 +0x1.f0e07ap-1, 0x1.e0301ep+0, 0x1.ca3c98p+2 +0x1.f42adcp+2, 0x1.90a4dp-2, 0x1.bbe8bcp+2 +0x1.2ce19cp+1, 0x1.3e73c4p+3, 0x1.543c3cp+1 +0x1.f4c5bp-1, 0x1.ea2bacp-2, 0x1.044c48p+3 +0x1.62b68cp+2, 0x1.5afbacp-1, 0x1.48378p+2 +0x1.14c40ap+1, 0x1.3e01f2p+1, 0x1.a16c4ep+2 +0x1.119b66p+3, 0x1.59d458p+0, 0x1.132b7p+1 +0x1.f099d8p-1, 0x1.4cd87ap+2, 0x1.11da0cp+3 +0x1.4d2f44p+0, 0x1.365e08p+2, 0x1.259be8p+0 +0x1.773724p-1, 0x1.c82dacp-1, 0x1.e88c52p+2 +0x1.0dd49cp+3, 0x1.60bb72p+2, 0x1.08f99cp+2 +0x1.3ba83cp+3, 0x1.47f8a2p+1, 0x1.4de852p+2 +0x1.3a31c4p+3, 0x1.ecc6e4p+2, 0x1.288562p+1 +0x1.1bfa3cp+0, 0x1.0eb7aap-4, 0x1.09f00cp+1 +0x1.95526p+2, 0x1.a78db2p+2, 0x1.bcfe3cp+2 +0x1.7bef86p+2, 0x1.f13992p+1, 0x1.7e1a82p+2 +0x1.9a5fep+0, 0x1.d6c544p+1, 0x1.1934ep+3 +0x1.01687ep+3, 0x1.96cf34p+2, 0x1.2ad3d4p+3 +0x1.32887ep+3, 0x1.55f64cp-3, 0x1.b35058p+2 +0x1.a2058ep+2, 0x1.6d8f3ep+1, 0x1.5cd6e6p-2 +0x1.428198p+2, 0x1.c37e38p+2, 0x1.7c7d78p+2 +0x1.3eb35cp+3, 0x1.8a1898p+1, 0x1.b80688p+2 +0x1.67c552p+2, 0x1.b9a3dap+1, 0x1.382baap+3 +0x1.0ecf78p+3, 0x1.eaea98p+1, 0x1.e3afp+1 +0x1.a0338cp+1, 0x1.4a3842p-1, 0x1.065f06p+3 +0x1.d022dp+1, 0x1.208596p-1, 0x1.867fccp+2 +0x1.2c4b56p+2, 0x1.affbd8p+2, 0x1.807072p-2 +0x1.595bfep+1, 0x1.1ca4bep+3, 0x1.6283eep+2 +0x1.56ad3ap+2, 0x1.1b350cp+2, 0x1.1485dp+2 +0x1.07ce5p+3, 0x1.8e1878p+2, 0x1.ff711ap+1 +0x1.a89f46p+2, 0x1.6712fp+2, 0x1.2699dcp+3 +0x1.394f1p+1, 0x1.129d38p+2, 0x1.91f168p+1 +0x1.8a7fa4p+2, 0x1.7056bp+2, 0x1.ecd924p+2 +0x1.89818p+2, 0x1.156cf4p+3, 0x1.21181cp+3 +0x1.57d41p+1, 0x1.7c8d7ap+1, 0x1.8050fcp+2 +0x1.b2a586p-8, 0x1.b0c9f4p+2, 0x1.fe6c08p+1 +0x1.fc4708p-2, 0x1.366afep+0, 0x1.80bf82p+0 +0x1.6644ep+1, 0x1.c9a8e8p-3, 0x1.164854p+2 +0x1.7a425ep+1, 0x1.27da72p+3, 0x1.06b47cp-1 +0x1.4155dcp+1, 0x1.b52c8ep+0, 0x1.246762p+2 +0x1.1fc472p+0, 0x1.1437d6p+3, 0x1.a7be0cp+2 +0x1.cff6c8p+2, 0x1.ac3d4ap+2, 0x1.e29ebep+2 +0x1.96d46cp+1, 0x1.6ceafap+2, 0x1.3800b6p-1 +0x1.0519aap+3, 0x1.c52ba8p-1, 0x1.9c143cp+1 +0x1.b26c08p+0, 0x1.3aed6cp+2, 0x1.ab880cp-2 +0x1.245874p+3, 0x1.1f9902p+3, 0x1.8e7dfp+1 +0x1.21b52p+2, 0x1.01543ep+2, 0x1.e7eaa8p+0 +0x1.17cca8p+2, 0x1.d6f8e8p+1, 0x1.260fd2p+3 +0x1.ebf8ep+2, 0x1.452ffcp+2, 0x1.4f65dp+0 +0x1.428da8p+1, 0x1.f5ded2p+1, 0x1.46c00cp+1 +0x1.2f31fp+2, 0x1.443116p+0, 0x1.c6609cp+2 +0x1.02781ap+3, 0x1.99d188p+2, 0x1.2533a8p+1 +0x1.0e59d2p-6, 0x1.b86fd6p+1, 0x1.eab5ccp-2 +0x1.0555f8p+3, 0x1.3f45f2p+3, 0x1.091c1cp+3 +0x1.8be21p-1, 0x1.e83d5cp+0, 0x1.2d3682p+2 +0x1.92cf1ap+2, 0x1.f43f34p+1, 0x1.0d3928p+3 +0x1.dff55ep+1, 0x1.319a9ap+3, 0x1.41f48ep+0 +0x1.689018p+0, 0x1.78e1cp-1, 0x1.adce82p+2 +0x1.bd09eap+2, 0x1.1dcdaap+2, 0x1.3500fap+3 +0x1.02c768p-3, 0x1.02a25ap+3, 0x1.84d598p+2 +0x1.2c177cp+2, 0x1.43c968p+1, 0x1.855918p-4 +0x1.1aae48p+1, 0x1.6c1d5p+2, 0x1.375cbep+2 +0x1.210162p+3, 0x1.afe81p+1, 0x1.fa645p-1 +0x1.a9b934p+2, 0x1.e53cbp+2, 0x1.aeedd8p-2 +0x1.610f1ep+1, 0x1.2faad2p+3, 0x1.8685dp+2 +0x1.0468f8p+2, 0x1.39b37ep+3, 0x1.c5fcbcp+1 +0x1.ad68a4p-1, 0x1.00d0d6p+2, 0x1.df2fecp+2 +0x1.7327dcp+2, 0x1.bc7d22p+2, 0x1.0019b6p+2 +0x1.29476p+3, 0x1.27778cp+3, 0x1.b22534p-2 +0x1.f48edap-1, 0x1.192afp-3, 0x1.f9c4b6p+2 +0x1.27f41p+3, 0x1.ec30c8p+2, 0x1.7edddep+0 +0x1.bf79f2p+1, 0x1.f156b4p+1, 0x1.1dd1f6p-1 +0x1.913e6ep+2, 0x1.8361dp+0, 0x1.45de3cp+2 +0x1.e7245p+1, 0x1.4dfb4ep+2, 0x1.cdb54ep+2 +0x1.6450e8p-1, 0x1.b4ad76p+2, 0x1.215174p+2 +0x1.489a28p+2, 0x1.e8d3fep-5, 0x1.eedc7p+1 +0x1.12ec7cp+3, 0x1.41f73p+2, 0x1.607fdap+2 +0x1.c94628p+1, 0x1.15e90cp+2, 0x1.9bb122p+2 +0x1.291fe6p+3, 0x1.a7d1p+2, 0x1.7b3e2ap+0 +0x1.1f5014p+3, 0x1.1ab73cp+2, 0x1.ce55d2p+2 +0x1.da2f74p+2, 0x1.a17288p+0, 0x1.03936cp+2 +0x1.714874p+2, 0x1.9e0a86p+2, 0x1.3b577ep+3 +0x1.07d43p+0, 0x1.c31f98p+2, 0x1.cb4dfp+1 +0x1.3a9d3cp+2, 0x1.ea2456p-1, 0x1.e3b77p-1 +0x1.dd896cp+2, 0x1.682406p-1, 0x1.1c6f3p+3 +0x1.f088e2p+2, 0x1.294024p+1, 0x1.d7b1fp+2 +0x1.14378ep+3, 0x1.2b49d6p+1, 0x1.ee9c5ap-3 +0x1.2384c4p-1, 0x1.d87f8cp+0, 0x1.1d9ebcp+3 +0x1.878274p+2, 0x1.14a7f6p+1, 0x1.6fe75p+1 +0x1.e67538p+2, 0x1.625f8p+1, 0x1.0a5fc6p+3 +0x1.271f9cp+2, 0x1.377044p+3, 0x1.21c7d4p+2 +0x1.3e0d5cp+3, 0x1.5fc91cp+1, 0x1.02d8d4p-1 +0x1.75f484p+1, 0x1.e7b8ccp+2, 0x1.37e5a2p+2 +0x1.a3f112p+2, 0x1.054e46p+2, 0x1.03e04ap-1 +0x1.8fc848p+2, 0x1.838eccp+2, 0x1.ee3078p+1 +0x1.99bc62p+2, 0x1.17e634p+3, 0x1.6754c8p+2 +0x1.73a2c8p+2, 0x1.344bf8p+3, 0x1.a0a18cp+2 +0x1.b0373cp+2, 0x1.0ddb4p+2, 0x1.00e68p+3 +0x1.e49fa4p+2, 0x1.130fdep+3, 0x1.9e0588p+0 +0x1.14fffep+2, 0x1.3a1454p+1, 0x1.e3cee2p+1 +0x1.2c2894p+3, 0x1.9828d2p+2, 0x1.73449ep+2 +0x1.ddd774p+2, 0x1.29bb68p+0, 0x1.0ba31ep+3 +0x1.1e76b8p+3, 0x1.f41c16p+1, 0x1.3409cep+1 +0x1.f29eap+2, 0x1.81affp+1, 0x1.0b2d38p+3 +0x1.6ae372p+2, 0x1.01615ap+1, 0x1.0faa6p+3 +0x1.6e08bap-3, 0x1.ab8d22p+2, 0x1.011d56p+3 +0x1.f43b62p+1, 0x1.da43bap+2, 0x1.41a44p+1 +0x1.adce14p+2, 0x1.cd06c6p-3, 0x1.57ea5p+2 +0x1.0625dep+3, 0x1.4d32fap-1, 0x1.9695b8p+2 +0x1.08057p+3, 0x1.1b47e4p+2, 0x1.a35d5cp+2 +0x1.2c1976p+3, 0x1.393172p+3, 0x1.3548d8p+2 +0x1.b75612p+2, 0x1.0dfcap+3, 0x1.97d51ep+2 +0x1.6b344cp+2, 0x1.d79464p+0, 0x1.7f234cp+1 +0x1.5ab7c6p+2, 0x1.1d411p+2, 0x1.da93ap+2 +0x1.0eca6ap+2, 0x1.34c392p+2, 0x1.31231cp+3 +0x1.82f538p-1, 0x1.54ee5p+2, 0x1.c0cfa2p-1 +0x1.ffc172p+2, 0x1.4b3318p+2, 0x1.ab3b72p+1 +0x1.b833c4p+0, 0x1.4b9a28p+0, 0x1.7d8e0ap-1 +0x1.527d6ep+0, 0x1.d8d67ep+0, 0x1.df73fcp+1 +0x1.bfedf8p+0, 0x1.1267ep+2, 0x1.3151acp-1 +0x1.dc499cp+2, 0x1.10b812p+2, 0x1.7d183p+1 +0x1.2c3aa8p+1, 0x1.19cd66p+2, 0x1.cf28acp+1 +0x1.bf0a26p+2, 0x1.2ded74p+3, 0x1.8957dcp+0 +0x1.2af8e4p+0, 0x1.f83a4ep+1, 0x1.f9f052p-2 From patchwork Thu Nov 13 12:58:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 124141 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F2B753858C66 for ; Thu, 13 Nov 2025 13:07:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F2B753858C66 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=dx1Ck5dW X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x643.google.com (mail-pl1-x643.google.com [IPv6:2607:f8b0:4864:20::643]) by sourceware.org (Postfix) with ESMTPS id 83D1A3858409 for ; Thu, 13 Nov 2025 13:05:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 83D1A3858409 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 83D1A3858409 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::643 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1763039101; cv=none; b=VbftUPjWlMtmcuHqQnxdhmKDMZ0zFVm8B0sVtv3LONJ2bUUXUu31hzt/PyE2LXjoXPXiwxmEGRswXw1+RpcTTFDz9CgVOLbdsk3zg0SgZjHPTMl4D0dSI1w6Tvxy60TRWIwGbmMllFuD2J8dlhdcT1uVHsxM4+WS3KRWgKuqaeA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1763039101; c=relaxed/simple; bh=VEfim4AZLiJyMp19raILxA5/zEIhH9S2r6TsckJXQ5A=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=Rrmr6obc5ztwfo4dINOZvW3zde4kVFnA9eRoBulLCOmzSZ19mVpQT1twOeFMYVfTwX4oF8VD01Aq/zjqK3Ho58nXjKB69G0I6v1Jv0SUK0FUScZl4UNTEatq24b1tuI8ALqRBE6G6fLxX/7vdkgXeD0m8/i5CGqRnnX+tzHUR/A= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 83D1A3858409 Received: by mail-pl1-x643.google.com with SMTP id d9443c01a7336-297e982506fso8250945ad.2 for ; Thu, 13 Nov 2025 05:05:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1763039100; x=1763643900; 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=luWtAsk/14FUWqwWqimnUFIzcsHlT9ELkWocGemyU98=; b=dx1Ck5dWwJGa9sKAXOKmwM+Qgti1S+jk7jfNQI0rmFCICwQ13tYXQeUEq99Ub5v6GB +kl/Gy2GYS8gS2RTR5pEzlmhvHR81dGAgwY6VkwoGHZbrpWsvxROaNFCuUYEWVsaMv5Y gcZQqjCiplRbuD3DKbWSmPZsKdlTo1W1j9S8I87DMGTDqOHE0RjuudDOm1f+VQSdXM57 gThfMoKdwRGF8qTB9U/1CFxs8b2UBkfMjnZ2jjJzILTUfXeVdPAqR/wdsPq/M5eFsnrX cnkVPMs70qI2auYZ6AxAVsGfRn2lX/p15A1Dgj952MGo1JrLUHEVXM0rWhLVjJxSnDzD JzdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763039100; x=1763643900; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=luWtAsk/14FUWqwWqimnUFIzcsHlT9ELkWocGemyU98=; b=B6lCvoCw5aYyTnbeABzxL0O+jN0K/vzwh1TXViQbPLVKqxLIpJ/TQjfS3U2zS5pGW+ Mis9bnSwO1OaXDbvsyWCu4ogUz8HsPoSMEaprOQ88PtEYXhZf4hKzvOt67xqFTsbmFpt 8JdziJTDOR38qGgJq95gFRuqyfN4KL5wPhU1f26KRwGWxqZ+82CfuCy7oDD3Hb04mpSO Lcr95n1fwfCGFBPzKK2+TndcrzHq2CL9chD3+E99hgsLeGCD3ZepnKAUs4zMkMw86h4g I7UtjaucHsTsn37dClaWC9CrMuV5FHGsq+dDgozP5UGCYzTe17cJ20vV3TSy3TB2tKCO CtBA== X-Gm-Message-State: AOJu0YwT+35OboDO2D0Cc4hW5xjidPcET2I346yQTPps4KoKlKD9jDGQ 7m1Bi3WKZvwaP9+8vDyqrJTwVxY3ZLmJCtP0Bg4kb7VRQM6FoWQrw3ISr/4+0HWc2U4+9P8QtdS u0uDzdpD7yi55 X-Gm-Gg: ASbGncutCnGqyyq0Ja5+ni5TzMtiTS/tJaPhRQUydSxTJHxk6v6VGSgVF/6mAiNDGZh xKAHP9YG4k4vbHV08FhwlF/Y1lgoqjjyRdGUSi4WvnUS37WLbNbuBC3qCZd7rGaGNSPsdY6nw1R 3bKuNws4V6OlSzRMrhdhy1GahHTHGDhDQqMOn1bux8GACrRyRrW+WxJ6IzjUMgp32GWGYPYowS3 TeS730SSefpi2gxqZcyHCra8MExlDDASLhUCf1ZMo9HrjqZ29HeFS96P3E/56vaLxpBZPzjcfNa NWW5nALXZzAngPGbTq4zc85f+dBNVs8JF/I9qTWthIhCyafOwBZicux0Mr6geCMlWh8LjM1sLfi Un6SwAb62lR6KKorEEkPf53UEYsbRzZ7rUy6paj/oPwtULh09yW76OgpI43rFDZ2T5MpynrQggM hE9XKFpxOKmHo= X-Google-Smtp-Source: AGHT+IFTpzPJDl5JYlvtXywKKleWrCe3CjApCb4vAt+V9yYee+B51X/3u/7Y9IopvQYdUCOQ2p8bFQ== X-Received: by 2002:a17:903:37cd:b0:282:eea8:764d with SMTP id d9443c01a7336-2984ede9844mr94670905ad.35.1763039100141; Thu, 13 Nov 2025 05:05:00 -0800 (PST) Received: from mandiga.. ([2804:1b3:a7c3:b4d:40f6:149e:b5cc:dca4]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2985c2cca00sm25155175ad.101.2025.11.13.05.04.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 05:04:59 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Wilco Dijkstra , Joseph Myers , Szabolcs Nagy Subject: [PATCH 5/5] math: New generic fmaf implementation Date: Thu, 13 Nov 2025 09:58:22 -0300 Message-ID: <20251113130439.2737851-6-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251113130439.2737851-1-adhemerval.zanella@linaro.org> References: <20251113130439.2737851-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org The current implementation relies on setting the rounding mode for different calculations (FE_TOWARDZERO) to obtain correctly rounded results. For most CPUs, this adds a significant performance overhead since it requires executing a typically slow instruction (to get/set the floating-point status), it necessitates flushing the pipeline, and breaks some compiler assumptions/optimizations. This patch introduces a new implementation originally written by Szabolcs for musl, which removes the need to change rounding mode and adds an extra step to round the numbers. The original implementation adds some tests to handle underflow in corner cases; however, it fails on the arm32 target. To fix it, I kept the current implementation as a fallback to correctly raise the expected exceptions. I tested this implementation on various targets (x86_64, i686, arm, aarch64, powerpc), including some by manually disabling the compiler instructions. Performance-wise, it shows large improvements: reciprocal-throughput master patched improvement x86_64 [1] 58.09 8.78 6.62x i686 [1] 279.41 18.30 15.26x aarch64 [2] 26.09 4.24 6.16x armhf [2] 30.25 4.93 6.13x powerpc [3] 9.46 1.87 5.04x latency master patched improvement x86_64 64.50 14.35 4.49x i686 304.39 64.43 4.72x aarch64 27.71 5.91 4.69x armhf 33.46 7.26 4.60x powerpc 10.96 3.43 3.19x Checked on x86_64-linux-gnu and i686-linux-gnu with —disable-multi-arch, and on arm-linux-gnueabihf. [1] gcc 15.2.1, Zen3 [2] gcc 15.2.1, Neoverse N1 [3] gcc 15.2.1, POWER10 Signed-off-by: Szabolcs Nagy Co-authored-by: Adhemerval Zanella --- sysdeps/i386/Makefile | 1 + sysdeps/ieee754/dbl-64/s_fmaf.c | 87 +++++++++++++++++++++++---------- 2 files changed, 61 insertions(+), 27 deletions(-) diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile index 11ddbd402d0..e53bb0c5cd4 100644 --- a/sysdeps/i386/Makefile +++ b/sysdeps/i386/Makefile @@ -14,6 +14,7 @@ CFLAGS-s_erf.c += -fexcess-precision=standard CFLAGS-s_erfc.c += -fexcess-precision=standard CFLAGS-s_erf_common.c += -fexcess-precision=standard CFLAGS-s_fma.c += -fexcess-precision=standard +CFLAGS-s_fmaf.c += -fexcess-precision=standard endif ifeq ($(subdir),gmon) diff --git a/sysdeps/ieee754/dbl-64/s_fmaf.c b/sysdeps/ieee754/dbl-64/s_fmaf.c index 7bf9941dd88..8861d18c214 100644 --- a/sysdeps/ieee754/dbl-64/s_fmaf.c +++ b/sysdeps/ieee754/dbl-64/s_fmaf.c @@ -19,11 +19,14 @@ #define NO_MATH_REDIRECT #include #include -#include -#include -#include #include #include +#include "math_config.h" + +#if !USE_FMAF_BUILTIN +# include +# include +# include /* This implementation relies on double being more than twice as precise as float and uses rounding to odd in order to avoid problems @@ -31,40 +34,70 @@ See a paper by Boldo and Melquiond: http://www.lri.fr/~melquion/doc/08-tc.pdf */ +static __attribute_noinline__ float +fmaf_fallback (double xy, double z) +{ + fenv_t env; + union ieee754_double u; + + libc_feholdexcept_setround (&env, FE_TOWARDZERO); + + /* Perform addition with round to odd. */ + u.d = xy + (double) z; + /* Ensure the addition is not scheduled after fetestexcept call. */ + math_force_eval (u.d); + + /* Reset rounding mode and test for inexact simultaneously. */ + int j = libc_feupdateenv_test (&env, FE_INEXACT) != 0; + if ((u.ieee.mantissa1 & 1) == 0 && u.ieee.exponent != 0x7ff) + u.ieee.mantissa1 |= j; + + /* And finally truncation with round to nearest. */ + return u.d; +} +#endif + float __fmaf (float x, float y, float z) { #if USE_FMAF_BUILTIN return __builtin_fmaf (x, y, z); #else - /* Use generic implementation. */ - fenv_t env; - /* Multiplication is always exact. */ - double temp = (double) x * (double) y; + double xy = (double) x * (double) y; + double result = xy + z; - /* Ensure correct sign of an exact zero result by performing the - addition in the original rounding mode in that case. */ - if (temp == (double) -z) - return (float) temp + z; + uint64_t u = asuint64 (result); + /* Common case: The double precision result is fine. */ + if ((u & 0x1fffffff) != 0x10000000 || /* not a halfway case */ + (result - xy == z && result - z == xy) || /* exact */ + __fegetround () != FE_TONEAREST) /* not round-to-nearest */ + { + /* Underflow may not be raised correctly, example: + fmaf(0x1p-120f, 0x1p-120f, 0x1p-149f) */ + int e = u >> MANTISSA_WIDTH & 0x7ff; + if (__glibc_unlikely (e <= EXPONENT_BIAS - 126 + && e >= EXPONENT_BIAS - 149)) + return fmaf_fallback (xy, z); + return result; + } - union ieee754_double u; + /* + * If result is inexact, and exactly halfway between two float values, + * we need to adjust the low-order bit in the direction of the error. + */ + double err; + int neg = u >> 63; + if (neg == (z > xy)) + err = xy - result + z; + else + err = z - result + xy; - libc_feholdexcept_setround (&env, FE_TOWARDZERO); - - /* Perform addition with round to odd. */ - u.d = temp + (double) z; - /* Ensure the addition is not scheduled after fetestexcept call. */ - math_force_eval (u.d); - - /* Reset rounding mode and test for inexact simultaneously. */ - int j = libc_feupdateenv_test (&env, FE_INEXACT) != 0; - - if ((u.ieee.mantissa1 & 1) == 0 && u.ieee.exponent != 0x7ff) - u.ieee.mantissa1 |= j; - - /* And finally truncation with round to nearest. */ - return (float) u.d; + if (neg == (err < 0)) + u++; + else + u--; + return asdouble (u); #endif /* ! USE_FMAF_BUILTIN */ } #ifndef __fmaf