reversible floating point adder