Version 1.4.2
-------------

Build system
  * regenerated using a recent version of Autoconf

Version 1.4.1
-------------

Coq back-end
  * registered a few more theorems

Whole engine
  * fixed crash on negative literals in rewriting rules

Version 1.4.0
-------------

Syntax
  * changed precedence of unary minus,
    e.g., `- 1` is parsed as `-(1)`, `-1*x` as `(-1)*x`,
    `- 1*x` as `-(1*x)`, `-x*1` as `-(x*1)`
  * allowed `;` as a separator for interval bounds, e.g., `[1;2]`
  * allowed `p` as exponent after a decimal integer, e.g., `1p2`

Proof paths
  * decreased amount of pointless lemmas

Documentation
  * moved to reST

Build system
  * added support for DESTDIR during installation

Licensing
  * updated CeCILL from 2.0 to 2.1 and GPL from 2 to 3

Version 1.3.5
-------------

Whole engine
  * fixed crash on Windows 64-bit builds

Version 1.3.4
-------------

Build system
  * fixed compilation of a MinGW binary using a Cygwin toolchain

Version 1.3.3
-------------

Coq back-end
  * prepared for Flocq 3.0

Build system
  * fixed some STL debug failures

Version 1.3.2
-------------

Proof graph
  * fixed loss of information on some complicated hypotheses

Version 1.3.1
-------------

Fact database
  * improved handling of division

Proof graph
  * fixed loss of information for some case splits

Version 1.3.0
-------------

Arithmetic
  * added support for floating-point formats without minimal exponent

Proof graph
  * allowed dichotomy on variables without any known range
  * improved handling of half-bounded intervals

Proof paths
  * added heuristic for automatically selecting one variable for dichotomy

Main interface
  * added option `-Eno-auto-dichotomy` to disable the heuristic above
  * reduced amount of warnings in case of dichotomy failures
  * improved validity checking of rewriting rules

Version 1.2.2
-------------

Arithmetic
  * fixed incorrect error computation for negative inputs of `float<zr>`

Version 1.2.1
-------------

Proof graph
  * sped up simplification of large proofs

Coq back-end
  * fixed garbled generation of some theorem calls

Version 1.2.0
-------------

Fact database
  * improved handling of powers of two in `mul_flt`
  * fixed incorrect computation of the order-3 term of the relative error for division
  * added rewriting rules for emulating reverse propagation

Proof graph
  * improved proof simplification

Proof paths
  * improved performances by avoiding some absolute values
  * improved detection of approximate/exact pairs of expressions

Version 1.1.2
-------------

Back-ends
  * fixed missing proof parts with the LaTeX back-end

Main interface
  * fixed confusing message in case of failure

Version 1.1.1
-------------

Arithmetic
  * fixed incorrect error computation for some uncommon bound values

Back-ends
  * fixed crash on useless leaves with undefined properties

Version 1.1.0
-------------

Proof graph
  * added detection and avoidance of slow convergence

Main interface
  * added option `-Echange-threshold` to control detection of slow convergence

Version 1.0.0
-------------

Syntax
  * recognized `e <> 0` for inputting `NZR` properties

Fact database
  * added some new theorems for `NZR`

Back-ends
  * added a back-end producing LaTeX files
  * disabled HOL Light back-end as it was not used
  * enabled automatic dichotomy and formula reduction

Proof graph
  * allowed arbitrary formulas as output of nodes

Main interface
  * removed option `-Msequent` as formulas are handled as a whole now

Version 0.18.0
--------------

Main interface
  * removed option `-Mexpensive`
  * added more details to `-Mstatistics`

Proof graph
  * improved performances
  * improved proof simplification

Coq back-end
  * fixed incorrect theorem name for square root

Version 0.17.1
--------------

Build system
  * fixed issues with MacOSX, BSD, and compilation flags

Version 0.17.0
--------------

Build system
  * switched to `remake`

Fact database
  * added theorems relating the ranges of two expressions, given the relative error between them
  * simplified squaring

Proof graph
  * allowed logic simplifications, even in case of indeterminate intervals

Documentation
  * added list of theorems

Version 0.16.6
--------------

