(** Absolute value *)
Definition Babs abs_nan (x : binary_float) : binary_float :=
match x with
| B754_nan sx plx =>
let '(sres, plres) := abs_nan sx plx in B754_nan sres plres
| B754_infinity sx => B754_infinity false
| B754_finite sx mx ex Hx => B754_finite false mx ex Hx
| B754_zero sx => B754_zero false
end.

Theorem Babs_idempotent :
forall abs_nan (x: binary_float),
is_nan x = false ->
Babs abs_nan (Babs abs_nan x) = Babs abs_nan x.