Incorrect result for addition with widely-varying floating point numbers #14
Description
The front page description states that the package is intended to be a rigorous computational method however the implementation does not reflect this in any shape or form.
See the result of the following statement:
Affine(-1..1) + Affine(1e23) + Affine(2020.0) - Affine(1e23)
Evaluates to: ⟨0.0; [1.0]⟩
The correct answer: ⟨2020.0; [1.0]⟩
Acceptable answer: affine set containing the result, but overestimating due to limits of floating point arithmetic.
This error is from numeric source, not a software bug. A way to address these kinds of problems and make the package a real rigorous implementation is interval arithmetic. (I saw traces of that, but overall no reliable computation is implemented.)
Until a rigorous implementation is presented, I would highly recommend removing the word rigorous from the description. Maybe stating explicitly, that the current implementation is prone to the everyday numerical errors.