Coq lambda back-end
  * fixed crash on goals that are trivial implications

Version 0.16.5
--------------

Arithmetic
  * fixed incorrect round-off error for values close to zero

Version 0.16.4
--------------

Proof graph
  * fixed crash when dichotomy fails to prove properties other than `BND`

Version 0.16.3
--------------

Proof graph
  * fixed crash when performing dichotomy while there are properties other than `BND`

Version 0.16.2
--------------

Coq lambda back-end
  * fixed incorrect certificate for intersection lemmas

Version 0.16.1
--------------

Proof graph
  * fixed segfault when splitting cases on a degenerate goal
  * reenabled logic reasoning for `ABS` and `REL` predicates

Coq lambda back-end
  * fixed signature of theorem `mul_firs`

Version 0.16.0
--------------

Coq lambda back-end
  * fixed syntax of proofs containing no variables
  * fixed typing of some floating-point constants
  * fixed signature of theorems `rel_refl`, `div_fil`, `div_fir`

Coq script back-end
  * fixed typing of some floating-point constants
  * fixed syntax for Coq support library 0.17

Fact database
  * added support for proving equalities between constants
  * changed `fixed_of_fix` so that it produces an `EQL` property

Version 0.15.1
--------------

Fact database
  * fixed broken simplification of `a*b -/ c*b`

Version 0.15.0
--------------

Fact database
  * added `EQL` predicate: `e1 = e2`
  * changed user rewriting to use the `EQL` predicate
  * improved rewriting rules to handle `ABS`, `FIX`, `FLT`, `NZR`, `REL`
    in addition to `BND` predicate

Syntax
  * added `@FLT(e,k)` and `@FIX(e,k)` for inputting `FLT` and `FIX` properties
  * added `e1 = e2` for inputting `EQL` properties
  * allowed arbitrary logical propositions as termination condition for bisection

Version 0.14.1
--------------

Build system
  * fixed some platform-specific issues

Version 0.14.0
--------------

Coq back-end
  * added support for Coq support library 0.14

Version 0.13.0
--------------

Coq lambda back-end
  * simplified generated proofs

Proof graph
  * disabled sequent generation
  * disabled proof tracking for the null back-end
  * improved handling of deep logic negations
  * handled disjunctions by dichotomies (null back-end only)

Main interface
  * removed option `-Monly-failure` since there is only one proposition

Documentation
  * switched from `jade` to `dblatex`

Version 0.12.3
--------------

Coq lambda back-end
  * fixed incorrect invocation of some theorems

Arithmetic
  * fixed incorrect proofs for floating-point error near powers of two

Version 0.12.2
--------------

Back-ends
  * fixed output of underspecified `REL` goals

Version 0.12.1
--------------

Proof graph
  * fixed sequents with empty goals not being recognized as proved

Main interface
  * added option `-Msequent` to display goals as Gappa scripts
  * added option `-Monly-failure` to limit output to failing goals
  * improved display of extremely small/big bounds
  * improved display of rounding operators

Proof paths
  * fixed inequalities (lower bound) on absolute values being ignored

Arithmetic
  * improved relative operators handling when exponents are not constrained

Version 0.12.0
--------------

Back-ends
  * added back-end for producing Coq lambda terms
    (support is limited to what the Coq tactic can handle)

Proof graph
  * fixed handling of complicated goals

Main interface
  * added output of failed subgoals

Version 0.11.3
--------------

Coq back-end
  * applied correct theorems for intervals with infinite bounds

Version 0.11.2
--------------

Parser
  * fixed handling of CRLF end of line

Version 0.11.1
--------------

Main interface
  * removed error code on options `--help` and `--version`

Version 0.11.0
--------------

Proof graph
  * avoided splitting provably-singleton intervals
  * added score system for favoring successful schemes

Arithmetic
  * tightened rounding error when applied to short values

Proof paths
  * recognized lhs of user rewriting as potential user approximate

Syntax
  * added `x -/ y in ...` and `|x -/ y| <= ...` for `REL` properties

Build system
  * fixed compilation on Cygwin

Version 0.10.0
--------------

Proof graph
  * avoided infinite dichotomy on some unprovable propositions

