floating point overflow for float(1/gamma(-536/3))
Subject: floating point overflow for float(1/gamma(-536/3))
From: Raymond Toy
Date: Wed, 18 Aug 2010 12:38:34 -0400
On 8/18/10 8:42 AM, Barton Willis wrote:
> By the way: with GCL Maxima 5.22.0:
>
> (%i190) x : float(1/gamma(-536/3));
> (%o190) -1..#INF00e+000*10^000E+6924912
> (%i191) is(x = x + 1);
> (%o191) true
> (%i192) 1/x;
> (%o192) 0.0
>
> Clozure Common Lisp Version 1.6-dev-r14122M-trunk gives a Lisp error for float(1/gamma(-536/3)).
CCL 1.5 returns -0.0 for this, as does cmucl.
I guess the error is from converting the denominator, which won't fit in
a double float. Maxima simplifies gamma(-536/3) to a rational times
gamma(1/3) and the denominator of the rational is too large for a
double-float.
Ray