With ecl 8.12.0 on Linux, I get (float (/ (1- (ash 1 100)) (ash 1 100)) 1d0) -> .999999...99d0 I think the answer should be 1d0 since the difference between 1 and the rational above is far less than double-float-negative-epsilon. Both clisp and cmucl produce 1d0. Ray