Bug#707596: maxima: 1000!^0.01 produces i.nfE+142498684



On 09/05/2013 06:15 PM, Raymond Toy wrote:
>  >> bug reporting information.
>  >> (%i1) 1000!^0.01;
>  >> (%o1)
>  >> i.nfE+142498684
>
>  I think this is really an issue with gcl, not maxima. With cmucl and
>  ccl, maxima complains that 1000! is too big to fit in a double-float.
>  It looks as if gcl just converts that to double-float infinity.

I tried 1000!^0.01 on several lisps (clisp,ccl,cmucu,ecl,sbcl, gcl
2.6.7(8)(9) ). All either gave the wrong answer (with inf), or
reported an overflow error.

But, almost all of them gave the correct answer with

(%i1) float(bfloat(1000!)^0.01)
(%o1) 4.7429270206609955e+25

The exception, is maxima with gcl 2.6.9, which returned nothing, and 
reported no
error. gcl 2.6.7 and 2.6.8 gave the correct answer. That's the only bad
behavior I've seen so far from gcl 2.6.9.

I think maxima is not trying hard enough to get the correct answer. I 
suppose
it would slow things down, but it would be possible to give a correct double
float answer.

--John