KEEPFLOAT:true is ignored with solve



>     KEEPFLOAT: true;
>     solve(x+1.5=0,x);
> in Maxima 5.9.0 gives
>     RAT replaced 1.5 by 3//2 = 1.5
>            3
>     [x = - -]
>            2
> 
> Why doesn't KEEPFLOAT:true keep floating point numbers from 
> being converted to rational numbers?

This is a bug.  Please report it in the sourceforge bug list
(https://sourceforge.net/tracker/?group_id=4933&atid=104933).  It is
also a documentation bug that describe("solve") doesn't mention the fact
that it converts to rationals.

By the way, there is a more subtle issue here.  Consider floating-point
*exponents*, e.g. x^2.01-1=0.  Solve currently converts that to
x^(201/100)-1=0 and returns 100 solutions (slowly).  But this doesn't
make sense if you consider 2.01 to be an *approximate* number, which may
represent, say, 201/100+2^-100....

Anyway, as far as I know, there is no workaround, except of course to
convert the result to floating point.