Back-ends
  * fixed generation of subset facts

Fact database
  * reduced cycles in theorems

Main interface
  * added `-Mschemes` option for generating `.dot` scheme graphs
  * allowed input filename on command line

Version 0.9.0
-------------

Syntax
  * added constraints on user rewriting, e.g., `x -> 1/(1/x) { x <> 0 }`

Whole engine
  * added detection of assumed facts in `-Munconstrained mode`

Fact database
  * added relative error propagation through division

Back-ends
  * fixed cache collisions between theorems

Proof graph
  * fixed intersection of relative errors
  * enabled bound simplification through rewriting rules
  * fixed handling of half-bounded goals

Version 0.8.0
-------------

HOL Light back-end
  * added new back-end

Proof graph
  * added option `-Mexpensive` to select best paths on length

Fact database
  * added predicate `REL`: `x = y * (1 + e)`
  * replaced rewriting rules on relative error by computations on REL
  * enhanced path finder to fill holes in theorems
  * put back rewriting rules to theorem level
  * fixed incorrect equality of variables
  * added predicate `NZR`: `x <> 0`
  * added propagation of `FIX` and `FLT` through rounding operators

Version 0.7.3
-------------

Fact database
  * generalized rounding theorems to any combination of errors and predicates

Whole engine
  * removed dependencies between sequents

Parser
  * removed automatic rounding of negated expressions
  * equated numbers with exponent zero but different radices
  * fixed grammar for multiple splits

Proof graph
  * improved quality of fixed split

Version 0.7.2
-------------

Parser
  * fixed incorrectly rounded intervals on input

Fact database
  * restricted domain of some rewriting rules

Version 0.7.1
-------------

Fact database
  * added error propagation through opposite, division, and square root

Coq back-end
  * fixed confusion between nodes from different proof graphs
  * optimized away trivial goal nodes

Version 0.7.0
-------------

Coq back-end
  * updated to support Gappa library version 0.1

Proof graph
  * added optimization pass for bound precision

Whole engine
  * simplified back-end handling

Version 0.6.5
-------------

Coq back-end
  * fixed square root generation

Fact database
  * disabled square root of negative numbers

Syntax
  * added `fma(a,b,c)` as a synonym for `a*b+c`

Arithmetic
  * added `fma_rel`

Main interface
  * added `-Ereverted-fma` option to change the meaning of `fma(a,b,c)` to `c+a*b`

Version 0.6.4
-------------

Arithmetic
  * fixed influence zone again for floating-point absolute error

Version 0.6.3
-------------

Proof graph
  * fixed failure when an inequality leads to a contradiction
  * added support for intersecting `ABS` predicates

Hint parser
  * added detection of useless hints

Parser
  * normalized numbers with fractional part ending by zero

Version 0.6.2
-------------

Fact database
  * fixed dependencies of rewriting rules relying on non-zero values;
    a race could lead to failed theorems
  * added formulas to compute the relative error of a sum

Arithmetic
  * added new directed rounding: to odd, away from zero
  * added new rounding to nearest with tie breaking: to odd, to zero, away from zero, up, down
  * fixed influence zone for floating-point absolute error

Version 0.6.1
-------------

Proof paths
  * improved detection of dead paths

Fact database
  * fixed patterns for generalized rounding operators
  * improved rewriting rules for approx/accurate pairs
  * renamed rewriting rules

Version 0.6.0
-------------

Syntax
  * added ways of specifying how interval splitting is done
  * added detection of badly-formed intervals in propositions
  * removed limitation on multiple hypotheses about the same expression
  * improved heuristic for detecting approx/accurate pairs
  * removed limitation on number of accurate expressions for a given approximate
  * removed hack for accurate expressions of rounded expressions (potentially disruptive)

Whole engine
  * added inequalities; as hypotheses, they cannot imply theorems but they
    can restrict computed ranges

Proof paths
  * put rewriting schemes to a higher level to remove constraints on approx/accurate pairs
  * added rewriting rules for replacing an accurate expression by an approximate and an error

Version 0.5.6
-------------

Fact database
  * cleaned theorems and removed redundant ones

Arithmetic
  * enabled test to zero with relative rounding; it can still be disabled
    by `-Munconstrained`

