One small correction. 2^53 is 9e15, which is 16 digits, so writing stuff rounded to 17 decimal places should exactly reproduce it for IEEE 64 bit floats. I don't know why 18 popped into my head.
*So just let the maximum * *⎕PP be 17 instead of 16, and all will be well.* On Fri, Sep 4, 2015 at 8:26 AM, Mike Duvos <m...@wolf359.net> wrote: > I see the problem. You limit *⎕PP to 16, which isn't enough digits. 1E**¯16 > is 1 to 16 places.* I didn't notice this, because you just set it to 16 > if I set it to 18. > > You need to allow a larger > > > *⎕PP to exactly reproduce floating data written out and read back in.* > > >