Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Mar 2010 13:33:53 GMT
From:      "Eugene M. Zheganin" <emz@norma.perm.ru>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   amd64/144448: sin() broken in libm on amd64
Message-ID:  <201003031333.o23DXrb9087924@www.freebsd.org>
Resent-Message-ID: <201003031340.o23De2j4082490@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         144448
>Category:       amd64
>Synopsis:       sin() broken in libm on amd64
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-amd64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 03 13:40:02 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Eugene M. Zheganin
>Release:        7.2-RELEASE
>Organization:
Norma JSC.
>Environment:
FreeBSD gw0.qwerty.perm.ru 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Fri May  1 07:18:07 UTC 2009     root@driscoll.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
The following code, being compiled, is printing different results on i386 and amd64 platforms. The result on amd64 is invalid.

===Cut===
#include <stdio.h>
#include <math.h>

int
main (int argc, char **argv) {
    int i;
    double curval, prevval;

    prevval = 734;
    curval = sin(734);
    printf("%.15f %.15f\n", prevval, curval);
    for (i = 0; i < 19; i++) {
       curval = 16 * curval;
       prevval = curval;
       curval = sin(curval);
       printf("%.15f %.15f\n", prevval, curval);
    }
}
===Cut===
>How-To-Repeat:
Get sample code from http://unix.zhegan.in/files/sin-cycle.c , compile it, and run. Compare results from running the code on different architectures.
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003031333.o23DXrb9087924>