If I understood Gustafson's talk correctly, IEEE doubles aren't good enough. He showed some examples where IEEE quads (128 bits) weren't good enough. Is there any way you could convert to Maxima bigfloats, do the operation, and convert back? Bigfloats can be set to any precision you want. Alternatively, could you convert to rationals, do the operation, and convert back? (This should be relatively easy -- if slow -- in most Common Lisp implementations.) I'm not interested in speed, but in precision of the *representation*, as divorced from the precision of the operation itself. I'll talk about this again in another post about "asinh numbers", which Yonemoto (Gustafson's programmer) dismissed out of hand to me as requiring table lookup. At 11:03 PM 3/25/2017, you wrote:
For every operation, my implementation converts posits to IEEE doubles, performs the operation, and converts the result back to a posit by figuring out the number of fraction bits based on the exponent, and rounding the scaled fraction to an integer.