Section Double_round_div.

Lemma round_round_all_mid_cases :
forall fexp1 fexp2 : Z -> Z,
Valid_exp fexp1 -> Valid_exp fexp2 ->
forall (choice1 choice2 : Z -> bool),
forall x,
0 < x ->
(fexp2 (mag x) <= fexp1 (mag x) - 1)%Z ->
((fexp1 (mag x) = mag x + 1 :> Z)%Z ->
bpow (mag x) - / 2 * ulp beta fexp2 x <= x ->
round_round_eq fexp1 fexp2 choice1 choice2 x) ->
((fexp1 (mag x) <= mag x)%Z ->
midp fexp1 x - / 2 * ulp beta fexp2 x <= x < midp fexp1 x ->
round_round_eq fexp1 fexp2 choice1 choice2 x) ->
((fexp1 (mag x) <= mag x)%Z ->
x = midp fexp1 x ->
round_round_eq fexp1 fexp2 choice1 choice2 x) ->
((fexp1 (mag x) <= mag x)%Z ->
midp fexp1 x < x <= midp fexp1 x + / 2 * ulp beta fexp2 x ->
round_round_eq fexp1 fexp2 choice1 choice2 x) ->
round_round_eq fexp1 fexp2 choice1 choice2 x.