more three problems...



>
> > (+ (* 1d-20 (expt 1d20 2)) (* -5.5d0 1d20) 5.2d20)?
> >
> > Does this produce 7d19 or something else?
>
> 7.000000000000013E19
>

I suspect this is a bug in LispWorks' print or read algorithm, since 7e19 is
the IEEE arithmetic result and is exactly representable as an IEEE double,
since it = 2^19 * 133514404296875

What do you get for

       (* (expt 2 19) 133514404296875 1.0d0)
or
       (*  70000000000000000000 1.0)
or
       (- 70000000000000000000 7.0e19)
or
      (list 1.0e-20 5.5 5.2e+20 )
?


What about