Bug 14331

Summary: csqrt inaccuracy on internal underflows with subnormal argument
Product: glibc Reporter: Joseph Myers <jsm28>
Component: mathAssignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED FIXED    
Severity: normal Flags: fweimer: security-
Priority: P2    
Version: 2.16   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:

Description Joseph Myers 2012-07-04 16:55:04 UTC
Some internal underflows can cause substantial inaccuracy in the results of csqrt.  Specifically, on x86_64, csqrt (0x1p-1074i) returns zero and csqrt (0x1p-500 + 0x1p-1074i) returns an imaginary part of zero (should be 4.469444793151709302716387622440056066334e-249).
Comment 1 Joseph Myers 2012-07-05 11:04:59 UTC
Fixed for 2.17 by:

commit cdfe2c5eb3703ed964cbfdb6906b21ace2956385
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Jul 5 11:02:13 2012 +0000

    Fix csqrt underflow (bugs 14157, 14331).