From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2065.outbound.protection.outlook.com [40.107.21.65]) by sourceware.org (Postfix) with ESMTPS id B11973858D1E for ; Thu, 3 Aug 2023 14:21:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B11973858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YAN/w7Qh6NNLGpSHfTLus6kaxS/Afzeh4FjI3oxxuGA=; b=84fND6eyQIhcOtQQLBPE/9T9a3QyQllEAX9caKw+fJVCXkXiWF7JnlcUC+3b98djYfHi+q20aNtbifSKEjZzh/asU+kId/cLCVKBUuYNCdHjTbid9+J3zCIB+yg6UZz9WRZc5/spUsgrt07aunZkAZsqIDj/PLlXrY3JnCfNczE= Received: from DU2PR04CA0015.eurprd04.prod.outlook.com (2603:10a6:10:3b::20) by AM8PR08MB6337.eurprd08.prod.outlook.com (2603:10a6:20b:355::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.20; Thu, 3 Aug 2023 14:21:23 +0000 Received: from DBAEUR03FT062.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:3b:cafe::c4) by DU2PR04CA0015.outlook.office365.com (2603:10a6:10:3b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45 via Frontend Transport; Thu, 3 Aug 2023 14:21:23 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DBAEUR03FT062.mail.protection.outlook.com (100.127.142.64) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47 via Frontend Transport; Thu, 3 Aug 2023 14:21:22 +0000 Received: ("Tessian outbound f1e964b3a9be:v145"); Thu, 03 Aug 2023 14:21:22 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 4dc54ec63e74d371 X-CR-MTA-TID: 64aa7808 Received: from 716a10cef9c5.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 270A3081-170B-402D-AF8F-03ACD70599EF.1; Thu, 03 Aug 2023 14:21:16 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 716a10cef9c5.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 03 Aug 2023 14:21:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S5ErUMKa58XTnorWp64eHuyjStKojBx7pAOipJo3oWmdhKbarTjSVJAOAtZgw5iDLAAW3hXdOWMhHOslXmBKPXKHfDclJg9QAfU0r8iy6fjhnwJzHL0oZbrYZDbT/RI7czQ3S8lNDVFWZ9I5lQxDNj2/Rj7ziuWFZPZ9ZL5epB+1RCbOuTAZztwCRxdVESezYBa1W6WqwuZ2JI6DxOH2SXjy7wOUll+0U9+KYjAWTUqK+bOLTXN3KQY52xay5MSUepiWRw2C+OdzgNgGUOL3HatVvJdYEcEb8RCnoqbQiFZhkl0MXOnXhuNQnHVQAtsdfS+QHZwZAO+L9pJuhpT3Yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YAN/w7Qh6NNLGpSHfTLus6kaxS/Afzeh4FjI3oxxuGA=; b=DGHIWXPGqEpmzcbkmvU6WYQm1F3+WSsnr/l2Spj6Vm3K7S6YCNrbF04c/yPfKcCeickExkGEng2RqlJICuZU7dXXdWyyRmVRbg/qPRR+KiqR6WJ69kKwQxL1gFaD+PNnxw5XvCe0oWj5Dgak0XZRCcGMABLqW5TRPS/y8ggQBeOF+ZQnb1SVdrAOu2OkYRfG/1bPKj3VCDmqwjgUlnEW9oB2or76AtW290vrMMNGftPv5gt1RxWUTmnkBe949ozvsIyicQOMuLNUVd7WkD6dgYr3FDU5jMNhTWN8I09Hidzf+d/dFsq/nZrYa/YYvYkVQkIAZXX6/vwKQOke6A7QbA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YAN/w7Qh6NNLGpSHfTLus6kaxS/Afzeh4FjI3oxxuGA=; b=84fND6eyQIhcOtQQLBPE/9T9a3QyQllEAX9caKw+fJVCXkXiWF7JnlcUC+3b98djYfHi+q20aNtbifSKEjZzh/asU+kId/cLCVKBUuYNCdHjTbid9+J3zCIB+yg6UZz9WRZc5/spUsgrt07aunZkAZsqIDj/PLlXrY3JnCfNczE= Received: from DB3PR08MB8986.eurprd08.prod.outlook.com (2603:10a6:10:42b::7) by DB4PR08MB7958.eurprd08.prod.outlook.com (2603:10a6:10:38f::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug 2023 14:21:13 +0000 Received: from DB3PR08MB8986.eurprd08.prod.outlook.com ([fe80::bcb6:14cc:35d7:2596]) by DB3PR08MB8986.eurprd08.prod.outlook.com ([fe80::bcb6:14cc:35d7:2596%4]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023 14:21:13 +0000 From: Wilco Dijkstra To: paul zimmermann CC: 'GNU C Library' , Joe Ramsay , Szabolcs Nagy Subject: Re: [PATCH] aarch64: Improve SVE sin polynomial Thread-Topic: [PATCH] aarch64: Improve SVE sin polynomial Thread-Index: AQHZxhKejiCGEJW3hEOGKA2B67BpdA== Date: Thu, 3 Aug 2023 14:21:13 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: DB3PR08MB8986:EE_|DB4PR08MB7958:EE_|DBAEUR03FT062:EE_|AM8PR08MB6337:EE_ X-MS-Office365-Filtering-Correlation-Id: cf448074-e2b9-4161-7732-08db942cea01 x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Vmk70W/c72nbEfkKGoFGyGMdSvl7A5hCWMuExf4RWrAtmmb6SZqvemZ509PDsm733PJj1yT+t8iSWTKSgSqr3prOVg8a7fhCr+bSWxQoCHfYH42QsbVX3gtl60wsgepo2riv3Nu6jA4Y65Bj5WwbAkYWr8fGEI4Gx8OhFMxZuLkxSKgPyWlx+otcd1H4kQ9tNqmMW7OUWX+k1GCdiywvkeeqmRRMpOEZpe/sTEX1E937tslXKImA0nL+azi1KO+kJZxw4IhzNv7x8NsjAYEeLUHTfRneKa4C9mdgo8XT6fmUSj+dPwc/PRdVpn/sJpbyy4j7smWA4ZIAXk5uPAjFimiH16ejtCdnqdZSVi3DWNXf7zg2+9QqlyO0hu5ixNrhotB2OBcbgtslaNBSkfZ8SUXIPMoo9qz/PP3i+JX9Ce6VdQZ05t+kTEQeIObEjPhS0bbDlLOyOHw4dGRcVnMJGjhqHDyay6nmvNOWxfeSrIIl9gNlDkPK4TlCS34Tpcdwf+0NILyBnpLwcv5hyfHsguycbVEzdqSxL2y47l4bF08DBix9VO1T1sGVIy4nMKKj7tHsrRJONIU8caZzDBxTVj+mM6LXZ3janbano/6+MOc= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB3PR08MB8986.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(346002)(39860400002)(136003)(376002)(366004)(451199021)(38070700005)(86362001)(33656002)(55016003)(54906003)(478600001)(38100700002)(122000001)(6506007)(186003)(26005)(83380400001)(8676002)(8936002)(41300700001)(9686003)(52536014)(71200400001)(7696005)(316002)(4744005)(66476007)(66556008)(5660300002)(66446008)(76116006)(6916009)(64756008)(2906002)(91956017)(4326008)(66946007);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB7958 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT062.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: b863953b-ce79-455a-e88f-08db942ce47c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0HdgDoq0RYDuPr0eOPOAzRcfILNWjcTlA2Rtp1OQmyT2X5vOf1kJrq2XbYy4iKmvOBWSyCkF+zMoicQ7sjW/ijuCdlkEYdzXH5HJX7XS1oPGT2D64U6iHHWELmf+Nl19ibTh+DTiHy0kN0UAAFcXbH2h7ZazTI5p45NaCv3v7hbLFcohBNZH+e7zPZ+aK/UlVZB6r5eEdxFYYSCCDIKUzcGwRXom4kdyFahfIW6kjObCtmpIsXRIe6awwRQlsG/aoCgQCetf5foLPM6rL9EgvY7D9oAN9dY7xKaIWbxtu7aSjz6IbU0REIEJktiOLhd4hD8sRxiTXz1sIOYtip9rabWI7443EALBIC3ymd/iLLzuA0QhFf9zIykVZBDmIbwofyyv2Pot9yW8kv6S4pNrdPpg0hqaRrNF1lS38U6K4+qfjXjd95BatlsAEudEA3kbixR1qIXK3qvyTfeTPVicB0oz3vZxGqYx+ZRgDpYfLG3M/6PCKEQEyeHU249WKei9qujRjs3gr+YN2vHb6GUQ3khMwVwprZ1RGR1VIT0sEgrPTtb/DtU7ZAZvDMpxMVUbUjPohaRMfBvm7PmzT+HIyVOukSieWBfofOsG02CR01O6EjxN3I08M6fF+dinDYMmk4YRwNzlpCyJKw4+XSN9N1BxpQHy5rrBKa2//5eTHhUha76c86WlNEWkBFw0ToLiguXSWcVKuLXXdfiTqzCpZEistfdk5UXupMBb+0ehsAU= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(346002)(396003)(376002)(82310400008)(451199021)(46966006)(36840700001)(40470700004)(40460700003)(6506007)(336012)(186003)(83380400001)(26005)(47076005)(36860700001)(4744005)(316002)(70586007)(2906002)(70206006)(5660300002)(4326008)(6862004)(41300700001)(52536014)(8676002)(8936002)(7696005)(9686003)(54906003)(478600001)(55016003)(40480700001)(356005)(81166007)(86362001)(33656002)(82740400003);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 14:21:22.8493 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cf448074-e2b9-4161-7732-08db942cea01 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DBAEUR03FT062.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6337 X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,KAM_DMARC_NONE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi Paul,=0A= =0A= > you can still improve the polynomial with the following one generated by= =0A= > Sollya (https://www.sollya.org/) with relative error < 2^-52.454 on=0A= > [-pi/2, pi/2], instead of 2^-51.765 for the one you propose:=0A= =0A= So the goal is to reduce the ULP error. Due to the way floating point works= ,=0A= errors are at their worst when the result is just above a power of 2. For t= he=0A= wide sin(x) polynomial it happens when sin(x) is close to but larger than 0= .5.=0A= The poly is extremely accurate for small x. It's only problematic when x is= large=0A= and we cross an exponent boundary.=0A= =0A= Szabolcs can explain it better but what we ended up doing is to scale the= =0A= sollya function so that errors at the end of the range are and reduced more= .=0A= =0A= Note also this is not the final polynomial. The ULP is a bit high at 3.3. I= had a=0A= more accurate one close to 2ULP but it could give results >1.0. So we need = to=0A= teach sollya to estimate the end from below, and not allow it to overshoot.= =0A= =0A= Cheers,=0A= Wilco=