With fpprec == 18, the numbers 0.25b0 and 2.5b-1 are different:
(%i1) fpprec : 18;
(%o1) 18
(%i2) ?print(0.25b0);
((BIGFLOAT SIMP 62) 4611686018427387903 -2)
(%o2) 2.5B-1
(%i3) ?print(2.5b-1);
((BIGFLOAT SIMP 62) 2305843009213693952 -1)
(%o3) 2.5B-1
Using the exact rationalization function RJF posted
yesterday, we see that these numbers aren't the same:
(%i4) load("nummod")$
(%i5) rationalize(0.25b0);
(%o5) 4611686018427387903/18446744073709551616
(%i6) rationalize(2.5b-1);
(%o6) 1/4
I won't call this a bug, but it's irksome.
Barton