public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug math/11521] New: Ctanh Returns Incorrect Values
@ 2010-04-19 17:43 tomdean at speakeasy dot org
  2010-04-22  3:52 ` [Bug math/11521] " jstorrs at gmail dot com
  2010-04-22 20:24 ` jstorrs at gmail dot com
  0 siblings, 2 replies; 6+ messages in thread
From: tomdean at speakeasy dot org @ 2010-04-19 17:43 UTC (permalink / raw)
  To: glibc-bugs

ctanh returns incorrect values.  Code below.

Build test-tanh: gcc test-tanh.c -o test-tanh -lm

./test-tanh-c 711
libc version 2.10.1
libc release stable
arg        = 7.110000e+02 + 7.110000e+02 * i
sinh (arg) = inf + inf * i
cosh (arg) = inf + inf * i
s/c         = nan + nan * i   (should be 1 + 0 * i)
tanh (arg) = 0.000000e+00 + 0.000000e+00 * i   (should be 1 + 0 * i)

==== test-tanh.c ========================================
#include <math.h>
#include <complex.h>
#include <stdio.h>
#define _GNU_SOURCE
#include <gnu/libc-version.h>

int main (int argc, char **argv)
{
  long double complex arg = 1 + _Complex_I;
  long double complex s, c, r, t;
  long mult;
  if (argc == 2) {
	mult = atol(argv[1]);
  } else {
	mult = 50000L;
  }

  arg *= mult;
  
  s = csinh (arg);
  c = ccosh (arg);
  r = s / c;
  t = ctanh (arg);
  
  printf ("libc version %s\n", gnu_get_libc_version ());
  printf ("libc release %s\n", gnu_get_libc_release ());
  printf ("arg        = %e + %e * i\n", creal (arg), cimag
		  (arg));
  printf ("sinh (arg) = %e + %e * i\n",
		  creal (s), cimag (s));
  printf ("cosh (arg) = %e + %e * i\n",
		  creal (c), cimag (c));
  printf("s/c         = %e + %e * i   (should be 1 + 0 * i)\n",
		 creal (r), cimag (r));
  printf ("tanh (arg) = %e + %e * i   (should be 1 + 0 * i)\n",
		  creal (t), cimag (t));
    
  return 0;
}

-- 
           Summary: Ctanh Returns Incorrect Values
           Product: glibc
           Version: 2.10
            Status: NEW
          Severity: normal
          Priority: P2
         Component: math
        AssignedTo: aj at suse dot de
        ReportedBy: tomdean at speakeasy dot org
                CC: glibc-bugs at sources dot redhat dot com,tomdean at
                    speakeasy dot org
  GCC host triplet: ubuntu 9.10
GCC target triplet: ubuntu 9.10


http://sourceware.org/bugzilla/show_bug.cgi?id=11521

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug math/11521] Ctanh Returns Incorrect Values
  2010-04-19 17:43 [Bug math/11521] New: Ctanh Returns Incorrect Values tomdean at speakeasy dot org
@ 2010-04-22  3:52 ` jstorrs at gmail dot com
  2010-04-22 20:24 ` jstorrs at gmail dot com
  1 sibling, 0 replies; 6+ messages in thread
From: jstorrs at gmail dot com @ 2010-04-22  3:52 UTC (permalink / raw)
  To: glibc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jstorrs at gmail dot com


http://sourceware.org/bugzilla/show_bug.cgi?id=11521

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug math/11521] Ctanh Returns Incorrect Values
  2010-04-19 17:43 [Bug math/11521] New: Ctanh Returns Incorrect Values tomdean at speakeasy dot org
  2010-04-22  3:52 ` [Bug math/11521] " jstorrs at gmail dot com
@ 2010-04-22 20:24 ` jstorrs at gmail dot com
  1 sibling, 0 replies; 6+ messages in thread
From: jstorrs at gmail dot com @ 2010-04-22 20:24 UTC (permalink / raw)
  To: glibc-bugs


------- Additional Comments From tomdean at speakeasy dot org  2010-04-22 04:21 -------
Subject: Re:  Ctanh Returns Incorrect Values

On Thu, 2010-04-22 at 03:51 +0000, jstorrs at gmail dot com wrote:
> 
A patch to glibc-2.11.1

