Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Sep 1997 16:35:31 +0200
From:      Christoph Kukulies <kuku@gilberto.physik.RWTH-Aachen.DE>
To:        Terry Lambert <tlambert@primenet.com>
Cc:        Christoph Kukulies <kuku@gilberto.physik.RWTH-Aachen.DE>, freebsd-hackers@freefall.FreeBSD.org
Subject:   Re: FPE problem
Message-ID:  <19970918163531.11717@gil.physik.rwth-aachen.de>
In-Reply-To: <199709171930.MAA08698@usr02.primenet.com>; from Terry Lambert on Wed, Sep 17, 1997 at 07:30:44PM %2B0000
References:  <199709161220.OAA05839@gil.physik.rwth-aachen.de> <199709171930.MAA08698@usr02.primenet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Sep 17, 1997 at 07:30:44PM +0000, Terry Lambert wrote:
> > I'm having a weird problem with a f2c program which is causing an FPE
> > for a reason I cannot figure out.
> > 
> > It happens in a complex expression in a fortran expression
> > in a scientific (high energy physics) calculation program.
> 
> You seem to be getting a lef-associtivity underflow in the FORTRAN
> code and not in the C code.  The only apparent difference is the
> order of the divide.
> 
> But then, I'm rusty.

A little bit more info now:
  
	ret_val = -z__ * (spint_1.a1 * z__ * (spint_1.a2 * z__ * (spint_1.a3 *
		 z2 * (spint_1.a4 * z2 * (spint_1.a5 * z2 * (spint_1.a6 * z2 *
		 (spint_1.a7 * z2 * (spint_1.a8 * z2 * (spint_1.a9 * z2 * (
		spint_1.a10 * z2 + 1.) + 1.) + 1.) + 1.) + 1.) + 1.) + 1.) + 
		1.) + 1.) + 1.) + spint_1.zeta2 + z__ * log(1. - *x);


(xxgdb) info float
u: status 0x82e1: exceptions: INVALID LOS FPSTACK; flags: 0010; top 0
e: status 0x200: flags: 0010; top 0
control 0x1272: compute to 53 bits; round NEAREST; mask: DENORM UNDERF LOS;
last instruction: opcode 0x1d0; pc 0x8:0xf01f9a96; operand 0x27:0x92844
 regno     tag  msb              lsb  value
%st(7)    valid 3ff7ef1ea269b9378800  0.00729735
%st(6)    valid c000e2f049da2892daf1  -3.54592
%st(5)    valid bff9efbfe15ea0e63000  -0.0292663
%st(4)    valid bff7efbfe15ea0e63000  -0.00731658
%st(3)    valid bfee8fb318b8ce1a7800  -8.56516e-06
%st(2)    valid bfeef46316e3382d2000  -1.45666e-05
%st(1)    valid bfef8bb53b973a247800  -1.66545e-05
%st(0) => valid bfef947332ed75b2c000  -1.76966e-05
(xxgdb) 

What is LOS ? Loss of significance?

When I'm seeing such a few steps before the exception occurs, does it mean
that an exception is pending?

---------------------------vvv
status 0x3920: exceptions: LOS; flags: 0001; top 7
control 0x1272: compute to 53 bits; round NEAREST; mask: DENORM UNDERF LOS;
last instruction: opcode 0x6d9; pc 0x1f:0x1b280; operand 0x27:0x1aca0
 regno     tag  msb              lsb  value
%st(0) => valid 3ff7ef1ea269b9378800  0.00729735
%st(7)    empty 3ffef89dcc5ab0803800  0.971158
%st(6)    empty 3ffe8000000000000000  0.5
%st(5)    empty 00000000000000000000  0
%st(4)    empty 3ffe8c2938ee1f792000  0.547504
%st(3)    empty 3fff8000000000000000  1
%st(2)    empty bfffc59d300000000000  -1.54386
%st(1)    empty 403dc8e6d27ab28298a0  7.23824e+18
(xxgdb) step

> 
> 
> 					Terry Lambert
> 					terry@lambert.org
> ---
> Any opinions in this posting are my own and not those of my present
> or previous employers.

-- 
--Chris Christoph P. U. Kukulies kuku@gil.physik.rwth-aachen.de



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