From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sourceware.org (Postfix) with ESMTPS id 24D0B3857020 for ; Mon, 7 Jun 2021 09:51:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 24D0B3857020 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=inria.fr Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=inria.fr IronPort-HdrOrdr: =?us-ascii?q?A9a23=3AiULrFK8jDiPVZmY4avtuk+C7I+orL9Y04lQ7?= =?us-ascii?q?vn2ZhyY7TiX2rauTdZgguCMczQx+ZJhfo7q90cC7KBvhHNxOgbX5Vo3CYOCJgg?= =?us-ascii?q?eVEL0=3D?= X-IronPort-AV: E=Sophos;i="5.83,254,1616454000"; d="scan'208";a="383667859" Received: from tomate.loria.fr (HELO tomate) ([152.81.10.51]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Jun 2021 11:51:35 +0200 Date: Mon, 07 Jun 2021 11:51:35 +0200 Message-Id: From: Paul Zimmermann To: newlib@sourceware.org Cc: newlib@sourceware.org In-Reply-To: <0a785f1d-4a6f-f880-a60a-05c68948f932@SystematicSw.ab.ca> (message from Brian Inglis on Sat, 5 Jun 2021 07:25:27 -0600) Subject: Re: incorrectly rounded square root References: <2f8796f4-f164-5734-16ca-9a392e788beb@gmail.com> <0a785f1d-4a6f-f880-a60a-05c68948f932@SystematicSw.ab.ca> X-Spam-Status: No, score=-3.9 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jun 2021 09:51:38 -0000 > Great catch, analysis, and fix! > Now sqrtf rounds correctly on Cygwin! thank you, I also confirm I now get expected results, after applying Jeff's patch on top of Newlib 4.1.0: zimmerma@tomate:/tmp$ gcc -frounding-math -I/tmp/x86_64/include -DNEWLIB -fno-builtin test_sqrt_2.c /tmp/x86_64/lib/libm.a zimmerma@tomate:/tmp$ ./a.out RNDN: 0x1.ff83fp+63 cw=895 mxcsr=8064 RNDZ: 0x1.ff83eep+63 cw=3967 mxcsr=32672 RNDU: 0x1.ff83fp+63 cw=2943 mxcsr=24480 RNDD: 0x1.ff83eep+63 cw=1919 mxcsr=16288 zimmerma@tomate:/tmp$ gcc -frounding-math -fno-builtin test_sqrt_2.c -lm zimmerma@tomate:/tmp$ ./a.out RNDN: 0x1.ff83fp+63 cw=895 mxcsr=8064 RNDZ: 0x1.ff83eep+63 cw=3967 mxcsr=32672 RNDU: 0x1.ff83fp+63 cw=2943 mxcsr=24480 RNDD: 0x1.ff83eep+63 cw=1919 mxcsr=16288 Paul