floating point exponents



I have difficulty understanding how small numbers are handled in
Maxima. Can someone please explain the following examples?

(%i1) log(1b-308),numer;
log: log(0) has been generated.
 -- an error. To debug this try: debugmode(true);

----------------------

(%i2) find_root(log(x)=-300,x,1b-308,1);
(%o2) find_root(log(x)=-300,x,0.0,1.0)

----------------------

(%i3) find_root(x^2=1b100,x,0,1b105);
Maxima encountered a Lisp error:

*: floating point overflow
Automatically continuing.
To enable the Lisp debugger set *debugger-hook* to nil.

----------------------

(%i4) sqrt(1b-1000000);
(%o4) 1.0b-500000

----------------------

By the way, calling with bfloat() and increasing fpprec don't affect
the results.