------- Additional Comments From tomdean at speakeasy dot org  2010-04-22 04:21 -------
Created an attachment (id=4746)
 --> (http://sourceware.org/bugzilla/attachment.cgi?id=4746&action=view)

------- Additional Comments From jstorrs at gmail dot com  2010-04-22 20:23 -------
Created an attachment (id=4748)
 --> (http://sourceware.org/bugzilla/attachment.cgi?id=4748&action=view)
C99 program that demonstrates the problem

Without the patch this is the output:

Expect: 1 0	Got: nan 0
Expect: 1 0	Got: nan 0
Expect: 1 0	Got: nan 0
Expect: -1 0	Got: nan 0
Expect: -1 0	Got: nan 0
Expect: -1 0	Got: nan 0

With the patch applied:

Expect: 1 0	Got: 1 0
Expect: 1 0	Got: 1 0
Expect: 1 0	Got: 1 0
Expect: -1 0	Got: -1 0
Expect: -1 0	Got: -1 0
Expect: -1 0	Got: -1 0

-- 


http://sourceware.org/bugzilla/show_bug.cgi?id=11521

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug math/11521] Ctanh Returns Incorrect Values
       [not found] <bug-11521-131@http.sourceware.org/bugzilla/>
  2012-03-06 18:14 ` jsm28 at gcc dot gnu.org
  2012-04-09 22:35 ` jsm28 at gcc dot gnu.org
@ 2014-06-30 18:14 ` fweimer at redhat dot com
  2 siblings, 0 replies; 6+ messages in thread
From: fweimer at redhat dot com @ 2014-06-30 18:14 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=11521

Florian Weimer <fweimer at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
              Flags|                            |security-

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug math/11521] Ctanh Returns Incorrect Values
       [not found] <bug-11521-131@http.sourceware.org/bugzilla/>
  2012-03-06 18:14 ` jsm28 at gcc dot gnu.org
@ 2012-04-09 22:35 ` jsm28 at gcc dot gnu.org
  2014-06-30 18:14 ` fweimer at redhat dot com
  2 siblings, 0 replies; 6+ messages in thread
From: jsm28 at gcc dot gnu.org @ 2012-04-09 22:35 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=11521

Joseph Myers <jsm28 at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #5 from Joseph Myers <jsm28 at gcc dot gnu.org> 2012-04-09 22:35:11 UTC ---
Fixed for both ctan and ctanh functions by:

commit bcc8d6617ba029c288fff9680a02b9a3b1caa9c0
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Apr 9 22:31:35 2012 +0000

    Fix ctan, ctanh overflow (bug 11521).

(using the formula from the patch attached to this bug to address overflow from
multiplication by 2 in computing the argument to sincos, and to address
cancellation in computing denominators close to 0, but using a different
approach to address the case where both numerator and denominator overflow so
that subnormal results are properly generated and spurious overflow exceptions
are avoided).

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug math/11521] Ctanh Returns Incorrect Values
       [not found] <bug-11521-131@http.sourceware.org/bugzilla/>
@ 2012-03-06 18:14 ` jsm28 at gcc dot gnu.org
  2012-04-09 22:35 ` jsm28 at gcc dot gnu.org
  2014-06-30 18:14 ` fweimer at redhat dot com
  2 siblings, 0 replies; 6+ messages in thread
From: jsm28 at gcc dot gnu.org @ 2012-03-06 18:14 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=11521

Joseph Myers <jsm28 at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|aj at suse dot de           |unassigned at sourceware
                   |                            |dot org

--- Comment #4 from Joseph Myers <jsm28 at gcc dot gnu.org> 2012-03-06 18:14:33 UTC ---
Confirmed with current sources.  The patch helps with some cases (and since
it's basically making the same changes to three files, might be just small
enough to use without a copyright assignment) but you still get underflow in
cases where the result should have a subnormal imaginary part (e.g. an argument
of 710 + i).  The same issues will apply to ctan.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-06-30 18:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-19 17:43 [Bug math/11521] New: Ctanh Returns Incorrect Values tomdean at speakeasy dot org
2010-04-22  3:52 ` [Bug math/11521] " jstorrs at gmail dot com
2010-04-22 20:24 ` jstorrs at gmail dot com
     [not found] <bug-11521-131@http.sourceware.org/bugzilla/>
2012-03-06 18:14 ` jsm28 at gcc dot gnu.org
2012-04-09 22:35 ` jsm28 at gcc dot gnu.org
2014-06-30 18:14 ` fweimer at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).