Result is breal_max(Number).A bounded real is a real number represented by a lower and upper bound in floating point format. This predicate extracts the upper bound and unifies it with Result. If Number is not a bounded real, the result returned is equivalent to converting it to a bounded real first.
Success: ?- breal_max(0.99__1.01, X). X = 1.01 ?- breal_max(1, X). X = 1.0 ?- breal_max(1.0, X). X = 1.0 ?- breal_max(1_10, X). X = 0.10000000000000002 Error: ?- breal_max("a", Z). number expected in breal_max("a", Z) ?- breal_max(2 + 4, Z). number expected in breal_max(2 + 4, Z)