End Double_round_plus_beta_ge_3_FTZ.
End Double_round_plus_beta_ge_3.
End Double_round_plus.

(* Specifications: *)
Lemma double_round_mid_cases :
forall (fexp1 fexp2 : Z -> Z),
Valid_exp fexp1 -> Valid_exp fexp2 ->
forall (choice1 choice2 : Z -> bool),
forall x,
0 < x ->
(fexp2 (ln_beta x) <= fexp1 (ln_beta x) - 1)%Z ->
(fexp1 (ln_beta x) <= ln_beta x)%Z ->
(Rabs (x - midp fexp1 x) <= / 2 * (ulp beta fexp2 x) ->
double_round_eq fexp1 fexp2 choice1 choice2 x) ->
double_round_eq fexp1 fexp2 choice1 choice2 x.
Lemma double_round_mid_cases :
forall (fexp1 fexp2 : Z -> Z),
Valid_exp fexp1 -> Valid_exp fexp2 ->
forall (choice1 choice2 : Z -> bool),
forall x,
0 < x ->
(fexp2 (ln_beta x) <= fexp1 (ln_beta x) - 1)%Z ->
(fexp1 (ln_beta x) <= ln_beta x)%Z ->
(Rabs (x - midp fexp1 x) <= / 2 * (ulp beta fexp2 x) ->
double_round_eq fexp1 fexp2 choice1 choice2 x) ->
double_round_eq fexp1 fexp2 choice1 choice2 x.