float(171!) returns nonsense



It looks like float can't handle a number larger than
a double precision machine number, which makes sense, but
it doens't fail in a nice way.

(%i1) n : 171!$
(%i2) nf : float(n)$
(%i3) numberp(nf);
(%o3)                                true
(%i4) nf;

Maxima encountered a Lisp error:
 Error in PROGN [or a callee]: Can't print a non-number. ...
      
(%i5) bfloat(n);
(%o5)                        1.241018070217668b309
(%i6) build_info();
  Maxima version: 5.21.1
  Maxima build date: 17:7 4/30/2010
  Host type: x86_64-unknown-linux-gnu
  Lisp implementation type: GNU Common Lisp (GCL)
  Lisp implementation version: GCL 2.6.7

(This must have come up before, but I could not find it
 archived.)

regards,
John