Coq back-end
  * improved script generation

Proof graph
  * fixed premature halt when a case split was a failure
  * fixed case split not noticing newly discovered bounds

Main interface
  * simplified display of hypotheses and sorted display of goals

Version 0.5.5
-------------

Whole engine
  * added square root (no rule checking though)
  * modified rewriting rules to apply to approximates instead of just rounded values
  * added `ABS` predicate to workaround abuse of absolute values in theorems

Syntax
  * added syntax to define user approximates

Fact database
  * added option to disable constraint checking around zero

Arithmetic
  * generalized fixed-point range enforcing to any expression

Proof paths
  * enhanced the detection of dead paths that contain cycles

Version 0.5.4
-------------

Syntax
  * reduced the number of false-positive for unbound identifiers
  * merged variables and functions anew in order to correctly detect define-after-uses errors

Proof graph
  * added fifo processing of proof schemes
  * handled case splitting on empty goals
  * added more general schemes for case splitting

Hint parser
  * shut up warning messages about trivial integers as denominator

Version 0.5.3
-------------

Proof graph
  * fixed goal removal: undefined goals require "optimal" solutions

Version 0.5.2
-------------

Proof graph
  * simplified node memory handling
  * simplified graph handling
  * put dichotomy at a higher level, outside of proof schemes
  * replaced hypothesis property vectors by bit vectors, stored in-place if possible

Syntax
  * added detection of unbound identifiers

Whole engine
  * added support for complex logical properties

Version 0.5.1
-------------

Whole engine
  * added `FIX` and `FLT` predicates in addition to the original `BND` predicate

Version 0.5.0
-------------

Whole engine
  * generalized rounding modes as functions
  * generalized functions with rounding theorems
  * removed default rounding theorems

Syntax
  * split variables and functions
  * simplified rounding and function syntax: purely C++-template-like syntax
  * added NOT and OR logical operators

Arithmetic
  * replaced relative rounding by functions
  * factored number rounding handling
  * added fixed-point arithmetic
  * generalized floating-point rounding modes to any triplet (precision,
    subnormal smallest exponent, direction)

Proof graph
  * reduced the number of node types by demoting theorem and axiom nodes to internal facts

Version 0.4.12
--------------

Syntax
  * added a way to define new names for rounding operators
  * simplified the handling of negative numbers

Coq back-end
  * fixed representation of relative rounding

Version 0.4.11
--------------

Proof graph
  * fixed a missing dependency cleanup for an owned union node

Main interface
  * added parsing of embedded options

Version 0.4.10
--------------

Proof graph
  * changed the node hypotheses to be graph hypotheses

Fact database
  * switched some other facts to the absolute value of the denominators
  * added an explicit exclusion pattern for the rewriting rules
    (e.g., `x * x` is no more excluded)

Main interface
  * added basic command-line parsing for warnings and parameters

Version 0.4.9
-------------

Numbers and arithmetic
  * separated number handling from special arithmetic
  * added `relative`, a format for handling varying precision rounding

Formulas
  * implemented absolute value

Fact database
  * made relative error depends on absolute value of the range

Proof graph
  * fixed a bug related to the clean-up of the last graph of a dichotomy
  * strengthened the role of modus nodes

Version 0.4.8
-------------

Fact database
  * tightened intervals for `a + b + a * b`
  * discarded multiple occurrences of the same term in the rewriting rules
  * cleaned up rewriting rules

Version 0.4.7
-------------

Hint parser
  * sped up verification

Version 0.4.6
-------------

Floating-point numbers
  * disabled relative error for subnormal numbers (potentially disruptive)

Homogen numbers
  * cleaned up
  * added non-homogen double rounded format

Hint parser
  * added pseudo-support for quotient in hint

Parser
  * added support for C99 hexadecimal floating-point format

Proof graph
  * replaced useless empty intersections by contradiction proofs

Version 0.4.5
-------------

Proof graph
  * reworked modus ponens creation to fix an assertion failure in lemma invocation

Fact database
  * added conditional rules (potentially disruptive)

Homogen numbers
  * split roundings between initialization and computation

Coq back-end
  * implemented union
